marsh

Design documents

These documents explain the implementation and its contracts for contributors and reviewers. They describe current behavior; earlier proposals and review rounds are in the Git history. To use marsh, read the manual.

Read in order:

  1. Local product contract: the user-visible contract
  2. Architecture: crates, data flow, trust boundaries
  3. TLA+ model: cross-component state, invariants, and where each action lives in the code
  4. Acceptance contract: black-box observations a release must pass

By topic:

DocumentSubject
processes.mdNested jobs: lineage, admission, the job capability socket (acceptance)
workspaces.mdDaemon-owned splits and forks (acceptance)
stock-sbx-adapter.mdThe only boundary to sbx: ownership map, mounts, workers
shell-attachments.mdAttaching a shell, interruption, cleanup evidence
command-registry.mdCommand-to-Kit mappings and their rules
results.mdJob records behind marsh results, and scope configuration
bash-compatibility.mdKnown Bash differences and the differential tests
mcp.mdThe host MCP server and published-command export (test contract)
ACP acceptanceACP sessions and their publication
kit-publication.mdBuilding and publishing Kits
supply-chain.mdBuild inputs, published images, notices
self-development.mdmarsh --dev and the dev broker
Brush patch recordThe upstream Brush revision and marsh's patch queue

Plans: bring your own agent Kit.

Edit this page on GitHub