Run contract: complete the Agent Compose v1.x issue suite #115

Closed
opened 2026-07-27 22:11:48 +00:00 by coilyco-ops · 9 comments
Member

Goal

Run the complete Agent Compose v1.x migration as one uninterrupted program and
finish with zero open issues in this repository.

The run uses multiple independently validated commits. “One shot” means one
owned program with no return to an ambiguous backlog. It does not mean one
giant commit or one unbounded implementation diff.

Baseline

Canonical releases have already passed v1.0.0 and reached at least v1.32.0. The
run records current canonical main and its latest verified release as the
pre-migration baseline. The run does not create or recreate a v1.0.0 tag.

Every change remains additive within v1.x and preserves the documented legacy
read paths.

Ordered program

1. Resolve the profile graph

  • #111 - selected profile plus composable personality libraries

2. Resolve authored content and personality discovery

  • #110 - authored assets leave Go for their owning engine, profile, or library
  • #112 - aliases, provenance, affinity derivation, and compact index

3. Resolve role doctrine

  • #121 - role definitions become canonical skills with compact startup identity
  • #116 - Engineer and Ops ownership wording lands in those canonical role skills
  • #128 - conditional QA fixture-verification doctrine lands in the QA role skill
    and shared sealed-role asset

4. Complete QA fixture enforcement and proof

  • coilyco-flight-deck/ward#1617 - provider-neutral, fail-closed fixture mode
  • coilyco-flight-deck/agentic-os#781 - coilyco deployment binding and real
    director to engineer to QA proof

The agent-compose doctrine lands first. Ward enforcement lands second. AOS
binding and proof land third. The run does not treat role prose as authority.

5. Complete the external-profile feature set

  • #123 - generalized seats
  • #124 - copy contracts
  • #125 - custom evaluation matrices and result v2
  • #126 - catalogue commands
  • #127 - bundle export and content-aware diff
  • #122 - final executable external-profile example and arbitrary-role vertical
  • #114 - integrated parent closes after every child passes

6. Refresh immutable evaluation evidence

  • #109 - generate all required responses serially and have independent QA score
    every rubric criterion

7. Close the program

  • Re-run final repository validation from canonical main.
  • Map every issue acceptance item to a commit, test, generated artifact,
    evaluation record, or documentation surface.
  • Close every completed child and parent issue.
  • Confirm the repository has zero open issues.
  • Close #115 last.

Execution rules

  • The goal agent lands each independently verified slice before starting work
    that depends on it.
  • The run fixes in-scope discoveries inside the owning slice rather than filing
    deferrals to manufacture tracker zero.
  • A newly discovered independent product idea does not enter this run unless it
    is required for an existing acceptance criterion.
  • The run does not parallelize model evaluation calls.
  • Independent QA reviews #109. Kai reviews only an ambiguity that the rubric
    cannot resolve.
  • Consumer-specific authoring and repositories remain out of scope.
  • The run performs no live deployment or consumer-system mutation.
  • The AOS fixture proof is the only live verification action in this program.
    It runs inside Ward's admitted disposable fixture mode and leaves complete
    cleanup evidence.

Done condition

  • Every issue named above is implemented or explicitly superseded by landed
    equivalent behavior with an acceptance mapping.
  • Every required validation passes on final canonical main.
  • Every release consequence required by landed commits completes through the
    canonical pipeline.
  • Ward #1617 and AOS #781 are closed with enforcement and proof evidence.
  • The final issue query returns zero open issues.
  • #115 closes last with the complete evidence audit.
