derive_* chain — prose to derived state

derive_* chain — prose to derived state A data-flow diagram generated by Archify. 01 / Corpus 02 / Extract 03 / Derive 04 / State 05 / Serve Newsletter editions · 01 / Corpus · The_Chatter · P&F · Plotlines Newsletter editions The_Chatter · P&F · Plotlines Company notes · 01 / Corpus · concall · sources[] Company notes concall · sources[] extract_relations · 02 / Extract · prose → edges · noise-gated extract_relations prose → edges · noise-gated graph_edges · 04 / State · UNIQUE dedupe graph_edges UNIQUE dedupe derive_insights · 03 / Derive · quotes · metrics derive_insights quotes · metrics events · 04 / State · derived + manual events derived + manual quotes · metrics · 04 / State · verbatim + magnitudes quotes · metrics verbatim + magnitudes Reader · 05 / Serve · timeline · search · quotes Reader timeline · search · quotes edition prose note bodies concall + edition text verified edges quotes + magnitudes ARM1 edge promotion graph queries timeline quotes API Legend primary data async batch data store data flow

Evidence origin/main e37eb7db

  • • extract: helpers/graph/extract_relations.py:110 sidecar · noise gate :100
  • • cited_in: derive_cited_in.py:278 · events promote: derive_events.py:259
  • • insights: derive_insights.py (quotes/render) · shared CLI: derive_cli.py:37

Chain wiring & idempotence

  • • PRE_FULL runs derive-cited-in ahead of graph-rebuild
  • • edges dedupe on UNIQUE triple · derive rows DELETE-then-INSERT · cited-in INSERT OR IGNORE
  • • make derive-all = READ-ONLY preview · -rebuild targets re-render the DuckDB cache

Curation safety & feedback

  • • render The Chatter into notes only via --apply (--no-notes in maint-full)
  • • auto chatter blocks sentinel-wrapped; hand-written blocks never clobbered
  • • evaluate/quote feedback: word-overlap → sidecar queue · tiers S1-S4 → Quotes.md