Skip to content

v2.1.0

Choose a tag to compare

@tuannv0069 tuannv0069 released this 11 Aug 08:15
· 10 commits to main since this release

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 ## ALWAYS line: 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 a guide/index.md entry for a store with no paired guide — superseded by §7.
  • templates/guide/index.md.tpl — the lesson-capture router 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.