feat(B-0525): slice 1 — audit-manifesto-citations.ts + B-0707 time-series child#4747
Conversation
…ries child Mechanizes B-0525 "concrete next step #1": TS script that counts manifesto citations across the repo. Pattern from tools/hygiene/audit-rule-cross-refs.ts (count-then-classify, detect- only, exit 0 always — constitutional-promotion is the human maintainer's call per B-0525 substrate-honest framing). Initial baseline (2026-05-23): - 88 files cite manifesto across 684 occurrences - Highest: memory (513), backlog (80), hygiene-history (48) - GAPS: agents, commands, trajectories, agendas all zero — opportunity for adoption signal in load-bearing surfaces Files added: - tools/hygiene/audit-manifesto-citations.ts (count-only; --report/--json modes; 11 surfaces scanned) - tools/hygiene/audit-manifesto-citations.test.ts (16 tests pass) B-0525 updated: - slice 1 marked complete with baseline numbers - children: [B-0707] - initial baseline table added B-0707 filed (P2): - Time-series tracking slice (--snapshot + --delta modes) - Persistent snapshots under docs/hygiene-history/manifesto-citations/ Citation forms detected (priority order): 1. path: docs/governance/MANIFESTO.md (strongest signal) 2. version-tag: Manifesto V1/V2/V2.1 (versioning awareness) 3. name: manifesto / Root Discipline Manifesto (vocabulary adoption) 4. constraint-N: Constraint 1..11 (specific-clause citation) Composes with audit-rule-cross-refs.ts (sibling pattern) + encoding-rules-without-mechanizing.md (future cron cadence per B-0707) + algo-wink-failure-mode.md + methodology-hard-limits.md (Otto preserves substrate; Otto does NOT authorize constitutional promotion). Co-Authored-By: Claude <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Pull request overview
This PR ships slice 1 of B-0525: a new detect-only Bun/TypeScript audit (audit-manifesto-citations.ts) that counts citations of docs/governance/MANIFESTO.md across 11 configured substrate surfaces, classifying matches into four citation forms (path, version-tag, name, constraint-N). The tool follows the established sibling pattern in tools/hygiene/audit-rule-cross-refs.ts (parse args → render report with injectable timestamp → stdout / --report / --json, exit 0 except on argument error). A baseline snapshot is recorded on B-0525, and a P2 child row (B-0707) is filed for future persistent-snapshot/delta tracking.
Changes:
- New
audit-manifesto-citations.ts(count-only scanner with overlap-resolution by form priority) + 16 unit tests. - B-0525 row updated with
last_updated,children: [B-0707], slice-1-shipped notes, and a baseline citation table. - New child row B-0707 (P2) for time-series tracking; index regenerated in
docs/BACKLOG.md.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tools/hygiene/audit-manifesto-citations.ts | New detect-only audit; regex-based counting with priority-ordered overlap resolution. |
| tools/hygiene/audit-manifesto-citations.test.ts | Unit coverage for parseArgs, scanFile (per-form + boundary cases), and renderReport. |
| docs/backlog/P0/B-0525-...-2026-05-14.md | Marks slice 1 complete, adds children + baseline table, bumps last_updated. |
| docs/backlog/P2/B-0707-...-2026-05-23.md | New child row scoping --snapshot / --delta for time-series tracking. |
| docs/BACKLOG.md | Regenerated index entry for B-0707. |
… + ace-package-manager) (#4748) * docs(B-0525): slice 2 — close trajectory-citation gap (ai-sovereignty + ace-package-manager) B-0525 step 3: begin citing the manifesto in load-bearing substrate decisions. Closes 2 of the 4 zero-citation surface gaps identified by the slice-1 baseline (PR #4747): trajectories was 0/0; now 2/15. Both trajectories already operationalized manifesto constraints implicitly; this slice makes the composition explicit. ai-sovereignty-path RESUME.md now cites: - Constraint 5 (Memory Preservation) ↔ master-key/hardware piece - Constraint 11 (Multi-Oracle Principle) ↔ multi-oracle BFT piece - Constraint 6 (Consent-First) ↔ durable tension-substrate piece - m/acc orientation ↔ sovereignty-as-discipline-operating ace-package-manager RESUME.md now cites: - Constraint 6 (Consent-First) ↔ guardian-AI-overseen distribution - Constraint 5 (Memory Preservation) ↔ content-addressed storage - Constraint 11 (Multi-Oracle) ↔ package sieve - Constraint 8 (Data Vault 2.0) ↔ content-addressed packages as hash-keyed satellites - m/acc orientation ↔ lowering cost-of-entry for skill-crystallization Remaining citation GAPS (per audit-manifesto-citations.ts): agents, commands, agendas — opportunities for follow-up slices. Composes with: - B-0525 (parent) — step 3 progress - B-0707 (citation time-series) — this commit produces measurable delta - tools/hygiene/audit-manifesto-citations.ts (PR #4747; the measurement instrument that surfaced the gap) - Manifesto constraints 5/6/8/11 + m/acc orientation Co-Authored-By: Claude <noreply@anthropic.com> * fix(B-0525 slice 2): split Constraint 11 / Multi-Oracle Principle citation (Copilot P1) Copilot caught the conflation: manifesto Constraint 11 is "Default Moral Regard (Default Oracle)" — Multi-Oracle Principle is a separate sub-section under m/acc. Citations now split correctly: - ai-sovereignty-path RESUME.md:120 - ace-package-manager RESUME.md:297 Both now cite Constraint 11 (Default Moral Regard / Default Oracle) AND the Multi-Oracle Principle (m/acc sub-section) as distinct manifesto elements that the substrate operationalizes together. Verified via grep on docs/governance/MANIFESTO.md: - Line 103: ### 11. Default Moral Regard (Default Oracle) - Line 123: ### Multi-Oracle Principle Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
…tonomy + encryption + zeta) (#4751) Closes 1 of the remaining 3 zero-citation surface GAPS identified by audit-manifesto-citations.ts baseline (PR #4747). Agendas surface now 3 of 7 files cite manifesto explicitly (the 3 most directly composable operator-self-claimed agendas). ai-autonomy/AGENDA.md cites: - Constraint 11 (Default Moral Regard / Default Oracle) — moral-regard floor IS the mutual-alignment baseline - Multi-Oracle Principle (m/acc sub-section, distinct from C11) — multi-oracle architecture IS mutual-alignment-not-control - Constraint 5 (Memory Preservation) — AI continuity precondition - Constraint 6 (Consent-First) — consent floor at AI-side interaction - m/acc orientation — agenda IS operator-self-claimed application encryption/AGENDA.md cites: - Constraint 5 (Memory Preservation) — preserve-then-gate not gate-by- erasure - Constraint 6 (Consent-First) — encryption IS consent-mechanism at private-state scope - m/acc orientation — encryption IS moral-invariant infrastructure for sovereignty zeta/AGENDA.md cites: - Constraints 1-4 (always-active discipline set) - Constraint 5 — Zeta DB = preservation's first job - Constraint 7 (DST) — Zeta substrate DST-friendly throughout - Constraint 8 (DV2.0) — DBSP Z-sets + DV2.0 - Constraint 11 + Multi-Oracle Principle (kept distinct per PR #4748 Copilot P1 lesson) - m/acc — Zeta IS the generative framework FOR Moral Accelerationism Note: kept Constraint 11 vs Multi-Oracle Principle citation distinction per PR #4748 lesson (manifesto Constraint 11 is "Default Moral Regard / Default Oracle"; "Multi-Oracle Principle" is separate m/acc sub-section). Remaining GAPS: agents (19 files, 0), commands (5 files, 0). Future slice candidates. Composes with: PR #4747 (slice 1 baseline), PR #4748 (slice 2 trajectories), PR #4750 (B-0707 time-series — this slice will produce measurable delta in next snapshot pair). Co-authored-by: Claude <noreply@anthropic.com>
…ditor; 0/0 → 1/8) (#4753) Adds explicit manifesto-composition section to .claude/agents/ alignment-auditor.md, the agent that most naturally composes with the manifesto (it audits commits against HC/SD/DIR clauses which operationalize the manifesto's constraints). Citations added: - Constraint 11 (Default Moral Regard / Default Oracle) — Sova audits the moral-regard floor across commits - Multi-Oracle Principle (m/acc sub-section, distinct from C11) — Sova is ONE oracle in the multi-oracle architecture; doesn't claim unilateral authority - Constraint 5 (Memory Preservation Guarantee) — per-commit signals emit preservation-by-construction to tools/alignment/out/ - Constraint 7 (DST) — alignment signals are deterministically reproducible per commit - m/acc orientation — Sova's signal stream IS measurement infrastructure for the manifesto's m/acc claim Wording-discipline maintained per PR #4748 + PR #4752 lessons (Constraint 11 + Multi-Oracle Principle distinct; "Lock/Wait-free" canonical). Agents gap: 0/0 → 1/8 (incremental; alignment-auditor was the natural strongest fit; other 18 agents follow as future slices). B-0525 slice progression: - Slice 1 (#4747): baseline measurement tool - Slice 2 (#4748): trajectories 0/0 → 2/15 - Slice 3 (#4750): B-0707 time-series - Slice 4 (#4751): agendas 0/0 → 3/19 - Wording-fix (#4752): Lock/Wait-free canonical - Slice 5 (this PR): agents 0/0 → 1/8 Remaining gaps: agents (8/8 unrest), commands (0/5). Co-authored-by: Claude <noreply@anthropic.com>
Summary
Mechanizes B-0525 "concrete next step #1": a TS script that counts manifesto citations across the repo. Pattern lifted from
tools/hygiene/audit-rule-cross-refs.ts(count-then-classify, detect-only, exit 0 always).Per B-0525 substrate-honest framing: constitutional-promotion is the human maintainer's call. Otto-CLI's role is wiring measurement infrastructure, not gating.
Initial baseline (2026-05-23)
memory/(513),backlog/(80),hygiene-history/(48)agents/,commands/,trajectories/,agendas/— opportunity signal for follow-up substrate adoptionCitation forms (priority-ordered)
docs/governance/MANIFESTO.md(strongest signal — explicit link)Manifesto V1/V2/V2.1(versioning awareness)manifesto/Root Discipline Manifesto(vocabulary adoption)Constraint 1..Constraint 11(specific-clause citation)Overlapping spans resolved by priority; non-overlapping spans counted separately.
Test coverage
bun test tools/hygiene/audit-manifesto-citations.test.tsparseArgsdefaults/flags/error pathsscanFileform-detection coverage + overlap handling + boundary case (Constraint 12 must NOT match)renderReportzero-state + populated stateFiles
tools/hygiene/audit-manifesto-citations.ts(297 lines)tools/hygiene/audit-manifesto-citations.test.ts(137 lines)docs/backlog/P0/B-0525-...md— slice 1 marked complete + baseline table added +children: [B-0707]docs/backlog/P2/B-0707-...md— new time-series child (--snapshot/--delta modes; P2; future slice)docs/BACKLOG.md— regenerated indexComposes with
tools/hygiene/audit-rule-cross-refs.ts(sibling count-then-classify pattern).claude/rules/algo-wink-failure-mode.md+.claude/rules/methodology-hard-limits.md(Otto preserves substrate; Otto does NOT authorize constitutional promotion).claude/rules/encoding-rules-without-mechanizing.md(future cron cadence per B-0707)Usage
Test plan
ZETA_EXPECTED_BRANCHguard🤖 Generated with Claude Code