<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rulesets/docs/design/2026-06-05-org-roam-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-10T20:22:35+00:00</updated>
<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>
<entry>
<title>docs(design): add org-roam knowledge-base spec for shared agent memory</title>
<updated>2026-06-05T10:59:57+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-05T10:59:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=13816d00d6bf0f6d4a878c4cb5cd27ac03f3a9ea'/>
<id>urn:sha1:13816d00d6bf0f6d4a878c4cb5cd27ac03f3a9ea</id>
<content type='text'>
The spec adopts the existing ~/sync/org/roam/ KB (Syncthing-synced, 484 files) as the shared store agents read from and write to, so cross-machine memory sync comes for free instead of needing new infrastructure. It recommends the mechanics (queried as files, capture in harness memory then promote durable facts to the KB, a claude-rules pointer, an :agent: write schema) and leaves the work/personal write boundary for ratification. Supersedes the dedicated-repo and two-tier approaches for the storage-and-sync half.
</content>
</entry>
</feed>
