Skip to content

Commit 66bc359

Browse files
committed
board: E-KANBANSTEP-IS-THE-TRIGGER-1 — operator correction on kanban-advance canonicality
Genealogy correction (doc-only, per the standing leave-as-is ruling): the canonical kanban advance is the pre-existing 'kanbanstep' — the in-stream synchronous fire VersionScheduler::on_version -> try_advance_phase(&mut), where the batch writer fires inline at commit with the version it already knows (contract scheduler.rs §IN; reference loop symbiont kanban_loop.rs SymbiontBoard::step; step_type 'kanban.*' delivery edge in the supervisor). The 550ms SoA cycle budget makes waiting on any ack more expensive than continuing — the shader can't stop thinking; the ack is durability bookkeeping (unacked crash-replay), never a scheduler. During the SurrealQL-AST/DLL carve-out (symbiont re-scope) the kanbanstep loop lost prominence and later arcs rebuilt the trigger as the ack-pump and mis-ranked it canonical; E-ACK-IS-THE-KANBAN-TRIGGER-1's trigger ranking is corrected (its driver-never-waits clause stands). ack_and_propose demoted to reconciliation bookkeeping; deliver_kanban_step's cast(Advance) delivery added to TD-MESSAGE-RESIDUE. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Awg6TXocHcwTtc6eGsHcdD
1 parent 340b3a8 commit 66bc359

2 files changed

Lines changed: 34 additions & 0 deletions

File tree

