-
Notifications
You must be signed in to change notification settings - Fork 1.1k
chore: archive completed changes and clean up stale ones #455
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Archive 5 completed changes: - opsx-archive-command (synced specs) - add-specs-apply-command - add-per-change-schema-metadata - make-apply-instructions-schema-aware (synced specs) - add-agent-schema-selection Delete 5 stale/abandoned changes: - add-fingerprinting (no tasks, 7 weeks old) - add-scaffold-command (0/7 tasks, 7 weeks old) - add-proposal-frontmatter (no tasks, 8 weeks old) - add-interactive-proposal-command (no tasks, 8 weeks old) - make-validation-scope-aware (0/8 tasks, 4 months old) Sync delta specs to main: - Add opsx-archive-skill spec (new capability) - Update cli-artifact-workflow spec with Schema Apply Block and Apply Instructions Command requirements
📝 WalkthroughWalkthroughThis PR removes documentation for two planned features (scaffold command and scope-aware validation) while adding specification documentation for schema-aware apply instructions and an OPSX archive skill workflow. Changes
Sequence Diagram(s)sequenceDiagram
actor User
participant OPSX Skill
participant Archive Service
participant Validation
participant Spec Sync
User->>OPSX Skill: /opsx:archive (completed change)
activate OPSX Skill
OPSX Skill->>Validation: Check artifact completion
Validation-->>OPSX Skill: Artifacts status
OPSX Skill->>Validation: Check task completion
Validation-->>OPSX Skill: Tasks status
alt Incomplete items
OPSX Skill->>User: Warn & confirm proceed
User-->>OPSX Skill: Confirm
end
OPSX Skill->>Spec Sync: Check delta specs exist
Spec Sync-->>OPSX Skill: Specs status
alt Specs need sync
OPSX Skill->>User: Prompt sync
User-->>OPSX Skill: Confirm sync
OPSX Skill->>Spec Sync: /opsx:sync execution
end
OPSX Skill->>Archive Service: Move to YYYY-MM-DD-<change-name>
activate Archive Service
Archive Service->>Archive Service: Create archive dir if needed
Archive Service->>Archive Service: Move change & preserve .openspec.yaml
Archive Service-->>OPSX Skill: Archive complete
deactivate Archive Service
OPSX Skill->>User: Success summary (location, sync status, warnings)
deactivate OPSX Skill
sequenceDiagram
participant Client
participant CLI
participant Status Service
participant Apply Instructions
participant Schema
Client->>CLI: openspec status --json
activate CLI
CLI->>Status Service: Get change status
activate Status Service
Status Service->>Schema: Get schema for change
Schema-->>Status Service: Schema details
Status Service->>Status Service: Build applyRequires array
Status Service-->>CLI: JSON (changeName, schemaName, isComplete, artifacts, applyRequires)
deactivate Status Service
deactivate CLI
alt Apply block required & artifacts exist
Client->>CLI: openspec instructions apply
activate CLI
CLI->>Apply Instructions: Generate apply instructions
activate Apply Instructions
Apply Instructions->>Schema: Check apply.requires
Schema-->>Apply Instructions: Required artifacts
Apply Instructions->>Apply Instructions: Build context & instruction
Apply Instructions-->>CLI: JSON (contextFiles, instruction, tracks, applyRequires)
deactivate Apply Instructions
deactivate CLI
else Missing required artifacts
Client->>CLI: openspec instructions apply
CLI->>Apply Instructions: Generate apply instructions
Apply Instructions->>Schema: Check apply.requires
Schema-->>Apply Instructions: Required artifacts list
Apply Instructions-->>CLI: Block with visibility of missing artifacts
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom Pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Review CompleteYour review story is ready! Comment !reviewfast on this PR to re-generate the story. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
openspec/specs/cli-artifact-workflow/spec.md (1)
4-4: Replace TBD placeholder with actual Purpose section.The Purpose section contains a TODO comment that should be completed before release. Provide a clear, concise purpose statement for the cli-artifact-workflow specification.
🤖 Fix all issues with AI agents
In @openspec/specs/opsx-archive-skill/spec.md:
- Around line 1-3: Add an h2 heading between the existing H1 "OPSX Archive Skill
Spec" and the H3 "### Requirement" (for example "## Overview" or "## Purpose")
so the document follows proper markdown hierarchy; insert the chosen H2
immediately after the title and before the "### Requirement: OPSX Archive Skill"
section to restore the expected heading structure.
🧹 Nitpick comments (1)
openspec/specs/opsx-archive-skill/spec.md (1)
37-37: Minor: Consider conciseness in status message.Line 37 uses "proceed without warning"; consider shorter alternatives like "proceed silently" or "skip warning" for brevity.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (27)
openspec/changes/add-scaffold-command/proposal.mdopenspec/changes/add-scaffold-command/specs/cli-scaffold/spec.mdopenspec/changes/add-scaffold-command/tasks.mdopenspec/changes/archive/2026-01-06-add-agent-schema-selection/proposal.mdopenspec/changes/archive/2026-01-06-add-agent-schema-selection/tasks.mdopenspec/changes/archive/2026-01-06-add-per-change-schema-metadata/design.mdopenspec/changes/archive/2026-01-06-add-per-change-schema-metadata/proposal.mdopenspec/changes/archive/2026-01-06-add-per-change-schema-metadata/specs/cli-artifact-workflow/spec.mdopenspec/changes/archive/2026-01-06-add-per-change-schema-metadata/tasks.mdopenspec/changes/archive/2026-01-06-add-specs-apply-command/.openspec.yamlopenspec/changes/archive/2026-01-06-add-specs-apply-command/design.mdopenspec/changes/archive/2026-01-06-add-specs-apply-command/proposal.mdopenspec/changes/archive/2026-01-06-add-specs-apply-command/specs/specs-sync-skill/spec.mdopenspec/changes/archive/2026-01-06-add-specs-apply-command/tasks.mdopenspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/proposal.mdopenspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/specs/cli-artifact-workflow/spec.mdopenspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/tasks.mdopenspec/changes/archive/2026-01-06-opsx-archive-command/.openspec.yamlopenspec/changes/archive/2026-01-06-opsx-archive-command/design.mdopenspec/changes/archive/2026-01-06-opsx-archive-command/proposal.mdopenspec/changes/archive/2026-01-06-opsx-archive-command/specs/opsx-archive-skill/spec.mdopenspec/changes/archive/2026-01-06-opsx-archive-command/tasks.mdopenspec/changes/make-validation-scope-aware/proposal.mdopenspec/changes/make-validation-scope-aware/specs/cli-validate/spec.mdopenspec/changes/make-validation-scope-aware/tasks.mdopenspec/specs/cli-artifact-workflow/spec.mdopenspec/specs/opsx-archive-skill/spec.md
💤 Files with no reviewable changes (6)
- openspec/changes/add-scaffold-command/tasks.md
- openspec/changes/make-validation-scope-aware/tasks.md
- openspec/changes/make-validation-scope-aware/specs/cli-validate/spec.md
- openspec/changes/make-validation-scope-aware/proposal.md
- openspec/changes/add-scaffold-command/proposal.md
- openspec/changes/add-scaffold-command/specs/cli-scaffold/spec.md
🧰 Additional context used
📓 Path-based instructions (3)
openspec/specs/**/spec.md
📄 CodeRabbit inference engine (openspec/AGENTS.md)
Use SHALL/MUST for normative requirements in spec files; avoid should/may unless intentionally non-normative
Files:
openspec/specs/cli-artifact-workflow/spec.mdopenspec/specs/opsx-archive-skill/spec.md
openspec/changes/**/*.md
📄 CodeRabbit inference engine (openspec/AGENTS.md)
Scaffold proposal using
proposal.md,tasks.md, optionaldesign.md, and delta specs underopenspec/changes/<id>/
Files:
openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/specs/cli-artifact-workflow/spec.md
openspec/changes/**/specs/**/spec.md
📄 CodeRabbit inference engine (openspec/AGENTS.md)
openspec/changes/**/specs/**/spec.md: Use## ADDED|MODIFIED|REMOVED|RENAMED Requirementsheaders in spec delta files
Include at least one#### Scenario:per requirement in spec delta files
Use#### Scenario: Nameformat (4 hashtags) for scenario headers, not bullets or bold text
Use## ADDED Requirementsfor new orthogonal capabilities that can stand alone; use## MODIFIED Requirementsfor behavior changes of existing requirements
When using MODIFIED Requirements, paste the full requirement block including header and all scenarios
Files:
openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/specs/cli-artifact-workflow/spec.md
🧠 Learnings (12)
📓 Common learnings
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Use `openspec archive <change-id> --skip-specs --yes` for tooling-only changes
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/**/*.md : Scaffold proposal using `proposal.md`, `tasks.md`, optional `design.md`, and delta specs under `openspec/changes/<id>/`
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Move completed changes from `changes/[name]/` to `changes/archive/YYYY-MM-DD-[name]/` after deployment
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:02.839Z
Learning: Use `@/openspec/AGENTS.md` to learn how to create and apply change proposals, spec format and conventions, and project structure and guidelines
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/**/specs/**/spec.md : Include at least one `#### Scenario:` per requirement in spec delta files
Applied to files:
openspec/specs/cli-artifact-workflow/spec.mdopenspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/specs/cli-artifact-workflow/spec.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/**/specs/**/spec.md : Use `## ADDED Requirements` for new orthogonal capabilities that can stand alone; use `## MODIFIED Requirements` for behavior changes of existing requirements
Applied to files:
openspec/specs/cli-artifact-workflow/spec.mdopenspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/specs/cli-artifact-workflow/spec.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/**/specs/**/spec.md : When using MODIFIED Requirements, paste the full requirement block including header and all scenarios
Applied to files:
openspec/specs/cli-artifact-workflow/spec.mdopenspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/specs/cli-artifact-workflow/spec.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/**/specs/**/spec.md : Use `## ADDED|MODIFIED|REMOVED|RENAMED Requirements` headers in spec delta files
Applied to files:
openspec/specs/cli-artifact-workflow/spec.mdopenspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/specs/cli-artifact-workflow/spec.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/*/proposal.md : Ensure `proposal.md` includes sections: Why (1-2 sentences), What Changes (bullet list with breaking change markers), and Impact (affected specs and code)
Applied to files:
openspec/specs/cli-artifact-workflow/spec.mdopenspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/specs/cli-artifact-workflow/spec.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/**/specs/**/spec.md : Use `#### Scenario: Name` format (4 hashtags) for scenario headers, not bullets or bold text
Applied to files:
openspec/specs/cli-artifact-workflow/spec.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/**/*.md : Scaffold proposal using `proposal.md`, `tasks.md`, optional `design.md`, and delta specs under `openspec/changes/<id>/`
Applied to files:
openspec/specs/cli-artifact-workflow/spec.mdopenspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/specs/cli-artifact-workflow/spec.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Run `openspec validate [change-id] --strict` before requesting approval
Applied to files:
openspec/specs/cli-artifact-workflow/spec.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Use `openspec archive <change-id> --skip-specs --yes` for tooling-only changes
Applied to files:
openspec/specs/opsx-archive-skill/spec.md
📚 Learning: 2025-11-25T01:08:02.839Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:02.839Z
Learning: Use `@/openspec/AGENTS.md` to learn how to create and apply change proposals, spec format and conventions, and project structure and guidelines
Applied to files:
openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/specs/cli-artifact-workflow/spec.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/*/tasks.md : Ensure `tasks.md` contains implementation checklist with numbered sections and checkbox items
Applied to files:
openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/specs/cli-artifact-workflow/spec.md
🪛 LanguageTool
openspec/specs/opsx-archive-skill/spec.md
[style] ~37-~37: ‘without warning’ might be wordy. Consider a shorter alternative.
Context: ...s have status done - THEN proceed without warning ### Requirement: Task Completion Check...
(EN_WORDINESS_PREMIUM_WITHOUT_WARNING)
🪛 markdownlint-cli2 (0.18.1)
openspec/specs/opsx-archive-skill/spec.md
3-3: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3
(MD001, heading-increment)
🔇 Additional comments (5)
openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/specs/cli-artifact-workflow/spec.md (1)
1-60: Verify the full requirement block in MODIFIED Requirements.Per coding guidelines, when using MODIFIED Requirements in spec delta files, the full requirement block including header and all scenarios should be included. Lines 49–60 show only the new scenario being added to Status Command; consider whether the full Status Command requirement (with all existing and new scenarios) should be present in this delta spec for completeness.
Note: Since this is an archived change that has already been synced, the actual applied changes should be validated in the main spec file instead.
openspec/specs/cli-artifact-workflow/spec.md (3)
30-35: New scenario properly extends Status Command.The new "Status JSON includes apply requirements" scenario correctly integrates into the Status Command requirement, adding the
applyRequiresfield to the JSON output. Formatting and normative language (SHALL) are correct per spec guidelines.
169-214: Schema Apply Block and Apply Instructions Command are well-structured.Both new requirements follow spec conventions: proper
## ADDED Requirementsheader, correct#### Scenario:format with WHEN/THEN structure, and normative SHALL language. The three scenarios for Apply Instructions Command comprehensively cover successful generation, blocking behavior, and JSON output format. The Schema Apply Block correctly introducesapply.requires,apply.tracks, andapply.instructionconcepts with both presence and absence scenarios.
215-221: REMOVED Requirements section is clear and actionable.The deprecation of the Next Command is well-reasoned (redundancy with Status JSON filtering), and the migration path via
openspec status --change <id> --jsonwith filtering is clear and helpful.openspec/specs/opsx-archive-skill/spec.md (1)
3-122: Comprehensive archive skill specification with clear scenarios.The specification is well-structured with five cohesive requirements covering change selection, artifact/task completion checks, spec sync prompts, archive mechanics, and user feedback. All requirements use SHALL (normative language), and all scenarios follow the correct
#### Scenario:format with proper WHEN/THEN structure. The scenarios comprehensively cover both happy paths and error conditions (e.g., incomplete artifacts, existing archive directories).
| # OPSX Archive Skill Spec | ||
|
|
||
| ### Requirement: OPSX Archive Skill |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add missing h2 section heading between title and requirements.
The file starts with an h1 heading (# OPSX Archive Skill Spec) then jumps directly to h3 (### Requirement:), skipping the h2 level. Add an intermediate h2 section (e.g., ## Purpose, ## Overview, or ## Specification) to comply with markdown structure conventions.
🔎 Suggested structure fix
# OPSX Archive Skill Spec
+## Specification
+
### Requirement: OPSX Archive Skill📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| # OPSX Archive Skill Spec | |
| ### Requirement: OPSX Archive Skill | |
| # OPSX Archive Skill Spec | |
| ## Specification | |
| ### Requirement: OPSX Archive Skill |
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
3-3: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3
(MD001, heading-increment)
🤖 Prompt for AI Agents
In @openspec/specs/opsx-archive-skill/spec.md around lines 1 - 3, Add an h2
heading between the existing H1 "OPSX Archive Skill Spec" and the H3 "###
Requirement" (for example "## Overview" or "## Purpose") so the document follows
proper markdown hierarchy; insert the chosen H2 immediately after the title and
before the "### Requirement: OPSX Archive Skill" section to restore the expected
heading structure.
Summary
openspec/changes/archive/Archived Changes
Deleted Stale Changes
Spec Changes
openspec/specs/opsx-archive-skill/spec.mdopenspec/specs/cli-artifact-workflow/spec.mdapplyRequiresin Status JSON outputTest plan
openspec listshows only active changesopenspec/changes/archive/🤖 Generated with Claude Code
Summary by CodeRabbit
Release Notes
Revert
New Features
✏️ Tip: You can customize this high-level summary in your review settings.