<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rulesets/docs/design/2026-07-13-runtime-portability-inventories.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-07-13T21:42:32+00:00</updated>
<entry>
<title>docs(runtime): session plumbing assessed, no build needed</title>
<updated>2026-07-13T21:42:32+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-13T21:42:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=3ef55807a23f7dd447ecf9fc34d6512fb3893d6b'/>
<id>urn:sha1:3ef55807a23f7dd447ecf9fc34d6512fb3893d6b</id>
<content type='text'>
session-context-path already carries a runtime segment, the anchor cycle is plain files, and self-inject is harness-agnostic with only its payload Claude-shaped. A codex auto-flush is a documented payload variant whose second injected line carries the resume instruction, replacing the SessionStart hook. Wire it when a codex session first wants it.
</content>
</entry>
<entry>
<title>docs(runtime): skill parity resolves to one bootstrap resolution rule</title>
<updated>2026-07-13T19:54:03+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-13T19:54:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=0ee94abca7dde8356709d712b2dbf735b029f2b8'/>
<id>urn:sha1:0ee94abca7dde8356709d712b2dbf735b029f2b8</id>
<content type='text'>
All 29 skill and command bodies are markdown, so a single sentence in the future non-Claude entry file (a /name reference resolves to the skill or command file, read and follow it) carries the whole library. Auto-invocation degrades to by-name, which the publish flow already uses. flush stays Claude-only, owned by the session-plumbing child.
</content>
</entry>
<entry>
<title>feat(runtime): complete the hook, MCP, and memory portability inventories</title>
<updated>2026-07-13T19:51:27+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-13T19:51:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=44bc34452766fc1d87232b11ddb5d582731ff7c2'/>
<id>urn:sha1:44bc34452766fc1d87232b11ddb5d582731ff7c2</id>
<content type='text'>
The new inventories doc maps what's actually Claude-bound. Hooks: only PreCompact and Stop-teardown carry porting decisions, both now decided (prose downgrade, Codex notify or manual). MCP: everything ports mechanically except paging, since signal-mcp exists only claude.ai-side, so the Signal-pager task gains runtime portability as a second motivation. Memory: the KB is already the cross-agent store, and knowledge-base.md now tells agents without harness memory to capture into the session log. Three inventory child tasks closed as dated entries under the generic-agent-runtime parent.
</content>
</entry>
</feed>
