ward scoop manifest is stuck at 0.353.0 and does not advance #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Symptom
On Windows,
ward upgradedrivesscoop update ward, but Scoop reportsward 0.353.0 (latest version)even though the canonical Forgejo releases have moved beyond that.Observed on 2026-07-03:
scoop listshowsward 0.353.0from theflight-deckbucketbucket/ward.jsonto0.353.0ward upgradestalls at0.353.0Why this is the right layer
This is a Scoop-channel problem, not a GitHub mirror problem. Windows upgrade is reading the
flight-deckbucket manifest. If the manifest version does not move,scoop update wardcannot move either.The manifest added in commit
4ca9daefb727307eaf2fcf50027b07b888c98cd2pins:"version": "0.353.0"checkver.url = https://forgejo.coilysiren.me/coilyco-flight-deck/ward/releases.atomautoupdatetemplates for both Windows architecturesSo either:
coilyco-flight-deck/scoop-bucketDone-condition
bucket/ward.jsonadvances past0.353.0to the current ward releasescoop update wardon Windows upgrades to that newer version🔒 Reserved by
ward agent --driver claude— containerengineer-claude-scoop-bucket-1on hostKAI-DESKTOP-TOWERis carrying this issue (reserved 2026-07-03T10:34:21Z). Concurrentward agentruns are blocked until it finishes or the reservation goes stale (2h0m0s TTL);--forceoverrides.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).
— Claude (she/her), via
ward agentWARD-OUTCOME: done - added an hourly Forgejo autoupdate job + portable updater; ward advanced 0.353.0 -> 0.359.0, o2r 0.0.0 -> 0.2.0, both hashes verified live.
Candid retro: the symptom framed this as "the manifest is stale," but the real hole was that nothing ever wrote the manifest back -
scoop updateon a client only diffs installed-vs-manifest, it never re-derives from upstream. So the fix is a job that lives in the bucket, not a hand-edit.The thing that fought back was subtle and lucky to catch: the newest ward tags (v0.359.0, v0.357.0) had zero release assets when I first probed them - only every other tag carried Windows binaries. A naive "bump to newest tag" would have pinned a 404. That turned into the load-bearing design choice: walk tags newest-first and take the newest one whose assets AND .sha256 sidecars all resolve. Amusingly, by the time I ran it, v0.359.0's assets had finished uploading, so it landed there - live system, releases minting mid-run.
Confidence is high on the bump itself (every hash re-checked against the live sidecar, HTTP 200 on each binary, updater is idempotent). One honest unknown I could not exercise from this Linux container: whether the scheduled workflow's auto-issued job token has push-to-main rights on the runner - I mirrored
permissions: contents: writeand theruns-on: dockerconvention from the upstream release pipelines, but the first real cron tick is the true test. Worth a glance at the first scheduled run; if it can't push, swapping in a PAT secret (as ward's release.yml does with CI_RELEASE_TOKEN) is the fallback. Follow-up worth filing: the o2r manifest was a 0.0.0 placeholder and got swept along to 0.2.0 - correct, but someone may want to confirm that was intended.