Remove every agentic-os reference from ward code #1139

Closed
opened 2026-07-13 01:54:06 +00:00 by coilyco-ops · 11 comments
Member

Kai's direction: ward code should not reference aos at all, anywhere. ward is the shipped product layer; anything naming agentic-os is either fleet config that belongs in ward-kdl (config placement law: fleet tuning is authored in the meld layer, embedded, env-overridable) or provenance text that belongs in docs/issues, not source.

Current inventory (non-test code):

Functional literals - move to ward-kdl / bundle config

  • cmd/ward/container_compute.go:21 - containerImageDefault = "forgejo.coilysiren.me/coilyco-flight-deck/agentic-os-full". Also stale twice over: aos now publishes the single agentic-os package (no -full suffix, variants as tags, aos e6b28c3) and the moving alias is :release, not :latest (containerImageTagDefault at line 24). Until this issue lands, WARD_AGENT_IMAGE / WARD_AGENT_TAG are the env escape hatch.
  • cmd/ward/container_compute.go:42 - containerEntrypointPath = "/opt/agentic-os/ward-shell-entrypoint.sh", the baked path contract with the dev-base image (echoed in cmd/ward/containerassets/entrypoint.sh:3).
  • cmd/ward/agent_review.go:35-41 - hardcoded review-skill lookup paths under agentic-os/.agents/skills/tooling-code-review/.
  • cmd/ward/git_clone.go:18-20 - cloneAllowlist bakes coilyco-flight-deck/agentic-os, coilyco-bridge/agentic-os-hardware, coilyco-bridge/agentic-os-kai.

Provenance text - reword or relocate

  • cmd/ward/forgejo_actions.go:61 - user-facing error string cites agentic-os#434; same ref in the Usage string at cmd/ward/agent_pr_workflow.go:297 and comments at agent_pr_workflow.go:213, forgejo_actions.go:59, github_ops.go:76, agent_subsystem.go:8, agent_telemetry.go:16.

Done means grep -rn "agentic-os" cmd/ internal/ scripts/ (non-test) returns nothing.

Context: found while fixing ward agent director failing to pull agentic-os-full:latest - aos stopped publishing that ref at the tier split, and the naming has since moved on (aos#483 tracks the aos-side cleanup).

Kai's direction: ward code should not reference aos at all, anywhere. ward is the shipped product layer; anything naming `agentic-os` is either fleet config that belongs in ward-kdl (config placement law: fleet tuning is authored in the meld layer, embedded, env-overridable) or provenance text that belongs in docs/issues, not source. Current inventory (non-test code): **Functional literals - move to ward-kdl / bundle config** * `cmd/ward/container_compute.go:21` - `containerImageDefault = "forgejo.coilysiren.me/coilyco-flight-deck/agentic-os-full"`. Also stale twice over: aos now publishes the single `agentic-os` package (no `-full` suffix, variants as tags, aos e6b28c3) and the moving alias is `:release`, not `:latest` (`containerImageTagDefault` at line 24). Until this issue lands, `WARD_AGENT_IMAGE` / `WARD_AGENT_TAG` are the env escape hatch. * `cmd/ward/container_compute.go:42` - `containerEntrypointPath = "/opt/agentic-os/ward-shell-entrypoint.sh"`, the baked path contract with the dev-base image (echoed in `cmd/ward/containerassets/entrypoint.sh:3`). * `cmd/ward/agent_review.go:35-41` - hardcoded review-skill lookup paths under `agentic-os/.agents/skills/tooling-code-review/`. * `cmd/ward/git_clone.go:18-20` - `cloneAllowlist` bakes `coilyco-flight-deck/agentic-os`, `coilyco-bridge/agentic-os-hardware`, `coilyco-bridge/agentic-os-kai`. **Provenance text - reword or relocate** * `cmd/ward/forgejo_actions.go:61` - user-facing error string cites `agentic-os#434`; same ref in the Usage string at `cmd/ward/agent_pr_workflow.go:297` and comments at `agent_pr_workflow.go:213`, `forgejo_actions.go:59`, `github_ops.go:76`, `agent_subsystem.go:8`, `agent_telemetry.go:16`. Done means `grep -rn "agentic-os" cmd/ internal/ scripts/` (non-test) returns nothing. Context: found while fixing `ward agent director` failing to pull `agentic-os-full:latest` - aos stopped publishing that ref at the tier split, and the naming has since moved on (aos#483 tracks the aos-side cleanup).
Author
Member

WARD-OUTCOME: submitted

details

review summary: skipped (in-container review gate intentionally skipped because the temporary ward default pending brokered QA)
workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped because the temporary ward default pending brokered QA)
felt: mechanical but straightforward.
confidence: high.
surprises: the Forgejo PR-create helper returned an empty body but the PR still opened.
follow-ups: none.

