Skip to content

openspec: archive automate-version-pins, sync main specs - #41

Merged
dtump merged 1 commit into
mainfrom
archive/automate-version-pins
Sep 1, 2026
Merged

openspec: archive automate-version-pins, sync main specs#41
dtump merged 1 commit into
mainfrom
archive/automate-version-pins

Conversation

@dtump

@dtump dtump commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Summary

Archives automate-version-pins (27/28 tasks complete — 8.1, independent hash cross-checks via release attestations, is explicitly deferred to its own dedicated follow-up, matching the convention already used for e.g. container-git-config-overlay) and syncs its deltas into openspec/specs/.

This closes a real drift, not just housekeeping: task-pin-reminder archived first and added 3 requirements to version-pin-refresh, so that capability's sync created the main spec file with only those 3 — the 9 foundational requirements this change defines (soak-aware resolution, per-arch hashing, fragment storage, build consumption, operator report, override, failure safety, re-verification, no runtime deps) had never been synced. Separately, package-managers' uv requirement was still describing the pre-migration Dockerfile ARG pinning, months after the Dockerfile moved to pins/uv.env.

Delta fix required before archiving

openspec archive refused the change until its package-managers delta was fixed: the MODIFIED block for "uv binary pinned and sha256-verified" dropped the existing "version bumps require sha256 bumps in the same commit" scenario, which the archive tool refuses to silently drop from a MODIFIED requirement. Reworded that scenario to reference pins/uv.env instead of the retired ARGs — the underlying guarantee (sha256sum -c fails a build where version and hash drift apart) still holds under the new mechanism — and kept it alongside the new generation-coupling scenario the delta already added.

No Dockerfile/run.sh/README.md changes — archiving + spec sync only.

Test plan

  • openspec validate automate-version-pins --strict passes (after the scenario fix)
  • openspec validate --specs --strict — all 10 main specs pass post-sync
  • openspec validate --all --changes — 12/12 pass (both remaining open changes, add-claude-docker-openspec and schedule-pin-refresh, unaffected)
  • Markdown lint spot-checked against an untouched spec file (cli-help/spec.md) to confirm the MD013/MD012 findings are this repo's existing spec-file convention, not something introduced here

27/28 tasks complete; the one open item (8.1, independent hash cross-checks
via release attestations) is explicitly deferred to its own dedicated
follow-up, matching this repo's convention for archiving with a deliberately
out-of-scope item left unchecked.

package-managers and version-pin-refresh had drifted since this change's
delta was authored: task-pin-reminder archived first and added 3 requirements
to version-pin-refresh, so the capability's own sync created the main spec
file with only those 3 — the 9 foundational requirements this change defines
(soak-aware resolution, per-arch hashing, fragment storage, build consumption,
operator report, override, failure safety, re-verification, no runtime
deps) were never synced. package-managers' uv requirement was still describing
the pre-migration Dockerfile ARG pinning, months after the Dockerfile moved to
pins/uv.env.

The uv delta itself needed a fix before `openspec archive` would accept it:
its MODIFIED block dropped the existing "version bumps require sha256 bumps
in the same commit" scenario, which the archive tool refuses to silently
drop. Reworded it to reference pins/uv.env instead of the retired ARGs
(the underlying guarantee — sha256sum -c fails a build where the two drift
apart — still holds under the new mechanism) and kept it alongside the new
generation-coupling scenario the delta already added.

No Dockerfile/run.sh/README.md changes — this is archiving + spec sync only.
@dtump
dtump force-pushed the archive/automate-version-pins branch from 9336c54 to c0bf101 Compare September 1, 2026 07:52
@dtump
dtump merged commit 671da2b into main Sep 1, 2026
8 checks passed
@dtump
dtump deleted the archive/automate-version-pins branch September 1, 2026 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants