Tutorials · Lesson 4 of 7

4 · Goals & the three axes

You'll state a goal as a contract and read back met, governed, and certified — the heart of the methodology. You need: your enriched trace.json with a declared artifact.

A goal is a contract

Declare what the change was for and what "done" means: an intent, a scope, typed acceptance criteria, and the policies that set the rigor bar. Author it as JSON:

{
  "intent": "Payment capture is safe to retry",
  "scope": ["capture_payment"],
  "acceptance": [
    {"id": "c1", "component": {"function": "capture_payment"},
     "evidence": {"artifact": "VerificationResult"}},
    {"id": "c2", "component": {"function": "capture_payment"},
     "evidence": {"artifact": "Tests"}}
  ],
  "policies": {"packs": ["apply_formal_methods"]}
}
ponens trace goal set trace.json --json contract.json

Each criterion just names the artifact type that must exist in the component's lineage. It is MET when that artifact is present — resolved deterministically by lineage, never by reading prose. No model decides whether a goal is met; the evidence does.

Resolve it

ponens trace resolve trace.json           # each acceptance item's live status
ponens trace enrich  trace.json -o enriched.json   # + progress, relevance cone, derived gaps

The three independent axes

A goal yields three separate verdicts — keep them distinct, this is the whole point:

  • MET — every component has its required evidence artifact (by lineage).
  • GOVERNED — its policies held: the evidence was derived correctly (proved, autoformalized, tests pass). That's Lesson 5.
  • CERTIFIED — a reviewer other than the doer confirmed the criteria were the right ones. That's Lesson 7 — you must never self-certify.

MET is "the evidence exists"; GOVERNED is "the evidence is good enough"; CERTIFIED is "the definition of done was correct." A change can be met but ungoverned, or met-and-governed but uncertified — each combination means something different.

See every combination

The bundled goal-contract examples demonstrate each case — met-but-ungoverned, certified-but-unmet, an uncovered intent clause, and more. Open them in the viewer to build intuition for the axes.

What you learned

  • A goal is a contract: intent + scope + typed acceptance + policies.
  • Acceptance resolves from evidence in the lineage, deterministically.
  • Three independent axes: met (evidence exists), governed (derived correctly), certified (the right definition of done).