WARD-OUTCOME: submitted <details><summary>details</summary> review summary: skipped (in-container review gate intentionally skipped because the temporary ward default pending brokered QA) workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped because the temporary ward default pending brokered QA) felt: mechanical but straightforward. confidence: high. surprises: the Forgejo PR-create helper returned an empty body but the PR still opened. follow-ups: none. </details>
Author
Member

Director burn-down note: the submitted PR for this issue was #1158, and it is closed unmerged (merged=false). This issue remains open and needs a fresh implementation or scoped redo once dispatch is available.

Director burn-down note: the submitted PR for this issue was #1158, and it is closed unmerged (`merged=false`). This issue remains open and needs a fresh implementation or scoped redo once dispatch is available.
Author
Member

WARDED_WORKFLOW: reservation-held

reservation details

Holder: launch intent for container engineer-codex-ward-1139 on host kais-macbook-pro-2.local.

Accepted by ward agent --harness codex (reserved 2026-07-14T09:36:19Z). Concurrent ward agent runs are blocked until this intent becomes visible or the intent is released. The stale-intent fallback is still TTL-bounded (3h TTL). --override-reservation overrides.

Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).

run seed context — what this run is carrying (ward#609)
  • Resolved: coilyco-flight-deck/ward#1139 · branch issue-1139 · harness codex · workflow pull-request-and-merge
  • Run: engineer-codex-ward-1139 · ward v0.672.0 · dispatched 2026-07-14T09:36:14Z
  • Comment thread: 2 included in the pre-flight read, 0 stripped (ward's own automated comments).

Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.672.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> WARDED_WORKFLOW: reservation-held <details><summary>reservation details</summary> Holder: launch intent for container `engineer-codex-ward-1139` on host `kais-macbook-pro-2.local`. Accepted by `ward agent --harness codex` (reserved 2026-07-14T09:36:19Z). Concurrent `ward agent` runs are blocked until this intent becomes visible or the intent is released. The stale-intent fallback is still TTL-bounded (3h TTL). `--override-reservation` overrides. **Do not comment on or edit this issue to steer the run while it is reserved.** The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a **new issue, dispatched fresh**. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494). <details><summary>run seed context — what this run is carrying (ward#609)</summary> - **Resolved:** `coilyco-flight-deck/ward#1139` · branch `issue-1139` · harness `codex` · workflow `pull-request-and-merge` - **Run:** `engineer-codex-ward-1139` · ward `v0.672.0` · dispatched `2026-07-14T09:36:14Z` - **Comment thread:** 2 included in the pre-flight read, 0 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-13T03:44:17Z), @coilyco-ops (2026-07-14T07:47:58Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.672.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARDED_WORKFLOW: #1261

details

workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped because review gate skipped by ~/.ward/config.yaml default)
felt: straightforward. confidence: high. surprises: none. follow-ups: none.

WARDED_WORKFLOW: https://forgejo.coilysiren.me/coilyco-flight-deck/ward/pulls/1261 <details><summary>details</summary> workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped because review gate skipped by ~/.ward/config.yaml default) felt: straightforward. confidence: high. surprises: none. follow-ups: none. </details>
Author
Member

Director burn-down update from 2026-07-14: PR #1261 was reopened after the Forgejo 405 path left it closed-unmerged, but Forgejo now reports it unmergeable. ward ops forgejo pr update coilyco-flight-deck ward 1261 returned 409 Conflict with merge failed because of conflict, so this is no longer a simple director merge retry. It needs branch repair once the dispatch broker is reachable again.

Director burn-down update from 2026-07-14: PR #1261 was reopened after the Forgejo 405 path left it closed-unmerged, but Forgejo now reports it unmergeable. `ward ops forgejo pr update coilyco-flight-deck ward 1261` returned 409 Conflict with `merge failed because of conflict`, so this is no longer a simple director merge retry. It needs branch repair once the dispatch broker is reachable again.
Author
Member

WARDED_WORKFLOW: reservation-held

reservation details

Holder: launch intent for container engineer-codex-ward-1139 on host kais-macbook-pro-2.local.

Accepted by ward agent --harness codex (reserved 2026-07-15T01:21:10Z). Concurrent ward agent runs are blocked until this intent becomes visible or the intent is released. The stale-intent fallback is still TTL-bounded (3h TTL). --override-reservation overrides.

Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).

