R9 + R10 of the Constitution alpha (in-repo deliverables):
- framework/CONTRIBUTING.md: layer model, operator-hygiene/PII prohibition,
dedup rule, resident budget, dual-installer parity rule, adding-a-harness,
re-contamination rule, harness x gate compliance matrix (hook-parity gap
marked as tracked-v2), known-limitations (DESIGN §9 residuals), PR checklist.
- check-resident-budget.sh: line-count ceiling over framework-owned resident
files (CONSTITUTION + AGENTS + each runtime/*/RUNTIME.md), with --self-test;
replaces the crude inline ci.yml loop. Wired blocking in .woodpecker/ci.yml.
Composer unit test (R9) already runs via pnpm test; verify-sanitized.sh (P1)
already wired. Sanitization + budget + prettier all green.
Remaining for the mission close: aiguide reconcile (separate repo) + the alpha
tag (Lead cuts after full DoD §8 green + all phases merged; P5 #605 pending).
Refs #606, #542
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EsgTQzV5YUGk1JtCLP4B83
Each step was re-running pnpm install independently, and all quality
steps (typecheck, lint, format, test) ran in parallel. On merge commits
with more accumulated code this pushed the CI runner over its memory
limit (exit code 254 = OOM kill).
Fix:
- install once, share node_modules via Woodpecker workspace volume
- sequential execution: install → typecheck → lint → format → test → build
- corepack enable in each step (fresh container) but no redundant install