The four kinds answer four different questions and live on different objects.
Keeping them apart is what lets Hibi say “this doc was partly replaced and
its code drifted” instead of one undifferentiated “stale.”
The four status kinds
The first two are authored: you decide them when you write the claim. The
third is computed: Hibi recalculates it on every run and keeps it out of the
store. The fourth tracks the document itself, independent of any one claim.
Authored trust
When you record a claim you declare how strongly you stand behind it. This is a statement about your confidence, not about the code.verified is the only trust level that requires both an anchor and a @ref
(the reference that backs the confirmation). Trust is set with
--trust verified|inferred|assumed on hibi record.Reanchoring is an attestation
Re-pointing a claim’s anchors is not the same as re-verifying the claim, andhibi reanchor keeps the two honest:
hibi reanchor <id> --ref <new-ref>asserts “I re-verified this”: selectors and evidence baselines refresh, authored trust is retained, and the new ref is recorded.hibi reanchor <id>without--refstill re-anchors — the claim is findable again — but downgrades authored trustverified→inferred: nobody has re-attested that the claim is true. The downgrade is recorded on the assertion and surfaced instatusand the JSON.- The pure-move exception. A bare
hibi reanchor <id>keepsverifiedtrust — with no downgrade recorded — in exactly one case: a pure move, where the re-resolved doc quote is byte-identical to the stored one and re-resolves uniquely at similarity 1.0, and the code side re-resolves as exactlyunchanged. A byte-shift changes no evidence, so there is nothing to re-attest. Anything fuzzier downgrades as above.
verified badge always means someone attested it,
with a @ref, against the code it points at now.
Enforcement: earning the right to gate
Enforcement is the gate key. It decides whether a claim can fail your build or stamp a strong banner into a file, or whether it stays advisory.How record derives enforcement
You do not pick enforced yourself; Hibi earns it for you, and refuses it if
the anchor is too weak to stand behind.
1
Verified trust plus a precise anchor on both sides → enforced
If you record with
verified trust and the anchor resolves precisely on the
doc side and the code side, the claim is recorded as enforced.2
Anything weaker → suggested
Without verified trust, or without a precise resolvable anchor, the claim is
recorded as
suggested, advisory until you confirm it.3
An enforced record is refused unless every condition holds
record throws rather than create a weak enforced claim. To be enforced,
the doc side must resolve, a @ref must be present, the code side must be
precise (not a coarse or --glob target), and every code target must
resolve.--glob targets are navigation and blast-radius only: they map
which files a claim touches, but they can never back an enforced claim. (Coarse
anchors are never reported as stale either; see how anchors are scored on the
Anchors & selectors page.)
Computed states
The third kind, what the engine works out live on everycheck, is the
two-axis verdict (doc:… / code:… resolution, plus a behavioral belief on
behavioral claims) and the orthogonal expired flag. These are recomputed every
run and never stored, so they are documented where they are graded rather than
repeated here.
Verdicts, states & exit codes
The full two-axis model, the grading bands, and how a verdict becomes an exit
code.
Document lifecycle
A document is more than its claims; it has a life of its own. It can be amended, replaced wholesale, withdrawn, or moved out of the read path. Caption: “Supersession is authored forward on the new document; Hibi derives the reverse edge.”Supersession: replacing what a document said
When a newer document takes over from an older one, you author that relationship forward on the new document. Hibi derives the reverse edge, so the old document knows it was replaced without you editing it twice.- supersedes (full replacement)
- amends (partial replacement)
supersedes points at a whole Document. The old document’s lifecycle
flips to superseded, and the next step is to archive it.An old document can be amended and code-drifted at the same time: a newer
doc replaced part of it, and the code under another part moved. Because the four
status kinds are separate, both conditions surface together rather than masking
each other.
Stranded claims: relocate, don’t hand-reanchor
Flipping a document’s lifecycle does not move the claims still anchored to it. Sosupersede, retract, and archive now report the live claims left behind
in a strandedClaims: string[] field — the claims still anchored to the old,
retracted, or archived document. When that list is non-empty, the operation’s
next hint points at hibi relocate, the batch
primitive that re-homes them in one pass:
Remediation: what to do when a claim needs attention
A flag is a request to re-verify, not a claim that the doc is wrong. The response is graduated by how dangerous it is to leave the document standing as-is.
To withdraw a single obsolete claim, run
hibi retire <claim-id> — it flips
the claim’s enforcement to retired and keeps the audit trail. Never hand-edit
or delete the claim’s file under .claims/. Every drift verdict carries a
remediation menu that names the right verb for
its state and pre-fills the command, so you rarely pick from this table by hand.
The mechanics of how a banner is written, made tamper-evident, and placed at the
top of a file live on the Status banners page.
Store health: hibi doctor
check answers “is anything drifting right now?” — it says nothing about claims
that are broken in a quieter way: a side whose span was deleted, a suggested
claim that never got a code anchor, a live claim stranded on a superseded
document, or two propositions that share one fingerprint. hibi doctor
surfaces exactly that dead state. It is purely informational and always exits
0, so it triages the store rather than gating a build, and its next hint
routes you to the most pressing category (often hibi list --state orphaned). See
hibi doctor for the full report.
Who does what
Hibi draws a hard line between the part it owns and the part it leaves to you.The engine owns
Status, document edges, lifecycle stamping, archival, and flagging the
content that needs attention. Deterministic: no model runs in the check loop.
You (or your agent) own
Rewriting the prose, then re-running
hibi check. The engine never writes
prose: it tells you what moved, and you decide what the doc should now say.The engine flags and stamps; the author or agent rewrites and re-runs. That
split is what keeps the signal trustworthy and the prose human.
Where to go next
Status banners
How a status becomes a visible, tamper-evident banner in the file itself.
CLI reference
record, supersede, retract, archive, and the rest of the verbs.
