<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rulesets/.ai/sessions, 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-08-05T23:51:01+00:00</updated>
<entry>
<title>chore: record the inbox batch and file deferred lint items</title>
<updated>2026-08-05T23:51:01+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-08-05T23:51:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=c357ce16c504912cf4f5c72c290ecda528547c52'/>
<id>urn:sha1:c357ce16c504912cf4f5c72c290ecda528547c52</id>
<content type='text'>
I processed twelve handoffs across five senders. The work itself landed in the seven commits before this one, and this carries the record plus three deferred lint judgments for the morning.
</content>
</entry>
<entry>
<title>chore: record the sync-narrowing and standup-script work</title>
<updated>2026-08-01T03:44:54+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-08-01T03:44:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=8b5d34c3a504e39b7a0e0e678acb803f71aa9317'/>
<id>urn:sha1:8b5d34c3a504e39b7a0e0e678acb803f71aa9317</id>
<content type='text'>
Archives the day's record and folds in this wrap's lint sweep.
</content>
</entry>
<entry>
<title>chore: archive work records and park incoming handoffs</title>
<updated>2026-07-31T11:33:44+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-31T11:33:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=cbcd972fbea65c315713113572f9334efe8d1ca3'/>
<id>urn:sha1:cbcd972fbea65c315713113572f9334efe8d1ca3</id>
<content type='text'>
Records for the helper-launcher and sync-extraction work, plus four sets of
handoffs received from other projects. Each set is parked beside the decision it
still needs: sentry's CronCreate correction and its pass-3 reframe, the
per-project channel declaration model, the template-sync revert finding, and the
nag-event vocabulary.

Nothing here is code. The handoffs are kept rather than deleted because two of
them turn on the difference between two readings of the same rule, and that
difference is the useful part.
</content>
</entry>
<entry>
<title>chore: archive completed work and refresh the lint follow-up queue</title>
<updated>2026-07-29T11:38:34+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-29T11:38:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=73e8c01fa49f48766a283e2db933e38951f656ab'/>
<id>urn:sha1:73e8c01fa49f48766a283e2db933e38951f656ab</id>
<content type='text'>
Three finished tasks moved to Resolved: the sentry cycle rename, the
references/ link removal, and the parked telegram down-is-launch fix.
The lint sweep re-ran and its judgment items were refreshed.
</content>
</entry>
<entry>
<title>docs: file rightsizing follow-up, fix the first-person referent</title>
<updated>2026-07-28T01:52:02+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-28T01:52:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=16756135ff2b70a47aded26e8ccf33dc249a9f17'/>
<id>urn:sha1:16756135ff2b70a47aded26e8ccf33dc249a9f17</id>
<content type='text'>
I filed the remaining rightsizing work as a DOING task, because what's left is decisions I haven't made rather than work to execute: whether verification.md's honesty core survives the over-verification warning, what to do with interaction.md now that it's the largest rule, whether to cut the TDD rationalization table, and which of my approval gates are preference versus guardrail. The three working docs are a commit behind the two splits, so they get reconciled first.

I also fixed the first-person rule I added earlier today. It said to write in the first person without saying whose voice that is, so it read as an agent narrating work on my behalf. The "I" is mine. I'm the author of record on every commit and review in these repos and they go out under my name, so the voice is me writing about my own work, and an agent never appears in the prose as a separate party. That lives in commits.md, which is symlinked machine-wide, so it covers every project from now on. Pattern #32 in the voice skill carried the same ambiguity and now matches.

I filed work's recurring-loop proposal with three findings, and work's reply corrected the weakest of them. I'd offered either a rare heartbeat or failure-breaks-silence, and both are needed: a failed subagent covers a scan-level failure, but only a heartbeat catches the scheduler dying, since then nothing spawns and there's no failure to report. CronCreate expires recurring jobs after seven days, so a fully silent loop is guaranteed to die quietly.

The session archive covers the day. Always-loaded rules went from about 57,800 tokens to 28,949, path-scoping and the de-duplication were both confirmed against a live session, and two bugs in my own tooling turned up, one of which had killed a work session mid-flight.
</content>
</entry>
<entry>
<title>feat: enforce clean wraps and inbox-safe sync</title>
<updated>2026-07-25T20:35:14+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-25T20:35:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=f2609d9f9ad33486bef43211d753ba53e1e24181'/>
<id>urn:sha1:f2609d9f9ad33486bef43211d753ba53e1e24181</id>
<content type='text'>
Centralize repository-state checks, bind teardown to a certified clean HEAD, and allow inbox-only refreshes. Guard installed symlinks from cross-project writes and add regression coverage.
</content>
</entry>
<entry>
<title>chore: close the invalid-block bug and stamp a task-review cycle</title>
<updated>2026-07-25T14:24:43+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-25T14:24:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=243c5dbc35ab1c535919e592bde36969dd8483f2'/>
<id>urn:sha1:243c5dbc35ab1c535919e592bde36969dd8483f2</id>
<content type='text'>
Archives the fixed lint-org bug into Resolved and records seven review
stamps from the day's cycle. The lint sweep's deferred judgments ride
along in the follow-ups file.
</content>
</entry>
<entry>
<title>chore: archive session — sentry implement pass, review, hook fixes</title>
<updated>2026-07-24T23:06:48+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-24T23:06:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=f7139d82173ccf9effdcdee50df22912f3f05fa0'/>
<id>urn:sha1:f7139d82173ccf9effdcdee50df22912f3f05fa0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(todo): archive resolved tasks, log review-health followup</title>
<updated>2026-07-21T04:39:55+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-21T04:39:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=50fc7ca0d15455f508a50e7d227047a8b3664b9d'/>
<id>urn:sha1:50fc7ca0d15455f508a50e7d227047a8b3664b9d</id>
<content type='text'>
Moved 5 completed level-2 tasks into Resolved. Logged one review-health followup: a top-level task has gone unreviewed past 30 days.
</content>
</entry>
<entry>
<title>chore: archive completed launcher, inbox-hook, and list-convention tasks</title>
<updated>2026-07-20T02:17:14+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-20T02:17:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=f76bf40a6c0fa3bb8f81992f91d41feebc931d0b'/>
<id>urn:sha1:f76bf40a6c0fa3bb8f81992f91d41feebc931d0b</id>
<content type='text'>
Move the three finished tasks into Resolved: the bin/ai characterization-and-refactor hardening, the inbox-boundary Stop hook, and the before-close-queue convention.
</content>
</entry>
</feed>
