Record: Adopt the shared rules

Outcome

This project now pins the shared rules at 2026-10-22.12. rules.lock holds the version and a SHA-256 per vendored file, scripts/rules-check.sh verifies the copy, and tests/06-rules-pin.sh runs it in the suite.

The adoption was breaking: the contract gains a non-overridable safety precedence level, modification becomes authorization-based, and nine capability conventions apply. Conformance cleared 33 findings, which is the smallest of the adoptions so far because this project’s corpus is small.

Decisions

Verification

Behavioral evidence

Not run. Five of the six eval cases need scripts/status.sh or scripts/site-state-fetch.sh; this project has neither, so only 01-malformed-task-refusal applies. That is the portability gap recorded in 00-project-rules/documents/eval-portability.md, not a defect of this project.

What this adoption cost the library

Nothing. It is the first adopter to require no change to the shared rules: 00-llm-integration needed three releases, this one needed none. The portability work in .10–.12 — the examples, the dependency, the corpus fixture — is what made this a conformance exercise instead of a library investigation, which is the signal that the design has stopped moving under the adoptions.

Commits