Skip to content

Retained viewer schema mismatch prevents MCP visual QA despite healthy client handshake #280

Closed

Description

@trissim

Observed on retained isolated H002,30September2026. Engineering integration owner: parent blind-analysis thread. Shared viewer protocol/lifecycle implementation owner already registered: openhcs-pr159-viewer-bind-owner (PR159). Primary geometry author is not yet identified; do not create a competing shared-file patch or silently expand PR159 scope.

Reproducer through the exposed MCP tool, no OS input: openhcs_get_viewer_window_state(host="127.0.0.1",port=5690,transport_mode="tcp",timeout_ms=1000,include_payload_summaries=false,include_component_values=false).

Actual response: observed=false, viewer_window_state_failed, AttributeError: Cannot get attribute ViewerWindowGeometry on openhcs.runtime.viewer_protocol from /home/ts/wt/openhcs-installed-main-20260929. The numeric zero counts accompanying that error are NOT observed biological data. Exact original error: "Can’t get attribute 'ViewerWindowGeometry' on <module 'openhcs.runtime.viewer_protocol' from '/home/ts/wt/openhcs-installed-main-20260929/openhcs/runtime/viewer_protocol.py'>".

Current MCP1953827 health is ok/no stale imported files; own-source health does not establish peer schema compatibility. Actual native viewer2728815 is alive and uses dirty primary /home/ts/code/projects/openhcs, where the new geometry declaration exists. Neither client source nor ordinary installed295e defines it. Both advertise application version0.8.6. Primary protocol/DTO/viewer-service/Napari geometry edits remain uncommitted and untouched; git-log class addition is absent. This is source skew, not an empty or crashed viewer. GUI2685932 and native2703786 remain alive; UI bridge7890 responds to read-only actual list-windows/state/code-document operations and has no active/queued workflow or visible modal.

Existing owners: original application/compatibility declaration, ViewerEndpoint and managed lifecycle, not a new registry or alternate wire decoder. Coordinate intended source/package cutover and detect/report mismatches through original owners. No compatibility class injection, fallback reader, string dispatch, partial installed-source copy, longer timeout or automatic restart/replay. Preserve protected H002 state and require original disposition before any process replacement. Two complete current declaration exports and matching hashes are retained in /home/ts/wt/openhcs-issue-batch-20260929/H002-RETAINED-DECLARATIONS-20260930.rst; full restorable undo/history and referenced custom callable body are NOT exported.

Acceptance: keep the original failure reproducible; demonstrate a source-aligned actual installed MCP/viewer journey with correct typed state/axes/camera/canvas after the authorized coordinated cutover. Prove an incompatible peer produces a precise owned failure and is never interpreted as zero objects. Require matched native raw-only/result-only/combined captures at distributed positions before biological acceptance, no held-out/reference leakage. Tests or a healthy own-process handshake alone do not establish readiness.

Coordination already posted: #159 (comment). No fix or owner acknowledgement is claimed. No new process, install, user-session close or scientific rerun performed. Resource cleanup now reduces swap16.3->14.6GiB but helper remains WARNING; no optional CI delay is the cause.

