Repository navigation
docs: point AgentSwarm at Agent Substrate as its platform (SPE-5051 mirror) - #3
Merged
Merged
Conversation
Adds a thin mirror cross-link recording that Agent Substrate is the shared platform AgentSwarm runs on, and maps its vocabulary onto the existing spec: events over substrate-mcp -> message bus, governed memory -> memory plane, leases/handoffs -> offer/claim and single-writer ownership, Graph ID -> correlation_id. - docs/substrate-integration.md: the mirror pointer + vocabulary map, referencing 01 §2.2, 02 and 04 §2 rather than restating them - 04-integration-plan.md: new §2.1 "Platform substrate" (the §2 table stays authoritative) - README.md: document-map row 9 and a short "Platform" section The integration decision itself is an ADR in agent-substrate (docs/adr/*-swarm-substrate-integration.md), tracked as SPE-5050/SPE-5051. Docs only: no runtime behaviour changes, and build_agents.py --check is still up-to-date. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BRBehxvVTgfHY4VEaXT89U
Addresses three Greptile review findings on the substrate pointer, all over-claims in the new doc rather than the spec it references: - Platform scope (P2): "provides them" attributed all six 01 §2.2 services to Agent Substrate. Narrowed to the four capabilities actually in the map, and stated that the artifact registry and secrets stay externally provisioned. Adds a telemetry row covering the OTel plane, marked as not claimed by substrate here, so the map is explicit rather than silent about it. - Graph ID (P1): claimed substrate-side audit joins the run log "without a translation table". The swarm mints correlation_id as str(uuid.uuid4()) (scripts/orch_plan.py, swarm/envelope.py), so a differently shaped Graph ID cannot be string-equal. Restated as a correspondence needing an explicit mapping, which the ADR and its adapter stage own. - Deployment link (P2): pointed readers at 05-deployment-guide.md for the local .swarm/ store, but that document covers the containerized NATS/Postgres/etcd/Vault model and never mentions SQLite or events.jsonl. Repointed at the runnable-swarm sections of CLAUDE.md and the README. The first fix applied to the 04 §2.1 subsection and the README Platform section too, which carried the same over-attribution. Still docs only. Links verified, build_agents.py --check and build_trae_agents.py --check up-to-date, root TS suite green. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BRBehxvVTgfHY4VEaXT89U
SomeRandmGuyy
marked this pull request as ready for review
September 30, 2026 13:14
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_a5719e9b-439b-4b15-9296-14e44b03f985) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Companion [S0] to SPE-5051: a thin mirror cross-link in
agent-swarmrecording that Agent Substrate is the shared platform the swarm runs on. The primary ADR lands inagent-substrate(docs/adr/*-swarm-substrate-integration.md); this PR only points at it.Docs only — no runtime behaviour change.
What changed
docs/substrate-integration.md(new) — the mirror pointer. States the platform relationship (the swarm is a tenant, not the owner), links the forthcoming ADR path and Linear SPE-5050 / SPE-5051, and carries a vocabulary map:swarm.v1envelope,evt./req./offer./ctl./esc.subjectsmemory.writetask.offer→ claim →task.assign, single-writer ownership, A01-only transitionscorrelation_idmaps ontotrace_idcorrelation, A13 operatesIt references the existing 01 §2.2 / 02 / 04 §2 rather than restating them, and notes explicitly that it is not an integration design, not a change to 04, and not a dependency (autonomy ceilings stay with the swarm).
04-integration-plan.md— new short §2.1 "Platform substrate" under the existing data-sharing substrate table. The table stays authoritative for what flows where; the subsection names the platform and links out. Not rewritten wholesale.README.md— document-map row 9 for the new doc, plus a short "Platform" section above the agent roster.Scope of the platform claim
Substrate is credited with four of the substrates in 04 §2 — events, governed memory, leases/handoffs and the Graph ID. The artifact registry (Git + OCI) and secrets (Vault/KMS) stay externally provisioned, and the telemetry plane stays OTel; the doc says so explicitly and warns against reading the page as a provisioning list.
The Graph ID row is a correspondence, not string equality: one swarm run corresponds to one substrate graph, but the swarm mints
correlation_idasstr(uuid.uuid4())(scripts/orch_plan.py:152,swarm/envelope.py:57), so joining substrate-side audit to the run log needs an explicitcorrelation_id↔ Graph ID mapping. Defining it, and howtrace_idcorrelation crosses the two platforms, is left to the ADR and its adapter stage.Review
Greptile raised three findings on the first commit (
4bff972) — all genuine over-claims in the new doc rather than problems in the spec it references — fixed in6dfc4de:.swarm/sentence at the runnable-swarm sections ofCLAUDE.md/ README;05-deployment-guide.mdnow cited for the containerized NATS/Postgres/etcd/Vault model it actually covers.The scope over-claim had leaked into the 04 §2.1 and README wordings too; both were corrected.
One deliberate non-change: Greptile cited SPE-5051 as requiring the mapping to cover OTel. The telemetry plane is now in the map, but documented as-is and explicitly not claimed for substrate, since that attribution isn't in the material available to this session. If SPE-5051 does assign the telemetry plane to substrate, that row needs a follow-up edit.
Verification
python3 scripts/build_agents.py --checkandpython3 scripts/build_trae_agents.py --check→ bothup-to-date(no generated agents/skills affected).bun test tests/tsgreen.testjob passed on4bff972, confirming the fullpytest+ TS suites are green on this branch; 7 failures seen locally were container-environment only (a brokencryptographyrust binding raisingpyo3_runtime.PanicException, noompbinary, and one CPU-timing-sensitive perf assertion).Definition of done
Grok-Run: 20260930T104345Z-c08ca4fe
🤖 Generated with Claude Code
https://claude.ai/code/session_01BRBehxvVTgfHY4VEaXT89U
The documentation-only PR appears safe to merge.
Summary
Adds a documentation-only pointer from AgentSwarm to Agent Substrate.
Greptile automatically discovered a related ticket that helped explain the purpose of this PR: provide an S0 ADR mapping and a mirror pointer without production-code changes.
Reviews (2) · Last reviewed commit: "docs: narrow substrate scope claims and ..."
Note
Low Risk
Markdown-only cross-links and scope clarifications; no code, config, or runtime paths are modified.
Overview
This PR adds documentation-only cross-links so AgentSwarm records that it runs on Agent Substrate, with the real integration ADR staying in that repo (Linear SPE-5050 / SPE-5051). No runtime or
swarm/behaviour changes.A new
docs/substrate-integration.mdis the mirror pointer: swarm-as-tenant (not platform owner), a vocabulary map from four substrate capabilities (events, governed memory, leases/handoffs, Graph ID) to existing spec concepts, and explicit exclusions (artifact registry, secrets, OTel stay as documented elsewhere). It states thatcorrelation_id↔ Graph ID is a correspondence requiring an ADR-defined mapping, not identical strings, citing UUID minting inorch_plan.py/envelope.py.04-integration-plan.mdgains §2.1 under the substrate table (table unchanged as authority), andREADME.mdadds document-map row 9 plus a short Platform section with the same scoped claims.Reviewed by Cursor Bugbot for commit 6dfc4de. Bugbot is set up for automated code reviews on this repo. Configure here.