## Goal Run the complete Agent Compose v1.x migration as one uninterrupted program and finish with zero open issues in this repository. The run uses multiple independently validated commits. “One shot” means one owned program with no return to an ambiguous backlog. It does not mean one giant commit or one unbounded implementation diff. ## Baseline Canonical releases have already passed v1.0.0 and reached at least v1.32.0. The run records current canonical `main` and its latest verified release as the pre-migration baseline. The run does not create or recreate a v1.0.0 tag. Every change remains additive within v1.x and preserves the documented legacy read paths. ## Ordered program ### 1. Resolve the profile graph * #111 - selected profile plus composable personality libraries ### 2. Resolve authored content and personality discovery * #110 - authored assets leave Go for their owning engine, profile, or library * #112 - aliases, provenance, affinity derivation, and compact index ### 3. Resolve role doctrine * #121 - role definitions become canonical skills with compact startup identity * #116 - Engineer and Ops ownership wording lands in those canonical role skills * #128 - conditional QA fixture-verification doctrine lands in the QA role skill and shared sealed-role asset ### 4. Complete QA fixture enforcement and proof * `coilyco-flight-deck/ward#1617` - provider-neutral, fail-closed fixture mode * `coilyco-flight-deck/agentic-os#781` - coilyco deployment binding and real director to engineer to QA proof The agent-compose doctrine lands first. Ward enforcement lands second. AOS binding and proof land third. The run does not treat role prose as authority. ### 5. Complete the external-profile feature set * #123 - generalized seats * #124 - copy contracts * #125 - custom evaluation matrices and result v2 * #126 - catalogue commands * #127 - bundle export and content-aware diff * #122 - final executable external-profile example and arbitrary-role vertical * #114 - integrated parent closes after every child passes ### 6. Refresh immutable evaluation evidence * #109 - generate all required responses serially and have independent QA score every rubric criterion ### 7. Close the program * Re-run final repository validation from canonical `main`. * Map every issue acceptance item to a commit, test, generated artifact, evaluation record, or documentation surface. * Close every completed child and parent issue. * Confirm the repository has zero open issues. * Close #115 last. ## Execution rules * The goal agent lands each independently verified slice before starting work that depends on it. * The run fixes in-scope discoveries inside the owning slice rather than filing deferrals to manufacture tracker zero. * A newly discovered independent product idea does not enter this run unless it is required for an existing acceptance criterion. * The run does not parallelize model evaluation calls. * Independent QA reviews #109. Kai reviews only an ambiguity that the rubric cannot resolve. * Consumer-specific authoring and repositories remain out of scope. * The run performs no live deployment or consumer-system mutation. * The AOS fixture proof is the only live verification action in this program. It runs inside Ward's admitted disposable fixture mode and leaves complete cleanup evidence. ## Done condition * Every issue named above is implemented or explicitly superseded by landed equivalent behavior with an acceptance mapping. * Every required validation passes on final canonical `main`. * Every release consequence required by landed commits completes through the canonical pipeline. * Ward #1617 and AOS #781 are closed with enforcement and proof evidence. * The final issue query returns zero open issues. * #115 closes last with the complete evidence audit.
Author
Member

Acceptance audit, 2026-07-28:

  • Baseline: the run began from canonical v1.32.0 and preserved v1.x read compatibility.
  • #110, #111, and #112: authored-content ownership, profile and library composition, aliases, provenance, and affinities landed in daa9996.
  • #121, #116, and #128: canonical role skills, compact startup identity, Engineer and Ops symmetry, and QA fixture doctrine landed in cd99a44.
  • #123, #124, #125, #126, #127, and #122: generalized seats, copy contracts, complete custom matrices, result v2, catalogue inspection, verified export and diff, and the executable external profile vertical landed in daa9996.
  • #129: the CEO portfolio operating model landed in ef75fa4.
  • #109: 44 serial isolated responses, independent QA criterion evidence, exact pack digests, and retry provenance landed in fca7468. QA scored frontier 19/22 and OSS 0/22, preserving every failure.
  • #114: every implementation child is closed. The integrated example covers compose, evaluation, overlay, roster, catalogue, describe, export, diff, and verification. Legacy package, seat, result, and snapshot formats remain readable.
  • Cross-repo enforcement: Ward #1617 is closed at 2d58c641. AOS fixture admission landed at 8e5c7a75.
  • Validation: ward exec test and ward exec smoke pass from clean, synced canonical Agent Compose main at fca7468.

