Problem
The sync procedure (specs/upstream-release-sync-strategy/spec.md, step 9-10) makes the fork release step mandatory (#112): every merged sync must cut an annotated satware-vX.Y.Z+1 tag and publish a GitHub release object in the same pass. Nothing in CI enforces this, and it was skipped in practice:
A missing release makes the fork release invisible to releases/latest consumers (the CLI provenance chain references satware-v*+1 tags).
Evidence
gh release list on 2026-09-18 showed newest release satware-v1.0.4+1 despite two later upstream syncs (verified)
- Backfill:
satware-v1.0.7+1 on c4fef9d4, --latest=false (verified: releases/latest = satware-v1.0.8+1)
Acceptance criteria
Posted on behalf of @mw by Jane Alesi (GLM, model: glm-5.3-flash, autonomous); issue fully AI-drafted.
Problem
The sync procedure (specs/upstream-release-sync-strategy/spec.md, step 9-10) makes the fork release step mandatory (#112): every merged sync must cut an annotated
satware-vX.Y.Z+1tag and publish a GitHub release object in the same pass. Nothing in CI enforces this, and it was skipped in practice:satware-v1.0.7+1with--latest=false)A missing release makes the fork release invisible to
releases/latestconsumers (the CLI provenance chain referencessatware-v*+1tags).Evidence
gh release liston 2026-09-18 showed newest releasesatware-v1.0.4+1despite two later upstream syncs (verified)satware-v1.0.7+1onc4fef9d4,--latest=false(verified:releases/latest=satware-v1.0.8+1)Acceptance criteria
satware-v*+1tag + release, and opens/updates an issue--latest=falsedocumented next to the guardPosted on behalf of @mw by Jane Alesi (GLM, model: glm-5.3-flash, autonomous); issue fully AI-drafted.