Surface Honesty Audit
This page is generated by npm run audit:surface. Do not edit it by hand.
It is the navigable, runnable audit of every promise badge on the apex spec:
for each badge it shows the level the apex CLAIMS, the level the proof route is OBSERVED to deliver, the proof class, the command that runs it, and whether the two agree.
A badge is honest only when consistent is true; the apex's own check block fails specdown if any badge over-claims.
Audit Source Of Truth
- Apex (declares each badge level): docs/specs/index.spec.md
- Registry (declares each proof route, never the level): docs/specs/audit/surface-registry.json
- Manifest (recomputed observed state): .cautilus/audit/surface-audit.json
Scoreboard
| Dimension | Value |
|---|---|
| Badges | 7 |
| Claimed | proven: 7, declared: 0, promised: 0 |
| Consistent | 7 / 7 |
| Honest | yes |
Per-Badge Audit
| Badge | Claimed | Observed | Class | Proof command | Evidence | Freshness | |
|---|---|---|---|---|---|---|---|
| ✅ | Readiness | proven | proven | deterministic | npm run lint:specs |
live command checks | runs every gate |
| ✅ | Claim Discovery | proven | proven | deterministic | npm run lint:specs |
3 file(s) | runs every gate |
| ✅ | Behavior Evaluation | proven | proven | cautilus-eval | npm run lint:specs |
6 file(s) | replayed; live re-run npm run proof:behavior-eval:live && npm run proof:skill-orientation:live |
| ✅ | Bounded Improvement | proven | proven | cautilus-eval | npm run lint:specs |
3 file(s) | replayed; live re-run npm run proof:improve:live |
| ✅ | Reviewable Artifacts | proven | proven | deterministic | npm run lint:specs |
live command checks | runs every gate |
| ✅ | Host Ownership | proven | proven | human-auditable | npm run lint:specs |
1 file(s) | witnessed; live re-run npm run consumer:onboard:smoke |
| ✅ | A Testable Agent | proven | proven | deterministic | npm run lint:specs |
4 file(s) | runs every gate |
Proof Class Meanings
| Class | What proven/declared means for this class |
|---|---|
| deterministic | npm run lint:specs runs the command/file checks live on every run. |
| cautilus-eval | the default run replays an operator-witnessed live agent capture and a blind judge verdict from the Cautilus eval tier; the live agent re-run is opt-in and costs a real agent run. |
| human-auditable | an operator witnessed the live run and vouches for it; the default run replays the checked-in capture and the live re-run is opt-in. No automated judge — accepted where a full deterministic or eval proof would be disproportionately costly. |
| projected-bundle | the proof projects a saved evidence bundle; the behavior has not been re-run live yet. |
| none | stated, with no executable proof attached yet. |
Inconsistencies
None. Every apex badge matches the level its proof route delivers.
What This Audit Asserts
- Each badge's claimed level matches the level its proof route is observed to deliver (
consistent). - Every apex badge has a registry proof route and every registry route has an apex badge (no orphans).
- The leaf spec for each non-promised badge carries executable
> check:blocks and its evidence files exist. - Every evidence file a non-promised badge declares is actually read by a
cautilus-json-filecheck in its leaf spec (evidenceReferenced), so the proof route cannot redirect to an unrelated spec or pad its evidence count with files the spec never asserts on. - Every evidence file is read by at least one SUBSTANTIVE
cautilus-json-filecheck (evidenceSubstantive) — a value-bearingequals/includes/min_number≥1/meaningassertion on a field other thanschemaVersion, not merely anexistsor version-tag touch — so a route cannot satisfy the reference with a hollow well-formedness check that reads the file but asserts nothing about the claimed behavior.
This audit is SEMANTICALLY BOUND for every badge that declares evidence: the reference check closes the redirect/hollow gap a purely structural "the leaf has some checks" test leaves open, and the substantive check (evidenceSubstantive) closes the schema-only/exists-only padding gap a bare reference check leaves open — a route can no longer observe as proven by touching its evidence file with only a schemaVersion or exists assertion. What it still does NOT verify is whether a substantive assertion's VALUE is behaviorally earned — decision.evidenceStatus equals satisfied is structurally substantive, but whether "satisfied" is deserved is a SEMANTIC judgment a deterministic check cannot make — so that correctness stays the leaf-spec author's and code review's responsibility; npm run lint:specs runs the leaf checks themselves and fails if any break. Evidence-less command-proof routes (Readiness) carry no evidence to cross-reference, so they stay bound to their leaf spec by title plus their own live cautilus doctor checks rather than by an evidence cross-reference.
It also does NOT re-run the live agent proofs; live evidence is replayed from operator-witnessed captures and re-run on demand via the per-badge Freshness command.
| path | json_path | equals |
|---|---|---|
.cautilus/audit/surface-audit.json | schemaVersion | cautilus.surface_audit.v1 |
.cautilus/audit/surface-audit.json | summary.honest | true |
.cautilus/audit/surface-audit.json | summary.inconsistent | 0 |
.cautilus/audit/surface-audit.json | summary.orphanIssueCount | 0 |