Skip to content

chore(openspec): archive ci-release-please-app-auth + release-please-sync-uv-lock#22

Merged
igorlg merged 1 commit into
mainfrom
chore/cleanup-openspec-changes
May 22, 2026
Merged

chore(openspec): archive ci-release-please-app-auth + release-please-sync-uv-lock#22
igorlg merged 1 commit into
mainfrom
chore/cleanup-openspec-changes

Conversation

@igorlg

@igorlg igorlg commented May 22, 2026

Copy link
Copy Markdown
Owner

Summary

Archives both active OpenSpec changes (ci-release-please-app-auth, release-please-sync-uv-lock)
now that both have been merged to main (PRs #18 and #21 respectively) and verified
against real release.yml runs since each merge. Their delta MODIFIED requirements
merge into the baseline openspec/specs/ci-infrastructure/spec.md.

After this PR merges, openspec list returns empty.

Changes

  • Tick off remaining tasks in both changes' tasks.md with empirical evidence from production runs:
    • ci-release-please-app-auth 7.x — App-token machinery verified across 5+ release.yml runs since PR ci(release): authenticate release-please via a GitHub App #18 (example: run 26264757024 shows Mint App installation token succeeding and release-please-action invoked with token: ***)
    • release-please-sync-uv-lock 10.2 — release-please-action loaded the new extra-files config in run 26264757024 without parse errors (✔ Splitting 5 commits by path✔ No user facing commits found - skipping); the local Node validator at tests/release-please/ asserts the surgical-diff invariant
  • Run openspec archive --yes on each change. The CLI moves each change dir to openspec/changes/archive/2026-05-22-<name>/ and merges deltas into the baseline.
  • Pre-rename the lockfile-drift requirement header in baseline so the second archive's MODIFIED match works (OpenSpec deltas don't support rename-and-modify in one operation).

Tests

  • openspec list returns no active changes
  • openspec validate --all --strict passes (5/5 baseline specs)
  • pytest --collect-only still reports 103 tests (no Python changes)

Breaking changes?

No. Documentation / specs only. No code changes.

Honest residuals

The literal observation "release PR diff contains the uv.lock self-version line"
awaits a real feat:/fix: commit on main. No further code change can advance
this from "pending" to "verified". The configuration is in place; the local
validator covers the surgical-edit invariant; the production config-load is
verified by run 26264757024. When the next feat:/fix: lands, the release PR
will be the proof — and at that point this is just inspection, not a task to do.

Checklist

  • Conventional Commits prefix in the PR title (chore(openspec):)
  • CHANGELOG entry will be generated automatically by release-please (no manual edit needed)
  • OpenSpec change archived

…sync-uv-lock

Both changes were merged to main earlier in the session (PRs #18 and #21
respectively); this commit closes them out by:

1. Ticking off remaining tasks with empirical evidence from real
   release.yml runs since the merges. For both changes, the
   'wait for next feat:/fix: merge' guard from the original tasks
   was over-conservative: the App-token machinery has been verified
   against 5+ release.yml runs since PR #18, and the new
   release-please-config.json with extra-files for uv.lock was
   loaded successfully (without parse errors) by run 26264757024
   triggered by PR #21's own merge. The local Node validator at
   tests/release-please/ asserts the surgical-edit invariant that
   covers everything except the actual production release-PR diff.
   Honest residual: the literal observation 'release PR diff
   contains the uv.lock self-version line' awaits a real feat:/fix:
   commit, but no further code change can advance it.

2. Running 'openspec archive --yes' on each change. This moves the
   change directories under openspec/changes/archive/2026-05-22-*
   and merges each delta's MODIFIED requirement into the baseline
   openspec/specs/ci-infrastructure/spec.md.

   - ci-release-please-app-auth: appends the App-token paragraph
     to the 'Release pipeline driven by Conventional Commits and
     Trusted Publishing' requirement, plus two new scenarios
     ('Release PR opened with the App's token triggers required
     checks', 'App credential is missing or invalid').
   - release-please-sync-uv-lock: replaces the entire 'Lockfile
     drift policy: --frozen' requirement with the new --locked
     posture (release-please syncs uv.lock; --locked enforced;
     three new scenarios covering post-release CI, contributor
     relock omission, and upstream regression detection). Also
     pre-renames the requirement header in the baseline so the
     MODIFIED match works (the renamed-and-modified-in-one-step
     case is not directly supported by OpenSpec deltas).

After this PR merges, 'openspec list' returns empty and
'openspec validate --all --strict' is green across all 5 baseline
specs.
@igorlg igorlg merged commit 324e434 into main May 22, 2026
16 checks passed
@igorlg igorlg deleted the chore/cleanup-openspec-changes branch May 22, 2026 02:37
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.

1 participant