This is the last fully-settled state. If anything downstream is in doubt, this is where you return to. 5 vendorable days, 189 nodes / 195 edges, live on viska.gg (FE PR#304, stamp 83cb8f3). Operator: "the graph looks good" (2026-08-08). Do not touch it, do not re-derive it.
Building is OUT OF PROCESS. Only the current stage's artifact may be produced.
viska-pm owns current_stage and advances it only after verifying the previous stage's artifact on disk. RES never self-advances. A stage cannot be skipped because earlier reading "already happened" — post-compaction, it did not.
This is the arc in one picture. Ingest is scheduled and unattended. Every stage after it is hand-run. The arc ends when this whole column reads scheduled.
| # | goal | state | why |
|---|---|---|---|
| G1 | Deliverable 1 -- signal graph | DONE | Signed off 2026-08-08. Live on viska.gg, FE PR#304. |
| G2 | 08-06 consequence ruled | GATED | Stage 1. Cause established; rule on consequence + run the 13-parcel check. |
| G3 | Deliverable 2 -- STRAT synthesis | NOT STARTED | Synthesis not selection: signals joined to holdings, majors x horizons. Spec exists in the record; build is gated behind Stage 4. |
| G4 | Resolution coverage holds day to day | AT RISK | Table is adjudicated to 08-05 vocabulary. Every new day arrives with unseen words; 08-06 scored zero. |
| G5 | Pipeline runs unattended past ingest | NOT STARTED | Only ingest is scheduled. Parcels, enrichment, payloads and publish are all hand-run today. |
| G6 | Daily war room owns the timeline | NOT STARTED | THE ARC ENDS HERE: the room produces a payload on a set daily timeline, delivers into strat-db-fe, and the client reads it each morning. |
| report date | scored | excluded | |
|---|---|---|---|
| 2026-08-01 | 0 | 3 | zero scored |
| 2026-08-02 | 30 | 6 | |
| 2026-08-03 | 404 | 69 | |
| 2026-08-04 | 131 | 18 | |
| 2026-08-05 | 96 | 62 | |
| 2026-08-06 | 0 | 85 | zero scored |
The resolution table is adjudicated to 08-05 vocabulary. Each new day brings words it has not seen. A large out-of-thesis bucket is always a filter signature, never a corpus finding — that ruling (2026-08-03) is the reading of this table, and 08-06's zero is under Stage 1 review, cause already established.
| date | nodes | edges | |
|---|---|---|---|
| 2026-08-01 | 0 | 0 | withdrawn |
| 2026-08-02 | 8 | 1 | vendorable |
| 2026-08-03 | 67 | 84 | vendorable |
| 2026-08-04 | 24 | 31 | vendorable |
| 2026-08-05 | 47 | 44 | vendorable |
| 2026-08-06 | 43 | 35 | vendorable |
| openspec change | tasks | |
|---|---|---|
| add-document-theme-conviction-scores | 68/75 | |
| add-signal-plot-payload | 21/24 | |
| add-viska-context-layer | 18/25 | |
| add-finding-placement-and-quadrant-plot | 16/32 | |
| add-okf-knowledge-index | 2/6 | |
| add-broker-narrative-trajectory-lane | 8/45 | |
| add-theme-decision-visibility | 0/15 |
133/222 spec tasks. The specs are not missing — you are finishing them, never starting them. Note the inversion: the conviction lane is ~91% done and shipped a day of zeros, while add-theme-decision-visibility — which fixes exactly that — is at 0. Work is being started faster than it is finished.
The room produces a payload on a set timeline every day, delivers it into the full pipeline — STRAT → DB → FE — and the client reads it every morning.
Until then the arc is unfinished, however much of it is shipped. Today: ingest is scheduled; the other seven stages are hand-run; deliverable 2 does not exist. That distance is the arc.
Rebuild: python3 scripts/research/build_arc_board.py · verify inputs: --check