Repository navigation
feat(api)!: seal Out and RenderContext, split internal execution options - #96
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
dreamcli | a9bc8af | Commit Preview URL Branch Preview URL |
Aug 10 2026, 08:22 PM |
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one) (1)
🚫 Excluded labels (none allowed) (2)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 error, 2 warnings)
✅ Passed checks (8 passed)
Comment |
Out and RenderContext, split internal execution options
commit: |
902416b to
a9bc8af
Compare
Brand both interfaces with private unique symbols so structural construction outside the framework fails to type-check. Move out, captured, mergedSchema, meta, and plugins off the public RunOptions and CLIRunOptions onto internal execution-option types threaded through runCommandInternal and CLIBuilder._execute. Reframe the changelog entry for required Out.verbosity as breaking.
a9bc8af to
59ae1a3
Compare
Breaking, targets v4. Stacked on #95.
OutandRenderContextcarry privateunique symbolbrands: structurally constructing or implementing them outside the framework no longer type-checks. Both are declared framework-created and non-exhaustive; new readonly members become minor-legal under the policy in docs(reference): publish a stability policy #97. Emit validated: attw and publint clean, brand unreachable through the exports map.out,captured,mergedSchema,meta, andpluginsleave the publicRunOptions/CLIRunOptionsfor internal execution-option types (InternalRunOptions,InternalCLIRunOptions) threaded throughrunCommandInternalandCLIBuilder._execute— the underscore-internal conventionErasedCommand._executealready uses.Outmock becomescreateCaptureOutput().Out.verbosityfrom fix(output): suppress spinner/progress under quiet, expose resolved verbosity #95 as an explicit breaking change with the spyOn migration recipe.