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] Support nested capability paths in spec archive (e.g. specs/chats/my-chats/spec.md) #796
The archive command applies delta specs by doing a shallow readdir of changes/<name>/specs/, mapping each direct subdirectory to openspec/specs/<capability>/spec.md. This only supports one level deep:
We organize main specs in openspec/specs/ as a nested tree mirroring our PRD structure (e.g. specs/chats/, specs/chats/my-chats/, specs/wallet-and-tx/orders/). We want delta specs in changes to follow the same structure, so archive can merge them to the right node.
Proposed fix
Make findSpecUpdates traverse recursively: find all spec.md files under changeSpecsDir, and map each one to the corresponding path under mainSpecsDir, preserving the relative path.
changed the title [-]Support nested capability paths in spec archive (e.g. specs/chats/my-chats/spec.md)[/-][+][Feature Request] Support nested capability paths in spec archive (e.g. specs/chats/my-chats/spec.md)[/+]on Mar 3, 2026
Closing as fixed by #1355: delta spec discovery is recursive across parse, apply, and archive, so nested capability paths land where they belong.
Verified on current main with your exact desired layout: a change with specs/chats/my-chats/spec.md archives cleanly and the requirement merges into openspec/specs/chats/my-chats/spec.md, not a flattened path. On main, ships with the next release.
Activity
[-]Support nested capability paths in spec archive (e.g. specs/chats/my-chats/spec.md)[/-][+][Feature Request] Support nested capability paths in spec archive (e.g. specs/chats/my-chats/spec.md)[/+]clay-good commentedon Jul 22, 2026
Closing as fixed by #1355: delta spec discovery is recursive across parse, apply, and archive, so nested capability paths land where they belong.
Verified on current main with your exact desired layout: a change with
specs/chats/my-chats/spec.mdarchives cleanly and the requirement merges intoopenspec/specs/chats/my-chats/spec.md, not a flattened path. On main, ships with the next release.