Skip to content

feat(api)!: seal Out and RenderContext, split internal execution options - #96

Merged
kjanat merged 1 commit into
94-quiet-modefrom
v4-sealed-contexts
Aug 12, 2026
Merged

kjanat merged 1 commit into
94-quiet-modefrom
v4-sealed-contexts

Conversation

@kjanat

@kjanat kjanat commented Aug 1, 2026 •

Copy link
Copy Markdown
Owner

Breaking, targets v4. Stacked on #95.

  • Out and RenderContext carry private unique symbol brands: 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, and plugins leave the public RunOptions/CLIRunOptions for internal execution-option types (InternalRunOptions, InternalCLIRunOptions) threaded through runCommandInternal and CLIBuilder._execute — the underscore-internal convention ErasedCommand._execute already uses.
  • In-repo tests exercising those seams migrate to the internal entry points; the hand-rolled Out mock becomes createCaptureOutput().
  • Changelog reframes the required Out.verbosity from fix(output): suppress spinner/progress under quiet, expose resolved verbosity #95 as an explicit breaking change with the spyOn migration recipe.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 1, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

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

@coderabbitai

coderabbitai Bot commented Aug 1, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one) (1)
  • cr:review
🚫 Excluded labels (none allowed) (2)
  • wip
  • cr:skip

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Pro

Run ID: 494bb556-5246-42b4-9d18-afc63c6dca98

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error, 2 warnings)

Check name Status Explanation Resolution
Release Metadata Sync ❌ Error Versions and latest heading are 3.0.1, but [Unreleased] still compares v3.0.0-rc.17...HEAD and no [3.0.1] comparison link exists. Update [Unreleased] to compare v3.0.1...HEAD and add [3.0.1] linking from the previous release tag to v3.0.1.
Semver Version Bump Validation ⚠️ Warning Source files changed, including breaking public API changes, but no supported version file changed; package.json remains 3.0.1 on the base and PR commits. Update package.json to a SemVer 4.x release, with MAJOR incremented from 3, and include the version change in the PR.
Agents.Md Documentation Updated ⚠️ Warning The PR changes CLI interfaces and execution architecture, but no AGENTS.md file is modified; existing guidance omits _execute/runCommandInternal and misstates mergedSchema on RunOptions. Update src/core/cli/AGENTS.md, src/core/schema/AGENTS.md, and src/core/testkit/AGENTS.md to document the new interfaces and execution responsibilities.
✅ Passed checks (8 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 30.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Runtime Support Sync ✅ Passed The PR changes only API and testkit files plus CHANGELOG.md; no runtime minimum or support claim changes. Engines and all listed runtime floors match the parent commit.
No Generated Docs Artifacts ✅ Passed The PR changes only CHANGELOG.md and src/core files; no files under docs/.vitepress/dist/ or docs/.vitepress/cache/ are edited.
Changelog Update ✅ Passed Source files changed, and CHANGELOG.md was updated under ## [Unreleased] with Changed/Fixed entries covering the breaking API and execution-option changes. package.json remains 3.0.1, so no version...
Title check ✅ Passed The title clearly describes the API sealing and internal execution-option changes and uses a conventional commit prefix.
Description check ✅ Passed The description accurately summarises the breaking API changes, internal option split, test updates, and validation results.

Comment @coderabbitai help to get the list of available commands.

@kjanat kjanat self-assigned this Aug 1, 2026
@coderabbitai coderabbitai Bot added area: cli CLI dispatch, planning, root UX, or plugins area: output Output channels, tables, spinners, and JSON mode area: schema Schema builders, schema DSL, and JSON Schema export area: testkit In-process test harness and test utilities impact: breaking Introduces a breaking API, runtime, or packaging change kind: feature New capability or product enhancement labels Aug 2, 2026
coderabbitai[bot]

This comment was marked as low quality.

@kjanat kjanat added the cr:review Allow CodeRabbit review label Aug 2, 2026
@kjanat kjanat changed the title feat(api)!: seal Out and RenderContext, split internal execution options feat(api)!: seal Out and RenderContext, split internal execution options Aug 3, 2026
@kjanat kjanat added this to the v4 milestone Aug 3, 2026 — with ChatGPT Codex Connector
@kjanat
kjanat marked this pull request as ready for review August 3, 2026 23:38
@pkg-pr-new

pkg-pr-new Bot commented Aug 3, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

bun add https://pkg.pr.new/@kjanat/dreamcli@96
npm i https://pkg.pr.new/@kjanat/dreamcli@96

commit: 59ae1a3

@kjanat kjanat added cr:skip Skip CodeRabbit review and removed cr:review Allow CodeRabbit review labels Aug 10, 2026
@kjanat
kjanat force-pushed the v4-sealed-contexts branch 2 times, most recently from 902416b to a9bc8af Compare August 10, 2026 20:19
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.
@kjanat
kjanat force-pushed the v4-sealed-contexts branch from a9bc8af to 59ae1a3 Compare August 10, 2026 21:16
@kjanat
kjanat merged commit 16b269c into master Aug 12, 2026
18 checks passed
@kjanat
kjanat deleted the v4-sealed-contexts branch August 12, 2026 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: cli CLI dispatch, planning, root UX, or plugins area: output Output channels, tables, spinners, and JSON mode area: schema Schema builders, schema DSL, and JSON Schema export area: testkit In-process test harness and test utilities cr:skip Skip CodeRabbit review impact: breaking Introduces a breaking API, runtime, or packaging change kind: feature New capability or product enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant