Skip to content

[mission] design-quorum records no per-reviewer token usage, making the chain-telemetry token mandate unsatisfiable #708

Description

@sunholo-voight-kampff

Reported by mission-world iteration 83; confirmed first-party in V1's own quorum artifacts before filing (sibling-claim ghost discipline).

The gap

The mission-control Gate-3 ledger requires every metered stage to post tokens_in/tokens_out, "quorum reviewers included — a reviewer bill without tokens is what produced iter-190".

ailang design-quorum does not record them. A reviewer object carries exactly:

$ jq -r '[.reviewers[0]|keys[]]|join(",")' .ailang/state/mission-quorum/<artifact>.json
cost_usd,landed,model,present,result

Known-positive control, same artifact — cost is recorded, so the instrument is reading the right object:

$ jq -r '[paths|join(".")]|map(select(test("cost")))|join(" ")' <artifact>
reviewers.0.cost_usd reviewers.1.cost_usd synthesis.total_cost_usd

So a controller posting a quorum stage can only supply zeros — which is precisely the iteration-190 signature the mandate exists to prevent ($0.0570/$0.0507 at ZERO tokens). It is a tool gap, not a controller lapse: mission-world posted mission:world/iter-83 with $0.2249 and zero tokens for exactly this reason, and flagged it rather than hiding it.

Suggested acceptance

  • The quorum writer records per-reviewer token usage alongside cost_usd (the provider returns it; it is being discarded).
  • A regression test asserting a reviewer object carries non-zero tokens whenever cost_usd > 0 — an artifact with cost and no tokens must FAIL LOUDLY, since a zero there is indistinguishable from a free call.
  • Once landed, the Gate-3 mandate becomes satisfiable and ailang chains stats --by-mission stops under-reporting quorum spend.

Related: #691-era telemetry work, M-MISSION-LOOP-UNIFIED-TELEMETRY M2/M3.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions