[GH-ISSUE #7513] refactor: retire superseded test-only runtime entrypoints #4465

Closed
opened 2026-10-31 00:50:04 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @gensokyo-dev on GitHub (Oct 27, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/7513

Before submitting

  • Searched open and closed issues for related reports.
  • Excluded credentials and sensitive target data.

Area

MCP regression contracts and superseded test-only runtime entrypoints.

Observed behavior

At a95b83c2b06ef713664d6abb3d29c7c149a2ce01, five MCP test files still parse session replies with the test-only sessionProvider schema rather than the named binary_session contract. A synthetic source-contract probe observes:

Input Old test schema Named contract
Valid closed complete session accepts accepts
open: "invalid" accepts rejects
open: true, without target facts accepts rejects

This establishes divergent validation definitions, not an observed invalid production response. Runtime recovery already uses scoped recoveryInstructions(...), and R8 member matching uses bounded descriptor matching; their superseded RECOVERY_INSTRUCTIONS constant and residualDexType materializer now have only test consumers.

Reproduction and evidence

Executed the three source-contract controls above on Linux x64, Node 24.22.1/npm 11.16.0. Relevant owners: src/contracts/toolOutputSchemaPrimitives.ts:628, src/contracts/toolOutputSchemaGroups.ts:537, src/server/recoveryInstructions.ts:20, src/domain/android/proguardMapping.ts:752. Consumer/history checks are source-derived. No actual provider execution or production failure is claimed.

Expected behavior

MCP tests should validate session replies through the named contract. Move old-entrypoint tests to the current production owners while preserving their meaningful primitive/array/alias/ambiguity and recovery assertions, then remove the superseded runtime exports. Do not retain obsolete code merely to keep its old tests passing.

Impact and scope

One cleanup outcome: keep regression validation attached to current production owners. Public CLI/MCP schemas, Evidence, providers, target authority and defaults remain unchanged. Historical report/archive cleanup will be separate. Verify selected real MCP workflows and R8 member-resolution regressions, negative session-schema controls, typecheck and applicable static checks with bounded resources.

Version, interface and stage

Source revision above; Linux x64; Node 24.22.1/npm 11.16.0. MCP/test boundary; validation. Real-provider relevance: not applicable to this test-entrypoint cleanup. Production impact: NOT_ENOUGH_INFO; no invalid runtime output was observed.

Originally created by @gensokyo-dev on GitHub (Oct 27, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/7513 ### Before submitting - [x] Searched open and closed issues for related reports. - [x] Excluded credentials and sensitive target data. ### Area MCP regression contracts and superseded test-only runtime entrypoints. ### Observed behavior At `a95b83c2b06ef713664d6abb3d29c7c149a2ce01`, five MCP test files still parse session replies with the test-only `sessionProvider` schema rather than the named `binary_session` contract. A synthetic source-contract probe observes: | Input | Old test schema | Named contract | | --- | --- | --- | | Valid closed complete session | accepts | accepts | | `open: "invalid"` | accepts | rejects | | `open: true`, without target facts | accepts | rejects | This establishes divergent validation definitions, not an observed invalid production response. Runtime recovery already uses scoped `recoveryInstructions(...)`, and R8 member matching uses bounded descriptor matching; their superseded `RECOVERY_INSTRUCTIONS` constant and `residualDexType` materializer now have only test consumers. ### Reproduction and evidence Executed the three source-contract controls above on Linux x64, Node 24.22.1/npm 11.16.0. Relevant owners: `src/contracts/toolOutputSchemaPrimitives.ts:628`, `src/contracts/toolOutputSchemaGroups.ts:537`, `src/server/recoveryInstructions.ts:20`, `src/domain/android/proguardMapping.ts:752`. Consumer/history checks are source-derived. No actual provider execution or production failure is claimed. ### Expected behavior MCP tests should validate session replies through the named contract. Move old-entrypoint tests to the current production owners while preserving their meaningful primitive/array/alias/ambiguity and recovery assertions, then remove the superseded runtime exports. Do not retain obsolete code merely to keep its old tests passing. ### Impact and scope One cleanup outcome: keep regression validation attached to current production owners. Public CLI/MCP schemas, Evidence, providers, target authority and defaults remain unchanged. Historical report/archive cleanup will be separate. Verify selected real MCP workflows and R8 member-resolution regressions, negative session-schema controls, typecheck and applicable static checks with bounded resources. ### Version, interface and stage Source revision above; Linux x64; Node 24.22.1/npm 11.16.0. MCP/test boundary; validation. Real-provider relevance: not applicable to this test-entrypoint cleanup. Production impact: NOT_ENOUGH_INFO; no invalid runtime output was observed.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#4465
No description provided.