You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Feature Request: Target Main Specs on Sync and Archive
#1570
Moved from issue #827, originally opened by @caleb-reyes-op on 2026-03-10. Continuing the conversation here in Discussions — the original issue thread (including any comments) stays available at #827 for the record.
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
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Note
Moved from issue #827, originally opened by @caleb-reyes-op on 2026-03-10. Continuing the conversation here in Discussions — the original issue thread (including any comments) stays available at #827 for the record.
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
All reactions