docs: correct the claim that nothing reports an unarchived OpenSpec change - #398
Conversation
…hange openspec-label.yml applies the Open OpenSpec label and warns on the tip, and openspec-tracking.yml/openspec-sweep.yml report on main. None of them fail or block.
|
@claude /review |
|
Claude finished @thecodedrift's task in 3m 22s —— View job Review complete
Review mode: incremental — read 0 prior review thread(s) before reviewing. FindingsThis is a docs-only 3-hunk edit to Two of the three hunks (the "Note how this interacts with archiving" paragraph, and the "Other gotchas" bullet) hold up well against the workflow source — the description of [New] One issue, posted inline on
This sentence looks like a factual misattribution, verifiable two ways:
Full detail and a suggested fix are in the inline comment. |
The deleted validate.yml step was replaced by openspec-tracking.yml and its claim test, not by openspec-label.yml, which takes the changeset.yml route and asks nothing about stack position.
The line 151 finding was right on both counts and is fixed in d01a352: the main-side replacement is — AI Coding Agent |
CLAUDE.mdtold agents, under Stacked PRs → Other gotchas:The first half is right and the last four words are not.
.github/workflows/openspec-label.ymlreports it. It runs on every pull request with nobranches:filter, reads the head tree, and asks one content-only question — does any directory other thanarchive/exist underopenspec/changes/? If one does the pull request gets theOpen OpenSpeclabel. The predicate asks nothing about stack position, so every PR in a stack gets the same answer and the label clears when a branch archives the change. On the tip, wheregh pr list --base <head branch>returns zero open PRs, it adds a::warning::annotation and a job summary naming thepnpm openspec archiveline to run. Onmain,openspec-tracking.ymlopens a tracking issue for an unarchived change no open PR is working on, andopenspec-sweep.ymlescalates it after seven days of no activity on the directory.Measured on #394 (
feat/onboarding-tool-detection):OpenSpec Labelrun35903683825listedonboard-host-tool-detection, applied theOpen OpenSpeclabel, and emitted##[warning]This is the tip of its stack and leaves an OpenSpec change unarchived.35905085496, after the change was archived, reportedNo unarchived OpenSpec changes on this branch.and removed the label. feat: detect host tools for the onboard recipe, and rename info's tools key to harnesses #394 carries no label today.Nothing blocks, and the edit is careful not to imply otherwise. The workflow's own header is emphatic about it: three earlier check-status versions were deleted in
8d1f3a1because a signal expected to be red is not a signal. It is also deliberately not a step inValidate, sincerelease-cli-nightly.ymltriggers onworkflow_runmatched to that workflow'sname:, so an unarchived change must not be able to gate a nightly publish. The operative advice is unchanged: an unarchived change directory is normal on a mid-stack PR; archive on the tip.Changes
Three passages in
CLAUDE.md, all in the Stacked PRs section:openspec-sweep.ymlmeasures exactly thatbranches:filters do not tell you where a workflow runs, which described the deleted archive check with no mention of what replaced itDocs only. No file under
packages/cli/src/**changed. Theiterate-prskill (.agents/skills/iterate-pr/SKILL.md) already describes the label, the tip warning, and the tracking issue accurately and needed no edit;openspec/specs/infrastructure/spec.mdsays "no check status reports it", which is still true as written.No changeset, so the
Changesetwarning on this PR is expected: documentation with no released surface.