Skip to content

spec(value-engine): value-engine domino v0 - #2516

Merged
POWERFULMOVES merged 4 commits into
mainfrom
spec/value-engine-domino-v0
Aug 18, 2026
Merged

POWERFULMOVES merged 4 commits into
mainfrom
spec/value-engine-domino-v0

Conversation

@POWERFULMOVES

Copy link
Copy Markdown
Owner

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

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>
@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Important

Review available on request

  • 🔍 Trigger review

Reviews should be triggered manually for repositories with fewer than 10 stars. Select Trigger review above or comment @coderabbitai review to review the latest changes. For a full review, comment @coderabbitai full review.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 236da191-b7af-4dad-8a72-e96128ab2004


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the docs Documentation label Aug 10, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread pmoves/docs/specs/value-engine-domino-v0-spec-2026-08-07.md
Comment thread pmoves/docs/specs/value-engine-domino-v0-spec-2026-08-07.md
Comment thread pmoves/docs/specs/value-engine-domino-v0-spec-2026-08-07.md
Comment thread pmoves/docs/specs/value-engine-domino-v0-spec-2026-08-07.md
…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>
@POWERFULMOVES

Copy link
Copy Markdown
Owner Author

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 archon.mint.* subjects are registered in contracts/topics.json and have schemas, but nothing publishes them: searching *.py/*.ts/*.js/*.go returns zero hits, and every match in the repo is a doc, a slash command, or a schema. .claude/PATTERNS.md places the flow between the slash commands and archon-qa-agent; model-lifecycle-pipeline-2026-07-30.md marks the stage a stub. The Archon NATS bridge is now stated as a v0 prerequisite, in the header, the prose, and the components table.

2. The trigger event cannot carry the scoring inputs (P1). archon/mint.confirmed.v1.schema.json is additionalProperties: false over exactly two fields:

{ "agent_id": "<uuid>", "confirmed_at": "<date-time>" }

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 the spec tells them to subscribe to. The spec now requires either a correlated domino-candidate contract or a named lookup source per field, and notes that widening mint.confirmed.v1 is the wrong lever — it is a QA-gate signal, not a value record.

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 archon.mint.confirmed.v1. Recorded.

3. The value metric inflated itself (P1). 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. So the second domino for a class counts the first one's paved road as another occurrence of the error. Weight and reported value grow every time a preventive pattern is scored, with no new error having happened — a metric defined as "reduces FUTURE error" that pays out for scoring. Now counts typed incident records only, and the acceptance test pins it: score two dominos with the same error_class, assert the first one's weight is unchanged.

4. tokenism.value.recorded.v1 was unregistered (P2). Absent from contracts/topics.json, no *.v1.schema.json. 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. validate-command-anchors-ratchet still passes (435 baselined, 0 new).

Cross-PR follow-up (not actioned here)

This spec is the document #2481 was missing. The mesh plan there cited value-engine-domino-v0-spec-2026-08-07.md when it did not exist, and that section was rewritten to say writing it was Stage C's first task. It exists now.

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.

POWERFULMOVES added a commit that referenced this pull request Aug 16, 2026
…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>
@POWERFULMOVES
POWERFULMOVES merged commit a431d64 into main Aug 18, 2026
18 checks passed
@POWERFULMOVES
POWERFULMOVES deleted the spec/value-engine-domino-v0 branch August 18, 2026 15:09
POWERFULMOVES added a commit that referenced this pull request Aug 18, 2026
…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>
POWERFULMOVES added a commit that referenced this pull request Aug 18, 2026
… 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant