Skip to content

An intent whose criterion names evidence that resolves to nothing is refused by name

Every reference an intent makes has to land on something the repository holds: each milestone in the plan, each governance entry among the rules and decisions, and each criterion's evidence — a test file, a claim of docs/CLAIMS.yaml, a deployment object. A reference to nothing is a failure named after the intent, not an intent that silently stays unmet.

declared statusdeclared status: guaranteed Declared deterministic and blocking, implemented, and naming the behavioural test that is to prove it. Whether a recorded run supports it is the evidence verdict, shown beside it.

recorded evidencerecorded evidence: stale Declared guaranteed, and not supported by a recorded run: the test is named, and no passing run of the current inputs is recorded. how evidence is recorded

`majordomus intent validate` exits 10 with `unresolved_evidence_ref` naming the intent, and the intent-check gate runs it. A milestone or governance entry that resolves to nothing is refused the same way. A reference to nothing would otherwise read as a planned intent forever.

What it means

Every reference an intent makes has to land on something the repository holds: each milestone in the plan, each governance entry among the rules and decisions, and each criterion's evidence — a test file, a claim of docs/CLAIMS.yaml, a deployment object. A reference to nothing is a failure named after the intent, not an intent that silently stays unmet.

How it works

majordomus intent validate resolves every link and exits 10 on unresolved_evidence_ref, unknown_milestone or unresolved_governance, and on an intent with no milestone or no criterion. The intent-check gate in .ai/repo/ci/gates.yaml runs it, so a pull request that breaks a link is refused before it merges.

How to see it

majordomus intent validate                 # every finding; exit 10 when any is a failure
majordomus intent validate --format json

What it does not cover

It checks that a reference resolves, not that the test it names asserts what the criterion says. Whether the evidence is current is the stage derivation's question (intent-stage-derived).

Why it exists

An intent whose criterion points at a renamed test would read as planned forever: never met, never failing. Refusing the dangling link turns that silence into a finding with a name.

Detail rendered from docs/claims/intent-links-resolve.md.

From the statement to the proof

  1. 1 · the public statement

    An intent whose criterion names evidence that resolves to nothing is refused by name

    Made on Planning, Plan.

  2. 2 · the canonical claim

    intent-links-resolvedeclared status: guaranteed in docs/CLAIMS.yaml

    Defined in read it on this site · docs/PLANNING.md

  3. 3 · the implementation

    apps/majordomus-cli/src/intent.rs

  4. 4 · the test and the scenarios

    Test: test/cases/367_an_intent_is_satisfied_only_by_evidence.sh

  5. 5 · the recorded runs

    recorded evidence: stale how evidence is recorded

Verify it yourself

The test runs in a disposable temporary repository and asserts the behaviour, not a string in the source.

from a clone of the repository
bash test/run.sh 367_an_intent_is_satisfied_only_by_evidence

Where this claim is used

responsibilities it covers

Related claims same implementation

Searches the titles and descriptions of every page this site publishes.