Skip to content

fix(workbench): repeated-flag usage, optional-boolean omission, stale MCP prefill rejection - #226

Merged
ScriptedAlchemy merged 2 commits into
mainfrom
wave5/p2-usage-input-prefill
Sep 1, 2026
Merged

fix(workbench): repeated-flag usage, optional-boolean omission, stale MCP prefill rejection#226
ScriptedAlchemy merged 2 commits into
mainfrom
wave5/p2-usage-input-prefill

Conversation

@ScriptedAlchemy

Copy link
Copy Markdown
Owner

Folds the three post-merge Codex P2 findings on #222/#224 into fixes.

Fixes

  1. fix(workbench): route catalog review fixes from #211 (usage arity, empty server surfaces, stale-repair e2e) #222 — variadic named options (routes-model.ts cliCommandUsage): non-positional options from array schemas now append the same ... repetition marker the generated CLI help prints (cli-entry.ts option rows): required --source <string> ..., optional [--tag <string> ...]. Booleans cannot repeat (the grammar rejects boolean arrays), so flag rendering is otherwise unchanged.
  2. feat(workbench): schema-driven route input editors over a static manifest inputSchema (#105 stage 2) #224 — optional booleans keep an unset state (routes-model.ts + routes-page.tsx): an optional boolean without a schema default no longer initializes to false — it stays out of the draft and renders as a three-state select ((omitted)/true/false), so an untouched field is genuinely omitted from the validated arguments and the MCP prefill, while an explicit false still travels as false. Required and defaulted booleans keep their checkbox. The flagship e2e now asserts strict is omitted from the prefilled arguments unless explicitly set.
  3. feat(workbench): schema-driven route input editors over a static manifest inputSchema (#105 stage 2) #224 — stale prefill must not fall back (mcp-page.tsx): a non-empty tool selection that the live session does not advertise no longer falls back to tools[0]. The prefill aside states the server no longer advertises the tool and no call control is rendered, so prepared arguments can never attach to a different tool; picking any advertised tool starts with empty arguments (manual selection already resets them). The plain manual flow (empty selection defaults to the first advertised tool) is unchanged.

Verification

  • pnpm typecheck, pnpm lint: clean.
  • Workbench unit slice: 691/691 (new cases: repeated-flag usage markers, optional-boolean draft omission + explicit true/false + required-boolean error, stale-prefill rejection without another tool selected, matching-prefill still callable).
  • Browser (real Chrome, 1440×900): flagship routes-catalog e2e re-run green, including the tri-state Strict control, omitted-strict prefill, and the existing stale→repair legs.

…n, stale MCP prefill rejection

Mark repeatable named options with the generated help's ` ...` suffix, keep
optional undefaulted booleans out of the draft until explicitly set, and
surface a missing-tool notice instead of attaching prefilled arguments to the
first advertised tool.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 1, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-01T22:53:47.486481Z f533760 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@changeset-bot

changeset-bot Bot commented Sep 1, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 1e2b8b1

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
agent-bundle Patch

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

@ScriptedAlchemy
ScriptedAlchemy merged commit 6901324 into main Sep 1, 2026
8 of 9 checks passed
@ScriptedAlchemy
ScriptedAlchemy deleted the wave5/p2-usage-input-prefill branch September 1, 2026 22:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant