<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rulesets/docs/agent-knowledge-base-spec.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-10T23:23:16+00:00</updated>
<entry>
<title>docs(spec): record agent KB v1 implementation, close phase tasks</title>
<updated>2026-06-10T23:23:16+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-10T23:23:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=97a7d630c0e027bcd3717048e3d09831c4f12f21'/>
<id>urn:sha1:97a7d630c0e027bcd3717048e3d09831c4f12f21</id>
<content type='text'>
All five phases shipped today. The spec status flips to implemented with a history entry carrying the commit trail; the phase tasks become dated completion entries under the parent, which moves to DOING until the manual-testing checklist and the other machines' clone + timer setup land.
</content>
</entry>
<entry>
<title>docs(spec): move agent KB to git and fold in migration, metrics, upkeep</title>
<updated>2026-06-10T23:01:27+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-10T23:01:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=a059be8650080864505b3d9274c6b3555419b9b2'/>
<id>urn:sha1:a059be8650080864505b3d9274c6b3555419b9b2</id>
<content type='text'>
The KB leaves the ~/sync/org Syncthing share for its own git repo on cjennings.net (new decision D8). A systemd timer auto-syncs Craig's edits, agents pull before query and commit+push after write, machines replicate by clone (the work machine doesn't), and agent writes land under an agents/ subdirectory. Syncthing's no-history, no-gate, conflict-fork costs were the design's weakest accepted risks, and the phone constraint dissolved: mobile stays on on-demand doc drops to the ~/sync/phone share.

The amendment also folds in inclusion criteria plus a guided per-project memory sweep (Phase 1.5), a Success metrics section with a 30-day checkpoint, the seed node redefined as the KB's own documentation, and monthly hygiene automation (Phase 4). Phases renumbered 0-4. Implementation stays held pending the go-ahead.
</content>
</entry>
<entry>
<title>docs(spec): work-root denylist confirmed, agent KB spec now ready</title>
<updated>2026-06-10T22:31:14+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-10T22:31:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=4e6fd2d760469b09d7f235f19d722aaa03bce6db'/>
<id>urn:sha1:4e6fd2d760469b09d7f235f19d722aaa03bce6db</id>
<content type='text'>
Craig confirmed the denylist is complete at ~/projects/work alone (archangel is not work-scoped), which clears the spec's one remaining caveat. Phase 1 is unblocked, and implementation still awaits the explicit go.
</content>
</entry>
<entry>
<title>docs: finalize agent knowledge-base spec as ready with caveats</title>
<updated>2026-06-10T20:22:35+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-10T20:22:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=e0364b862332112b10eafe80cbba8ad079990095'/>
<id>urn:sha1:e0364b862332112b10eafe80cbba8ad079990095</id>
<content type='text'>
I ratified all seven decisions: the org-roam KB is the shared agent substrate, the write boundary is read-shared write-scoped (work never writes), nodes are per-fact, agent writes land freely in the KB only, and harness memory stays as the ephemeral capture layer. The spec moves to docs/agent-knowledge-base-spec.org in spec-create format, superseding the 2026-06-05 draft.

A work-root denylist classifier routes writes: personal projects write, work and unknown projects refuse and report the redacted fact. Implementation is broken into three phases and waits on confirming the denylist contents.
</content>
</entry>
</feed>
