PR #23285 real dev verification main: c677d5fc45 (github/main) original PR: a6ea6a8e835246884514b8ff58d2edc3a79b8a8d fixed head: 833c61be35966feba86c36e670a7416ff12ec605 Commands: vp i; background vp run dev (one server at a time); Playwright from repo dependencies with /usr/bin/google-chrome; app-created project /home/user/parameter-proof; real Codex gpt-6.1-sol turns. MAIN authenticated initialize + tools/list + tools/call: authenticated tools/list HTTP 200; 66 tools; app-issued OAuth MCP client credential delegate_task.clientRequestId: ABSENT delegate_task.target.providerInstanceId: ABSENT delegate_task.target.driverKind: ABSENT request_secret.label: ABSENT request_secret.reason: ABSENT schedule_task.projectId: ABSENT list_scheduled_tasks.projectId: ABSENT orchestrator_capabilities.search: ABSENT link_pull_request.threadId: ABSENT link_pull_request.repository: ABSENT link_pull_request.host: ABSENT list_thread_pull_requests.threadId: ABSENT t3_worktree_handoff.baseRef: ABSENT t3_worktree_handoff.continuationPrompt: ABSENT device_open.deviceId: ABSENT device_open.hostId: ABSENT device_screenshot.deviceId: ABSENT device_close.deviceId: ABSENT t3_thread_update.title: ABSENT t3_thread_update.clientRequestId: ABSENT schedule_task.schedule.timeOfDay: ABSENT schedule_task.schedule.signature.header: ABSENT tools/call orchestrator_capabilities search=" gpt-6.1-sol ": HTTP 200; isError=false; {"content":[{"type":"text","text":"{\"parentThreadId\":null,\"inheritedProviderInstanceId\":null,\"inheritedModel\":null,\"inheritedOptions\":[],\"runtimeMode\":\"full-access\",\"interactionMode\":\"default\",\"providers\":[{\"providerInstanceId\":\"codex\",\"driverKind\":\"codex\",\"displayName\":\"Codex\",\"models\":[{\"id\":\"gpt-6.1-sol\",\"options\":[{\"id\":\"reasoningEffort\",\"values\":[\"low\",\"medium\",\"high\",\"xhigh\",\"max\",\"ultra\"],\"default\":\"low\"},{\"id\":\"serviceTier\", tools/call orchestrator_capabilities search=" ": HTTP 200; isError=false; {"code":-32602,"message":"Invalid parameters for tool 'orchestrator_capabilities': Expected a non-blank string\n at [\"search\"]"} tools/call orchestrator_capabilities search="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx": HTTP 200; isError=false; {"code":-32602,"message":"Invalid parameters for tool 'orchestrator_capabilities': Expected a value with a length of at most 200\n at [\"search\"]"} ORIGINAL PR real Codex response: parameter descriptions exposed: orchestrator_capabilities.search: "Match model ids and labels. Replaces the short list." t3_thread_update.title: ABSENT t3_thread_update.clientRequestId: ABSENT tool results: orchestrator_capabilities({"search":"gpt-6.1-sol"}): succeeded; returned gpt-6.1-sol with reasoning and service-tier options. list_scheduled_tasks() with no arguments: {"tasks":[]}. t3_thread_update: succeeded; title is MCP parameter proof, sequence 45. returned command id ends with :rename:proof-rename-1. no repository files changed. nothing delegated or scheduled. 10:35 AM FIXED HEAD authenticated initialize + tools/list + tools/call: authenticated tools/list HTTP 200; 66 tools; app-issued OAuth MCP client credential delegate_task.clientRequestId: Reuse it to retry the same call. A new call gets a new key. delegate_task.target.providerInstanceId: Provider instance id from `orchestrator_capabilities`. delegate_task.target.driverKind: Prefer `providerInstanceId`. request_secret.label: Card title, such as 'GitHub webhook secret'. request_secret.reason: What it is for and where to get it. schedule_task.projectId: Project to use. Default: your thread's project. Required outside a thread. list_scheduled_tasks.projectId: Default: your thread's project, or all outside a thread. orchestrator_capabilities.search: Match model ids and labels. Replaces the short list. link_pull_request.threadId: Thread. Default: this thread. link_pull_request.repository: With `number`, when no `url`. link_pull_request.host: Default: this project's host. list_thread_pull_requests.threadId: Thread. Default: this thread. t3_worktree_handoff.baseRef: Default: checked-out branch. t3_worktree_handoff.continuationPrompt: Work to resume in the worktree next turn. Omitted: thread waits. device_open.deviceId: Device id from `device_list`. Default: the booted or last used device. device_open.hostId: Host from `device_list`. Default local. device_screenshot.deviceId: Device. Default: the last one opened here. device_close.deviceId: Device to close. None: close all here. t3_thread_update.title: New concise display title. Required only when action is rename. t3_thread_update.clientRequestId: Stable idempotency key to reuse when retrying this mutation. schedule_task.schedule.timeOfDay: Local time as HH:MM, such as 09:30. schedule_task.schedule.signature.header: Header with the signature, such as x-hub-signature-256. tools/call orchestrator_capabilities search=" gpt-6.1-sol ": HTTP 200; isError=false; {"content":[{"type":"text","text":"{\"parentThreadId\":null,\"inheritedProviderInstanceId\":null,\"inheritedModel\":null,\"inheritedOptions\":[],\"runtimeMode\":\"full-access\",\"interactionMode\":\"default\",\"providers\":[{\"providerInstanceId\":\"codex\",\"driverKind\":\"codex\",\"displayName\":\"Codex\",\"models\":[{\"id\":\"gpt-6.1-sol\",\"options\":[{\"id\":\"reasoningEffort\",\"values\":[\"low\",\"medium\",\"high\",\"xhigh\",\"max\",\"ultra\"],\"default\":\"low\"},{\"id\":\"serviceTier\", tools/call orchestrator_capabilities search=" ": HTTP 200; isError=false; {"code":-32602,"message":"Invalid parameters for tool 'orchestrator_capabilities': Expected a non-blank string\n at [\"search\"]"} tools/call orchestrator_capabilities search="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx": HTTP 200; isError=false; {"code":-32602,"message":"Invalid parameters for tool 'orchestrator_capabilities': Expected a value with a length of at most 200\n at [\"search\"]"} thread rename: whitespace trimmed; retry returned identical sequence 181 thread rename invalid input rejected: Invalid parameters for tool 't3_thread_update': Expected a non-blank string at ["title"] thread rename invalid input rejected: Invalid parameters for tool 't3_thread_update': clientRequestId must contain valid paired Unicode surrogates. at ["clientRequestId"] original PR vs fix: 66/66 authenticated tools/list input schemas identical after removing descriptions; differences=[] FIXED HEAD real Codex response: exact exposed parameter descriptions: orchestrator_capabilities.search: "Match model ids and labels. Replaces the short list." t3_thread_update.title: "New concise display title. Required only when action is rename." t3_thread_update.clientRequestId: "Stable idempotency key to reuse when retrying this mutation." tool results, in order: orchestrator_capabilities({"search":"gpt-6.1-sol"}) succeeded. returned codex model gpt-6.1-sol, runtime full-access, interaction mode default. list_scheduled_tasks({}) succeeded: {"tasks":[]}. t3_thread_update succeeded with clientRequestId: "proof-rename-1". PP MCP parameter proof now has title "MCP parameter proof", sequence 153, updated at 2026-10-28T09:43:50.956Z. no repository files changed. nothing delegated or scheduled. 10:43 AM Checks on Blacksmith: v5.0.5 /home/runner/_work/maria-blacksmith/maria-blacksmith-source ✓ root packages/contracts/src/threadMetadataMcp.test.ts (1 test) 5ms ✓ root packages/contracts/src/orchestratorMcp.test.ts (1 test) 5ms ✓ t3 src/mcp/toolkits/core.test.ts (17 tests) 254ms ✓ t3 src/mcp/McpHttpServer.test.ts (21 tests) 435ms Test Files 4 passed (4) Tests 40 passed (40) Start at 09:38:40 Duration 15.10s (transform 67%, import 22%, setup 7%, tests 3%) pass format 0.4s pass lint 1.8s pass knip 1/2 24.8s pass knip 2/2 41.5s pass graphql (apps/server) 1.0s pass typecheck (32 packages) 40.2s pass test (6 files) 40.5s CI also runs: full test suites, build, release smoke unused patch check skipped: no dependency files changed pass not cached: files changed during the run