spec(control-plane): add Workspace Initialization for repo cloning#1477
spec(control-plane): add Workspace Initialization for repo cloning#1477jsell-rh wants to merge 1 commit intoambient-code:mainfrom
Conversation
✅ Deploy Preview for cheerful-kitten-f556a0 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
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 |
1e95c84 to
d42fd09
Compare
Add two new spec files documenting the CP's gaps in workspace initialization (repo cloning, S3 state hydration) and ongoing state persistence (S3 sync sidecar). Both capabilities exist in the operator but are missing from the CP path, resulting in empty repo directories and ephemeral-only storage for CP-provisioned sessions. Supersedes draft PR ambient-code#1477 which targeted the old file location (docs/internal/design/) before the spec reorg in ambient-code#1488. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
d42fd09 to
fb3ce08
Compare
Summary
control-plane.spec.mddocumenting the init container pattern for cloning repos into/workspace/repos/before the runner startssession.RepoURLorsession.Repos), repo URL normalization, credential injection for private repos, and the current gap statusREPOS_JSONto the environment variables tableContext
Sessions created with
--repo-urlvia the CLI/TUI currently produce an empty directory at/workspace/repos/<name>— the control plane setsREPOS_JSONas an env var but does not create an init container to actually clone the repo. The operator implements this correctly; this spec defines the same behavior for the control plane so it can be implemented.Test plan
reconcileSpecReposWithPatch🤖 Generated with Claude Code