Repository navigation
feat(spectrum): add council and free discussions - #130
Conversation
|
What: The independent review of PR #130 at Requirements and who asked: User requested independent review of PR #130 closing #118 under parent #113, bound to the specified base and head, with stale-scope handling if the candidate scope changes. Reviewer: current T3 Code thread, GPT-6-Luna through Codex harness. Stale-scope notes: |
Agent work on this PREstimated cost $0.00 · 0 responses · 50 sessions · 2.4 h wall time
Flags: 6 human corrections · 75 large tool outputs · 38 repeated commands · 8 repeated failures · 27 repeated reads · 9 repeated skill loads · 50 sessions with usage bound to no task Details: snapshot, prices, coverage, counters
Token counters by model (native counter semantics; never added across semantics): Selected rates (USD per million tokens). These rates value the report at the selected schedule date; they do not establish historical prices or subscription spending.
Other output and reasoning are priced without double counting inclusive native output. Missing rates remain unknown. Local measurement from native records; usage totals are not billing. Updated in place by |
7ee7ac1 to
f336687
Compare
|
What: The review found a restart recovery blocker in PR #130 at Requirements and who asked: User and Issues #118/#113 require exact request/turn identity, restart recovery, barrier completion, and once-only report/settlement. This is an actionable P1 finding on Reviewer: current T3 Code thread, GPT-6-Luna through Codex harness. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
f336687 to
bcf2788
Compare
|
What: Independent review passes for Reviewed exact head Finding disposition: The earlier P2 cleanup defect is fixed. When a history-only User append follows a durable unbound provider request, recovery now reads persisted Coordinator-permitted known limitation: The identity read and plain Proof reviewed: Node 24.13.1 scoped server tests passed 141/141, with the two cleanup regressions rerun after harness corrections. Server typecheck, targeted lint, formatting, fork registry and scoped knip passed; the global Knip and always-load CI failures were repaired. The isolated live analyzer passed for the exact head and current base: council completed independent answers, two barrier relay rounds and moderator synthesis; free mode completed four ordered turns; both preserved exact replies, reported once, settled, and used zero Spectrum provider turns. The live proof did not exercise User broadcasts, restart recovery, messages over 4,000 characters, installed build or UI screenshots. Existing focused tests cover the server paths; UI screenshots and installed-build checks remain coordinator-owned. Requirements and who asked: #118/#113 and the user require server-coordinated council/free relay, exact barriers, transcript fidelity, provider delivery and settlement; the coordinator required the final rebased review and bounded cleanup ruling. Independent reviewer: GPT-6-Luna through Codex/Prism. |
|
Merged by the coordinator as 08fc76b (squash) at verified head 7a0f9a3: diff read, CI green on that head, |
What: Add
start_spectrumfor server-relayed council and free discussions, with hidden Drafters and a visible transcript labelled by Color.Why: Manual relay truncates replies, spends model turns copying messages, and cannot reliably coordinate participant barriers.
So what: CI, live proof and exact-head review pass; the coordinator merged this PR and owns installed-build checks and the #119 comparison.
Closes #118. Implements the Spectrum outcome in #113 and the current Objective.
Council starts independent answers, waits for every Color through at least two verbatim relay rounds, then asks a moderator Color for synthesis. Free mode schedules a bounded number of turns in Color order. The Spectrum runs no provider turn. User messages reach actual providers at the next barrier; completion reports once, settles, and reopening retains the transcript. Participant reports bypass the ordinary 4,000-character child-report path.
Prism resolves Color roles/models/effort. Durable outboxes and exact request/turn bindings protect scheduling and recovery. Completion uses bound turns rather than the mutable latest-turn pointer, including checkpoint reorderings. Retirement stops scheduling and participants without reviving a retired Spectrum or caller. The supported Node 24 SQLite query now binds an integer instead of a boolean. Transport omits duplicated outbox text while recovery reads the full persisted state.
Explicit Claude Opus 5.5 client work clears the composer when a Spectrum's user message persists and hides scheduler bookkeeping. Existing transcript/Agents paths display labels and hidden Drafters on web/desktop/mobile. No new presentation or relay model is introduced.
Requirements and who asked: User and #118/#113 require council/free server relay, hidden participants, Prism Colors, User broadcasts, report/settle/reopen, focused tests and real live proof; coordinator required predecessor rebases and one bounded cleanup repair with two regressions.
Deleted: Relay model, reply truncation, speaker-selection model, retry loops, duplicate installation, new UI surface, versioning and unapproved browser work.
Bottleneck: Exact asynchronous request/turn identity, retirement generations, crash cleanup and supported-runtime startup blocked real proof.
Checked myself: Full issues/briefs and authored diff; actual focused outputs and hashes; native Node 24 boolean rejection; checkpoint ordering evidence; physical-stop and successor regressions; final isolated live evidence and independent verdict recorded below.
Candidate and integration
Merged externally at
2026-10-01T21:43:30Zas08fc76b7b201a0c047cbc7c538f1349ce3dbafd3. Final CI run passed Check, Test, all three server shards, Rust and Release Smoke; Fork Stack Model and native fingerprint also passed. No local repo-wide checks were run.7a0f9a30f1e002055f1d850e42511fa906f78122.e5cf87a31e82ccf086847fb277f2c33f0331f1c4, current fetchedorigin/main; original starting base0db8b3f19549ef369a611883e111ae20760364c8.feat/118-spectrum,/Users/lukaszmaj/dev/toolboxmd/chromeria-worktrees/118-spectrum. No canonical or sibling checkout mutation.Proof commands and results
Executed for the final server changes on exact Node 24.13.1:
141 passed, exit 0. After test-only Scope/DateTime corrections, the two affected cases were rerun with
-t 'unbound restart': 2 passed, exit 0; the other 139 cases are unchanged. Coverage includes native query omitted/false/true archive options, actual reactor physical stop, exact request identity, long and multiple replies, barriers, User provider broadcasts, synthesis steering, reopen, initialization crash, restart settlement and retirement interleavings. Native Node 24 baseline reproduced SQL parameter-2 failure. The original cleanup guard failed the history-only append case and passed the successor case; the bounded replacement passes both.Reused unchanged integration proof:
145 and 50 passed respectively, exit 0, on the #117 integration candidate. Final Spectrum/reactor proof supersedes their earlier cases; the remaining sources and inputs are unchanged. Transport tests: 32 passed, including rejecting a duplicated 3 MB outbox; final formatting changed only wrapping/trailing commas. Decider affected regressions: 23 passed, exit 0.
Opus client proof:
ChatView.logic.test.ts,subagentThreads.test.ts,session-logic.test.ts, mobilethreadActivity.test.ts, plus the four Promachos tests: 352 passed, exit 0. The composer regression failed before the change. UI hashes are unchanged through final server follow-up.pnpm exec vp exec tsc --noEmit -p apps/server/tsconfig.json: final exit 0. Web/mobile equivalent typechecks: exit 0, reused unchanged client inputs. Targetedpnpm exec vp linton touched paths: exit 0; existing ChatView warnings remain. Targetedpnpm exec vp fmt --checkon every touched TypeScript path: exit 0.node scripts/fork-features.mjs check: 21 features, exit 0.git diff --check: clean. Scopedpnpm exec knip --workspace apps/server --exports --preprocessor ./scripts/knip-schemas.ts --no-config-hints: exit 0; subsequent global CI Knip also passed. CI exposed the formatting and delegation-list assertions, both repaired.start_spectrumstays always-loaded as a group delegation tool; unrelated tools remain deferred.Isolated live council/free
Passed on the exact head, Node
v24.13.1, at2026-10-01T21:37:26Z. A real caller made exactly two native MCPstart_spectrumcalls. Prism selected Bluecodex/gpt-6.1-sol mediumand Greencodex/gpt-6-luna maxwithout model overrides.Council completed 7 participant turns: two independent answers, two full barrier rounds, one moderator synthesis. Free completed 4 turns in
Blue, Green, Blue, Greenorder. Independent analysis verified every completed reply and each next prompt byte-for-byte, exact barrier ordering, both settlements, one exact caller report each, and zero Spectrum provider turns/bindings. All 11 participant checkpoint completions were observed.Run and analyzer exit 0. Clean working-diff SHA-256
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855; verdict SHA-256a00490832314482619b25d015c8b99e92cc2da990ef4a23d9cf432f6c25625fc. Private scratch evidence remains at/tmp/promachos-coord/118/live-only/run-Et0kIV/evidence; no auth, account details, raw provider logs or unrelated state are published. Backend PID42015, port59118, stopped by the driver's captured PID cleanup. No live state writes, port 3773, browsers or install.Limits: this live run covers normal council/free, not live broadcast/reopen/crash/UI; those behavioral edges have focused tests. Replies are small, so the >4,000-character case is unit proof. Public settlement/checkpoint barriers were observed; production exposes no internal worker-drain RPC. Tests use receipts/drains, never sleeps.
Independent review
Passed on
7a0f9a30f1e002055f1d850e42511fa906f78122. Published findings and verdict. Newestreview/independentstatus issuccess, created by authenticatedlukemaj, linking those findings. Reviewer: Prism threadsub.sub.sub.46b03420-8643-4703-8756-8602f14b39fb.dispatcher-90b030e2146e.dispatcher-1468525028a4.reviewer-7543d30e2594, GPT-6-Luna through Codex. No unaccepted blocking finding remains; the coordinator-permitted crash-recovery race is stated below. Older reviews are stale and are not reused.start_spectrumusage for #119{ "question": "The same real question for both modes", "colors": [ { "label": "Blue", "role": "dispatcher" }, { "label": "Green", "role": "reviewer" } ], "mode": "council", "limit": 2, "moderator": 0 }Use
mode: "free"and a total discussion-turnlimitfor comparison. Colors accept a Prismrole/workerlane, or explicitinstanceId,model,effort. The result returns the visible Spectrum ID and resolved participant IDs/models. Useread_threadormessage_threadwithscope: "project"to inspect/join; normal composer sends join too. Send a message or reopen to start another bounded cycle with retained context.Reversible assumptions and open coordinator proof
2–8 unique Colors, reserved User label; limits 1–100, council minimum two relay rounds; first Color moderates by default; free defaults to three turns per Color. User acknowledgement stages sit outside free discussion-turn counts. Failures stop/report rather than retry. A restart with a lost provider-start binding settles with an explicit uncertainty report instead of blindly duplicating provider work; an explicit message reopens. Retirement requires explicit recovery of retired source/participant threads before reopening. The coordinator's one-iteration cleanup ruling was met with persisted request identity and exactly two named regressions; no broader recovery policy was added. Known crash-recovery limitation, explicitly accepted by coordinator: the identity read and plain session-stop dispatch are separate operations. A genuine successor arriving between them can still be stopped. The successor regression covers requests persisted before recovery, not that interleaving. Further restart-path findings fall under the same permitted limitation; no additional restart repair loop was authorized.
No versioning by design. Root performed no merge, installation or browser proof. Installed-build council/free, joining/reopening and before/after UI images remain coordinator-owned under the common brief. No screenshot claim: browser use was not authorized. Existing snooze heuristic may remain unavailable for two minutes after a Spectrum send. No website/SEO change: agent server capability and minimal existing-client integration.
Implementation and orchestration: GPT-6.1-Sol through Codex/Prism. UI: explicitly
claudeAgent,claude-opus-5-5. Independent review: GPT-6-Luna through Codex/Prism. Agent cost is maintained in the PR's existing Observer comment.