Skip to content

fix: preserve mutation outcomes and bound reference replies - #45

Merged
linnnn89 merged 1 commit into
mainfrom
codex/tool-outcomes-reference-limits
Sep 11, 2026
Merged

linnnn89 merged 1 commit into
mainfrom
codex/tool-outcomes-reference-limits

Conversation

@linnnn89

Copy link
Copy Markdown
Owner

When a trash move completes near its request deadline, the Gateway can replace the known file location with a timeout. Reference queries also hide their existing Host limit from callers, and large replies have no final text budget.

This change:

  • Preserves completed or partial trash outcomes after the move while propagating cancellation before mutation and retaining interruption accounting.
  • Exposes the existing Roslyn reference limit (1–1000, default 100) and retains known totals and truncation in impact reports.
  • Bounds reference-tool replies by final formatted JSON size (2048–32768 UTF-16 characters, default 8000), preserving identities, known counts and explicit omissions. Required metadata that cannot fit returns a typed error. Internal impact aggregation and semantic coverage rules remain unchanged.

Validation: npm run check passed all 460 tests with no failures or skips, including fresh-process stdio, native builds and delivery verification. npm run test:error-contracts passed 17 scenarios. Focused regressions exercise real file mutations and cancellation, a real Roslyn Host with 120 references, escaped long previews, candidate identity and metadata overflow. Initial regressions failed on the old behavior and passed after the fixes.

The output budget does not bound Roslyn search time or memory. Client cancellation/disconnection cannot guarantee delivery of the final mutation result. Installed Skills and an already-running MCP connection are not updated by rebuilding. This is author self-review; required PR-head CI remains the merge gate.

@linnnn89
linnnn89 merged commit 4f4f4f7 into main Sep 11, 2026
6 checks passed
@linnnn89
linnnn89 deleted the codex/tool-outcomes-reference-limits branch September 12, 2026 11:01
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