Watch
2
fix(release): land the tag and ward-specs bundle even when an image tier flakes #492
Closed
coilyco-ops
wants to merge 1 commit from
issue-490 into main
pull from: issue-490
merge into: coilyco-flight-deck:main
coilyco-flight-deck:main
coilyco-flight-deck:release
coilyco-flight-deck:aos/claude/md68
coilyco-flight-deck:aos/claude/zc49-creature-numbers
coilyco-flight-deck:aos/claude/zc49-creature-background
coilyco-flight-deck:chore/full-name-attribution
coilyco-flight-deck:aos/claude/mt75-bundle-tag
coilyco-flight-deck:aos/claude/ad84-revert-voice
coilyco-flight-deck:aos/claude/ad84-voice
coilyco-flight-deck:aos/claude/tc69-abspath
coilyco-flight-deck:aos/claude/mt75-quiet-plan
coilyco-flight-deck:voice-no-rarity-statements
coilyco-flight-deck:aos/claude/mt75-netlify-remove
coilyco-flight-deck:aos/claude/ad84-titles
coilyco-flight-deck:aos/claude/ad84
coilyco-flight-deck:aos/claude/mt75-aterm-fullscreen
coilyco-flight-deck:aos/claude/mt75-netlify-wrap
coilyco-flight-deck:aos/claude/mt75-kubectl-context
coilyco-flight-deck:aos/claude/mt75
coilyco-flight-deck:aos/claude/mt75-ward-cut
coilyco-flight-deck:aos/claude/eb77
coilyco-flight-deck:aos/claude/fp87-ward-schema
coilyco-flight-deck:aos/claude/fp87-ward-posture
coilyco-flight-deck:aos/claude/fp87
coilyco-flight-deck:aos/claude/vt77
coilyco-flight-deck:aos/1105-require-issue-labels
coilyco-flight-deck:aos/claude/kb87-native-arch
coilyco-flight-deck:aos/claude/kb87-window-identity
coilyco-flight-deck:aos/claude/kb87
coilyco-flight-deck:aos/claude/tg69
coilyco-flight-deck:aos/claude/ff54-retire-issue-refs
coilyco-flight-deck:aos/claude/ff54
coilyco-flight-deck:aos/claude/rc44-bundle-version
coilyco-flight-deck:aos/claude/mu55-contract-tests
coilyco-flight-deck:aos/claude/mu55-sound-mark
coilyco-flight-deck:aos/claude/rc44
coilyco-flight-deck:aos/claude/mu55-identity-card
coilyco-flight-deck:aos/claude/mu55-doctor
coilyco-flight-deck:aos/claude/mu55-shadow-reap
coilyco-flight-deck:aos/claude/mu55-drop-windows
coilyco-flight-deck:aos/claude/mu55-dryrun-exits
coilyco-flight-deck:aos/claude/mu55-list-json
coilyco-flight-deck:aos/claude/mu55-title-order
coilyco-flight-deck:aos/claude/mu55-overlay-contract
coilyco-flight-deck:aos/claude/qu74
coilyco-flight-deck:aos/claude/ue86
coilyco-flight-deck:aos/claude/yq86
coilyco-flight-deck:aos/claude/vk48-harness-set
coilyco-flight-deck:aos/claude/vk48-default-agent
coilyco-flight-deck:aos/claude/vk48-completion
coilyco-flight-deck:aos/claude/vk48-release-fix
coilyco-flight-deck:aos/claude/vk48
coilyco-flight-deck:aos/claude/yb89
coilyco-flight-deck:aos/claude/sb46
coilyco-flight-deck:fix/agent-compose-pin-v3-roster
coilyco-flight-deck:aos/claude/ve67-defer
coilyco-flight-deck:aos/claude/ve67
coilyco-flight-deck:aos/claude/ur54
coilyco-flight-deck:aos/claude/tj49
coilyco-flight-deck:feat/acompose-v3-roster
coilyco-flight-deck:ops/393-retire-doc-size-alias
coilyco-flight-deck:ops/393-drop-em-dash-check
coilyco-flight-deck:feat/vendored-tree-exclude
coilyco-flight-deck:aos/claude/xlarge-band
coilyco-flight-deck:aos/claude/ue65
coilyco-flight-deck:aos/claude/identity-color-wins
coilyco-flight-deck:aos/claude/ap47
coilyco-flight-deck:aos/claude/zr44
coilyco-flight-deck:aos/claude/xk58
coilyco-flight-deck:aos/claude/aw85-skill-size-owner
coilyco-flight-deck:aos/claude/ym96-docs-bands
coilyco-flight-deck:aos/claude/wt57-pin-aos-bundle
coilyco-flight-deck:aos/claude/wt57-image-inputs-filter
coilyco-flight-deck:aos/claude/ym96-label-taxonomy
coilyco-flight-deck:ops/dev-base-pin-rust-1.90.0
coilyco-flight-deck:aos/claude/mg96-clean
coilyco-flight-deck:aos/claude/mg96
coilyco-flight-deck:backup/fix/bake-precommit-hooks
coilyco-flight-deck:rescue/aos-test-timeout
coilyco-flight-deck:aos/claude/issues-977-979-agents-base
coilyco-flight-deck:aos/claude/sx87
coilyco-flight-deck:refactor/remove-context-budget-json
coilyco-flight-deck:issue-946
coilyco-flight-deck:aos/codex/20260806t050901z-50407-6291ab0a
coilyco-flight-deck:aos/codex/standalone-shadow-workspace
coilyco-flight-deck:backup/aos/codex/20260806t061240z-10127-754d7de2
coilyco-flight-deck:aos/codex/standalone-local-service-route
coilyco-flight-deck:aos/codex/aosterm-aoscompose-wrapper
coilyco-flight-deck:aos/codex/agents-launch-profile-source
coilyco-flight-deck:aos/codex/launch-profiles-yaml
coilyco-flight-deck:aos/codex/20260806t031603z-7731-c76c17f2
coilyco-flight-deck:backup/aos/codex/20260805t183628z-5916-617bb239
coilyco-flight-deck:backup/aos/codex/20260805t025242z-30811-fbb135ff
coilyco-flight-deck:aos/codex/aos-v2-roster-852
coilyco-flight-deck:aos/codex/20260801t164712z-64119-69ee8bb6
coilyco-flight-deck:backup/aos/codex/20260801t164900z-67616-2ad2d0e3
coilyco-flight-deck:issue-834
coilyco-flight-deck:aos/codex/pr-829-1130
coilyco-flight-deck:issue-824-agent-proxy-model-routing
coilyco-flight-deck:task-merge-pr818
coilyco-flight-deck:fix/aos-ci-20260730
coilyco-flight-deck:issue-671
coilyco-flight-deck:issue-734
coilyco-flight-deck:issue-484
coilyco-flight-deck:issue-498
coilyco-flight-deck:issue-622
coilyco-flight-deck:issue-512
coilyco-flight-deck:issue-679
coilyco-flight-deck:issue-454
coilyco-flight-deck:backup/issue-785-first-person
coilyco-flight-deck:issue-785-first-person
coilyco-flight-deck:director-pr784
coilyco-flight-deck:restore-language-images
coilyco-flight-deck:recovery/2026-07-28-triaged-branch-archive
coilyco-flight-deck:recovery/2026-07-27-local-work
coilyco-flight-deck:recovery/aos-local-build-20260727
coilyco-flight-deck:codex/land-pr-733
coilyco-flight-deck:codex/aos-ci-watch
coilyco-flight-deck:issue-642
coilyco-flight-deck:issue-682-goose-yaml
coilyco-flight-deck:issue-656-goose-context
coilyco-flight-deck:safety/aos-local-main-09347d0
coilyco-flight-deck:issue-611-specialist-images
coilyco-flight-deck:fix-action-run-list-page
coilyco-flight-deck:issue-454-v2
coilyco-flight-deck:experiment/no-ops-forgejo
coilyco-flight-deck:feat/dev-base-image
No reviewers
Labels
Clear labels
burndown-2026-06
Backlog burndown June 2026
burndown-2026-08
Closed in the 2026-08-26 backlog burn-down. Reopen freely: state:closed label:burndown-2026-08 recovers the whole set.
autonomy
async-consult
A human needs to consult on the issue to upgrade it to headless
autonomy
epic
This issue has many units of sub work - its size makes it meaningfully exclusive with other autonomy types
autonomy
headless
The agent can perform the work on its own
autonomy
live-collab
The agent and the human need to work together in realtime
coherence-core
Core review set for the warded control plane coherence milestone. These issues form the release spine; adjacent milestone issues are stretch or supporting work.
priority
P0
priority tier
priority
P1
priority tier
priority
P2
priority tier
priority
P3
priority tier
priority
P4
priority tier
qa-fixture
Disposable issue admitted to the bounded Ward QA verification lane.
role/advocate
requires work from the Developer Advocate seat
role/director
requires work from the Portfolio Director seat
role/exec
requires work from the exec role
role/frontend
requires work from the Frontend Engineer seat
role/gamedev
requires work from the Game Developer seat
role/human
requires a person, and specifically not an agent seat
role/platform
requires work from the Platform Engineer seat
role/qa
requires work from the QA role
role/science
requires work from the Applied Scientist seat
role/sysadmin
requires work from the Systems Administrator seat
state
ambient
ambient and ephemeral work, held as a maintained document rather than a queue
No labels
burndown-2026-06
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/advocate
role/director
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/science
role/sysadmin
state
ambient
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
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/agentic-os!492
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-490"
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?
What
aos stopped releasing: run 1127's
publish-dev-baseflaked on one registry blob write for thelang-dotnettier, and becausereleaseneededpublish-dev-base, thev0.249.0tag, the Forgejo release, and the ward-specs bundle were all skipped. The Telegram alert for that failure also died - one un-retried TLS handshake timeout - so main sat unreleased atv0.248.0with no signal.Changes
releasenow needsplan-releasealone, so the tag, the Forgejo release, and the ward-specs bundle land regardless of the image publish.publish-dev-basechains offreleaseinstead (images are a consequence of the tag, not a precondition) and fails independently and loudly. Newtests/test_release_workflow_decoupling.pypins the job graph.scripts/dev-base-build.pyretries each pushed tier (3 attempts, 15s/60s backoff), so a single blob-write flake re-pushes one tier instead of costing the run. Already-pushed layers and the registry buildcache make a retry mostly re-push, not rebuild. Local builds stay fail-fast. Covered by new tests.urlopencall (_ssl.c:975: The handshake operation timed out). The compositeactions/telegram-alertand all nine inline workflow copies (ci, promote, mirror x2, dep-bump, freshness, release x3) now retry the send (3 attempts, 10s/30s backoff, 30s timeout). Covered by new tests.Landing the missing release
Merging this PR pushes main forward, promote.yml fast-forwards
release, and the fixed pipeline cuts the next tag plus the ward-specs bundle fromplan-releasealone - even if the dotnet tier flakes again. That satisfies the issue's done condition structurally: a forced failure of one image tier can no longer prevent the tag and bundle.Contributing factor (follow-up, not in this PR)
kai-server is at 87% disk (63.5 GB free of 515 GB, verified via node stats). The packages API returns 403 for the container token, so dev-base tag retention could not be enumerated from here. A follow-up issue covers checking registry retention and adding a cleanup policy.
closes #490
ward.workflow: pull-request-and-merge
almost certainly it will be easier just to rewrite this PR from scratch
Heads-up from Kai's desktop session: this branch is now
mergeable: falseagainst main.27eccc2ande51de73tonight: the ward-specs tar step in release.yml switched to a wildcard plus deny-list (the enumerated list had silently dropped the role-boundguardfile.aws.engineer.kdl), ci.yml grew a standaloneward-doctorjob, and ci/promote moved off the retired:latestcontainer to:release(its ward v0.529.0 predates the doctor verb). A rebase needs to keep the deny-list tar form.failed to push ...lang-go-v0.250.0: unknown(the #490 blob-write class). Two consecutive runs, two different single-job flakes, zero tags - the decoupling and per-tier retries here are the structural fix. Run 1150 is a manual re-dispatch in the meantime.remake this PR from scratch
Pull request closed