.claude/board/EPIPHANIES.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
## 2026-07-10 — E-KANBANSTEP-IS-THE-TRIGGER-1 — the CANONICAL kanban advance is the in-stream synchronous step (the pre-existing "kanbanstep"); the ack is bookkeeping, never a pacing mechanism
2+
**Status:** RULING + genealogy CORRECTION (operator, 2026-07-10: "the doctrine was cognitive-shader-driver can't stop thinking … the SoA budgets of 550ms make it more expensive to wait for any stupid ack; the old already existing system was called kanbanstep and it was removed beyond recognition when removing the SurrealQL AST DLL shape"). Corrects the trigger-RANKING in E-ACK-IS-THE-KANBAN-TRIGGER-1 (whose "the driver never waits" clause STANDS); reads with E-NOBODY-WAITS-1.
3+
4+
**The doctrine (operator):** cognitive-shader-driver **can't stop thinking** — cycles continue as a STREAM over reasoning; the 550 ms SoA cycle budget makes waiting for ANY ack **more expensive than continuing**. The ack's only legitimate job is durability bookkeeping (the `unacked()` crash-replay surface); it never schedules, never paces, never gates the next move.
5+
6+
**The pre-existing system ("kanbanstep") — archaeology, verified in-tree 2026-07-10:** the synchronous in-stream kanban advance survives in three artifacts:
7+
1. `contract::scheduler::VersionScheduler::on_version(view, DatasetVersion, exec) -> Option<KanbanMove>` — a **sync pure function**; a batch writer that commits a SoA batch **already knows the version it wrote** and fires the advance INLINE: `on_version → try_advance_phase(&mut)`, no async, no round trip (`scheduler.rs` §IN; `surreal_container/tests/scheduler_seam.rs` drives the whole Rubicon arc this way).
8+
2. `symbiont::kanban_loop::SymbiontBoard::step()` — the pure-SoA reference loop; its doc-comment carries the doctrine verbatim: *"THE TRIGGER IS SYNCHRONOUS — the writer fires it … with NO async"* and *"`step()` drives the loop by direct owned mutation, never by sending a message."*
9+
3. `supervisor::{parse_kanban_step, deliver_kanban_step}` — the `UnifiedStep { step_type: "kanban.<mailbox>.<phase>" }` delivery edge (`StepDomain::Kanban`, D-MBX-A6) — the step-in-the-plan-stream shape; its current DELIVERY is the message shim (`cast(Advance)` — TD-MESSAGE-RESIDUE).
10+
11+
**What happened (the "removed beyond recognition"):** during the SurrealQL-AST/DLL carve-out (symbiont W2c re-scope to storage/read-glove-only; "render is struct+methods not SurrealQL", OGAR #149 arc), the kanbanstep loop lost its prominence — the reference loop lived on the symbiont/surreal_container side being demoted, and subsequent sessions (including the E-ACK-IS-THE-KANBAN-TRIGGER-1 arc) rebuilt the trigger as the **ack-pump** (`BatchWriter::ack_and_propose`) and mis-ranked IT canonical. The pump couples the next-move PROPOSAL to an ack event that arrives later — a wait-shaped scheduler by construction, exactly what the 550 ms budget forbids.
12+
13+
**Corrected canonicality:**
14+
- **CANONICAL:** the in-stream synchronous step — the writer/stream fires `on_version → try_advance_phase(&mut)` inline at commit with the version it already holds. The stream is the trigger; thinking never pauses for storage.
15+
- **DEMOTED:** `ack_and_propose` = reconciliation/crash-replay bookkeeping for async-sink shapes (WAL `unacked()` accounting). Correct code, wrong rank — it must never be the thing that pumps cognition.
16+
- **RESIDUE:** `deliver_kanban_step`'s `cast(Advance)` delivery joins TD-MESSAGE-RESIDUE (the step_type SHAPE is canonical; the message DELIVERY is the redundancy).
17+
18+
**Disposition:** doc-only per the standing ruling (LEAVE AS IS AND DOCUMENT). Drift signal: any NEW code that paces a cycle on an ack event, or that awaits storage before advancing a KanbanColumn.
19+
120
## 2026-07-10 — E-COMMA-AWARENESS-MEASURED-1 — D-MTS-6 ran GREEN: ONE stored truth bit per comma level matches the full CausalEdge64's awareness proxies (k*=1 vs aligned k*=4); the comma lattice buys ≈ log₂(L) effective bits
221
**Status:** FINDING (measured 2026-07-10; probe `perturbation-sim/examples/comma_awareness.rs`, pre-registered gates, run chronicle in the header; realizes the falsifiable shape of E-THINKING-TENANTS-V3-1's second half)
322

.claude/board/TECH_DEBT.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,21 @@ that, not the existing residue, is what a reviewer blocks. The prime
1717
invariant every change on this surface is judged against: **nobody
1818
waits for anything or any scheduling.**
1919

20+
*Extension (2026-07-10, per E-KANBANSTEP-IS-THE-TRIGGER-1):* two
21+
corrections to the entry above. (a) The phrase "canonical message-free
22+
loop (`BatchWriter::ack_and_propose` …)" over-ranked the ack-pump: the
23+
CANONICAL advance is the pre-existing **kanbanstep** — the in-stream
24+
synchronous fire `VersionScheduler::on_version → try_advance_phase(&mut)`
25+
(the writer already knows the version it committed; reference loop
26+
`symbiont::kanban_loop::SymbiontBoard::step()`); `ack_and_propose` is
27+
demoted to crash-replay/durability bookkeeping (`unacked()`), never a
28+
pacing mechanism — waiting on an ack is more expensive than the 550 ms
29+
cycle budget allows. (b) `supervisor::deliver_kanban_step`'s
30+
`cast(Advance)` delivery is added to this residue catalogue — the
31+
`step_type "kanban.*"` SHAPE (StepDomain::Kanban, D-MBX-A6) is canonical;
32+
the message DELIVERY behind it is the redundancy. Same disposition:
33+
leave as is, documented.
34+
2035
## TD-STYLE-TABLE-RESIDUE (2026-07-10, D-TSC-1 follow-ups)
2136

2237
Three residues from the M9 ThinkingStyle dedup (all OUT of D-TSC-1 scope,

0 commit comments

Comments
 (0)