v2.1.0
Lesson read-back becomes unconditional: an always-loaded rule reads the store router at the start of every artifact task, so a store is reachable the moment its row exists.
The read-back law was previously stated only inside lesson-capture.md, which CLAUDE.md triggers on being corrected — so "read the store before starting the work" was visible only after the work had already gone wrong. Reachability also scaled with the number of stores: each needed a pointer line in a paired guide, and a work type with no guide had no entrance at all.
Added
guide/lesson-capture.md§7 — router lookup at task start is the read-back path; registering a store in the router is the whole wiring, no per-store trigger. §5 keeps its number and content, demoted to the secondary entrance (portable §IDs are append-only).templates/CLAUDE.md.tpl— one new## ALWAYSline: start any artifact task (write / edit / review / investigate) → read.agent-workspace/lessons/index.md§1, match the work about to be done, no match → skip. Cost is O(1) in the number of stores.templates/lessons/index.md.tpl§1 — explicit "no row matches → skip, read nothing" branch, and the router's second column renamed to the action about to be performed. Without a skip branch an agent with no matching row reads the nearest file instead, and a wrong lesson costs more than no lesson.
Changed
templates/lessons/index.md.tpl§2 no longer requires aguide/index.mdentry for a store with no paired guide — superseded by §7.templates/guide/index.md.tpl— thelesson-capturerouter row points at §7.
Upgrade
Existing projects: /init-project update pulls lesson-capture.md. The CLAUDE.md trigger line and the lessons/index.md §1/§2 changes are rendered phenotype — update only WARNs on them, so apply those two by hand.
Known gap
Whether the new rule changes agent behaviour is not verified. A subagent spawned in the session that made the edit reads a context snapshot taken at session start, so it saw the pre-edit CLAUDE.md (18 ## ALWAYS bullets against 19 on disk) and could not have obeyed the new line. That measurement needs a session started after this release. Both records in the new verify-context-rule-change.md store are about that failure mode.