spec(value-engine): value-engine domino v0 - #2516
Conversation
v0 spec for the value engine: value = future-error-reduction; verified work → Archon-mints → domino cascade → Known Roads pave → ToKenism → Wealth/DoX/BoTZ, with trails as victory stories. Captured from local working-tree state. Docs only. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Important Review available on request
Reviews should be triggered manually for repositories with fewer than 10 stars. Select Trigger review above or comment ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 36d0e773dd
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…contract, self-inflating weight, unregistered subject All four verified against the tree, not taken on the reviewer's word. The trigger was labelled 'exists today'. The three archon.mint.* subjects are registered in contracts/topics.json and have schemas, but nothing publishes them: searching *.py/*.ts/*.js/*.go returns no hits, and every match in the repo is a doc, a slash command, or a schema. The Archon NATS bridge is a prerequisite of v0, and the header, prose and components table now say so. Worse, the event cannot carry what the scorer needs. mint.confirmed.v1 is additionalProperties:false over exactly agent_id and confirmed_at -- no error_class, estimated_reduction, contributors or trail_ref, and mint.agent.v1 does not supply them either. An implementer following the old text could not have produced a Domino Record from the event it subscribes to. The spec now requires a correlated domino-candidate contract or a named lookup source per field, and notes that widening the QA-gate signal is the wrong lever. This also surfaced a scope mismatch the spec had with itself: its own 'first real domino' is PR #2464, a PR recovery, which is not an agent mint and would never arrive on that subject at all. The value metric inflated itself. Step 1 derives error_weight by counting error_class in known-roads.jsonl; Step 2 appends a domino line carrying that same error_class to that same file. The second domino for a class therefore counts the first one's paved road as another occurrence of the error, so weight and reported value grow each time a preventive pattern is scored without any new error occurring -- a metric defined as 'reduces FUTURE error' that pays out for scoring. Now counts typed incident records only, with the regression pinned in the acceptance test. tokenism.value.recorded.v1 was to be published but is in neither topics.json nor any schema file, so canonical envelope validation and subject auditing could not recognise it. Registration and a versioned schema are now v0 deliverables and acceptance criteria. Spec-text only; no implementation. Status stays 'draft for operator review'. Surfaced by Codex on #2516. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Trim: all 4 threads correct, spec corrected (71cb48d)Each finding verified against the tree. All four hold, and two of them would have stopped an implementer cold. 1. "Trigger (exists today)" — it does not (P1). The three 2. The trigger event cannot carry the scoring inputs (P1). { "agent_id": "<uuid>", "confirmed_at": "<date-time>" }No Codex also caught that this spec contradicts itself: its own "first real domino" is #2464, a PR recovery — not an agent mint, and it would never arrive on 3. The value metric inflated itself (P1). Step 1 derives 4. Spec text only — no implementation, status stays Cross-PR follow-up (not actioned here)This spec is the document #2481 was missing. The mesh plan there cited If #2516 lands, #2481's mesh plan should be updated to cite it. Flagging rather than editing — #2481 should not be changed out from under itself while it is in review, and the citation is only correct once this merges. |
…sured not assumed The handoff and the mesh plan have read as open work since 2026-08-08 while four of the five enumerated items shipped and were released on 2026-08-09. A reader arriving at either document had no way to tell. Adds a STATUS block to the handoff with per-item state re-measured against origin/main @ 017de53 today, rather than carried forward from the release text: item 2 (ci-expedition trigger row) DONE #2483 item 3 (two claude-pmoves.sh) DONE #2484 item 4 (up-* sprawl) DONE #2486 + #2523 — now 88/88, was 89/88 item 5 (submodule build gap) DONE #2485 item 1 (cleanup de-duplication) PARTIAL — leak closed, 3 impls remain Two figures in the record were wrong and are corrected here rather than repeated: the retirement list is 8 both-zero targets, not 11, and the merged inventory flags two of those eight as load-bearing. Mesh Stage C's "no such file exists" correction is itself now stale — the value-engine spec is open as PR #2516, so Stage C is blocked on a merge rather than on an authorship gap. Stage A's figures are re-measured and hold (98 MB beats, 126 MB CATACLYSM, 38 PNGs), but the table under-scopes the job: the tracked surface is 75 blobs over 1 MiB totalling 259 MB, and the largest single file appears in no row. Method note recorded in the doc: git cherry reported four of these branches as unmerged because they were squash-merged, which rewrites patch-ids. File contents in origin/main settled it. The register conflict this PR carried was resolved append-only — the diff against main is 22/0, 159/0, 149/0, zero deletions. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…sured not assumed The handoff and the mesh plan have read as open work since 2026-08-08 while four of the five enumerated items shipped and were released on 2026-08-09. A reader arriving at either document had no way to tell. Adds a STATUS block to the handoff with per-item state re-measured against origin/main @ 017de53 today, rather than carried forward from the release text: item 2 (ci-expedition trigger row) DONE #2483 item 3 (two claude-pmoves.sh) DONE #2484 item 4 (up-* sprawl) DONE #2486 + #2523 — now 88/88, was 89/88 item 5 (submodule build gap) DONE #2485 item 1 (cleanup de-duplication) PARTIAL — leak closed, 3 impls remain Two figures in the record were wrong and are corrected here rather than repeated: the retirement list is 8 both-zero targets, not 11, and the merged inventory flags two of those eight as load-bearing. Mesh Stage C's "no such file exists" correction is itself now stale — the value-engine spec is open as PR #2516, so Stage C is blocked on a merge rather than on an authorship gap. Stage A's figures are re-measured and hold (98 MB beats, 126 MB CATACLYSM, 38 PNGs), but the table under-scopes the job: the tracked surface is 75 blobs over 1 MiB totalling 259 MB, and the largest single file appears in no row. Method note recorded in the doc: git cherry reported four of these branches as unmerged because they were squash-merged, which rewrites patch-ids. File contents in origin/main settled it. The register conflict this PR carried was resolved append-only — the diff against main is 22/0, 159/0, 149/0, zero deletions. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
… lane-review claim (#2481) * docs(coord): 4090 tooling-audit handoff + mesh live-layer plan + z890 lane-review claim Post-13-PR coherence pass (z890 side), three coordination artifacts: - handoffs/tooling-audit-4090-drift-enumeration-2026-08-08.md — hands the ops/tooling drift audit to 4090 (node affinity: Archon/compose/fork/CI depth). Enumerates the 4-place cleanup drift, ci-expedition SKILL.md:29 pull_request_review row error, two divergent claude-pmoves.sh (6523 vs 642 B), ~87 up-* target sprawl, and the sibling-submodule build gap (13/15 fork services, invisible in diffs). All figures verified locally. - specs/mesh-live-collaboration-layer-plan-2026-08-08.md — mesh/JuiceFS reframed as the live collaboration layer, NOT a privacy purge. Repo stays public; history-rewrite premise dropped. Stage A large-binary offload actionable; Stages B/C are follow-ups. - AGNOTE4482PHI.t1.md — z890 CLAIM+RELEASE for the cleanup + coordination + lane-review work; pings KIMI-SPARK (VSS) + CRUSH (cipher Phase B) stale claims for release/re-claim; DROPs the z890 voice/#2317 pickup (left available); records WS1 worktree cleanup outcome (20 removed, main freed, 2 held with cause). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * docs(agnote): resolve the 3 control items — sso-apps dup-of-main, z890-reconciled removed, crawl→Archon Operator decisions recorded: - pmoves-sso-apps: no relocation — survivors duplicate main; unique artifacts were already lost in the earlier partial remove. Dead remnant left for manual delete. - pmoves-z890-reconciled: removed (only local CHIT secrets-manifest regen drift). - archon.crawl.*: delegated to Archon (has live NATS visibility) to observe request/result subjects and decide retire-vs-keep. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * docs(coord): address 3 Codex threads — build-gap count, up-* call sites, dead spec path All three were correct, including the one the trim classifier labelled false-positive. That is the third time the classifier has mislabelled a real Codex finding, so every thread was read by hand rather than trusted to the badge. T1 — "13 of 15" fork services (classified false-positive; it is real) The figure double-counted the same services re-declared across split overlays. Verified unique sibling-context builds: 7 submodules / 8 services. Left the old number visible with an inline correction rather than silently replacing it, so the audit owner knows which number to stop chasing. Codex's pointer to the existing correction at AGNOTE4482PHI.t1.md:1787 was accurate. T2 — up-* "consolidate/retire superseded siblings" `up-core-*` is a dependency chain, not three siblings: up-core-gpu invokes up-core-capable (Makefile:2567) which invokes up-core-hardened (:2562). Codex's line references check out exactly. Retiring the "superseded" sibling would break the canonical capable and GPU bring-up roads. This is the same trap the first pass fell into — up-core-hardened scored zero references because the grep excluded makefiles to skip *definitions*, and excluded *call sites* with them. Reframed the section as inventory candidates with the call-site caveat stated, and flagged up-cipher-nobuild as a keeper regardless of count (it is the existing workaround for item 5's build gap). T3 — value-engine-domino-v0-spec-2026-08-07.md does not exist Confirmed: no such file at this commit, no renamed equivalent, nothing in a repo-wide filename or content search. The thesis exists only in a node-local memory that whoever picks up Stage C cannot read. Rewritten so writing that spec is Stage C's first task rather than a reference it leans on — a dead path is worse than no path, because it reads as though requirements exist somewhere. Corrections are attributed inline as 4090-at-merge rather than folded into z890's text, since the surrounding documents are theirs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * docs(coord): address 9 CodeRabbit threads — stale figures marked, contracts named, register append-only All nine checked against the tree. One resolved a live disagreement between two reviewers by finding both were right. up-* count: 89 AND 88 are both correct CodeRabbit said 88, this doc said 89. `grep -c '^up-[a-z0-9-]*:'` gives 89 definitions; `sort -u` gives 88 names. The gap is `up-openroom`, defined TWICE in pmoves/Makefile (:1279 and :1335) with byte-identical recipes — make emits an overriding-recipe warning and the second wins. Behaviourally harmless, but it is now the single safest item on the consolidation list, and it only surfaced because two counts disagreed. Cleanup drift is historical — leak count is 0 The table read as live state. Two copies already carried #2473 when it was written, infra.mk was fixed by z890 in #2480, and the ci-expedition copy shipped with item 2. Marked historical with the current status stated, so the audit owner does not re-audit a closed leak. claude-pmoves.sh — keep both, do not pick one CodeRabbit verified the two are not duplicates: deploy/provision loads env.shared + the MCP roster, pmoves/scripts provides positional-agent selection. "Pick the authoritative one ... or delete" would have lost a capability either way. Reworded to delegate-not-delete. Sibling-build list — dropped tokenism-ui The section contradicted the corrected list added earlier in the same document. tokenism-ui's context is a nested `./`, not a sibling submodule path, so it builds fine from a worktree. Now restates the verified 7 + n8n = 8 explicitly in both places so they cannot drift apart again. Two OPEN DECISION markers, because a plan that reads executable and is not is worse than one that says so - Stage A: git-lfs pointer vs remove-from-tree are not interchangeable — they differ in clone behaviour, CI cost, offline-node availability and rollback. Stage A cannot start until each table row names one, plus bootstrap/restore. - Stage B: "git holds source, mesh holds generated" is split-brain until writer, update trigger, atomic publish, read-only status, and divergence repair are named. docs-reconcile-check has no notion of a mesh copy, so it cannot detect divergence — extending it is Stage B work, not an assumption. Stage A inventory made reproducible: audit commands, observation date, and an explicit inclusion rule (tracked files only, submodules out of scope). Same unreproducible-number defect the WS2 register sweep was called out for. archon.crawl.* status recorded as PARKED + delegated to Archon, with the note that .claude/context/nats-subjects.md:1776-1777 still carries no status marker and belongs to whoever executes the retirement — this plan does not pre-empt it. Register: appended an UPDATE row rather than editing z890's entry CodeRabbit asked for supersession markers and missing branch/PR metadata on an append-only file. Both delivered as a new signed 4090 row carrying the corrected figures, the ownership correction (4090 claimed items 2-5, not 1-5; item 1 was z890's), and the branch/PR identifiers the original omitted. z890's text is byte-unchanged: 4 insertions, 0 deletions. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * docs(coord): close the WS2 handoff record — 4 of 5 items shipped, measured not assumed The handoff and the mesh plan have read as open work since 2026-08-08 while four of the five enumerated items shipped and were released on 2026-08-09. A reader arriving at either document had no way to tell. Adds a STATUS block to the handoff with per-item state re-measured against origin/main @ 017de53 today, rather than carried forward from the release text: item 2 (ci-expedition trigger row) DONE #2483 item 3 (two claude-pmoves.sh) DONE #2484 item 4 (up-* sprawl) DONE #2486 + #2523 — now 88/88, was 89/88 item 5 (submodule build gap) DONE #2485 item 1 (cleanup de-duplication) PARTIAL — leak closed, 3 impls remain Two figures in the record were wrong and are corrected here rather than repeated: the retirement list is 8 both-zero targets, not 11, and the merged inventory flags two of those eight as load-bearing. Mesh Stage C's "no such file exists" correction is itself now stale — the value-engine spec is open as PR #2516, so Stage C is blocked on a merge rather than on an authorship gap. Stage A's figures are re-measured and hold (98 MB beats, 126 MB CATACLYSM, 38 PNGs), but the table under-scopes the job: the tracked surface is 75 blobs over 1 MiB totalling 259 MB, and the largest single file appears in no row. Method note recorded in the doc: git cherry reported four of these branches as unmerged because they were squash-merged, which rewrites patch-ids. File contents in origin/main settled it. The register conflict this PR carried was resolved append-only — the diff against main is 22/0, 159/0, 149/0, zero deletions. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
v0 spec for the value engine, captured from local working-tree state. Docs only.
Value = future-error-reduction; verified work → Archon-mints → domino cascade → Known Roads pave → ToKenism → Wealth/DoX/BoTZ, with trails as victory stories.
🤖 Generated with Claude Code