Skip to content

S1 #71: v3 contract cutover for schema + tool routing#77

Merged
AmirTlinov merged 1 commit intomainfrom
builder/71-v3-contract-cutover
Feb 24, 2026
Merged

S1 #71: v3 contract cutover for schema + tool routing#77
AmirTlinov merged 1 commit intomainfrom
builder/71-v3-contract-cutover

Conversation

@AmirTlinov
Copy link
Copy Markdown
Owner

Summary

S1 contract cutover for v3 action surface (issue #71):

  • input actions cut to list|get|write|ttl|delete
  • output actions cut to list|read
  • legacy top-level actions are fail-closed with explicit invalid_data guidance
  • schema + stdio routing updated to v3 action surface
  • e2e contract-dispatch coverage added/updated

Refs #71
Parent: #70

Scope control

Touch only:

  • src/adapters/mcp_stdio/schema.rs
  • src/adapters/mcp_stdio/tool_input.rs
  • src/adapters/mcp_stdio/tool_output.rs
  • tests/e2e.rs

NoTouch respected:

  • no storage_json.rs algorithmic changes
  • no finalize validation internals changes
  • no output rendering internals changes beyond v3 routing dispatch

Acceptance mapping

  1. tools/list schema exposes only v3 action enums ✅
  2. legacy actions return explicit invalid_data ✅
  3. entrypoints compile/run with v3 handlers ✅
  4. e2e verifies dispatch contract ✅

Required gates (PASS)

  • cargo fmt --check
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo test --all-targets --all-features
  • scripts/check_coverage_baseline.sh
  • cargo audit

@AmirTlinov
Copy link
Copy Markdown
Owner Author

@review review

Issue: #71 (S1 contract cutover)
Please review strictly against SSOT:

  • input actions only list|get|write|ttl|delete,
  • output actions only list|read,
  • legacy top-level actions rejected with explicit invalid_data,
  • schema + routing + e2e dispatch coverage.

@AmirTlinov
Copy link
Copy Markdown
Owner Author

@review review

Second request for dedicated S1 review on #71.
Required completion artifact: explicit VERDICT: PASS|BLOCKED comment URL.

@AmirTlinov
Copy link
Copy Markdown
Owner Author

Review-loop status for #71: BLOCKED(review_loop_no_response).

Evidence:

No dedicated reviewer VERDICT: response appeared in the observed polling windows; fail-closed status remains BLOCKED pending reviewer verdict.

@AmirTlinov
Copy link
Copy Markdown
Owner Author

VERDICT: PASS

Scope reviewed: src/adapters/mcp_stdio/schema.rs, tool_input.rs, tool_output.rs, tests/e2e.rs only.

Rationale (issue #71 contract):

  • Input dispatch surface is restricted to list|get|write|ttl|delete (schema + router).
  • Output dispatch surface is restricted to list|read (schema + router; default identity action maps to read).
  • Legacy actions are rejected with explicit migration guidance (create -> action=write, op=create; output:get -> action=read).
  • No scope drift into S2+ concerns detected in touched files.
  • Dispatch contract is covered by E2E checks (tool schema enums + legacy action rejection paths).

Verification run:

  • cargo test --test e2e -- --nocapture
  • cargo test --test integration_test -- --nocapture

@AmirTlinov AmirTlinov merged commit b7af133 into main Feb 24, 2026
1 check passed
@AmirTlinov AmirTlinov deleted the builder/71-v3-contract-cutover branch February 24, 2026 02:49
@AmirTlinov AmirTlinov restored the builder/71-v3-contract-cutover branch February 24, 2026 03:00
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