v0.6.3 — lean v11 agent rules block
The managed rules block agents read every session was rewritten from a ~180-line append-only accretion (V1→V10) into one self-contained ~33-line block (V11). Enforcement stays in code — leases + auto-release, the quote-aware shell hook, CWD gating — and the block now only says what exists, when to reach for it, and what the guardrails will do.
- Rules template (agentrules v11): four entrypoints, one line per namespace, guardrails-as-facts.
TestRenderV11LeanContractpins the design both ways: required strings, banned process-essay markers (HARD-BLOCKED, "default execution path",Anti-patterns, …), and a 60-line budget so sections can't accrete again. - Accurate shell-guard description: the old block still taught the pre-quote-aware hard-block ("
grep -E \"foo|bar\"is blocked") long after the guard went quote-aware andShellGuardAllowChainingbegan routing chains to the approval path by default. The rules now describe today's behaviour. - No more "ignore your harness" imperatives: where gateway and harness surfaces overlap (tasks, memory), the text states the durability trade-off ("prefer the gateway store") and leaves the call to the agent.
- Delegation is a tool, not a mandate: the "delegation-first / default execution path" framing was removed from the rules block,
CLAUDE.md,AGENTS.md, and thetoken-preserving-delegationskill; the skill's measured first-12h economics section stays. - harnesssync: the "single source of truth / Do NOT use your native memory" section was replaced with the preference-with-why framing across all harness variants; golden testdata now regenerates via
go test ./internal/harnesssync -update.
Existing installs pick up the new block on task upgrade (the upgrade script re-runs rules sync).