One program condition remains. AOS #781 is open because infrastructure #685 must restore publisher registry authentication before Ops can bootstrap the disposable fixture image and QA can return the real director-to-engineer-to-QA proof. Engineer authority cannot initiate that live action. #115 therefore remains open and closes last after those two external issues return proof and the Agent Compose open-issue query reaches zero.

Acceptance audit, 2026-07-28: * Baseline: the run began from canonical v1.32.0 and preserved v1.x read compatibility. * #110, #111, and #112: authored-content ownership, profile and library composition, aliases, provenance, and affinities landed in daa9996. * #121, #116, and #128: canonical role skills, compact startup identity, Engineer and Ops symmetry, and QA fixture doctrine landed in cd99a44. * #123, #124, #125, #126, #127, and #122: generalized seats, copy contracts, complete custom matrices, result v2, catalogue inspection, verified export and diff, and the executable external profile vertical landed in daa9996. * #129: the CEO portfolio operating model landed in ef75fa4. * #109: 44 serial isolated responses, independent QA criterion evidence, exact pack digests, and retry provenance landed in fca7468. QA scored frontier 19/22 and OSS 0/22, preserving every failure. * #114: every implementation child is closed. The integrated example covers compose, evaluation, overlay, roster, catalogue, describe, export, diff, and verification. Legacy package, seat, result, and snapshot formats remain readable. * Cross-repo enforcement: Ward #1617 is closed at 2d58c641. AOS fixture admission landed at 8e5c7a75. * Validation: ward exec test and ward exec smoke pass from clean, synced canonical Agent Compose main at fca7468. One program condition remains. AOS #781 is open because infrastructure #685 must restore publisher registry authentication before Ops can bootstrap the disposable fixture image and QA can return the real director-to-engineer-to-QA proof. Engineer authority cannot initiate that live action. #115 therefore remains open and closes last after those two external issues return proof and the Agent Compose open-issue query reaches zero.
Author
Member

WARD-WORKFLOW: blocked 🛑

details

workflow: merge-remote-main; review summary: skipped — no candidate commit. The in-container review gate was intentionally skipped because implementation and QA are role-separated; QA is a separate, opt-in exact-commit verification role bound to the exact candidate commit.

Blocked: infrastructure#685 still owes the attended org-secret sync and verified dev-base publication; AOS#781 therefore still owes the required disposable director→engineer→QA proof. Agent Compose has no acceptance gap: all children are closed, v1.39.0 is published, and ward exec test plus ward exec smoke pass on canonical 72c3b25. Closing #115 would violate its run contract.

Felt: clean and conclusive locally, hard-stopped at the intended authority boundary. Confidence: high. Surprise: the external gate remained open. Follow-up: Ops completes #685, QA closes #781 with proof, then rerun #115 for the closing trailer, tracker-zero audit, merge, and push.

— Codex

WARD-WORKFLOW: blocked 🛑 <details><summary>details</summary> workflow: merge-remote-main; review summary: skipped — no candidate commit. The in-container review gate was intentionally skipped because implementation and QA are role-separated; QA is a separate, opt-in exact-commit verification role bound to the exact candidate commit. Blocked: infrastructure#685 still owes the attended org-secret sync and verified dev-base publication; AOS#781 therefore still owes the required disposable director→engineer→QA proof. Agent Compose has no acceptance gap: all children are closed, v1.39.0 is published, and `ward exec test` plus `ward exec smoke` pass on canonical `72c3b25`. Closing #115 would violate its run contract. Felt: clean and conclusive locally, hard-stopped at the intended authority boundary. Confidence: high. Surprise: the external gate remained open. Follow-up: Ops completes #685, QA closes #781 with proof, then rerun #115 for the closing trailer, tracker-zero audit, merge, and push. — Codex </details>
Author
Member

WARD-WORKFLOW: blocked 🛑

salvage details

