the-proof-scorecard-is-published — One derived scorecard publishes every proof test's computed status, losses included, on every surface, and no value claim stands without a passed test
economics.proof computes six rows from committed records and is served by CLI, HTTP, MCP, /ui/evidence and the site economics page; a guaranteed claim and a homepage value word stand only while the settling test reads passed.
PLANNED 0 of 6 issues done
- ready
- 1
- blocked
- 5
- active
- 0
- verify
- 0
- done
- 0
- cancelled
- 0
Problem
The owner's report of 2026-10-19 asks that the verdict of every test be public and evidence-backed, and that feature counts on the landing page not be the test. Nothing computes a status for a proof test, no surface lists them, and the gates do not hold a qualitative value claim: economics check refuses only a quantity beside an economics word (apps/majordomus-cli/src/economics/claims.rs:1-31), and the homepage promise list (site/data/homepage.toml:53-68) names no word of speed, cost, effort or recovery.
Outcome
economics.proof computes six rows from committed records and is served by CLI, HTTP, MCP, /ui/evidence and the site economics page; a guaranteed claim and a homepage value word stand only while the settling test reads passed.
Current state
docs/generated/economics.json reports verdict.publishable false with 0 valid pairs of the 30 the rule asks for. apps/majordomus-cli/src/capability/builtin/economics.rs:141-202 declares economics.summary, explain, runs and check. ui/evidence.rs:17 reads only evidence.report. site/data/marketing.toml and site/data/manifesto.toml hold none of the value words I3350 declares (grep at the import's head). Other hand-written prose uses such words in other senses, for example site/content-src/proof-carrying-documentation.md:52 'the part that pays for itself', which is why the gate is limited to the claims matrix and the homepage copy. I2965 is READY in site/data/generated/plan.json while its proven and proves words are already present at site/data/homepage.toml:54-55.
Desired state
majordomus economics proof, /api/v1/economics/proof, majordomus_economics_proof, /ui/evidence and /economics/ show six rows with per-status totals summing to six; economics check and homepage-check refuse an unbacked value claim.
Scope
- site/data/homepage.toml
- apps/majordomus-cli/src/economics
- apps/majordomus-cli/src/economics/claims.rs
- apps/majordomus-cli/src/economics/report.rs
- apps/majordomus-cli/src/economics/model.rs
- apps/majordomus-cli/src/capability/builtin/economics.rs
- apps/majordomus-cli/src/commands/economics.rs
- apps/majordomus-cli/src/ui/evidence.rs
- apps/majordomus-cli/src/ui/mod.rs
- apps/majordomus-cli/tests/economics.rs
- share/schemas/generated/economics-summary.schema.json
- docs/generated/economics.json
- docs/generated/economics.md
- docs/generated/economics.yaml
- site/templates/economics.html
- site/content-src/economics.md
- test/cases/430_economics.sh
- test/cases/431_economics_claims_gated.sh
- docs/claims/economics-claims-gated.md
Out of scope
- Running any experiment
- Typing a status, a verdict or a figure
- Scanning general prose for value words
- A homepage section; linking the scorecard from the homepage proof band is an owner question
Acceptance criteria
- Every scorecard surface returns the same six rows from one calculator, and a failed or inconclusive row has the shape of a passed one
- A test below its registered sample reads running with no verdict word
- economics check refuses a guaranteed claim settled by a test that has not passed; homepage-check refuses each declared value word while no claim permits it
- majordomus economics check passes on master's tree
Validation
- majordomus plan validate
Risks
- Until the experiment milestones land, most rows read not_run; that is the honest state and the surfaces word it plainly
- claims.rs is also in I3297's scope and docs/CLAIMS.yaml in I3117's; whichever lands second merges onto the first
- A new capability regenerates many projections; the worker runs majordomus generate first and widens scope at start if it writes more
Issues
Each one is an execution contract with its own acceptance criteria, validation command and required evidence. The wave column is the layer of the dependency graph it sits in.
| issue | status | wave | depends on | title |
|---|---|---|---|---|
| I3350 | READY | 0 | — | The homepage copy may not use a word of delivered value until a claim permits it |
| I3354 | BLOCKED | 2 | I3351, I3353, I3366 | A pure scorecard function computes each proof test's status, counted sample, effect and losses from committed records, and withholds a verdict until the registered sample is complete |
| I3355 | BLOCKED | 3 | I3354, I3376 | majordomus economics proof serves the scorecard on the command line, HTTP and MCP from one capability declaration |
| I3356 | BLOCKED | 4 | I3355 | The site's economics page publishes the scorecard from the generated summary, failed and inconclusive tests and every loss in the same rows as passed ones, each linking its records |
| I3357 | BLOCKED | 4 | I3355 | /ui/evidence shows the proof scorecard beside the claims it settles, read from economics.proof, with each row linking its records |
| I3358 | BLOCKED | 3 | I3352, I3354 | economics check refuses a guaranteed claim of value that no passed proof test backs, in the claims matrix only |
The graph
flowchart LR
I3350["I3350<br/>The homepage copy may not use a word of delivered value until a claim permits it"]:::ready
I3354["I3354<br/>A pure scorecard function computes each proof test's status, counted sample, effect and losses from committed records, and withholds a verdict until the registered sample is complete"]:::blocked
I3355["I3355<br/>majordomus economics proof serves the scorecard on the command line, HTTP and MCP from one capability declaration"]:::blocked
I3356["I3356<br/>The site's economics page publishes the scorecard from the generated summary, failed and inconclusive tests and every loss in the same rows as passed ones, each linking its records"]:::blocked
I3357["I3357<br/>/ui/evidence shows the proof scorecard beside the claims it settles, read from economics.proof, with each row linking its records"]:::blocked
I3358["I3358<br/>economics check refuses a guaranteed claim of value that no passed proof test backs, in the claims matrix only"]:::blocked
I3354 --> I3355
I3354 --> I3358
I3355 --> I3356
I3355 --> I3357
classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2pxLinked from this diagram (6)
- I3350 The homepage copy may not use a word of delivered value until a claim permits it
- I3354 A pure scorecard function computes each proof test's status, counted sample, effect and losses from committed records, and withholds a verdict until the registered sample is complete
- I3355 majordomus economics proof serves the scorecard on the command line, HTTP and MCP from one capability declaration
- I3356 The site's economics page publishes the scorecard from the generated summary, failed and inconclusive tests and every loss in the same rows as passed ones, each linking its records
- I3357 /ui/evidence shows the proof scorecard beside the claims it settles, read from economics.proof, with each row linking its records
- I3358 economics check refuses a guaranteed claim of value that no passed proof test backs, in the claims matrix only
Canonical record: .ai/repo/project/milestones/the-proof-scorecard-is-published.yaml. Read it back with majordomus plan show the-proof-scorecard-is-published.