Skip to content

ci: require OpenSpec changes to be archived - #179

Merged
dustinbyrne merged 2 commits into
mainfrom
ci/require-archived-spec-changes
Nov 5, 2026
Merged

dustinbyrne merged 2 commits into
mainfrom
ci/require-archived-spec-changes

Conversation

@dustinbyrne

Copy link
Copy Markdown
Contributor

Summary

OpenSpec CI currently validates canonical specifications but allows unfinished change proposals to pass. Repository policy requires changes to be applied and archived in the same PR before merging.

  • Add an independent Require archived changes job to the OpenSpec workflow.
  • Fail when openspec/changes/ contains a directory other than archive/, and list the unarchived changes in the log.
  • Preserve the existing workflow triggers, permissions and canonical-spec validation.

This is CI-only; no SDK behavior or release metadata changes. Configure the new check as required in branch protection to enforce it at merge time.

Validation

  • Workflow YAML parses successfully.
  • Bash syntax check passes.
  • Executed the exact inline check against five directory-tree scenarios: archived history passes; one or multiple active changes fail; current main passes; the proposal-only tree from docs(flags): specify SDK-sent $experiment_exposure for config version 2 flags #162 fails and names its active change.
  • git diff --check passes.
  • Independent read-only review found no issues.

@dustinbyrne
dustinbyrne requested a review from a team as a code owner November 4, 2026 19:44

@ioannisj ioannisj 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.

🤖 An AI agent wrote this on behalf of @ioannisj.

The find check itself looks right to me, my only concern is how it gets enforced. As it stands it can't become a required check without blocking every PR outside openspec/**, so I think it needs to move out of the path-filtered workflow first.

Comment thread .github/workflows/openspec.yml Resolved
@ioannisj
ioannisj requested a review from a team November 5, 2026 07:16
@dustinbyrne
dustinbyrne merged commit ff629e2 into main Nov 5, 2026
10 checks passed
@dustinbyrne
dustinbyrne deleted the ci/require-archived-spec-changes branch November 5, 2026 22:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants