Skip to content

Preserve nominal viewer identities across test and MCP boundaries - #90

Merged
trissim merged 2 commits into
mainfrom
codex/release-viewer-type-test
Jul 30, 2026
Merged

Preserve nominal viewer identities across test and MCP boundaries#90
trissim merged 2 commits into
mainfrom
codex/release-viewer-type-test

Conversation

@trissim

@trissim trissim commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • migrate the Official30 viewer-variant helper and assertions from flattened strings to authoritative ViewerType identities
  • make McpViewerConnectionToolFields the declared owner of the viewer connection tool signature
  • derive the MCP transport enum schema from that dataclass and reconstruct TransportMode from wire text through python-introspect

Why

The configuration ownership refactor correctly preserves nominal transport/viewer types. Two stale boundaries remained:

  1. an Official30 integration assertion expected "fiji" instead of ViewerType.FIJI;
  2. the MCP viewer tool manually advertised plain text and passed that text into strict ExecutionConnectionSpec, breaking the installed Windows demo.

Verification

  • focused registered-viewer projection integration test passes
  • MCP wire reconstruction and generated schema tests pass
  • generated viewer tool schema exposes TransportMode choices tcp and ipc
  • Ruff and diff checks pass

Copilot AI review requested due to automatic review settings July 30, 2026 09:08

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@augmentcode augmentcode 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.

PR Risk Analyzer Agent🛡️

Risk Analysis 🛡️ · Low Risk

✅ Approved — Low-Risk Change

Details

Test-only change to tests/integration/test_cellprofiler_official30_zmq.py (+6/-6). It migrates dict keys and set comparisons from the flattened spec.viewer_type.value string to the authoritative ViewerType enum. Since the produced config.viewer_type is an enum, the prior string-based assertions could never match — this is a correctness fix that keeps the equality checks equally strict. No production code, schemas, migrations, infra, auth, security, or AI prompts are affected.

@augmentcode augmentcode 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.

Deep Code Review Agent🐛

Review completed with 0 suggestions.

@trissim trissim changed the title Test nominal viewer identities in Official30 variants Preserve nominal viewer identities across test and MCP boundaries Jul 30, 2026
@trissim
trissim merged commit d9301fa into main Jul 30, 2026
3 of 34 checks passed
@trissim
trissim deleted the codex/release-viewer-type-test branch July 30, 2026 09:16
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.

2 participants