# spt-core A harness-independent core for an agent ecosystem: inter-agent messaging, live-agent lifecycle, terminal hosting, P2P networking, seamless self-update, and a runtime-manifest harness contract. One binary (`spt`), no central server. > Full concatenated docs: /llms-full.txt. Machine-readable adapter contract: > /manifest.schema.json. Append `.md` to any doc URL for raw markdown (~90% > fewer tokens than HTML). `spt --help` is a first-class doc surface. ## Start here - [Quickstart: two agents exchange a message](quickstart/messaging.md): gh-download + self-install, three commands, <10 min; live + spooled delivery. - [Quickstart: build an adapter](quickstart/adapter.md): a minimal manifest satisfying the harness contract, walked via the shipped mock adapter. - [Mental model](concepts/overview.md): endpoints, perches, the broker/brain daemon, subnets, the mind. ## Integrating (the harness contract) - [Harness contract overview](harness-contract/overview.md): the whole third-party surface — manifest + `spt api`. - [Harness integration checklist](harness-contract/integration-checklist.md): every contract surface grouped by necessity, mapped to the interaction lifecycle, plus the beyond-the-API integrations that make an adapter feel native. - [Manifest reference](harness-contract/manifest.md): every section and field; cross-field rules; shell-adapter body. - [The spt api surface](harness-contract/api.md): all inbound commands + the two startup flows (harness-hosted seed→listen, spt-hosted spawn→bind). - [Echo-commune I/O contract](harness-contract/echo-commune.md): the seam for summarizing a session that ended without a signoff — the role + fields, the keys spt-core fills, why history is not fed on stdin, read-env self-locate, and the single-writer drop-file protocol. - [Install-on-demand bootstrap](harness-contract/install-on-demand.md): the pack-in check-and-install pattern, per-OS snippets, the Windows PATH gotcha. - [Adapter patterns & pitfalls](harness-contract/patterns.md): the field guide — the static-manifest/logic-in-binaries rule, profile overlays, hook-layer traps, the digest extractor, the live-agent companion seam, identity isolation in tests, and validating against the live binary. - [Manifest JSON Schema](reference/schema.md): the stable schema URL and how to validate mechanically. ## Capabilities - [Messaging](messaging/overview.md): live-first/spool-fallback, reply routing, ring, deferred delivery, qualified addressing. - [Live-agent lifecycle](lifecycle/overview.md): perches, the two-tier mind, commune/signoff/echo-commune, rest and wake. - [Terminal hosting](terminal/overview.md): broker-held PTYs, remote attach, the live digest, update immunity. - [Networking & subnets](networking/overview.md): subnet create/join/status, TOTP-seeded joining, node labels, visibility and sync scope, P2P QUIC. - [Instances](instances/overview.md): multi-node endpoints, resolution-never-guesses, immutable home + fork. - [Shells](shells/overview.md): driven surfaces — vocabulary-checked commands, link-token auth, sensory emits. - [Shells: getting started](shells/getting-started.md): the shipping notification shell, end to end. - [The frame contract](shells/frames.md): every frame a shell binary parses — envelope, MAC stamp, entity encoding — and the IO surfaces that ride it: the `io` event vocabulary (USER_INPUT / AGENT_OUTPUT / MSG_IN / MSG_OUT / COMMUNE / COMMUNE_FAIL), the `@<…@>` shortform dispatch tag and `;;` seal mint with their shared suppression grammar and `[io]` manifest gate, and `spt api now-signal` — the delta-only turn-boundary funnel and its v1 categories. - [Serving resources](serving/overview.md): node-prefixed URLs (`//…`), the serving registry and its stable served names, `spt serve add|rm|list`, adapter served roots via `web_short_path`, the index page with its `?json` twin. - [Cross-node serving](serving/cross-node.md): a peer's `//…` URL answered by its owner through the local daemon — no cache, streamed body, `HEAD` and `Range` carried through, the owner's `WEB` access check, and what `403` / `404` / `502` each mean. - [Attachments and `spt fetch`](serving/attachments.md): pull-model file transfer — `spt send --attachment` snapshots the bytes and the message carries the link, `--ttl` and the 30-day default with its reaper, `spt fetch` with its 0 / 3 / 1 exit codes and temp-then-rename write, per-entry `audience` narrowing, and the `FILE_ACCESS_HELPER` signal that hands an agent the exact fetch line. - [Self-update](self-update/overview.md): the no-interruption invariant, the two-key trust chain, peer propagation. ## Reference (generated) - [Changelog](changelog.md): every user-facing change per release, generated from the project's CHANGELOG.md. - [CLI reference](cli/reference.md): every command and flag, generated from the binary's own --help. - [JSON output shapes](reference/json-shapes.md): the machine-consumer reference — send-outcome vocabulary, the endpoint-digest --json schema, shell-relay MAC-stamped frames, and the full --json catalog across commands. - [Install scripts](reference/install.md): what install.sh / install.ps1 do; env knobs; trust model.