<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rulesets/docs/design/2026-06-02-flush-promotion.org, branch main</title>
<subtitle>Claude Code skills, rules, and language bundles
</subtitle>
<id>https://git.cjennings.net/rulesets/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/rulesets/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/'/>
<updated>2026-06-03T02:14:56+00:00</updated>
<entry>
<title>feat(flush): read notes.org before the anchor on resume</title>
<updated>2026-06-03T02:14:56+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-03T02:14:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=2433e74131582e7010fba4e561f40d793bdc5334'/>
<id>urn:sha1:2433e74131582e7010fba4e561f40d793bdc5334</id>
<content type='text'>
On a flush resume, the SessionStart(clear) hook now reads .ai/notes.org key sections before the session-context anchor. The anchor carries session state. notes.org carries the project's standing knowledge (code-repo paths, conventions, key contacts) that a resumed session needs to act correctly. A resume with the anchor alone floundered on context notes.org already documents, hunting for a repo whose path notes.org records.

The hook guards on notes.org presence: when it's absent, the resume reads the anchor alone. flush/SKILL.md documents the same read order so the skill and the hook agree. The handoff rationale is preserved in docs/design/2026-06-02-flush-promotion.org.
</content>
</entry>
<entry>
<title>docs(flush): preserve flush promotion handoff bundle as provenance</title>
<updated>2026-06-03T01:48:44+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-03T01:48:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=3bebb540a2a45f3e994fd1ede4bed954e32d109b'/>
<id>urn:sha1:3bebb540a2a45f3e994fd1ede4bed954e32d109b</id>
<content type='text'>
</content>
</entry>
</feed>
