Prove acompose consumes a bundle it did not compose #331

Closed
opened 2026-08-25 17:07:42 +00:00 by coilyco-ops · 0 comments
Member

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-compose to 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.md says consumers enter through manifest.json and "otherwise treat the tree as opaque", but that is a statement of intent rather than evidence about what verify and project actually 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

  • A bundle tree exists that was not produced by agent-compose compose, committed under testdata/ as a fixture.
  • agent-compose verify accepts it.
  • agent-compose project materializes it, and a harness launches from the result.
  • docs/bundle-protocol.md gains a producer contract section stating exactly what a non-Go producer must emit: every required path, every required manifest.json field, every required trace.json field, and which of them verify actually enforces today.
  • Any field that verify requires but that a foreign producer cannot reasonably synthesize is recorded as a named gap, with a proposed resolution.
  • The finding is reported on #329 either as "protocol is producer-agnostic, program proceeds" or as an explicit list of blocking gaps.

Blocked by

None - can start immediately.

## 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-compose` to 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.md` says consumers enter through `manifest.json` and "otherwise treat the tree as opaque", but that is a statement of intent rather than evidence about what `verify` and `project` actually 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 - [ ] A bundle tree exists that was not produced by `agent-compose compose`, committed under `testdata/` as a fixture. - [ ] `agent-compose verify` accepts it. - [ ] `agent-compose project` materializes it, and a harness launches from the result. - [ ] `docs/bundle-protocol.md` gains a **producer contract** section stating exactly what a non-Go producer must emit: every required path, every required `manifest.json` field, every required `trace.json` field, and which of them `verify` actually enforces today. - [ ] Any field that `verify` requires but that a foreign producer cannot reasonably synthesize is recorded as a named gap, with a proposed resolution. - [ ] The finding is reported on #329 either as "protocol is producer-agnostic, program proceeds" or as an explicit list of blocking gaps. ## Blocked by None - can start immediately.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/agent-compose#331
No description provided.