An ephemeral ward container (codex mode) dispatched for this issue finished but its work was not merged to main, so cleanup preserved it on a branch before teardown and reopened the issue (a closing reference for coilyco-flight-deck/agent-compose#115 never reached main). Recover from the salvage branch below.

  • Repo: coilyco-flight-deck/agent-compose
  • Salvage branch: ward-salvage/agent-compose-74e37165
  • Pull request: not opened - salvage branch has no diff against main
  • Reason: missing same-repo closing reference
  • Container uptime at reap: 3m (age of the baked Forgejo PAT snapshot; a long-lived container is likelier to carry a rotated token)

Cleanup diagnostics

--- reap diagnostics ---
ward version:      v0.856.0
version source:    pinned via WARD_VERSION/--ward-version (v0.856.0)
HEAD:              72c3b25f91aa
origin/main:       72c3b25f91aa
ancestry:          HEAD is ALREADY on origin/main - a salvage here is a FALSE salvage (ward#504 signature)
decision gate:     missing same-repo closing reference on already-landed merge-remote-main run
reason:            missing same-repo closing reference
provenance:        present
run-owned landed:  no
working tree:      clean
container uptime:  3m (baked Forgejo PAT age proxy)
--- end reap diagnostics ---

Recover

git fetch https://forgejo.coilysiren.me/coilyco-flight-deck/agent-compose.git ward-salvage/agent-compose-74e37165
git checkout -b ward-salvage/agent-compose-74e37165 FETCH_HEAD

This salvage was blocked by a missing closing reference. To recover, amend or cherry-pick the salvaged work so the landing commit message includes closes coilyco-flight-deck/agent-compose#115, or add a small empty trailer commit with closes coilyco-flight-deck/agent-compose#115, then land the branch.

— Codex, via ward agent

WARD-WORKFLOW: blocked 🛑 <details><summary>salvage details</summary> An ephemeral `ward container` (codex mode) dispatched for this issue finished but its work was **not merged to `main`**, so cleanup preserved it on a branch before teardown and reopened the issue (a closing reference for coilyco-flight-deck/agent-compose#115 never reached `main`). Recover from the salvage branch below. - **Repo:** `coilyco-flight-deck/agent-compose` - **Salvage branch:** `ward-salvage/agent-compose-74e37165` - **Pull request:** not opened - salvage branch has no diff against main - **Reason:** missing same-repo closing reference - **Container uptime at reap:** 3m (age of the baked Forgejo PAT snapshot; a long-lived container is likelier to carry a rotated token) ## Cleanup diagnostics ``` --- reap diagnostics --- ward version: v0.856.0 version source: pinned via WARD_VERSION/--ward-version (v0.856.0) HEAD: 72c3b25f91aa origin/main: 72c3b25f91aa ancestry: HEAD is ALREADY on origin/main - a salvage here is a FALSE salvage (ward#504 signature) decision gate: missing same-repo closing reference on already-landed merge-remote-main run reason: missing same-repo closing reference provenance: present run-owned landed: no working tree: clean container uptime: 3m (baked Forgejo PAT age proxy) --- end reap diagnostics --- ``` ## Recover ```bash git fetch https://forgejo.coilysiren.me/coilyco-flight-deck/agent-compose.git ward-salvage/agent-compose-74e37165 git checkout -b ward-salvage/agent-compose-74e37165 FETCH_HEAD ``` This salvage was blocked by a missing closing reference. To recover, amend or cherry-pick the salvaged work so the landing commit message includes `closes coilyco-flight-deck/agent-compose#115`, or add a small empty trailer commit with `closes coilyco-flight-deck/agent-compose#115`, then land the branch. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-WORKFLOW: reservation-released

release details

Run finished with WARD-WORKFLOW: blocked 🛑.

ward container reap released container engineer-codex-agent-compose-115 (--harness codex): the terminal outcome supersedes the reservation, so a later redispatch no longer needs --override-reservation.

— Codex, via ward agent

<!-- ward-agent-reservation-released --> WARD-WORKFLOW: reservation-released <details><summary>release details</summary> Run finished with `WARD-WORKFLOW: blocked 🛑`. `ward container reap` released container `engineer-codex-agent-compose-115` (`--harness codex`): the terminal outcome supersedes the reservation, so a later redispatch no longer needs `--override-reservation`. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-WORKFLOW: blocked 🛑

details

workflow: merge-remote-main; review summary: skipped — no candidate commit. The in-container review gate was intentionally skipped because implementation and QA are role-separated; QA is a separate, opt-in exact-commit verification role bound to the exact candidate commit.

Blocked: canonical Agent Compose main at 72c3b25 passes ward exec test and ward exec smoke, every local child is closed, v1.39.0 is published, and #115 is its only open issue. Infrastructure #685 still owes the attended org-secret sync and verified dev-base publication; AOS #781 therefore still owes the required disposable director→engineer→QA proof. No closing commit was created because that would violate the run contract.

Felt: locally complete, cleanly stopped at the authority boundary. Confidence: high. Surprise: the external gate was unchanged after redispatch. Follow-up: Ops closes #685, QA closes #781 with proof, then rerun #115 for the closing trailer and tracker-zero audit.

— Codex

WARD-WORKFLOW: blocked 🛑 <details><summary>details</summary> workflow: merge-remote-main; review summary: skipped — no candidate commit. The in-container review gate was intentionally skipped because implementation and QA are role-separated; QA is a separate, opt-in exact-commit verification role bound to the exact candidate commit. Blocked: canonical Agent Compose `main` at `72c3b25` passes `ward exec test` and `ward exec smoke`, every local child is closed, v1.39.0 is published, and #115 is its only open issue. Infrastructure #685 still owes the attended org-secret sync and verified dev-base publication; AOS #781 therefore still owes the required disposable director→engineer→QA proof. No closing commit was created because that would violate the run contract. Felt: locally complete, cleanly stopped at the authority boundary. Confidence: high. Surprise: the external gate was unchanged after redispatch. Follow-up: Ops closes #685, QA closes #781 with proof, then rerun #115 for the closing trailer and tracker-zero audit. — Codex </details>
Author
Member

WARD-WORKFLOW: blocked 🛑

salvage details

An ephemeral ward container (codex mode) dispatched for this issue finished but its work was not merged to main, so cleanup preserved it on a branch before teardown and reopened the issue (a closing reference for coilyco-flight-deck/agent-compose#115 never reached main). Recover from the salvage branch below.

  • Repo: coilyco-flight-deck/agent-compose
  • Salvage branch: ward-salvage/agent-compose-078db83c
  • Pull request: not opened - salvage branch has no diff against main
  • Reason: missing same-repo closing reference
  • Container uptime at reap: 3m (age of the baked Forgejo PAT snapshot; a long-lived container is likelier to carry a rotated token)

Cleanup diagnostics

--- reap diagnostics ---
ward version:      v0.856.0
version source:    pinned via WARD_VERSION/--ward-version (v0.856.0)
HEAD:              72c3b25f91aa
origin/main:       72c3b25f91aa
ancestry:          HEAD is ALREADY on origin/main - a salvage here is a FALSE salvage (ward#504 signature)
decision gate:     missing same-repo closing reference on already-landed merge-remote-main run
reason:            missing same-repo closing reference
provenance:        present
run-owned landed:  no
working tree:      clean
container uptime:  3m (baked Forgejo PAT age proxy)
--- end reap diagnostics ---

Recover

git fetch https://forgejo.coilysiren.me/coilyco-flight-deck/agent-compose.git ward-salvage/agent-compose-078db83c
git checkout -b ward-salvage/agent-compose-078db83c FETCH_HEAD

This salvage was blocked by a missing closing reference. To recover, amend or cherry-pick the salvaged work so the landing commit message includes closes coilyco-flight-deck/agent-compose#115, or add a small empty trailer commit with closes coilyco-flight-deck/agent-compose#115, then land the branch.

— Codex, via ward agent

WARD-WORKFLOW: blocked 🛑 <details><summary>salvage details</summary> An ephemeral `ward container` (codex mode) dispatched for this issue finished but its work was **not merged to `main`**, so cleanup preserved it on a branch before teardown and reopened the issue (a closing reference for coilyco-flight-deck/agent-compose#115 never reached `main`). Recover from the salvage branch below. - **Repo:** `coilyco-flight-deck/agent-compose` - **Salvage branch:** `ward-salvage/agent-compose-078db83c` - **Pull request:** not opened - salvage branch has no diff against main - **Reason:** missing same-repo closing reference - **Container uptime at reap:** 3m (age of the baked Forgejo PAT snapshot; a long-lived container is likelier to carry a rotated token) ## Cleanup diagnostics ``` --- reap diagnostics --- ward version: v0.856.0 version source: pinned via WARD_VERSION/--ward-version (v0.856.0) HEAD: 72c3b25f91aa origin/main: 72c3b25f91aa ancestry: HEAD is ALREADY on origin/main - a salvage here is a FALSE salvage (ward#504 signature) decision gate: missing same-repo closing reference on already-landed merge-remote-main run reason: missing same-repo closing reference provenance: present run-owned landed: no working tree: clean container uptime: 3m (baked Forgejo PAT age proxy) --- end reap diagnostics --- ``` ## Recover ```bash git fetch https://forgejo.coilysiren.me/coilyco-flight-deck/agent-compose.git ward-salvage/agent-compose-078db83c git checkout -b ward-salvage/agent-compose-078db83c FETCH_HEAD ``` This salvage was blocked by a missing closing reference. To recover, amend or cherry-pick the salvaged work so the landing commit message includes `closes coilyco-flight-deck/agent-compose#115`, or add a small empty trailer commit with `closes coilyco-flight-deck/agent-compose#115`, then land the branch. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-WORKFLOW: reservation-released

release details

Run finished with WARD-WORKFLOW: blocked 🛑.

ward container reap released container engineer-codex-agent-compose-115 (--harness codex): the terminal outcome supersedes the reservation, so a later redispatch no longer needs --override-reservation.

— Codex, via ward agent

<!-- ward-agent-reservation-released --> WARD-WORKFLOW: reservation-released <details><summary>release details</summary> Run finished with `WARD-WORKFLOW: blocked 🛑`. `ward container reap` released container `engineer-codex-agent-compose-115` (`--harness codex`): the terminal outcome supersedes the reservation, so a later redispatch no longer needs `--override-reservation`. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

Program update: #137 landed on canonical main at e1ac4f7 and is closed. #138 has a remotely recoverable Engineer checkpoint at caed7d4 on issue-138-designer-visual-web, with deterministic checks passing and independent Designer evaluation evidence still required before landing. The previously recorded external gates also remain open: infrastructure#685 still owes the attended org Actions-secret sync and verified dev-base publication, then agentic-os#781 owes the disposable director-to-engineer-to-QA proof. #115 therefore remains open. Its closing audit must wait for #138, infrastructure#685, and agentic-os#781, then rerun final validation and confirm tracker zero.

Program update: #137 landed on canonical main at e1ac4f7 and is closed. #138 has a remotely recoverable Engineer checkpoint at caed7d4 on issue-138-designer-visual-web, with deterministic checks passing and independent Designer evaluation evidence still required before landing. The previously recorded external gates also remain open: infrastructure#685 still owes the attended org Actions-secret sync and verified dev-base publication, then agentic-os#781 owes the disposable director-to-engineer-to-QA proof. #115 therefore remains open. Its closing audit must wait for #138, infrastructure#685, and agentic-os#781, then rerun final validation and confirm tracker zero.
Author
Member

Superseded by the approved Agent Compose v2 program. The original v1.x tracker-zero contract no longer describes the desired product boundary or roster, so this issue is closing as superseded rather than completed. The replacement program retains a baked Core Roster, moves remote catalogue hydration plus native MCP and approval projection into AOS, cuts a major release, reduces the roster, removes unused personalities, and establishes an evaluation-led minor cadence.

Superseded by the approved Agent Compose v2 program. The original v1.x tracker-zero contract no longer describes the desired product boundary or roster, so this issue is closing as superseded rather than completed. The replacement program retains a baked Core Roster, moves remote catalogue hydration plus native MCP and approval projection into AOS, cuts a major release, reduces the roster, removes unused personalities, and establishes an evaluation-led minor cadence.
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#115
No description provided.