From 82b53945c9a2dcc4f7bc21683c0f7f4ee6c2a0d4 Mon Sep 17 00:00:00 2001 From: Stephen Waits Date: Thu, 29 Oct 2026 16:03:53 -0600 Subject: [PATCH] feat(audit): fit the audit tools into the agent surface (P8) After P5 merged first: a close leads to the audit and the period's attestation, an audit run to its workpaper and the claims behind it, the attest tools to the attestations and the CPA package; a refusal for want of a standing audit is the guard audit_required with books.audit as its remedy; the audit prompt runs the audit tools. policy.cpa_package_requires_audit, unset, refuses once the books hold an audit run and warns before, so a book that has not begun the programme is not stopped from its first handoff by a rule it has not met; set to refuse, it holds from the start. bookspec states B-45 (convention) in its checker. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01HS8WZziDnyxunC23MUxrLp --- checker/src/rules.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/checker/src/rules.rs b/checker/src/rules.rs index 94087c4..44cf549 100644 --- a/checker/src/rules.rs +++ b/checker/src/rules.rs @@ -123,7 +123,7 @@ pub struct Rule { /// Its normative title, as `docs/spec/rules.md` states it. pub title: &'static str, /// What its statement rests on; `None` for a rule allocated but not - /// yet stated (B-39 to B-45, `plan/served.md` 8.0.3). + /// yet stated (B-39, B-40 and B-43, `plan/served.md` 8.0.3). pub status: Option, /// The example ids that demonstrate it, by `Example::id`. pub examples: &'static [&'static str], @@ -587,8 +587,8 @@ const SPEC: Spec = &[ ( 45, Area::Ledger, - "Audits and attestations (allocated, not yet stated)", - None, + "An audit is deterministic over the books; an attestation is a claim by a named client", + Some(Status::Convention), &[], ), ];