clay-borg/specs
tegwick fed422a3a3 T01: audit every InnerLoop rule, and make the checkable ones executable
41 rules classified executable / checkable / decorative, each tagged with
the failure class it catches. Counts: 11 executable, 22 checkable, 4
decorative (one of them dead policy).
Audit: history/260731-inner-loop-rule-audit.md

New tools/loop-lint.py makes 7 rules executable (tier declared, chaos
roll recorded, tier-L review trail, unmeasured-in-evidence, whole-file
loadability, reporting tools expose --self-test). It found three real
violations on its first run, none previously visible:

  - specs/ArchitectureBlueprint.md was 543 lines against a ~400 limit
    the loop has stated since v0.2 and never measured. Split at its own
    section boundaries into Blueprint (1-8) + Runtime (9-15).
  - tools/dep-weight.py and tools/rule-coverage.py had positive-control
    logic and no --self-test, so nothing verified the control worked.

Adding rule-coverage's self-test exposed a latent instance of the exact
class this workplan is about: if the spec regex stopped matching, rules
was empty, missing was empty, and the tool exited 0 reporting "0/0" --
a silent pass, in the tool that reports our headline AM-1 number. Both
tools now assert they found something before reporting.

Two demotions applied in the spec rather than left implicit: "structured
over prose" is marked guidance (nothing can check it), and the 8k/10k
token budget is struck through and marked DEAD POLICY pointing at T05.

The audit's uncomfortable finding: rule 13 (re-derive inherited numbers)
has no mechanical form, is deliberately left decorative, and caught the
LARGEST error in CB-WP-0002. That is a counter-example to this
workplan's own hypothesis. "A rule that cannot be executed is not a
rule" is wrong as stated; the defensible version is that such a rule
cannot be relied on to fire, so it must not be the only defence for a
class that matters.

Class coverage: harness-does-nothing has five executable rules;
trusted-arithmetic has ZERO and produced the largest single error.

make loop-lint and make self-tests wired into `make all` and CI.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 09:16:00 +02:00
..
ArchitectureBlueprint.md T01: audit every InnerLoop rule, and make the checkable ones executable 2026-07-31 09:16:00 +02:00
ArchitectureRuntime.md T01: audit every InnerLoop rule, and make the checkable ones executable 2026-07-31 09:16:00 +02:00
CostAccounting.md T04: tools/cb-cost.py — and its positive control fires on first contact 2026-07-31 08:50:04 +02:00
GameKernel.md AM-4: gate scenario YAML, retarget on audited source, re-measure 2026-07-31 03:35:41 +02:00
GroundRules.md T05: GROUND rules spec derived from GROUND-DARVO-CORE-0.1 (numbered rules, 10 flagged underdeterminations) 2026-07-31 01:33:54 +02:00
InnerLoop.md T01: audit every InnerLoop rule, and make the checkable ones executable 2026-07-31 09:16:00 +02:00
MetricsAndScenarios.md T03: specs/CostAccounting.md — 15 contracts, 8 metrics, each with a command 2026-07-31 08:46:12 +02:00