|
414 | 414 | }, |
415 | 415 | { |
416 | 416 | "path": "openhcs/processing/backends/lib_registry/registry_service.py", |
417 | | - "sha256": "17370a6251b994795a78d88ff87d41603141d13d0ea6294e4ab3fb40ad937c86", |
| 417 | + "sha256": "004c26000258d08ae64fffb76b140a4a7317d59c327a6ddb27f339860d75d41f", |
418 | 418 | "role": "Canonical callable catalogue preparation, declaration-local projection, lookup caching, and complete derived-view clearing." |
419 | 419 | } |
420 | 420 | ], |
|
431 | 431 | "Passed ./.venv/bin/python scripts/validate_docs.py docs/source: 154 files, 23 Python blocks, and 153 audited RST pages.", |
432 | 432 | "Passed ./.venv/bin/python -m sphinx -E -W --keep-going -b html docs/source <temporary-build-directory>: 153 source files rendered without warnings.", |
433 | 433 | "On 2026-08-21, re-read the transition and rebuilt the python-introspect owner documentation after adding declaration projection.", |
434 | | - "On 2026-08-25, re-read the complete page against metaclass-registry 0.2.1, ArrayBridge 0.3.3, the public native-catalogue projection, declaration-derived child environments, and the updated package floors; revised the page where those semantics are user-relevant and confirmed its remaining claims against current source and tests." |
| 434 | + "On 2026-08-25, re-read the complete page against metaclass-registry 0.2.1, ArrayBridge 0.3.3, the public native-catalogue projection, declaration-derived child environments, and the updated package floors; revised the page where those semantics are user-relevant and confirmed its remaining claims against current source and tests.", |
| 435 | + "On 2026-08-27, re-read the complete redirect against the changed RegistryService preparation owner; generic callable projection remains owned by python-introspect and the redirect requires no prose revision." |
435 | 436 | ] |
436 | 437 | }, |
437 | 438 | { |
|
650 | 651 | }, |
651 | 652 | { |
652 | 653 | "path": "openhcs/agent/services/endpoint_function_catalog_service.py", |
653 | | - "sha256": "62389b06a31ad89044dae301d1f93601ccdd9122e79758113b49a3747d26fd90", |
| 654 | + "sha256": "f7197b4fad765af2cd112596e1d44770e4f7008e0e9fdb576c6ab5297e8a2c3a", |
654 | 655 | "role": "Owns the shared asynchronous endpoint catalogue used by desktop startup, the Function Selector, and local MCP authoring." |
655 | 656 | }, |
656 | 657 | { |
|
687 | 688 | "On 2026-08-24, re-read the complete reference against the unconditional client teardown path; 58 focused OpenHCS regressions and the real-GUI startup cancellation smoke passed with no retained endpoint process.", |
688 | 689 | "On 2026-08-24, re-read the complete page against the changed declaration, dependency, UI state, knowledge, and test authorities named by this record; the documented behavior and ownership boundaries remain accurate.", |
689 | 690 | "On 2026-08-25, re-read the complete page against the painted-ready background-service startup boundary and producer-before-executor shutdown order; revised its startup wording and confirmed the remaining claims against current source and tests.", |
690 | | - "On 2026-08-25, re-read the complete service reference against the endpoint-owned catalogue used by desktop and local MCP authoring; focused tests and a live Function Selector probe confirmed asynchronous preparation and exact selection." |
| 691 | + "On 2026-08-25, re-read the complete service reference against the endpoint-owned catalogue used by desktop and local MCP authoring; focused tests and a live Function Selector probe confirmed asynchronous preparation and exact selection.", |
| 692 | + "On 2026-08-27, re-read the complete service reference against the catalogue projection's propagated cancellation authority; the endpoint remains the single callable authority and cleanup still retires in-progress work through its owner." |
691 | 693 | ] |
692 | 694 | }, |
693 | 695 | { |
|
1386 | 1388 | }, |
1387 | 1389 | { |
1388 | 1390 | "path": "openhcs/runtime/zmq_execution_server.py", |
1389 | | - "sha256": "55c2fa2f5c614f163d8f34a4c2ba3d49a86ca3c2ccc055111d2b0cd6b4ad8f4d", |
| 1391 | + "sha256": "5074b4b09dd3193d9f4b83003b49beb877fedaf9f8f1ef21df5042d681c0812a", |
1390 | 1392 | "role": "Releases execution-session process resources when the execution server stops." |
1391 | 1393 | }, |
1392 | 1394 | { |
|
1460 | 1462 | "Three isolated real desktop, MCP, ZMQ, execution, and Napari rehearsals completed all nine acceptance requirements; ROI summaries returned in 0.063-0.485 seconds and bulk isolation in 0.078-1.078 seconds within the 2-second command budget, with no UI-log errors.", |
1461 | 1463 | "On 2026-08-25, re-read the complete explanation against the visualizer contract, transactional acquisition path, lifecycle owner, and rollback regressions; revised it to distinguish owned-process cleanup from external-client release.", |
1462 | 1464 | "On 2026-08-25, 162 focused component, microscope, source-binding, streaming, viewer-protocol, and rollback tests passed; documentation validation checked 154 files, 24 Python blocks, and 153 audited sources, and warning-free Sphinx rendered all 152 active pages.", |
1463 | | - "On 2026-08-26, re-read the complete page after the generic endpoint connection lifecycle gained shared cancellation authority; the viewer transport and lifecycle ownership claims remain accurate." |
| 1465 | + "On 2026-08-26, re-read the complete page after the generic endpoint connection lifecycle gained shared cancellation authority; the viewer transport and lifecycle ownership claims remain accurate.", |
| 1466 | + "On 2026-08-27, re-read the complete explanation against execution-server catalogue shutdown; the changed preparation process does not alter the documented viewer acquisition, settlement, or exact process-group ownership." |
1464 | 1467 | ] |
1465 | 1468 | }, |
1466 | 1469 | { |
|
1719 | 1722 | }, |
1720 | 1723 | { |
1721 | 1724 | "path": "docs/source/architecture/zmq_execution_service_extracted.rst", |
1722 | | - "source_sha256": "5a47e55bd99a336088fbc58dde56b330548fbade4a2c05bbededdc4477df4628", |
| 1725 | + "source_sha256": "cf224a588300889446e62265d56b0225024012ef633368e376a2deac6d63d0dd", |
1723 | 1726 | "audience": [ |
1724 | 1727 | "OpenHCS contributors following the former local ZMQ execution-service URL" |
1725 | 1728 | ], |
|
1733 | 1736 | }, |
1734 | 1737 | { |
1735 | 1738 | "path": "openhcs/runtime/zmq_execution_server.py", |
1736 | | - "sha256": "55c2fa2f5c614f163d8f34a4c2ba3d49a86ca3c2ccc055111d2b0cd6b4ad8f4d", |
| 1739 | + "sha256": "5074b4b09dd3193d9f4b83003b49beb877fedaf9f8f1ef21df5042d681c0812a", |
1737 | 1740 | "role": "OpenHCS compiled-execution adapter over the generic execution server." |
1738 | 1741 | }, |
1739 | 1742 | { |
|
1798 | 1801 | }, |
1799 | 1802 | { |
1800 | 1803 | "path": "openhcs/runtime/function_catalog_preparation.py", |
1801 | | - "sha256": "3961de7612d56d0733015612a9f665dce528a7e626834d29a6a2d72c371fd173", |
| 1804 | + "sha256": "63abd2cc72de8baacff723e4a574a74f0f6ef422b17eb32ca5fabead689505fc", |
1802 | 1805 | "role": "Owns persistent registry preparation and the live endpoint's single asynchronous catalogue-preparation operation." |
1803 | 1806 | }, |
1804 | 1807 | { |
|
1813 | 1816 | }, |
1814 | 1817 | { |
1815 | 1818 | "path": "openhcs/processing/backends/lib_registry/registry_service.py", |
1816 | | - "sha256": "17370a6251b994795a78d88ff87d41603141d13d0ea6294e4ab3fb40ad937c86", |
| 1819 | + "sha256": "004c26000258d08ae64fffb76b140a4a7317d59c327a6ddb27f339860d75d41f", |
1817 | 1820 | "role": "Prepares the canonical catalogue in a child environment projected by ArrayBridge declarations." |
1818 | 1821 | }, |
1819 | 1822 | { |
|
1828 | 1831 | }, |
1829 | 1832 | { |
1830 | 1833 | "path": "tests/unit/test_library_registry_discovery.py", |
1831 | | - "sha256": "2f29b963996ded68005ee93871f4c7d40e1b66774228f21df86a036cb4613bd3", |
| 1834 | + "sha256": "37124d970423a26f6422534bc5003e64d8082589dbf03ce2fc565307fe296327", |
1832 | 1835 | "role": "Proves source-revision cache invalidation, stable optional-runtime admission, declaration-owned projection, runtime-owned external-signature exclusions, and no partial catalogue after failure." |
1833 | 1836 | }, |
1834 | 1837 | { |
|
1924 | 1927 | "The endpoint-version restart transaction lacked direct failure-path evidence for executor shutdown, saved-session capture, and detached worker launch.", |
1925 | 1928 | "Owner-requested connection-attempt cancellation was not a typed result, so GUI teardown could only surface it as a generic asynchronous failure; ZMQRuntime now owns the explicit cancellation outcome.", |
1926 | 1929 | "The execution reference omitted the shared MemoryType child environment and the public-only native catalogue projection.", |
1927 | | - "The catalogue cache used one physical document for distinct framework-admission contexts, allowing concurrent CPU-only and GPU-capable preparation to replace each other's valid result." |
| 1930 | + "The catalogue cache used one physical document for distinct framework-admission contexts, allowing concurrent CPU-only and GPU-capable preparation to replace each other's valid result.", |
| 1931 | + "Cancelling a cold catalogue request could leave its isolated capability-discovery child alive; the server-owned preparation now carries one cancellation authority to the exact process and joins it before backend cleanup." |
1928 | 1932 | ], |
1929 | 1933 | "disposition": "revise", |
1930 | 1934 | "validation": [ |
|
1955 | 1959 | "On 2026-08-27, re-read the complete transition reference against the changed installed-desktop evidence authority; its ZMQ ownership and lifecycle claims remain accurate.", |
1956 | 1960 | "On 2026-08-27, rechecked the complete transition reference after installed-desktop acceptance advanced the installer schema; its ZMQ ownership and lifecycle claims remain accurate.", |
1957 | 1961 | "On 2026-08-27, re-read the complete transition explanation after Windows installed-demo execution exposed the Numba cache path budget; the execution and catalogue ownership claims remain unchanged, and the native harness now consumes the declaration-owned current-platform cache path.", |
1958 | | - "On 2026-08-27, re-read the complete transition explanation after library registries gained declaration-owned runtime-parameter exclusions; endpoint catalogue ownership and transport claims remain unchanged." |
| 1962 | + "On 2026-08-27, re-read the complete transition explanation after library registries gained declaration-owned runtime-parameter exclusions; endpoint catalogue ownership and transport claims remain unchanged.", |
| 1963 | + "On 2026-08-27, applied the Diataxis reference boundary and re-read the complete page against the server, preparation, registry, and cancellation tests; revised the cold-cache lifecycle to identify its exact child-process and joined-shutdown owners." |
1959 | 1964 | ] |
1960 | 1965 | }, |
1961 | 1966 | { |
|
2576 | 2581 | }, |
2577 | 2582 | { |
2578 | 2583 | "path": "docs/source/development/mcp_development.rst", |
2579 | | - "source_sha256": "843ef50b3b2dae29048e7c9e890a85f77965605acea503bce1f7ecf184b73de6", |
| 2584 | + "source_sha256": "7137b6cd7c04f36782bb3aac4bdaa08dab43dbe1748190cebffbcce9a82722cc", |
2580 | 2585 | "audience": [ |
2581 | 2586 | "OpenHCS MCP developers" |
2582 | 2587 | ], |
|
2585 | 2590 | "authority": [ |
2586 | 2591 | { |
2587 | 2592 | "path": "openhcs/mcp/dev_client.py", |
2588 | | - "sha256": "38fae8370065e5dedadf48c9848232f2124afff7f28fefdaf75055cd49449ab8", |
| 2593 | + "sha256": "df0e10ea02d1567d7bc1cab0a9bb2c617470995818363c008507133f4846d749", |
2589 | 2594 | "role": "Current development-client parser, persistent shell entry point, and persistent-session selected-surface preflight." |
2590 | 2595 | }, |
2591 | 2596 | { |
|
2655 | 2660 | }, |
2656 | 2661 | { |
2657 | 2662 | "path": "tests/unit/test_mcp_dev_client_persistent_session.py", |
2658 | | - "sha256": "a27e2edc8b3bbf47f141f04b115a0b1803419741c31b23738dd40c1d7b93fc3b", |
| 2663 | + "sha256": "9288d5092062f6ede46fb34db82d1a1ed5d024b3bbddb1707b03d1eb63fc1d43", |
2659 | 2664 | "role": "Regression proof for persistent dev-client parsing, reuse, errors, and stop-on-error semantics." |
2660 | 2665 | }, |
2661 | 2666 | { |
|
2713 | 2718 | "Capability-local stdout guards left delayed imports and background native output able to corrupt the persistent JSON-RPC stream; process stdout is now reserved once by the stdio transport.", |
2714 | 2719 | "The command examples omitted the bounded ROI-summary and atomic viewer-isolation probes needed to validate current viewer agent workflows.", |
2715 | 2720 | "The how-to did not state that the development client validates commands against the selected declaration-derived surface before starting or dispatching; the selected-profile workflow now fails early with compatible registered profiles.", |
2716 | | - "The UI window-snapshot command could not select the request DTO's declared output directory even though the underlying capability and viewer command supported it; the CLI now projects that field through the shared request-option authority." |
| 2721 | + "The UI window-snapshot command could not select the request DTO's declared output directory even though the underlying capability and viewer command supported it; the CLI now projects that field through the shared request-option authority.", |
| 2722 | + "The guide called --timeout-seconds a generic client timeout even though standard progress renews it; it now distinguishes transport inactivity from operation-owned maximum duration." |
2717 | 2723 | ], |
2718 | 2724 | "disposition": "revise", |
2719 | 2725 | "validation": [ |
|
2743 | 2749 | "On 2026-08-26, re-read the complete development how-to after child MCP processes began retaining the platform authority's declared temporary root; the current-checkout commands, path-policy guidance, and snapshot workflow remain accurate.", |
2744 | 2750 | "On 2026-08-26, re-read and revised the complete how-to after execution submissions gained a declaration-owned budget distinct from status and stop controls; explicit submit_timeout_ms overrides and known pre-dispatch timeout guidance remain accurate.", |
2745 | 2751 | "On 2026-08-26, re-read the complete how-to after execute-source and the installed demo began deriving the submission deadline from OpenHCSZMQConfig; the page now names that authority and the documented timeout boundary remains accurate.", |
2746 | | - "On 2026-08-26, re-read the complete development how-to after function-catalog endpoint startup joined the request cancellation authority; the documented MCP and submission timeout boundaries remain accurate." |
| 2752 | + "On 2026-08-26, re-read the complete development how-to after function-catalog endpoint startup joined the request cancellation authority; the documented MCP and submission timeout boundaries remain accurate.", |
| 2753 | + "On 2026-08-27, applied the Diataxis how-to boundary and re-read the complete page against persistent-session progress tests; revised --timeout-seconds as a renewable inactivity deadline while keeping operation maxima separate." |
2747 | 2754 | ] |
2748 | 2755 | }, |
2749 | 2756 | { |
|
0 commit comments