Problem / why
The foundation's keystone safety property is that adding the component model changes nothing
observable for a single-component repo. Every existing single-component repo must stay green
with byte-identical generated workflows and byte-identical state serialization, because its
manifest has no components: block and resolves to the single implicit default component. A
multi-component example must load into the component-major model and serialize back
round-trip-clean. This is the v1-freeze gate test before the multi-component surface is built
on top.
Scope
This PR does:
- Run the existing fleet and e2e suites against the component-major spine and confirm green
across every current single-component example repo, with empty generated-workflow diffs and
empty serialized-state diffs.
- Add a multi-component round-trip e2e: a minimal manifest that declares
components: loads,
generates per-component files, and serializes its state back to
state.components.<name>.<env> round-trip-clean.
This PR does NOT:
- Add a full multi-component capability example (that is V4); the example here is a minimal
round-trip fixture.
- Add any new capability; it is purely the foundation proof gate.
Files / areas touched
e2e/ scenarios (single-component stability, multi-component round-trip).
- A minimal multi-component fixture manifest.
Tests and coverage required
- Empty-diff assertion on single-component generated workflows and serialized state.
- Multi-component round-trip e2e with a stable-shape assertion.
- Full existing fleet green.
Acceptance criteria
- Every existing single-component fleet repo passes unchanged with empty diffs (zero manifest
edits).
- A multi-component example loads, generates, and serializes round-trip-clean.
Dependencies
Blocked by F3 and F4 (and F2 for the multi-component fixture).
Problem / why
The foundation's keystone safety property is that adding the component model changes nothing
observable for a single-component repo. Every existing single-component repo must stay green
with byte-identical generated workflows and byte-identical state serialization, because its
manifest has no
components:block and resolves to the single implicitdefaultcomponent. Amulti-component example must load into the component-major model and serialize back
round-trip-clean. This is the v1-freeze gate test before the multi-component surface is built
on top.
Scope
This PR does:
across every current single-component example repo, with empty generated-workflow diffs and
empty serialized-state diffs.
components:loads,generates per-component files, and serializes its state back to
state.components.<name>.<env>round-trip-clean.This PR does NOT:
round-trip fixture.
Files / areas touched
e2e/scenarios (single-component stability, multi-component round-trip).Tests and coverage required
Acceptance criteria
edits).
Dependencies
Blocked by F3 and F4 (and F2 for the multi-component fixture).