Move release publishing to draft artifacts plus release retag #229

Closed
opened 2026-07-14 15:55:57 +00:00 by coilyco-ops · 2 comments
Member

Context:
agentic-os moved its release publish shape to a draft publish plus release retag model.

Target shape:

  • main runs the repo gate and publishes commit-scoped draft artifacts, such as draft-${sha}.
  • release is fast-forwarded only after the draft publish succeeds.
  • the release workflow computes semver, promotes the draft artifact to vX.Y.Z, release, and latest, then creates the public tag or release.
  • draft tags are disposable and should be covered by Forgejo package cleanup rules.
  • latest is a compatibility alias for release, not a revival of retired package names.

Scope:

  • Audit cli-guard release and package publishing workflows for publish work currently happening on release.
  • Move expensive build or publish work to main as draft artifacts.
  • Keep release branch work to promotion, retagging, final verification, and public release creation.
  • Add tests and docs that pin the new contract.

Non-goals:

  • Do not implement in the issue filing pass.
  • Do not resurrect retired package names.
  • Do not let release branch heavy publish decide whether main was good enough to promote.

References:

  • agentic-os commit 4d13736, Stage dev-base draft publishes before release.
  • agentic-os#534 tracks package cleanup coverage for draft tags.
Context: agentic-os moved its release publish shape to a draft publish plus release retag model. Target shape: - main runs the repo gate and publishes commit-scoped draft artifacts, such as draft-${sha}. - release is fast-forwarded only after the draft publish succeeds. - the release workflow computes semver, promotes the draft artifact to vX.Y.Z, release, and latest, then creates the public tag or release. - draft tags are disposable and should be covered by Forgejo package cleanup rules. - latest is a compatibility alias for release, not a revival of retired package names. Scope: - Audit cli-guard release and package publishing workflows for publish work currently happening on release. - Move expensive build or publish work to main as draft artifacts. - Keep release branch work to promotion, retagging, final verification, and public release creation. - Add tests and docs that pin the new contract. Non-goals: - Do not implement in the issue filing pass. - Do not resurrect retired package names. - Do not let release branch heavy publish decide whether main was good enough to promote. References: - agentic-os commit 4d13736, Stage dev-base draft publishes before release. - agentic-os#534 tracks package cleanup coverage for draft tags.
Author
Member

WARDED_WORKFLOW: reservation-held

reservation details

Holder: launch intent for container engineer-codex-cli-guard-229 on host kais-macbook-pro-2.local.

Accepted by ward agent --harness codex (reserved 2026-07-15T03:40:17Z). 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/cli-guard#229 · branch issue-229 · harness codex · workflow pull-request-and-merge
  • Run: engineer-codex-cli-guard-229 · ward v0.696.0 · dispatched 2026-07-15T03:40:09Z
  • Comment thread: 0 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.696.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> WARDED_WORKFLOW: reservation-held <details><summary>reservation details</summary> Holder: launch intent for container `engineer-codex-cli-guard-229` on host `kais-macbook-pro-2.local`. Accepted by `ward agent --harness codex` (reserved 2026-07-15T03:40:17Z). 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/cli-guard#229` · branch `issue-229` · harness `codex` · workflow `pull-request-and-merge` - **Run:** `engineer-codex-cli-guard-229` · ward `v0.696.0` · dispatched `2026-07-15T03:40:09Z` - **Comment thread:** 0 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.696.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARDED_WORKFLOW: #230

details workflow: pull-request-and-merge; review summary: skipped (review gate intentionally skipped because temporary ward default pending brokered QA) retrospective: the implementation felt direct once the repo shape was clear. the draft-tag staging is small, the release verification is explicit, and the docs/test pin keeps the contract from drifting. confidence: medium-high. surprises: the repo has no package publish path today, so the change landed as draft-tag staging plus release verification instead of a fuller package retag flow. follow-ups: watch PR #230 until the queued checks turn green, then merge through the director lane.
WARDED_WORKFLOW: https://forgejo.coilysiren.me/coilyco-flight-deck/cli-guard/pulls/230 <details><summary>details</summary> workflow: pull-request-and-merge; review summary: skipped (review gate intentionally skipped because temporary ward default pending brokered QA) retrospective: the implementation felt direct once the repo shape was clear. the draft-tag staging is small, the release verification is explicit, and the docs/test pin keeps the contract from drifting. confidence: medium-high. surprises: the repo has no package publish path today, so the change landed as draft-tag staging plus release verification instead of a fuller package retag flow. follow-ups: watch PR #230 until the queued checks turn green, then merge through the director lane. </details>
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/cli-guard#229
No description provided.