Skip to content

[V3] #233: Structured tool arguments and MCP invocation - #276

Merged
EvanProgramming merged 6 commits into
mainfrom
Evan/v3-233-typed-invocation
Oct 12, 2026
Merged

EvanProgramming merged 6 commits into
mainfrom
Evan/v3-233-typed-invocation

Conversation

@EvanProgramming

@EvanProgramming EvanProgramming commented Oct 11, 2026 •

Copy link
Copy Markdown
Owner

Summary

Completes V3 issue #233 (R014–R018). It routes provider and MCP calls through the same validated JSON-object executor boundary, with typed results and structured receipts.

Changes

  • Added strict object-schema validation for required/unknown fields, nested objects and arrays, primitive types, constraints, combinators, finite JSON values, and unsupported keywords.
  • Replaced generic built-in schemas with useful file, shell, Git/GitHub, browser, graph, memory, discovery, calculation, and orchestration schemas.
  • Passed MCP arguments directly into AgentRuntime.execute_call(); MCP error status now follows typed receipt success.
  • Migrated built-in adapters and runtime observers to preserve structured arguments through execution, scope checks, receipts, effect verification, and acceptance evidence.
  • Kept text APIs and legacy action parsing at compatibility edges. Legacy string-only custom executors remain text-only; dynamic tools receive declared object arguments and return ToolResult.
  • Addressed all eight actionable Codex review threads with focused regressions, including Git flag bypass, structured artifact receipts, browser close forwarding, optional schema fields, MCP aliases, malformed legacy quoting, decimal multipleOf, and inherited capability ceilings.
  • Regenerated the tool inventory and updated the related subagent acceptance fixture for structured receipt arguments. Related malformed-search coverage is linked to [enhancement] Recover from malformed search_files arguments #226.
  • Based on merged [V3] Preserve capability gates, structured approvals, and narrowing permissions #261 security changes; the latest signed sync commit preserves the exact tree tested locally.

Validation

  • PASS — 673-test suite on Python 3.12 on the exact same tree as the final sync commit.
  • PASS — 123 focused tests on each of Python 3.12 and 3.13 for [V3] Migrate native tool arguments and MCP to one typed invocation boundary #233; [V3] Preserve capability gates, structured approvals, and narrowing permissions #261 focused tests pass separately on both versions.
  • PASS — make check, make lint, make docs-check, Go TUI tests, and fixture-based subagent acceptance.
  • PASS — independent review of final residual fixes found no remaining actionable issue; all 8 inline threads are resolved.
  • PASS — local and GitHub GPG verification for final sync commit d7ae60d.
  • PASS — GitHub OpenKyrozen CI and publish workflows on the final main-target head.
  • SKIPPED — live provider calls; changes validate offline and do not require a provider. CodeRabbit automation is disabled for this base branch.

Compatibility and security

Existing text-facing APIs remain available through compatibility adapters. Native custom calls require object arguments matching their declared schema; legacy string-only executors are rejected at the native boundary. No execution retry, provider call, dependency, or merge is included.

This PR targets main and is ready to merge.

@ghfind-review ghfind-review Bot added the review: high ghfind author score; see https://ghfind.com label Oct 11, 2026
@coderabbitai

coderabbitai Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 63ee6dcb-b82c-416e-bc2d-051d0e858767

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@ghfind-review ghfind-review Bot added the area: compatibility Legacy protocol boundaries, migration, and deprecation label Oct 11, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 11, 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-10-11T16:05:59.773259Z a51b911 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.

@ghfind-review ghfind-review Bot added area: mcp MCP discovery, capabilities, calls, and protocol behavior enhancement New feature or request labels Oct 11, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a51b9114b8

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread openkyrozen/agent/executor.py Outdated
Comment thread openkyrozen/agent/subagent_runtime.py
Comment thread openkyrozen/tools/browser_manager.py
Comment thread openkyrozen/tools/catalog.py Outdated
Comment thread openkyrozen/interfaces/mcp/server.py
Comment thread openkyrozen/agent/subagent_runtime.py Outdated
Comment thread openkyrozen/tools/manifest.py Outdated
Comment thread openkyrozen/agent/runtime.py Outdated
@EvanProgramming
EvanProgramming changed the base branch from Evan/v3-261-security-boundary to main October 12, 2026 08:11
@EvanProgramming
EvanProgramming merged commit be3d035 into main Oct 12, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: compatibility Legacy protocol boundaries, migration, and deprecation area: mcp MCP discovery, capabilities, calls, and protocol behavior enhancement New feature or request review: high ghfind author score; see https://ghfind.com

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant