Skip to content

Share declared Fiji bundles independently of run caches and keep cold inspection responsive #224

Closed

Description

@trissim

Concrete failure and owner

Implementation owner: Lovelace, existing isolated worktree /home/ts/wt/openhcs-input-preparation-20260929, existing OpenHCS draft206 / paired PolyStore draft16. Parent owns disk recovery and integration; no competing patch.

Coordinator reports fresh isolated H001/H002 openhcs_inspect_plate_path initializing BioFormatsJavaContext -> FIJI_IMAGEJ_RUNTIME -> FijiArchiveDistribution.materialize. Per-run XDG_CACHE_HOME produced independent roughly859 MiB bundles, minutes of cold MCP blocking and uncertain queued10-second reads. Disk guard then stopped both before execution. Preserve those uncertain receipts; do not restart or replay them to establish absence/success. This issue is infrastructure, not biological coaching or acceptance.

Source witnesses

At parent6ffea8d61/paired childa14a4fc:

  • FijiArchiveDistribution.cache_root is constructor-owned; materialize falls back to user_cache_path("polystore") / "imagej" and owns digest-addressed atomic materialization and file-lock coordination.
  • Canonical FIJI_IMAGEJ_DISTRIBUTION does not project a process-configurable bundle-only root into that field. BioFormats context and Fiji viewer consume canonical FIJI_IMAGEJ_RUNTIME, not arbitrary application-created distribution instances. No supported application entrypoint projection found.
  • InspectPlatePathCapability has no declared progress heartbeat. Existing MCP binding therefore invokes synchronous inspection on its event-loop thread. The existing declaration-owned heartbeat/worker mechanism already supports suitable long operations; reuse it instead of adding a second job/progress store.

Required owner extension and acceptance

  1. First-class bundle-only configuration projected by the existing distribution owner into cache_root. Preserve per-run XDG logs/unrelated caches, immutable release/digest/overlay authority, checksum verification and atomic lock/staging. No per-caller symlink, monkeypatch, full-cache sharing or duplicate defaults/environment registry.
  2. Canonical process-environment projection retains the dependency owner's declared key for launched processes.
  3. Nonblocking inspection through the existing capability progress/worker mechanism, with evidence that progress and unrelated reads continue through controlled cold initialization, while failure/cancellation remain truthful. No timeout inflation or restart on observation timeout.
  4. Tiny verified archive/cache-root and process-projection regressions; focused progress regression using the real existing binding. Real cold Fiji/JVM/installed acceptance remains gated on a finite runtime handoff and sufficient resources; source tests alone do not close this issue.

No frozen installation/skill/source changes, large archive download, JVM/GUI/MCP process startup or biological output inspection in source continuation. Existing draft206's original141-pass/26-failure receipt and not-run ROI profile remain explicit. Recorded parent gitlink stays pinned until validated paired adoption.

Activity

  1. trissim commented on Sep 29, 2026

    @trissim
    CollaboratorAuthor

    Authorized critical cache/progress integration checkpoint is published as OpenHCS228 at bf9aae4620585e98d10e469037ef98237884b4f8, paired with PolyStore17 at c16b8fc99a07f17e92e5fbf46f312d73cc9c46d7. Both remote heads verified; exact child gitlink adopted by228. Base current main213439a04 includes merged218. References224,206 and16; original branches/source/receipts preserved, no force/rebase/reset.

    This extracts the already-owned cache/progress implementation, not another runtime/materializer. Source-selection/Java probe/ROI optimization stays in206/16. Their 141-pass/26-failure receipt remains unresolved; after-ROI profile did not run. No claim of broad preservation or installed acceptance from this checkpoint.

    Before application/MCP startup set POLYSTORE_IMAGEJ_CACHE_ROOT=/home/ts/.cache/polystore/imagej (bundle parent, not hashed directory) and POLYSTORE_IMAGEJ_ALLOW_DOWNLOAD=false. Both settings belong to existing PolyStore distribution/download-policy owners, projected by existing OpenHCS launch owner. Independent XDG logs/caches remain independent. Existing progress/worker binding stays canonical.

    Current-main pair: 36 passed5.14s, peakRSS277712KiB, availableRAM14.4→13.96GiB. Two fresh native processes with production download-forbidden policy, separate XDG roots, actual same existing Fiji/Java paths, zero new cache entries/no downloads/no JVM. Reproducer and durable receipt are in228. No override/copy/archive in native proof, no installed/frozen/scientific change or replay. Parent owns review/merge/install and resource-coordinated real installed stdio inspection + concurrent discovery/heartbeat. No Closes/readiness claim until that live gate.

  2. added a commit that references this issue on Sep 29, 2026
  3. added a commit that references this issue on Sep 29, 2026
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