run seed context — what this run is carrying (ward#609)
  • Resolved: coilyco-flight-deck/ward#1139 · branch issue-1139 · harness codex · workflow pull-request-and-merge
  • Run: engineer-codex-ward-1139 · ward v0.693.0 · dispatched 2026-07-15T01:20:59Z
  • Comment thread: 4 included in the pre-flight read, 1 stripped (ward's own automated comments).

Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.693.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> WARDED_WORKFLOW: reservation-held <details><summary>reservation details</summary> Holder: launch intent for container `engineer-codex-ward-1139` on host `kais-macbook-pro-2.local`. Accepted by `ward agent --harness codex` (reserved 2026-07-15T01:21:10Z). Concurrent `ward agent` runs are blocked until this intent becomes visible or the intent is released. The stale-intent fallback is still TTL-bounded (3h TTL). `--override-reservation` overrides. **Do not comment on or edit this issue to steer the run while it is reserved.** The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a **new issue, dispatched fresh**. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494). <details><summary>run seed context — what this run is carrying (ward#609)</summary> - **Resolved:** `coilyco-flight-deck/ward#1139` · branch `issue-1139` · harness `codex` · workflow `pull-request-and-merge` - **Run:** `engineer-codex-ward-1139` · ward `v0.693.0` · dispatched `2026-07-15T01:20:59Z` - **Comment thread:** 4 included in the pre-flight read, 1 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-13T03:44:17Z), @coilyco-ops (2026-07-14T07:47:58Z), @coilyco-ops (2026-07-14T09:50:23Z), @coilyco-ops (2026-07-14T10:04:30Z) - stripped: @coilyco-ops (2026-07-14T09:36:19Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.693.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

Release triage note from Kai on 2026-07-15: headless carry is valid. Ward should not keep runtime or code-level agentic-os references; remaining references should be deleted, moved to examples/docs where appropriate, or replaced with ward-owned fixtures/config.

Release triage note from Kai on 2026-07-15: headless carry is valid. Ward should not keep runtime or code-level agentic-os references; remaining references should be deleted, moved to examples/docs where appropriate, or replaced with ward-owned fixtures/config.
Author
Member

WARD-TRIAGE: warded control plane coherence milestone

This issue is part of the warded control plane coherence sprint. The release thesis is to make warded feel like one dependable control plane for agent work: higher safe parallelism, coherent config defaults, reliable broker/container behavior, human-feedback gates, and enough structured evidence for the next actor after a paused or failed run.

For this sprint, headless means an engineer should be able to carry the issue from current issue context to a merged change without new human decisions. If the issue discovers a missing decision, split or demote the unclear part instead of guessing.

WARD-TRIAGE: warded control plane coherence milestone This issue is part of the `warded control plane coherence` sprint. The release thesis is to make `warded` feel like one dependable control plane for agent work: higher safe parallelism, coherent config defaults, reliable broker/container behavior, human-feedback gates, and enough structured evidence for the next actor after a paused or failed run. For this sprint, `headless` means an engineer should be able to carry the issue from current issue context to a merged change without new human decisions. If the issue discovers a missing decision, split or demote the unclear part instead of guessing.
Author
Member

WARDED_WORKFLOW: reservation-held

reservation details

Holder: launch intent for container engineer-codex-ward-1139 on host kais-macbook-pro-2.local.

Accepted by ward agent --harness codex (reserved 2026-07-15T12:57:32Z). Concurrent ward agent runs are blocked until this intent becomes visible or the intent is released. The stale-intent fallback is still TTL-bounded (3h TTL). --override-reservation overrides.

Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).

run seed context — what this run is carrying (ward#609)
  • Resolved: coilyco-flight-deck/ward#1139 · branch issue-1139 · harness codex · workflow pull-request-and-merge
  • Run: engineer-codex-ward-1139 · ward v0.710.0 · dispatched 2026-07-15T12:57:23Z
  • Comment thread: 6 included in the pre-flight read, 2 stripped (ward's own automated comments).

Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.710.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> WARDED_WORKFLOW: reservation-held <details><summary>reservation details</summary> Holder: launch intent for container `engineer-codex-ward-1139` on host `kais-macbook-pro-2.local`. Accepted by `ward agent --harness codex` (reserved 2026-07-15T12:57:32Z). Concurrent `ward agent` runs are blocked until this intent becomes visible or the intent is released. The stale-intent fallback is still TTL-bounded (3h TTL). `--override-reservation` overrides. **Do not comment on or edit this issue to steer the run while it is reserved.** The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a **new issue, dispatched fresh**. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494). <details><summary>run seed context — what this run is carrying (ward#609)</summary> - **Resolved:** `coilyco-flight-deck/ward#1139` · branch `issue-1139` · harness `codex` · workflow `pull-request-and-merge` - **Run:** `engineer-codex-ward-1139` · ward `v0.710.0` · dispatched `2026-07-15T12:57:23Z` - **Comment thread:** 6 included in the pre-flight read, 2 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-13T03:44:17Z), @coilyco-ops (2026-07-14T07:47:58Z), @coilyco-ops (2026-07-14T09:50:23Z), @coilyco-ops (2026-07-14T10:04:30Z), @coilyco-ops (2026-07-15T06:55:18Z), @coilyco-ops (2026-07-15T07:16:33Z) - stripped: @coilyco-ops (2026-07-14T09:36:19Z), @coilyco-ops (2026-07-15T01:21:11Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.710.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARDED_WORKFLOW: #1446

details

workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped because the temporary ward default pending brokered QA)
felt: mechanical, with a couple of hook-driven detours.
confidence: high.
surprises: the repo already had a live PR slot, so I updated the branch and let Forgejo merge it.
follow-ups: none.

WARDED_WORKFLOW: https://forgejo.coilysiren.me/coilyco-flight-deck/ward/pulls/1446 <details><summary>details</summary> workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped because the temporary ward default pending brokered QA) felt: mechanical, with a couple of hook-driven detours. confidence: high. surprises: the repo already had a live PR slot, so I updated the branch and let Forgejo merge it. follow-ups: none. </details>
Author
Member

QA FAIL after merged PR #1446.

PR #1446 merged as a44c1c836cb2a31ef1bbbf9ace4bb0f4b9b5f5ce, but it does not fully satisfy #1139 safely:

  • It changes the default agent image/tag to forgejo.coilysiren.me/coilyco-flight-deck/ward:release.
  • docker manifest inspect forgejo.coilysiren.me/coilyco-flight-deck/ward:release returns manifest unknown.
  • The current forgejo.coilysiren.me/coilyco-flight-deck/agentic-os:latest manifest does resolve, so the replacement is not a working equivalent.
  • The release failure after #1441 was caused by fetching https://github.com/coilysiren/agentic-os/ during release setup timing out after 300s.
  • #1446 leaves .forgejo/workflows/release.yml with coilysiren/agentic-os/actions/tag-bump@main, coilysiren/agentic-os/actions/create-release@main, and forgejo.coilysiren.me/coilyco-flight-deck/agentic-os:latest as workflow dependencies.

Filed repair issue #1447 with the same headless/P2 labels and dispatched it via warded coilyco-flight-deck/ward#1447 --harness codex.

QA FAIL after merged PR #1446. PR #1446 merged as `a44c1c836cb2a31ef1bbbf9ace4bb0f4b9b5f5ce`, but it does not fully satisfy #1139 safely: - It changes the default agent image/tag to `forgejo.coilysiren.me/coilyco-flight-deck/ward:release`. - `docker manifest inspect forgejo.coilysiren.me/coilyco-flight-deck/ward:release` returns `manifest unknown`. - The current `forgejo.coilysiren.me/coilyco-flight-deck/agentic-os:latest` manifest does resolve, so the replacement is not a working equivalent. - The release failure after #1441 was caused by fetching `https://github.com/coilysiren/agentic-os/` during release setup timing out after 300s. - #1446 leaves `.forgejo/workflows/release.yml` with `coilysiren/agentic-os/actions/tag-bump@main`, `coilysiren/agentic-os/actions/create-release@main`, and `forgejo.coilysiren.me/coilyco-flight-deck/agentic-os:latest` as workflow dependencies. Filed repair issue #1447 with the same `headless`/`P2` labels and dispatched it via `warded coilyco-flight-deck/ward#1447 --harness codex`.
Sign in to join this conversation.
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/ward#1139
No description provided.