Prove acompose consumes a bundle it did not compose #331
Labels
No labels
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/devrel
role/eval
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/sysadmin
role/tpm
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agent-compose#331
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
#329
What to build
Hand-author a minimal bundle tree for one role, entirely outside agent-compose's own compose path, and get today's unmodified
agent-composeto verify it, project it, and launch from it.The whole program in #329 rests on an assumption that has not been checked against the code: that the bundle protocol is genuinely producer-agnostic.
docs/bundle-protocol.mdsays consumers enter throughmanifest.jsonand "otherwise treat the tree as opaque", but that is a statement of intent rather than evidence about whatverifyandprojectactually require. If a bundle can only be produced by the Go compositor that is about to be deleted, every later slice is built on sand.This is a spike rather than a feature slice, and it is deliberately first. It is cheap, and it is the only experiment that can invalidate the program's shape.
Do not write the compositor here. Do not convert any data. Produce a bundle by hand, or by capturing one and editing it until nothing of the original composition path remains load-bearing.
Acceptance criteria
agent-compose compose, committed undertestdata/as a fixture.agent-compose verifyaccepts it.agent-compose projectmaterializes it, and a harness launches from the result.docs/bundle-protocol.mdgains a producer contract section stating exactly what a non-Go producer must emit: every required path, every requiredmanifest.jsonfield, every requiredtrace.jsonfield, and which of themverifyactually enforces today.verifyrequires but that a foreign producer cannot reasonably synthesize is recorded as a named gap, with a proposed resolution.Blocked by
None - can start immediately.