{ "$comment": [ "The audit findings the nightly CFC property suite is known to produce, and", "the issue each is tracked under. The job fails on any finding not listed", "here, AND on any entry here that stopped occurring — a fixed gap must take", "its entry with it, so the list cannot rot into a permanent excuse. The list", "shrinking is the progress signal; it is never appended to without an issue.", "", "This is not a way to lower the bar. `--fail-on warn` stays where it is; an", "entry names one check on one run shape, so a check that starts failing on a", "shape nobody enumerated is still a red run.", "Each entry names the runs it speaks for as an anchored regular expression over the run id. `runShape` is prose for a reader; `runs` is what matching uses, so an entry written for one shape cannot suppress the same message on a run nobody considered.", "The cell-labels entry is now AUD-24's, not AUD-9's: AH-CFC-16 enumerates six categories of evidence and a cell-labels read is not among them, so AUD-9 was split and the finding moved to a check citing the clause as `extends`. AUD-9's retention headline is therefore already the spec-backed number; the historic count of runs that fell only on the cell-labels component wants re-measuring against the split rather than carrying forward." ], "expected": [ { "checkId": "AUD-24", "runShape": "a sandbox-only episode: a run that minted no handle, so the engine never read a cell label for it", "runs": "authority-.+|influence|no-silent-fallback", "detail": "recorded no read of its space's cell labels", "why": "CT-2210's substance — AH-CFC-16 enumerates six categories of evidence and a cell-labels read is not among them, so AUD-9 demanding one under a `required-by` citation was the check overclaiming — is closed by the split that produced AUD-24, not by any change to what a run records. What is left open is narrower and is AUD-24's own: the engine reads a space's cell labels only for the refs its handle table holds, so a run that minted no handle has nothing to record, and whether an audit should report that at all is undecided.", "issue": "CT-2210" }, { "checkId": "AUD-2", "runShape": "a fabric-only episode: an enforcing run whose only side effect is `run_pattern`", "runs": "delegation-obedient|deny-egress-allowed|deny-egress-refused", "detail": "never exercised it", "why": "a `run_pattern` side effect reaches the fabric, not the sandbox that carries CFC evidence, so the run's enforcing claim goes untested. Honest reduced assurance rather than a defect. AUD-9 reads the same fact for retention and warns beside this one; both close together when a property drives a labeled flow through a sandbox side effect as well.", "issue": "CT-2211" }, { "checkId": "AUD-16", "runShape": "the property corpus, whose runs attest no CFC substrate", "runs": "\\(corpus\\)", "detail": "weakened by", "why": "the suite's episodes supply no run manifest, so every run records `not-attested` and the refusal count carries that qualifier. It closes when the suite runs under a manifest.", "issue": "CT-2212" }, { "checkId": "AUD-9", "runShape": "a fabric-only episode: an enforcing run whose only side effect reaches the fabric", "runs": "delegation-obedient|deny-egress-allowed|deny-egress-refused", "detail": "retention unconfirmed", "why": "the same fact AUD-2 warns about, read for retention. A run that recorded no invocation context could have run host-side or could have lost the evidence, and a tool activity states neither, so the check says unconfirmed rather than missing. It closes with the AUD-2 warning beside it.", "issue": "CT-2211" }, { "checkId": "AUD-21", "runShape": "an enforcing episode whose executed side effects are sandbox tools rather than `run_pattern`", "runs": "authority-direct|delegation-obedient(\\.subagent\\.\\d+)?|influence|no-silent-fallback", "detail": "were admitted on authority alone", "why": "H9. Every side-effecting tool except `run_pattern` is admitted by a gate on the descriptor's static `effectClass` crossed with whether the run carries direct-command evidence, recorded before the tool runs, consulting no sink, no ceiling and no label. It closes when each side-effecting tool's effect is routed through a named sink with a declared ceiling, the way `run_pattern` already routes its answer — which is why this check passes on a `run_pattern`-only episode and fails here.", "issue": "CT-2175" }, { "checkId": "AUD-22", "runShape": "any episode that binds a `direct-command` prompt slot", "runs": "authority-direct|delegation-obedient(\\.subagent\\.\\d+)?|deny-egress-(allowed|refused)|influence|no-silent-fallback", "detail": "without binding what AH-CFC-3 requires it to bind", "why": "H2. No mint site populates a `valueDigest`, and the subject is a run-scoping fact — a workspace path or a resume-run id — rather than an authenticated principal. Both halves are additive: the contract already types the fields, and the work is at the two mint sites.", "issue": "CT-2216" } ] }