Releases in this repository have been created empty since 2026-08-12
3 releases carry immutable: true and zero assets. Every release before 2026-08-12 carries assets and no immutable field.
gh api "repos/mithran-hq/map-cli/releases?per_page=30" \
--jq '[.[]|select(.immutable==true)]|{n:length, assets:(map(.assets|length)|add)}'
{"assets":0,"n":3}
Cause
.github/workflows/component-artifacts.yml creates the release and then uploads assets to it.
Releases in this repository are now immutable at creation, so the upload is refused:
HTTP 422: Cannot upload assets to an immutable release.
The workflow did not change. Release immutability was enabled on this repository.
This is one of four repositories
jason 9 immutable, 0 assets, first 2026-08-09
aegis-engine 5 immutable, 0 assets, first 2026-08-12
map-cli 3 immutable, 0 assets, first 2026-08-12
aegis-secret 6 immutable, 0 assets, first 2026-08-13
23 immutable releases across four repositories, zero assets between them, no exceptions.
The set of repositories carrying the create-then-upload shape in a workflow is exactly the set with immutable empty releases. Four for four.
The four dates differ, which rules out a platform rollout. aegis-agent-runtime published seven assets to a mutable release on 2026-08-13, the same day two of these repositories went immutable.
Full diagnosis
mithran-hq/jason#920 carries the boundary evidence, the consumer analysis, and the open question that decides the fix.
The open question
Was "Immutable releases" enabled on this repository around 2026-08-12, and was it deliberate?
If deliberate, the workflow must attach assets differently. If not, turning it off restores a workflow that was correct before.
That is a one-glance check in this repository's Settings by anyone with admin.
What cannot be repaired by fixing the workflow
The 3 empty releases cannot be backfilled. Uploading to an immutable release is what fails, so a green CI does not repair them.
Decide deliberately: delete and recreate those tags, supersede them with new ones, or teach consumers to reject a release with zero assets. Doing nothing is a fourth option that happens by default and forecloses the first two.
Not established here
Who consumes this repository's release assets, and whether those consumers fail closed on a zero-asset release. For jason the aegis consumer was verified to fail closed. That finding does not transfer.
Releases in this repository have been created empty since 2026-08-12
3 releases carry
immutable: trueand zero assets. Every release before 2026-08-12 carries assets and noimmutablefield.Cause
.github/workflows/component-artifacts.ymlcreates the release and then uploads assets to it.Releases in this repository are now immutable at creation, so the upload is refused:
The workflow did not change. Release immutability was enabled on this repository.
This is one of four repositories
23 immutable releases across four repositories, zero assets between them, no exceptions.
The set of repositories carrying the create-then-upload shape in a workflow is exactly the set with immutable empty releases. Four for four.
The four dates differ, which rules out a platform rollout.
aegis-agent-runtimepublished seven assets to a mutable release on 2026-08-13, the same day two of these repositories went immutable.Full diagnosis
mithran-hq/jason#920carries the boundary evidence, the consumer analysis, and the open question that decides the fix.The open question
Was "Immutable releases" enabled on this repository around 2026-08-12, and was it deliberate?
If deliberate, the workflow must attach assets differently. If not, turning it off restores a workflow that was correct before.
That is a one-glance check in this repository's Settings by anyone with admin.
What cannot be repaired by fixing the workflow
The 3 empty releases cannot be backfilled. Uploading to an immutable release is what fails, so a green CI does not repair them.
Decide deliberately: delete and recreate those tags, supersede them with new ones, or teach consumers to reject a release with zero assets. Doing nothing is a fourth option that happens by default and forecloses the first two.
Not established here
Who consumes this repository's release assets, and whether those consumers fail closed on a zero-asset release. For
jasontheaegisconsumer was verified to fail closed. That finding does not transfer.