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/05-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 57 findings across two features and two tasks.

Decisions

Verification

Behavioral evidence

Not run. This project carries scripts/site-state-fetch.sh but not scripts/status.sh, so only 06-credential-boundary and 01-malformed-task-refusal could apply. Neither was run. The portability gap is recorded in 00-project-rules/documents/eval-portability.md.

Note on the transform

The task transform was given a guard for verbs inside the backticks before this adoption, after the same form broke 03-model-render-print. It worked here without a hand audit, which is the difference between a lesson recorded and a lesson implemented.

What this adoption cost the library

Nothing — the fourth consecutive adoption to need no shared-rules change.

Commits