Skip to content

Epic: Migrate copick-mcp to OME-Zarr 0.5 and Zarr v3 #52

Closed
5 of 5 issues completed
Closed

Description

@uermel

Goal

Adopt the published copick 2.0 ecosystem on the v2.0 branch while keeping copick-mcp storage-format-neutral, completing the CLI/plugin contract, and establishing the prerelease path. OME-Zarr 0.4/v0.5 and Zarr v2/v3 interoperability is owned and tested by copick core; MCP consumes Copick entities and does not parse those formats.

Project: https://github.com/orgs/copick/projects/1

Published prerequisites

  • copick==2.0.0-alpha.1
  • copick-utils==2.0.0-alpha.1
  • optional copick-torch==2.0.0-alpha.1

Alpha metadata uses >=2.0.0-alpha.1,<3 floors. Stable floors change to >=2.0.0,<3 only during the coordinated ecosystem stable cutover.

Correction

The initial record said an MCP fixture proved logical parity across legacy and migrated OME-Zarr/Zarr projects. Review established that the fixture never reads Zarr metadata. #55 and #58 now record the correct, narrower claim: equivalent Copick entity trees exercise format-neutral MCP discovery, while actual storage interoperability remains core coverage.

Completed work

  1. Establish the copick-mcp test, transport, and packaging gate #53 — deterministic focused behavior suite, lockfile, and Python 3.11-3.14 workflow.
  2. Adopt copick 2.0 alphas and complete CLI plugin discovery #54 — published 2.0 floors, authoritative plugin discovery, and safe CLI parsing.
  3. Verify format-neutral MCP entity discovery #55 — format-neutral entity discovery without false storage-format claims.
  4. Validate installed MCP transport, optional torch integration, and backends #56 — focused optional torch command discovery; broader stdio/backend work excluded by revised scope.
  5. Complete copick-mcp documentation, artifact gates, and 2.0 release #57 — documentation, exact-commit release validation, and prerelease setup.
  6. fix: restore CLI introspection contracts #60, fix: harden metadata exploration behavior #62, and chore: align v2.0 maintenance and documentation #63 — alpha.1 review remediation.
  7. fix: synchronize package version in releases #64 — Release Please package-version synchronization.
  8. chore: release copick-mcp 2.0.0-alpha.3 #65 — successful copick-mcp==2.0.0a3 release after alpha.2 was superseded.

Repository state

  • v2.0 is protected by active ruleset 21015564.
  • Pull requests are required and py3.11, py3.12, py3.13, and py3.14 must pass.
  • Release Please maintains separate stable and alpha configurations and validates the exact released SHA.
  • The package version source is explicitly updated with the release manifest.

Acceptance criteria

  • Focused tests cover public exploration/CLI behavior and all setup target variants on Python 3.11-3.14.
  • Alpha metadata excludes Python 3.10 and pre-migration Copick packages.
  • Authoritative installed plugin groups, including setup and download, are discoverable.
  • CLI validation does not invoke callbacks and captures Click output.
  • Equivalent Copick entity trees return equivalent logical results without being presented as Zarr parity tests.
  • Exact optional torch alpha command metadata was verified without model execution.
  • Exact release commits are tested before publication.
  • copick-mcp==2.0.0a3 is published to PyPI.

Revised-scope exclusions

  • Structural/source guards and exact dependency-declaration tests.
  • Artifact-content tests.
  • A torch-extra CI dependency job.
  • Real stdio and remote-backend MCP integration tests.
  • Direct Zarr reads/writes, OME metadata construction, store conversion, format switches, or GPU/model execution.

Activity

  1. uermel commented on Aug 19, 2026

    @uermel
    MemberAuthor

    Migration implementation is complete under the revised scope. #58 merged the Copick 2.0 runtime, authoritative CLI discovery, stdout-safe validation, focused legacy/v3 metadata parity tests, lockfile, CI, release gate, and documentation. #59 published copick-mcp 2.0.0-alpha.1. The tagged commit 7ac0249 passed Python 3.11-3.14 and PyPI now serves the wheel and source distribution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions