Proposal: Add workspace control plane proposal#956
Proposal: Add workspace control plane proposal#956rajashree-n wants to merge 3 commits intoFission-AI:mainfrom
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughWalkthroughAdds design, proposal, specs, and task documentation for a new first-class multi-repo "workspace" control-plane in OpenSpec, plus a small Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant CLI as "openspec CLI"
participant Manifest as "openspec-workspace.yaml"
participant RepoFS as "Sibling Repos / Filesystem"
participant Generator as "Router Generator"
User->>CLI: run `openspec workspace init` (root)
CLI->>RepoFS: discover candidate repos + instruction files
RepoFS-->>CLI: list of candidates
CLI->>User: present discovered entries for review
User-->>CLI: confirm selections
CLI->>Manifest: write `openspec-workspace.yaml` (normalized paths)
CLI->>RepoFS: scaffold control-plane repo files if missing
User->>CLI: run `openspec workspace sync`
CLI->>Manifest: read manifest
CLI->>Generator: generate routers (.agents.md) per manifest config
Generator->>RepoFS: write generated router files (unless repo-local preserved)
CLI->>User: report summary & drift info
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
openspec/changes/add-workspace-control-plane/tasks.md (1)
17-17: Clarify scope of instruction file detection.The phrasing "such as
AGENTS.md" suggests support for multiple instruction file formats, but the design and specs consistently reference onlyAGENTS.md. If other formats are intended, they should be documented in the design/specs; otherwise, consider simplifying to "Detect candidateAGENTS.mdinstruction files".🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@openspec/changes/add-workspace-control-plane/tasks.md` at line 17, Update the checklist entry text in tasks.md to clarify scope: replace the ambiguous item "Detect candidate instruction files such as `AGENTS.md`" with a specific form—either "Detect candidate `AGENTS.md` instruction files" if only AGENTS.md is supported, or enumerate the supported filenames/formats (e.g., `AGENTS.md`, `INSTRUCTIONS.md`) if multiple are intended; adjust the string in the checklist line so the wording in the document matches the actual supported formats referenced by the design/specs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@openspec/changes/add-workspace-control-plane/tasks.md`:
- Line 17: Update the checklist entry text in tasks.md to clarify scope: replace
the ambiguous item "Detect candidate instruction files such as `AGENTS.md`" with
a specific form—either "Detect candidate `AGENTS.md` instruction files" if only
AGENTS.md is supported, or enumerate the supported filenames/formats (e.g.,
`AGENTS.md`, `INSTRUCTIONS.md`) if multiple are intended; adjust the string in
the checklist line so the wording in the document matches the actual supported
formats referenced by the design/specs.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 85ab990f-78d5-4082-a663-75310442c6af
📒 Files selected for processing (6)
openspec/changes/add-workspace-control-plane/.openspec.yamlopenspec/changes/add-workspace-control-plane/design.mdopenspec/changes/add-workspace-control-plane/proposal.mdopenspec/changes/add-workspace-control-plane/specs/cli-workspace/spec.mdopenspec/changes/add-workspace-control-plane/specs/workspace-manifest/spec.mdopenspec/changes/add-workspace-control-plane/tasks.md
Summary
This PR adds a draft OpenSpec proposal for first-class multi-repo workspace support using a dedicated control-plane pattern.
The new change introduces:
openspec-workspace.yamlmanifest as the source of truth for workspace topologyopenspec workspacecommand surface withinit,sync, anddoctor.agents.mdderived from the manifestContext
This draft is based on the multi-repo workspace pattern described in my comment on issue #725:
#725 (comment)
Why
OpenSpec is currently project-root centric. That works well for single repos, but it leaves multi-repo teams without a standard way to keep agents grounded across a shared workspace.
This proposal targets a common setup like:
The goal is to let teams manage shared specs, schemas, and repo routing from a single control plane while preserving repo-local ownership of existing
AGENTS.mdfiles.What’s Included
proposal.mddesign.mdtasks.mdcli-workspaceworkspace-manifestKey Design Choices
openspec initremains project-scopedopenspec workspacecommand group.agents.mdis treated as a generated artifact, not the primary contractAGENTS.mdfiles are referenced, not overwrittenValidation
openspec validate add-workspace-control-planepassed locallyStatus
Draft proposal only. No runtime CLI implementation is included in this PR.
Summary by CodeRabbit
openspec workspacewithinit,sync, anddoctorcommands and expected workflows.