Feature Request: Target Main Specs on Sync and Archive
TL;DR
Allow /opsx:sync and /opsx:archive to target specific main specs, enabling changes to evolve a single main spec over time rather than creating conflicting spec files. OR, remove the main spec entirely -- the code **is** the most accurate state of things now.
Core Problem
A main spec should represent the current state of a feature, not a point in time. In brownfield development, features evolve over time through multiple changes. Currently, if multiple changes target the same main spec, they create separate spec files that could contradict each other.
Example
openspec/specs/ui/spec.md (main spec - current state)
openspec/changes/add-header/
specs/ui/spec.md (delta spec - wants to update main spec)
openspec/changes/add-footer/
specs/ui/spec.md (delta spec - wants to update same main spec)
If both changes create separate main specs, we end up with contradictory specifications.
Current Behavior
/opsx:sync and /opsx:archive don't allow targeting specific main specs
- Changes can't easily evolve a single main spec over time
- Risk of creating contradictory spec files
Proposed Solution
Allow /opsx:sync and /opsx:archive to target specific main specs:
/opsx:sync --spec ui
/opsx:archive --spec ui
This enables:
- Multiple changes to evolve the same main spec
- Sequential archiving of related changes
- Single source of truth for feature state
Benefits
- Single source of truth: One main spec per feature
- Evolvable: Specs can be updated over time
- No contradictions: Changes build on each other sequentially
- Brownfield friendly: Supports ongoing feature development
Feature Request: Target Main Specs on Sync and Archive
TL;DR
Allow
/opsx:syncand/opsx:archiveto target specific main specs, enabling changes to evolve a single main spec over time rather than creating conflicting spec files. OR, remove the main spec entirely -- the code **is** the most accurate state of things now.Core Problem
A main spec should represent the current state of a feature, not a point in time. In brownfield development, features evolve over time through multiple changes. Currently, if multiple changes target the same main spec, they create separate spec files that could contradict each other.
Example
If both changes create separate main specs, we end up with contradictory specifications.
Current Behavior
/opsx:syncand/opsx:archivedon't allow targeting specific main specsProposed Solution
Allow
/opsx:syncand/opsx:archiveto target specific main specs:This enables:
Benefits