Skip to content

chore(openspec): archive the two changes the stack landed - #163

Merged
thecodedrift merged 1 commit into
mainfrom
chore/archive-openspec
Aug 24, 2026
Merged

chore(openspec): archive the two changes the stack landed#163
thecodedrift merged 1 commit into
mainfrom
chore/archive-openspec

Conversation

@thecodedrift

Copy link
Copy Markdown
Member

main is red on Check for unarchived OpenSpec changes on main:

openspec/changes/engine-reach-in-route
openspec/changes/sg-fixture-coverage

Why it happened

A change is archived exactly once, on whichever PR is the tip of the stack. This stack merged forward#155#156/#157#161 — and #161 was the tip but carried no OpenSpec change of its own, so nothing archived #155's or #156's.

That is the documented consequence rather than a surprise. CLAUDE.md says a forward-merging stack leaves main red until its final slice archives, and that the archive check lives on main precisely because a PR-time gate cannot tell an in-flight change directory from a forgotten one. The signal worked; the slice was missing.

What archiving actually did

The rename is the visible part, but the point of the step is that it applies each delta to the permanent specs:

  • cli-rule-routing/spec.md — gains Route states each local engine's reach from the pinned engine versions, whose normative core is that the statements are derived from the pinned versions rather than transcribed, and pinned by tests that invoke the engine binaries.
  • cli-rule-validation/spec.md — the fixture-bucket requirement gains its ast-grep scenario, so the spec no longer specifies the Vale rule and stays silent about sg. That silence is what made the sg gap look correct.

pnpm openspec validate --specs --strict24 passed, 0 failed.

No source changes; specs and the archive move only.

One thing worth a second opinion

The archived cli-rule-routing requirement describes converter-dependent formats as failing "because Vale delegates their parse to an external converter this CLI does not ship." That is still accurate about the recipe's content, so it is not stale.

But it predates two later decisions on #157/#161: that we do not support any format needing an external program (rather than merely lacking the converter), and that .mdx became supported in Vale 3.18. Neither contradicts the requirement as written, so I have not touched it here — but if the no-external-programs policy should be specified rather than just implemented, that is a follow-up delta rather than something to fold into an archive PR.

`main` went red on the unarchived-changes check in validate.yml. A change is
archived exactly once, on whichever PR is the tip of the stack, and this
stack merged forward — #161 was the tip and carried no OpenSpec change of
its own, so nothing archived #155's and #156's.

That is the documented consequence of a forward-merging stack, not a
surprise: CLAUDE.md says such a stack leaves `main` red until its final
slice archives. The slice was missing.

Archiving applied both deltas to the permanent specs, which is the point of
the step rather than a side effect: `cli-rule-routing` gains the requirement
that the routing recipe states each engine's reach derived from the pinned
versions rather than transcribed, and `cli-rule-validation` gains the
ast-grep fixture-bucket scenario that its Vale counterpart already had.

`openspec validate --specs --strict` passes, 24 items.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cyga14bww8rmazH2XrF8ms
Copilot AI lite review requested due to automatic review settings August 24, 2026 21:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@thecodedrift
thecodedrift merged commit f26a7b0 into main Aug 24, 2026
6 checks passed
@thecodedrift
thecodedrift deleted the chore/archive-openspec branch August 24, 2026 21:37
@thecodedrift
thecodedrift deployed to npm-autopublish August 24, 2026 21:38 — with GitHub Actions Active
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