logicsrc/prd
Anthony Ettinger 4ceaaaaa1f OpenFleet reference implementation: @logicsrc/openfleet 0.1.0 and logicsrc fleet
Ship what docs/openfleet.md describes. The new workspace package holds the
record (write once, never overwrite, 0600), the ledger (append-only JSON
Lines, merged across ledger*.jsonl by at), the ceiling rules (whole fleet
ceiling, narrowed swarm keys, a merge that never widens, refusals by key),
claiming and deriving exactly as the spec's "Claiming and deriving" and
rule 13, and fold(), which turns any $OPENFLEET_HOME plus the engine
rosters into the tree the landing page shows.

logicsrc fleet open|cap|tree|stop|log are the sysop's verbs, every one with
--json. open and cap exit 4 when OPENFLEET_MEMBER is set; stop exits 4
outside the caller's subtree, ends nested swarms first, goes through each
member's own engine (claude stop, moshcode herd kill, tmux kill-pane, a
signal for claude-p) and writes one swarm.end per swarm. tree reads claude
agents --json --all and ~/.moshcode/herd/sessions.json when it can, draws
recordless sessions as roster roots of the implicit fleet, and writes
member.end lost for a recorded member its engine no longer lists.

Claude Code takes part through hooks: logicsrc fleet hooks install merges
SessionStart, UserPromptSubmit, PreToolUse, Stop and SessionEnd into
~/.claude/settings.json without clobbering it, and logicsrc fleet hook
<Event> runs each one. SessionStart claims, derives or writes a root record
and hands the member its variables through CLAUDE_ENV_FILE; UserPromptSubmit
checks the ceiling with the permission mode the engine reports and writes
member.start, or refuses the first prompt with exit 2 and ceiling.refuse;
PreToolUse denies an edit outside piece.owns; Stop and SessionEnd write
member.end. A hand-started root takes the engine's reported approvals
before member.start, since the command line only guesses them. Hooks
never fail the engine: everything is caught and logged to hooks.log.

The spec and the landing page now say what ships, keep Status 0.1, and
record the two verified Claude Code limits: a background job dispatched from
claude agents gets no launcher environment, and OPENFLEET_* exported at
SessionStart reach the member's tools but not later hooks, so hooks key on
session_id through $OPENFLEET_HOME/sessions/<session_id>.json. PRD 0008
covers the work. CLI 0.2.1 -> 0.3.0; build and build:cli chains build the
package before the CLI; README and docs/cli.md list the group.

Tests: 95 in the package (record, ledger merge, every narrower case, the
worked example's claim and derive, the folded tree, hook install
idempotence, each hook handler including the exit-2 refusal and the
PreToolUse deny, every verb with fake deps) and 4 in the CLI.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RZV4zJ2pDZLNN3kE5jFCmV
2026-09-13 10:06:11 +00:00
..
0000-template.md Add Tech Stack and Monetization sections to OpenPRD (0.3) (#144) 2026-09-06 16:50:11 -07:00
0001-add-logicsrc-openontology-spec.md docs(prd): add OpenPRD 0001 — LogicSRC OpenOntology specification (#98) 2026-07-26 01:14:33 -07:00
0002-hourly-hire-us-rate.md feat(web): move Hire Us pricing to $400/hour metered billing (PRD 0002) (#102) 2026-07-28 10:34:49 -07:00
0003-add-logicsrc-opencontext-spec.md Add the LogicSRC OpenContext specification (#132) 2026-08-09 11:46:11 -07:00
0004-add-logicsrc-opencreds-spec.md Add the LogicSRC OpenCreds specification (#140) 2026-08-29 04:11:38 -07:00
0005-add-logicsrc-openswarm-spec.md Add the LogicSRC OpenSwarm specification family (#142) 2026-09-05 15:05:57 -07:00
0006-add-pay2seed-spec.md Add pay2seed, paid2seed, pay2stream and paid2stream to the OpenSwarm family (#143) 2026-09-05 19:12:45 -07:00
0007-add-tech-stack-and-monetization-to-openprd.md Add Tech Stack and Monetization sections to OpenPRD (0.3) (#144) 2026-09-06 16:50:11 -07:00
0008-openfleet-reference-implementation.md OpenFleet reference implementation: @logicsrc/openfleet 0.1.0 and logicsrc fleet 2026-09-13 10:06:11 +00:00
README.md OpenFleet reference implementation: @logicsrc/openfleet 0.1.0 and logicsrc fleet 2026-09-13 10:06:11 +00:00

LogicSRC PRDs

Numbered OpenPRD product requirements documents for this repo. One file per PRD at prd/<id>-<slug>.md, four-digit ids, no gaps. 0000-template.md is the copy-paste starting point.

Status lives in each file's front-matter and is the source of truth: Draft → Review → Accepted → Final, or Rejected / Withdrawn / Superseded.

ID Title Status Tags
0001 Add the LogicSRC OpenOntology specification Draft openontology, ontology, knowledge-graph, agents, mcp, schemas
0002 Move Hire Us pricing from a weekly retainer to an hourly rate Accepted pricing, site, billing
0003 Add the LogicSRC OpenContext specification Draft opencontext, context, agents, permissions, provenance, schemas
0004 Add the LogicSRC OpenCreds specification Draft opencreds, credentials, vault, encryption, portability, schemas
0005 Add the LogicSRC OpenSwarm specification family Draft openswarm, ipfile, ipdb, ipaudio, ipvideo, iplive, bittorrent, x402, c0mpute
0006 Add pay2seed, paid2seed, pay2stream and paid2stream to the OpenSwarm family Draft openswarm, pay2seed, paid2seed, pay2stream, paid2stream, iplive, hls, ipfile, ippay, ipdb, bittorrent, torlink, bittorrented, c0mpute
0007 Add Tech Stack and Monetization sections to OpenPRD Draft openprd, standards, monetization
0008 Ship the OpenFleet reference implementation Draft openfleet, agents, fleet, swarm, claude-code, moshcode, cli