Activity

  1. trissim commented on Sep 30, 2026

    @trissim
    CollaboratorAuthor

    New installed-live evidence: after main65b2ed101/ArrayBridge409 installation, a fresh nonresident MCP session health reports current exact installed source, no stale paths/restart_required, PID3177232. The same session calls get_viewer_window_state on127.0.0.1:5690/TCP,1000ms, no component values/payload summaries, and still returns viewer_window_state_failed/AttributeError: cannot resolve ViewerWindowGeometry on the NEW /home/ts/wt/openhcs-memory-integration-20260930/openhcs/runtime/viewer_protocol.py. Exit1 in8.10s, full output retained. This is not merely the older embedded MCP connection and NOT proof of an empty viewer. Both owned fresh MCP processes from this checkpoint are confirmed gone. Protected H002 GUI2685932/runtime2703786/viewer2728815 remain alive; current declarations were exported earlier, full in-memory history remains preserved. Parent retains integration ownership; shared PR159 implementation coordination still needed, with no competing patch/source injection/legacy decoder or implicit history-loss cutover.

  2. trissim commented on Oct 2, 2026

    @trissim
    CollaboratorAuthor

    H002 retained viewer: original-source preservation and receiving boundary

    Singer owns this source-only investigation. Planck owns H002 viewer2728815,
    create1790645051.71, TCP5690/ACK6690, DISPLAY90, through repair or explicit
    disposition. Parent owns resource admission, any public client launch and native
    handoff. No process, scientific input/output, package, environment, canonical
    source or focused scene changed. No failed/UNKNOWN operation was replayed.
    Existing issue280 remains the defect owner; no duplicate issue or compatibility
    implementation is needed for this checkpoint.472 stays6aad9f181, production94ee.

    Exact source-generation defect

    Read-only /proc/2728815/cmdline identifies the original canonical interpreter
    and bootstrap sys.path root /home/ts/code/projects/openhcs. It launches the
    original run_napari_viewer_process at5690, not private465. Current canonical HEAD
    is2bc579ca9e5d3d70a130bec96ee6f001f3dd5c74 with retained foreign dirty edits.
    This names the live process's import ROOT, not its September28 loaded bytes.

    The actual dirty canonical source STILL has the genuine original
    ViewerWindowGeometry declaration at runtime/viewer_protocol.py152. It owns
    window_size/canvas_size. It is not an alias of today's ViewerNativeWindowGeometry.
    Full non-shallow Git history has no committed ViewerWindowGeometry addition or
    removal. The September30 INSTALLED-MEMORY-HISTORY-20260930.rst already records
    this unpublished dirty-source declaration and both peers advertising0.8.6.
    The separate current ViewerNativeWindowGeometry declaration was added by
    52d2f77. Installing a newer client cannot
    reconstruct an unpublished old class automatically.

    Original canonical NapariViewerProjectionABC.wire_envelope at server3582 puts
    the geometry INSTANCE in both state and payload replies. Original DTO/viewer.py51
    imports that declaration; StateResult931 carries it; original
    ViewerWindowService._state_result_from_response2217 admits that same real type.
    State/payload options do not omit geometry. Current ZMQViewerWindowGateway
    unpickles before any public include_response/component/summary projection.

    The reverse request failure is a distinct source move. Original canonical
    ExecutionConnectionSpec is agent/dto/execution.py55; private465 sends a snapshot
    request whose class refers to agent.dto.execution_connection, unavailable in
    the old viewer. No class copy, re-export, codec adaptation or hotpatch is added.

    Retained actual public evidence, not a new probe

    Planck's original465 MCP508753/PTY51411 recorded these three separate terminal
    failures in its existing mcp-candidate11-client-recovery03 journals:

    • stdin301/reply292: state, observed=false, missing ViewerWindowGeometry.
    • stdin303/reply294: payload, no arrays/shapes, same geometry failure.
    • stdin305/reply296: snapshot, captured=false, missing execution_connection.
      The original viewer log confirms request pickle.loads fails before capture;
      no snapshot artifact/directory was produced.

    Exact retained disposition and original journal locations:
    /home/ts/wt/openhcs-issue-batch-20260929/rbpms-r0010-development-434-20261002/output/
    H002-5690-CURRENT-DIAGNOSTIC-DISPOSITION.rst and
    H002-5690-PUBLIC-FAILURES-AND-PREFIXES.json. These failures do not mean zero
    objects, an empty scene, a crashed viewer or an operation timeout. No extra
    public request was submitted by Singer. Absence of a TCP7790 listener in that
    receipt does not establish absence of the historical IPC native endpoint.

    Existing owner relationships and complete source context

    OpenHCSRuntimeImportAuthority.current derives the original module root.
    McpDevServerSpec.process_args uses that authority for its MCP child.
    DetachedViewerServerEntrypointSpec derives launch code from the same authority.
    ManagedViewerLifecycleMixin owns acquisition/readiness/reuse; its nominal leaf
    owns the detached entrypoint. OpenHCSViewerServerABC._create_pong_response uses
    cooperative super() and the original EndpointApplication. ViewerRuntimeEndpoint
    owns compatibility against that declaration; zmqruntime compares exact app/version.
    That rejects different versions but cannot identify unpublished same-version
    source differences. No second launch owner, generation registry or negotiation
    mechanism is introduced. Native catalog/kernel startup remains unchanged.

    Current39494738b63d088444cfc99feb964f957bbc94d2e8e claims and actual source were
    read.94ee->947 has zero changes throughout runtime and agent trees, or the
    original MCP dev-client/core. Root remains394 integration owner. Existing159
    shared lifecycle and454 presentation are merged; neither constitutes a live H002
    cutover.472's installed94ee target is not an old-H002-compatible source claim.

    Original NRA SourceModule discovery/parser and inspect_modules traversed the
    entire current canonical production root and all eight canonical external
    production roots:1042 modules (592 OpenHCS,450 dependencies), zero parse omissions.
    All imports/classes/dataclass fields plus relevant viewer/launch/gateway/DTO/MCP
    and zmqruntime/pyqt calls/writes are retained with per-module SHA256. This is
    descriptive AST evidence using findings=(), not a full detector/R0/R1 pass,
    global dynamic resolution, September28 module identity or live behavior proof.
    Existing1026-module receiving94ee/eb2 trace remains unchanged and distinct.

    One serial kernel-bounded pass:CPU0/CPUQuota100%, MemoryMax512M, SwapMax0,
    timeout60s; finished10.59s,87520KiB peak RSS,0swaps, exit0. No OpenHCS,
    scientific/native/UI/provider module imported. Critical disk/swap advisory was
    retained; this bounded source operation did not launch a runtime fleet.

    Applied current NRA and authoritative refactor-audit.skill catalog:TIME-3/4/9
    reject copied old declarations/adapters/version negotiation; BOUND-2/8 keep the
    original wire/type owners; IDEN-8 keeps exact viewer incarnation and custody.
    No structural refactor or new-case behavior claim is made. Existing polymorphic
    owners already carry this path; ornamental MI would not recover a lost generation.

    Byte-exact original-source inspection archive:
    h002-original-source-inspection-20261002.tar.gz
    SHA2561370d7b5c5da80d0e89721bd821c0958182cd94ece6aa126c37d58d85af6cea9.
    Original raw log SHA256a64b87fbd9c8f6cb0d316a4ad17ae44cbe0dfc482694b3739626e7e8eb53ffa7.
    Driver/raw log remain in this qroot, not a second product scanner.
    Archive extraction-to-hash matches the original raw log exactly. An attempted
    git sanity check from this non-Git evidence qroot returned128; it changed nothing
    and is not counted as qualification. The owned472 checkout is separately checked.

    Parent-reviewed preservation step before any reconstruction

    The genuine original-source public client is the narrow candidate for saving
    observable state WITHOUT replacing2728815. It is NOT a current installed-main
    compatibility fix and has not been executed here. Parent must first admit a
    separate bounded read-only client and retain its exact module hashes/journal.
    Do not change source, environment or dependencies or borrow a foreign resident
    MCP. Reconfirm the original viewer incarnation and Planck custody first.

    Source-reviewed command, NOT executed or pre-authorized by this receipt::

    # cwd: /home/ts/code/projects/openhcs
    /home/ts/code/projects/openhcs/.venv/bin/python -m openhcs.mcp.dev_client \
      --no-resident viewer-state 5690 --host 127.0.0.1 --transport-mode tcp \
      --timeout-ms 5000 --no-payload-summaries \
      --max-component-values-per-layer 8 --json
    

    It uses existing public capability/DTO/service owners and the original real
    declaration, not an alternate reader. Preserve original465 failures separately.
    Do not launch it within Singer's source-only allowance: the CLI and MCP child
    can duplicate imports; parent admits the combined resource bound. Existing
    normal tool deadlines remain unchanged. An interrupted result is UNKNOWN and
    is not replayed. A bootstrap/source/peer failure remains terminal evidence.

    If it succeeds, save its complete public response before any navigation or
    presentation change. It can expose routes/current_step/axis labels/visibility,
    original viewport center/zoom and window/canvas extents. It does NOT export
    full undo, ndisplay/dims.order or3D camera angles: the old original
    ViewerNativeViewportPresentation declares only center/zoom. Source-root equality
    alone also does not prove all mutable dependency generations match the live
    viewer; only actual readback qualifies the attempted boundary.

    Minimal safe reconstruction if original-source preservation fails

    Keep2728815 Planck-owned and untouched. Parent can review a source-aligned
    CURRENT private MCP/viewer sibling on a newly admitted unused endpoint, never
    fresh_viewer replacement on5690. Use existing public inventory and managed
    streaming only, no scientific rerun, array extraction or restored fake receipt.

    Durable declarations already retained under the parent root:
    H002-retained-pipeline-document-20260930.json (source1681bytes,
    SHA df65f42d7d6ec6b2502863d838f77138b454c90a072203177f52891ac0b71ef2)
    and H002-retained-orchestrator-document-20260930.json (source2270bytes,
    SHA1dc6c454a92be23d0076271aa250a71453e488d0962e60fdc3af26e5686d2627).
    These are historical declaration exports, not current focus or restorable undo.
    Saved callable/pipeline/input and all original outputs stay in place.

    Original input:openhcs/mcp_outputs/haase_blind_20260927/inputs/H002/image.ome.tif.
    Existing prepared source/output root:
    openhcs/mcp_outputs/haase_blind_20260927/trials/H002_count_subject_20260929,
    with run/H002_openhcs/images and results. Paths are relative to the canonical
    OpenHCS checkout. Parent first uses query_plate_files on the original prepared
    plate context; only exact returned IMAGE records may be passed to
    stream_plate_files_to_viewer. If that context is not currently inventoried,
    retain its typed error rather than treating a physical artifact as an image ID.
    No foreign default7777/native owner adoption or recreation of a scientific job.

    Result reconstruction has a precise additional gate. Metadata-only inspection
    of the existing z024 labels ROI archive's original polystore_roi_metadata.json
    finds NO openhcs_image_payload_metadata entry. The centres archive has no such
    native sidecar member. No ROI geometry or scientific pixels were decoded.
    Current ROIArchiveSourceMetadata and strict ROI streaming require represented
    source identities for explicit retained-result reopening. These old archives
    cannot satisfy that requirement by filenames, a fabricated snapshot receipt,
    source-metadata backfill or a duplicate registry. Root394's new source-bearing
    writer is not retroactive provenance for these archives. Keep this unresolved
    gate separate from raw-only reopening and from biological label identity.

    Parent and Planck must explicitly dispose of unexported focus/undo and historical
    unsigned-result provenance BEFORE any replacement/closure. A sibling raw scene
    does not recover the current olive/green labels, identify a false split or close280.
    Engineering acceptance requires actual public typed readback on the declared
    source generation; scientific QA remains Planck-owned and needs matched current
    raw/result/combined evidence. No package/production fix or readiness is asserted.

  3. trissim commented on Oct 2, 2026

    @trissim
    CollaboratorAuthor

    H002 approved original-source public state attempt: terminal startup failure

    Parent approved ONE normal original CLI state call on2728815/5690TCP,
    1536MiB combined CLI/MCP, no swap,CPU1,50MiB additional output and normal5s
    operation. Singer executed exactly that command once, with no extra health,
    discovery, payload, snapshot, navigation, registration or scientific call.
    Planck retains H002 custody through repair or explicit disposition.

    Actual outcome

    Original complete public CLI response is retained byte-exact at
    h002-original-public-state-20261002/original-public-reply.stdout:
    683bytes, SHA2563d6b9dfff59741036d101a4d80f08d15a8ec42d5cb4d228e011963415e017a3e.
    It reports mcp_transport_failed / TimeoutError, phase=start_server,
    server_stderr_tail=null, results=[]. CLI exit1, elapsed11.84s.

    The original McpDevCommandSpec.run prepares arguments, enters START_SERVER and
    awaits open_mcp_dev_session initialization BEFORE run_session sends tool calls.
    The retained phase therefore places this failure before viewer-state dispatch;
    it is not a5690 geometry-decoding result, empty layers, biological zero or
    successful typed-state/payload access. Ordinary initialization remains5.0s;
    viewer operation argument remains5000ms. No cap was widened and no retry occurred.
    This attempt is terminal known initialization failure, not an UNKNOWN viewer
    operation. Other original UNKNOWN dispositions and465 failures remain unchanged.

    Original source and runtime identity

    Actual filtered file-open/exec trace records CLI718343 and MCP718383 using
    /home/ts/code/projects/openhcs/.venv/bin/python, resolving to the existing
    /home/ts/.pyenv/versions/3.12.3/bin/python3.12. The MCP child executes the original
    OpenHCSRuntimeImportAuthority bootstrap with canonical sys.path root, not465.
    Both processes actually open canonical protocol/execution DTO bytecode; CLI also
    opens canonical viewer DTO and dev-client/core bytecode. Source hashes of all
    seven reviewed boundary modules are identical before/after the attempt.

    Actual opened protocol bytecode SHA
    a1bbaa42431f07dc2ae0b290658a767e2aae7b6982c3f6484a77d88fbabe19f1;
    execution DTO bytecode SHA
    f80f5819fad14cefe0892fc420a33f11369d0224cb0d69183dc4029bdaab1162;
    viewer DTO bytecode SHA
    a2322a06e40afbbd5eecd819f70998ee60b0cf5c184e6d2e32a72aebd68112ce.
    The genuine source declaration remains ViewerWindowGeometry at protocol152;
    original ExecutionConnectionSpec remains execution55. This proves actual
    original module-file/root participation, not September28 loaded bytes or
    successful old-viewer instance decoding. No compatibility alias/shim was added.

    Filtered strace instrumented ONLY the new client/MCP file opens and execs;
    it never attached to the retained viewer. It can add startup overhead, so this
    failure does not establish uninstrumented cold-start duration or a product
    startup regression. Its exact trace and stderr are preserved, not normalized.

    Resources, cleanup and protected scene

    Kernel cgroup memory.max1610612736, memory.swap.max0, cpu.max100000/100000,
    CPU0 affinity; combined memory.peak395505664bytes (377.18MiB), swap.peak0,
    no memory.max/OOM events. Parent's normal operation timeout5s was unchanged;
    outer60s safety bound did not fire. Explicit driver/journal/resource/trace/reply
    output totals16044bytes before this disposition/archive, within50MiB.

    Original CLI cleanup sent SIGTERM to its own MCP718383 after initialization
    failure. Trace proves both new client and child exited; /proc entries are absent.
    No process was signalled by Singer's output guard. The protected viewer remains
    PID2728815/startticks12069171 (create1790645051.71), same command/cwd and owned
    5690 listener before/after. No viewer mutation or request was dispatched by this
    attempt. There is no typed scene/focus readback, so exact presentation equality
    is not independently measured. Parent and Planck retain all focused-scene/undo
    custody. No package/source/science/native/viewer launch or installed edit occurred.

    Evidence and next disposition

    Under the existing engineering394404-wheel-94ee-dd324-20261002 qroot:

    • h002-approved-public-state-driver-20261002.py: exact one-shot supervisor/argv.
    • h002-approved-public-state-journal-20261002.jsonl: guard, intent, identities,
      source hashes, original file hashes and terminal status.
    • h002-approved-public-state-resource-20261002.log: original time/exit evidence.
    • h002-original-public-state-20261002/: untouched stdout, stderr, import trace.

    472 stays6aad9f181; original94ee wheel/target and all untracked QA ledgers remain.
    The parent receives the original reply before any new disposition. Planck's
    same-coordinate ID/stage QA is NOT released by this result. No further client,
    deadline change, reconstruction, source patch or retry is inferred. Existing
    normal MCP startup/lifecycle owners remain the repair seam; do not adapt the
    old viewer protocol or invent a second client/codec to hide this failure.

  4. trissim commented on Oct 2, 2026

    @trissim
    CollaboratorAuthor

    H002 new uninstrumented public state intent: terminal initialization failure

    Intent:H002-PUBLIC-STATE-UNINSTRUMENTED-20261002-01.
    Parent expressly authorized this ONE new normal original CLI attempt after
    reviewing the prior terminal START_SERVER failure. It is not an UNKNOWN replay.
    The prior instrumented attempt, original465 failures and all journals are intact.
    Singer engineering custody; Planck retains2728815/5690 focused-scene/undo custody.
    No unrelated author thread was contacted, attached or given scientific hints.

    Preflight and exact operation

    All seven reviewed boundary hashes match the prior receipt before AND after;
    viewer2728815/create1790645051.71/startticks12069171 and command/cwd also match.
    Fresh resource check:critical disk/swap advisory,9.5GiB availableRAM,4.4GiB
    home free,16.7GiB swap used; current some/full PSI avg10/60=0.00. The immediate
    guard journal records10539496KiB available and zero avg10/60 pressure. This small
    serial operation remained inside the approved1536MiB/noSwap/CPU1/output50MiB cap.

    Executed unchanged original CLI once, with NO strace/import tracing::

    # cwd /home/ts/code/projects/openhcs
    /home/ts/code/projects/openhcs/.venv/bin/python -m openhcs.mcp.dev_client \
      --no-resident viewer-state 5690 --host 127.0.0.1 --transport-mode tcp \
      --timeout-ms 5000 --no-payload-summaries \
      --max-component-values-per-layer 8 --json
    

    No extra health/discovery/payload/snapshot/UI/science/source/package operation.
    The CLI's original5.0s initialization deadline and5000ms viewer-operation
    argument were unchanged; outer60s bound did not fire. A bytecode-write suppression
    environment flag on the supervising CLI was the same as the prior attempt;
    there was no environment-file/dependency modification or protocol intervention.

    Full original public reply and determining failure

    Raw683byte reply is h002-uninstrumented-public-state-20261002/
    original-public-reply.stdout, SHA256
    3d6b9dfff59741036d101a4d80f08d15a8ec42d5cb4d228e011963415e017a3e.
    Original CLI stderr is empty. The complete response reports::

    {
      "errors": [{
        "causes": [{"exception_type": "TimeoutError", "message": ""}],
        "code": "mcp_transport_failed",
        "exception_type": "TimeoutError",
        "hint": "The fresh OpenHCS MCP subprocess did not complete the requested stdio exchange. The dev client captures a bounded server stderr tail on transport failures so startup tracebacks remain visible without noisy successful calls.",
        "message": "",
        "phase": "start_server",
        "server_stderr_tail": null
      }],
      "results": [],
      "server": {
        "command": "/home/ts/code/projects/openhcs/.venv/bin/python",
        "module": "openhcs.mcp"
      }
    }
    

    CLI exit1, elapsed11.77s. Original McpDevCommandSpec.run sends prepared calls
    only AFTER session initialization. This START_SERVER failure therefore occurred
    before5690 viewer-state dispatch; no typed state/payload or presentation readback
    was obtained. This is a known terminal startup failure, not an UNKNOWN viewer
    operation or new proof of geometry deserialization failure. Removing strace did
    not resolve startup within this ordinary deadline; it does not identify the
    underlying import/lifecycle bottleneck or justify a larger deadline.

    Actual source participation, resources and closure

    Uninstrumented /proc metadata records CLI777181/startticks45193189 executing
    the exact normal command above. Its own MCP child777260/startticks45193796
    actually executes OpenHCSRuntimeImportAuthority's canonical-root bootstrap::

    import runpy, sys; sys.path.insert(0, '/home/ts/code/projects/openhcs'); runpy.run_module('openhcs.mcp', run_name='__main__', alter_sys=True)
    

    Child cwd is canonical OpenHCS, surface=full. Seven boundary hashes are retained
    in the new journal, not taken as September28 loaded-byte identity. Original
    ViewerWindowGeometry is still the genuine canonical source declaration; this
    attempt does not prove that a live viewer instance was decoded or that all
    runtime dependencies match. No module tracing or additional introspection call.

    Kernel memory.max1610612736,swap.max0,cpu.max100000/100000 and CPU0 affinity.
    Combined cgroup memory.peak497618944bytes (474.57MiB),swap.peak0,
    memory.max/OOM events0. Outer time exit1 at11.81s. Explicit new driver, journal,
    resource log and originalstdout/stderr totaled12697bytes before this receipt
    and archive, far below50MiB. No resource guard terminated a process.

    Original CLI cleanup closed its own MCP; owned_children_remaining=[].
    Both new CLI and MCP /proc identities are absent after terminal completion.
    Viewer2728815 remains the same incarnation and5690 listener. No scene-changing
    request was dispatched and no viewer was replaced/signalled. Exact current
    presentation equality is unmeasured because there is no typed state readback.
    Planck remains active owner; no scientific/pass/ID/stage QA gate was released.

    Durable evidence and disposition

    All evidence is under the existing engineering394404-wheel-94ee-dd324-20261002
    qroot: h002-uninstrumented-public-state-driver-20261002.py,
    h002-uninstrumented-public-state-journal-20261002.jsonl,
    h002-uninstrumented-public-state-resource-20261002.log and the separate
    h002-uninstrumented-public-state-20261002 original reply/stderr directory.
    The reply happens to byte-match the prior failure but is retained separately
    as this actual new output, not substituted or deduplicated.

    472 head6aad9f181, immutable94ee wheel/target and original untracked QA ledgers
    are untouched. Parent and Planck received the determining startup failure.
    No further attempt, initialization widening, reconstruction, science resume,
    new native/viewer, package/source patch or shim is inferred from this receipt.

  5. trissim commented on Oct 6, 2026

    @trissim
    CollaboratorAuthor

    Closing this historical retained-viewer/source-generation incident, not claiming backwards compatibility. The original H002 viewer2728815 is no longer present; it was not stopped or replaced by this audit. Its exact unpublished ViewerWindowGeometry declaration and surrounding dirty source are now losslessly published in recovery-main-checkout-source-20261006, with original failure journals unchanged. Current main uses its genuine ViewerNativeWindowGeometry/native dimensions declarations instead of reconstructing or aliasing the unpublished class. Later source-aligned INSTALLED public journeys (#454/#748; issue152 final closure and automatic-point-domain-152-20261005.rst) returned typed native state, camera/canvas and calibrated XY/XZ/YZ geometry with raw/result captures. Current window_state catches peer decoding errors through the original ViewerWindowStateResult.from_error owner, observed=false with structured errors; the original mismatch also returned observed=false, not observed zero biological objects. This meets the source-aligned readback/failure-reporting scope without a compatibility decoder or replay. The old unsaved undo/history and unsigned-result provenance are NOT reconstructed or certified; saved originals and failure evidence remain untouched. Same-version arbitrary source-skew compatibility, separate308 expansion and580 triangulation are not claimed fixed.

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