Dan/init plan or implement 2#428
Conversation
🦋 Changeset detectedLatest commit: a7de5cc The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro 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)
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 |
| init Initialize CipherStash for your project | ||
| impl Draft an encryption plan (or implement, if a plan exists) | ||
| plan Draft a reviewable encryption plan at .cipherstash/plan.md | ||
| impl Execute an encryption plan (or implement without one with --continue-without-plan) |
There was a problem hiding this comment.
Wording could be clearer:
impl Execute the plan with a local agent (use --continue-without-plan to skip a separate plan step)
The text in the brackets could be moved to a section at the end called impl flags (as we've done for DB and Init).
There was a problem hiding this comment.
Done — impl description simplified to Execute the plan with a local agent, with the flag note moved into the Impl Flags section.
| impl Draft an encryption plan (or implement, if a plan exists) | ||
| plan Draft a reviewable encryption plan at .cipherstash/plan.md | ||
| impl Execute an encryption plan (or implement without one with --continue-without-plan) | ||
| status Show project lifecycle: init done? plan written? implementation engaged? |
There was a problem hiding this comment.
Maybe simpler?
Displays implementation status
There was a problem hiding this comment.
Done — changed to Displays implementation status.
| Impl Flags: | ||
| --yolo Skip the planning checkpoint and go straight to implementation | ||
| (interactively confirms before proceeding) | ||
| --continue-without-plan Skip the planning checkpoint and go straight to implementation |
There was a problem hiding this comment.
Skip planning and go straight to implementation
There was a problem hiding this comment.
Done — Skip planning and go straight to implementation.
| /** | ||
| * The handoff steps in `impl/steps/handoff-*.ts` accept an `InitProvider` | ||
| * but ignore it (their `run` signatures take `_provider`). The provider | ||
| * abstraction belongs to the `init` flow, where it picks intro copy and | ||
| * default next-steps. `stash impl` reads everything it needs from | ||
| * `.cipherstash/context.json` instead, so a stub keeps the type signature | ||
| * happy without pretending impl has provider-specific behaviour. | ||
| * but ignore it. Stub keeps the type signature happy without pretending | ||
| * impl has provider-specific behaviour. | ||
| */ | ||
| const STUB_PROVIDER: InitProvider = { | ||
| name: 'impl', | ||
| introMessage: '', | ||
| getNextSteps: () => [], | ||
| } |
There was a problem hiding this comment.
Should this just be removed now?
There was a problem hiding this comment.
Removed. Made provider optional on InitStep.run, dropped STUB_PROVIDER from both impl and plan, and stopped threading it through howToProceedStep and the handoff steps.
| async function confirmContinueWithoutPlan(): Promise<void> { | ||
| const confirmed = await p.confirm({ | ||
| message: | ||
| 'Implementing without a plan commits you to ~45–60 min of agent work. Continue?', |
There was a problem hiding this comment.
This is framed quite negatively. It sounds like we're discouraging it!
Implementation can take some time. Continue?
45-60 minutes -> we actually don't know what the typical time will be yet.
Also, I dropped the "without a plan" - do we know that calling this without a plan meaningfully changes the execution time? Maybe worth checking.
There was a problem hiding this comment.
Reframed to Implementation can take some time. Continue?. Dropped the 45–60 min estimate (we don't have data yet) and the without a plan qualifier (no evidence it materially changes runtime — happy to add it back if we measure a difference).
Building gamified
stash initUX: split into init/impl, addedstash status, and added a plan-summary confirm gate before implementation.The full lifecycle now reads as save points: