From 0086453fc7866edaa7eedad6ba0a1e00a0ddd9ed Mon Sep 17 00:00:00 2001 From: Tristan Simas Date: Sun, 4 Oct 2026 21:10:50 -0400 Subject: [PATCH 1/5] Integrate canonical saved parameter admission and prepared help Normal RegistryService readiness prepares the authoritative schema source closure. Remove the deleted UnifiedParameterInfo reexport and pin PythonIntrospect 0.2.0/ObjectState 1.3.0 candidates; availability and integrated receiving remain pending. Fixes #726 --- external/ObjectState | 2 +- external/python-introspect | 2 +- openhcs/introspection/__init__.py | 2 -- .../processing/backends/lib_registry/registry_service.py | 7 ++----- pyproject.toml | 4 ++-- 5 files changed, 6 insertions(+), 11 deletions(-) diff --git a/external/ObjectState b/external/ObjectState index 27dbe365d7..7bdbcfc8ce 160000 --- a/external/ObjectState +++ b/external/ObjectState @@ -1 +1 @@ -Subproject commit 27dbe365d7b858691898dac9b50c96f0a211979b +Subproject commit 7bdbcfc8ce215fbe2530155b28b17f6fba744ae5 diff --git a/external/python-introspect b/external/python-introspect index 430fbbeeb6..2ab81400bf 160000 --- a/external/python-introspect +++ b/external/python-introspect @@ -1 +1 @@ -Subproject commit 430fbbeeb6c7e0a9274d3bf9b0998a10cae5a505 +Subproject commit 2ab81400bff025beeae6bcddc6157b7f1f7b8ad6 diff --git a/openhcs/introspection/__init__.py b/openhcs/introspection/__init__.py index 18844345f4..6e6181b23d 100644 --- a/openhcs/introspection/__init__.py +++ b/openhcs/introspection/__init__.py @@ -19,7 +19,6 @@ DocstringInfo, DocstringExtractor, UnifiedParameterAnalyzer, - UnifiedParameterInfo, register_namespace_provider, ) @@ -51,7 +50,6 @@ def _openhcs_namespace_provider(): "DocstringExtractor", # Unified analysis (from python_introspect) "UnifiedParameterAnalyzer", - "UnifiedParameterInfo", # Plugin registration (from python_introspect) "register_namespace_provider", ] diff --git a/openhcs/processing/backends/lib_registry/registry_service.py b/openhcs/processing/backends/lib_registry/registry_service.py index dd327c12a5..34b43a34bd 100644 --- a/openhcs/processing/backends/lib_registry/registry_service.py +++ b/openhcs/processing/backends/lib_registry/registry_service.py @@ -14,7 +14,6 @@ import threading from collections.abc import Callable from concurrent.futures import CancelledError -from dataclasses import is_dataclass from typing import TYPE_CHECKING, Dict, Optional from arraybridge import MemoryType @@ -168,13 +167,11 @@ def prepare_in_current_process( for func in callables: CallableProjection.from_callable(func).warm_canonical_signature() emit_status("Preparing registered configuration source declarations") - for declaration in dict.fromkeys( + SignatureAnalyzer.prepare_dataclass_declarations( declaration for pair in LazyDataclassFactory.registered_type_pairs() for declaration in pair - if is_dataclass(declaration) - ): - SignatureAnalyzer.prepare_dataclass_declaration(declaration) + ) emit_status(f"Registered kernels ready ({len(callables)} callables)") emit_status(f"Function catalog ready ({len(cls._metadata_cache)} callables)") return cls._metadata_cache diff --git a/pyproject.toml b/pyproject.toml index 1dbfbbd413..c21f7e6ff4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -101,8 +101,8 @@ dependencies = [ # External dependencies (PyPI versions for production builds) "zmqruntime>=0.4.0,<0.5", "pycodify>=0.1.3,<0.2", - "objectstate>=1.2.0,<2", - "python-introspect>=0.1.16,<0.2", + "objectstate>=1.3.0,<2", + "python-introspect>=0.2.0,<0.3", "metaclass-registry>=0.2.2,<0.3", "arraybridge>=0.3.6,<0.4", "polystore>=0.3.3,<0.4", From 92c22aa3589c6c040f4103e1f730c8a79a63403e Mon Sep 17 00:00:00 2001 From: Tristan Simas Date: Mon, 5 Oct 2026 12:26:06 -0400 Subject: [PATCH 2/5] Record first-job parameter declaration admission evidence (Refs #726) --- .../receiving.json | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 benchmark/results/perf_parameter_declaration_first_job_20261005/receiving.json diff --git a/benchmark/results/perf_parameter_declaration_first_job_20261005/receiving.json b/benchmark/results/perf_parameter_declaration_first_job_20261005/receiving.json new file mode 100644 index 0000000000..50d789fb76 --- /dev/null +++ b/benchmark/results/perf_parameter_declaration_first_job_20261005/receiving.json @@ -0,0 +1,62 @@ +{ + "status": "PASS", + "cases": [ + { + "case": "Illum3", + "steps": 10, + "first_job": true, + "baseline_wall": 0.12932004407048225, + "candidate_wall": 0.0827655210159719, + "saved_wall": 0.046554523054510355, + "baseline_config": 0.06032362300902605, + "candidate_config": 0.012376047670841217, + "baseline_steps": 0.0689964210614562, + "candidate_steps": 0.07038947334513068, + "typed_values_provenance_source_ancestor_scopes": "PASS" + }, + { + "case": "Original3D", + "steps": 31, + "first_job": false, + "baseline_wall": 0.23126327898353338, + "candidate_wall": 0.23596614226698875, + "saved_wall": -0.004702863283455372, + "baseline_config": 0.012254599947482347, + "candidate_config": 0.007936440873891115, + "baseline_steps": 0.21900867903605103, + "candidate_steps": 0.22802970139309764, + "typed_values_provenance_source_ancestor_scopes": "PASS" + } + ], + "limits": [ + "Saved PipelineConfig + ordered step admission only. Normal catalogue preparation, document parsing, orchestrator initialization, final graph/provider admission and execution excluded.", + "Illum3 is first-job cold admission; Original3D follows Illum in same process and is not an independent cold-first-job claim.", + "Fresh process per arm; ONE pair, no ordinary compiler/total or scientific runtime speedup claim.", + "Source-only held candidate versions; no canonical dependency installation, publication or changed factory cache epoch." + ], + "scope": "First-job saved declaration admission, not full compilation or execution.", + "source": { + "openhcs_measured": "85022a1e4e6528d5dc0c7a7fdd0b8ad71f09ac4a", + "baseline_consumers_projected_from": "f13798834db7e6857b1927e3edb4ad84a34dac72", + "python_introspect": "2ab81400bff025beeae6bcddc6157b7f1f7b8ad6", + "objectstate": "7bdbcfc8ce215fbe2530155b28b17f6fba744ae5", + "receiving_main": "b461b4885" + }, + "production_order": "Normal catalogue READY, submitted global-config parsing, pipeline document parsing, ensure_global_config_context, authored PipelineConfig saved resolution once, then all saved steps against actual Registry ancestors and authored PipelineConfig.", + "semantic_gate": "41 saved steps: exact typed values, complete canonical callable source, callable identity, provenance with only actual process-local pipeline ancestor scope association projected symbolically; one existing factory/constructor/error-epoch test PASS.", + "guards": "All source/input/helper/eight-dependency files and four native ABIs unchanged across both arms; owned processes absent.", + "failed_setup_attempts_retained": [ + "Initial standard pickle of decorated callable failed AFTER both priced admissions; computed timings were not persisted and no candidate was launched.", + "Unprepared dry source lookup requested a persistent catalogue child whose baseline source projection was not inheritable; failure retained.", + "Restored bound preparation methods differ in instance identity; corrected comparison uses canonical callable source/resolution.", + "Independent-process provenance has production id(pipeline_steps) suffix; comparison preserves the exact declared ancestor association rather than demanding matching process addresses." + ], + "previous_evidence": "The held 20261004 ordinary Illum-first compiler observation improved about45.5ms; second-case3D compiler change was0.17ms. Old261ms isolated3D estimate is not a whole-compiler saving and is not transferred by this replay.", + "availability": "Private exact PythonIntrospect0.2.0/ObjectState1.3.0 wheels only. No upstream tag/PyPI release/shared installation. Existing editor/help/default-reset controls remain applicable; this replay adds only actual first-job admission and the existing factory/error control.", + "evidence": { + "packet": "/home/ts/.local/state/openhcs-maintenance/20261005/parameter-owner-first-job-admission-v1", + "decision_sha256": "df538937e33967bd15ed8e176ddbe4db1a563c8d0e1461f4dbf9a61bb6349fb7", + "wheel_manifest_sha256": "0b981ef14f287fbee14bfc848b1f936dcb00640dd87fc67ebfb3e16d44798471" + }, + "current_main_delta": "Merged PR748 automatic-point/ROI/materialization/streaming plus PR816 native-library preparation and documentation into existing OH727 branch after the pair. No first-job admission clock on that new main is claimed. Current ordinary consumer/SCI receiving pending." +} From c020ff3f9d58d932ac5645c051c450e927966e6a Mon Sep 17 00:00:00 2001 From: Tristan Simas Date: Mon, 5 Oct 2026 12:46:04 -0400 Subject: [PATCH 3/5] Record default observer-off Illum3 qualification for #726 --- .../ordinary-observer-off.json | 199 ++++++++++++++++++ 1 file changed, 199 insertions(+) create mode 100644 benchmark/results/perf_parameter_declaration_first_job_20261005/ordinary-observer-off.json diff --git a/benchmark/results/perf_parameter_declaration_first_job_20261005/ordinary-observer-off.json b/benchmark/results/perf_parameter_declaration_first_job_20261005/ordinary-observer-off.json new file mode 100644 index 0000000000..efe4f615e0 --- /dev/null +++ b/benchmark/results/perf_parameter_declaration_first_job_20261005/ordinary-observer-off.json @@ -0,0 +1,199 @@ +{ + "status": "PASS", + "case": "ExampleIlluminationCorrection_Example3", + "source_head": "92c22aa3589c6c040f4103e1f730c8a79a63403e", + "scope": "ONE current candidate ordinary observation with default internal runtime profiling OFF. Normal full public READY/startup and shutdown excluded. Retained October3 native comparisons are older and unpaired.", + "ordinary": { + "compile_seconds": 0.20653533935546875, + "execute_seconds": 0.26493215560913086, + "total_seconds": 0.5658956840634346, + "prepare_seconds": 0.0, + "outside_compile_execution_seconds": 0.09442818909883499, + "status": "success", + "successful_wells": 1, + "well_count": 1, + "worker_count": 1, + "runtime_profile_log_present": false, + "receipt_path": "/home/ts/.local/state/openhcs-maintenance/20261005/parameter-owner-illum3-default-ordinary-v1/candidate/ordinary/ExampleIlluminationCorrection_Example3/wells_1/workers_1/ordinary_run_evidence/ExampleIlluminationCorrection_Example3-1w_1t-1791218192068689748/measured_pipeline_receipt.json", + "receipt_sha256": "6cbb4d3237dcea6284d1d70686b22523a8a3d2fb50b8b84577b984dc2564f423" + }, + "native": { + "observations": [ + { + "repetition": 0, + "output_root": "/home/ts/.local/state/openhcs-maintenance/20261003/current-wound-illum3-paired-v1/native/ExampleIlluminationCorrection_Example3/outputs/0", + "image_set_count": 1, + "invocation_seconds": 0.6704615103080869, + "pre_first_module_seconds": 0.07343892008066177, + "first_module_through_post_run_seconds": 0.5970225902274251, + "invocation_started_monotonic_seconds": 3808407.099707816, + "first_module_started_monotonic_seconds": 3808407.173146736, + "completed_monotonic_seconds": 3808407.770169326 + }, + { + "repetition": 1, + "output_root": "/home/ts/.local/state/openhcs-maintenance/20261003/current-wound-illum3-paired-v1/native/ExampleIlluminationCorrection_Example3/outputs/1", + "image_set_count": 1, + "invocation_seconds": 0.7205826421268284, + "pre_first_module_seconds": 0.06369220139458776, + "first_module_through_post_run_seconds": 0.6568904407322407, + "invocation_started_monotonic_seconds": 3808407.770178504, + "first_module_started_monotonic_seconds": 3808407.833870705, + "completed_monotonic_seconds": 3808408.490761146 + } + ], + "full_invocation_mean_seconds": 0.6955220762174577, + "first_module_through_post_run_mean_seconds": 0.6269565154798329, + "custody_scope": "October3 older unpaired retained native outputs and clocks; no fresh native observation.", + "authenticated_declared_output_count": 4 + }, + "absolute_ratios": { + "native_full_over_ordinary_total": 1.2290641116455174, + "native_full_over_ordinary_execute": 2.6252837245003966, + "two_times_full_total_budget_seconds": 0.3477610381087288, + "remaining_total_cut_seconds": 0.21813464595470577, + "two_times_total_target_met": false + }, + "science": { + "status": "PASS", + "native_repeats": [ + 0, + 1 + ], + "declared_images_per_repeat": [ + 2, + 2 + ], + "compared_pixels_per_repeat": [ + 426886, + 426886 + ], + "max_abs_pixel_difference": 2.9802322387695312e-08, + "out_of_tolerance_pixels": 0, + "policy": "existing atol=1e-6, rtol=1e-6; no exclusions; two nonempty declared images; image-only plan has no tables", + "complete_inventory": [ + "PASS", + "PASS" + ], + "measurements": [ + "PASS", + "PASS" + ], + "receipt_sha256": "e6cca5f8985da8a093ffd04046b47cdef766b98a9e0381d8c3b45e8a828f263e" + }, + "custody": { + "guards": { + "source": "PASS", + "inputs": "PASS", + "native": "PASS", + "helpers": "PASS", + "dependencies": "PASS" + }, + "lingering_owned_pids": [], + "source_clean_at_preparation": true, + "dependency_versions": { + "python-introspect": "0.2.0", + "objectstate": "1.3.0", + "polystore": "0.3.3", + "arraybridge": "0.3.6", + "metaclass-registry": "0.2.2", + "pycodify": "0.1.3", + "pyqt-reactive": "0.3.27", + "zmqruntime": "0.4.0", + "matplotlib": "3.11.2", + "numpy": "2.5.3", + "numba": "0.67.0" + }, + "private_dependency_origins": { + "python_introspect": "/home/ts/.local/state/openhcs-maintenance/20261004/parameter-declaration-presentation-v1/candidate-site/python_introspect/__init__.py", + "objectstate": "/home/ts/.local/state/openhcs-maintenance/20261004/parameter-declaration-presentation-v1/candidate-site/objectstate/__init__.py" + }, + "private_wheels": { + "status": "PASS", + "private_site": "/home/ts/.local/state/openhcs-maintenance/20261004/parameter-declaration-presentation-v1/candidate-site", + "sources": [ + { + "package": "python_introspect", + "source_head": "2ab81400bff025beeae6bcddc6157b7f1f7b8ad6", + "wheel": "/home/ts/.local/state/openhcs-maintenance/20261004/parameter-declaration-presentation-v1/wheels/python_introspect-0.2.0-py3-none-any.whl", + "wheel_sha256": "c151e79c729df0ccd58bfa5b0df22f6eab37e39dc35b6d1a55847669c1ac36cd", + "wheel_bytes": 37000, + "all_python_source_and_private_installed_bytes_match": true, + "package_files": { + "python_introspect/__init__.py": "b7deba6f98c76b4b072dd26846ab233472f623a8df916aa030150ef7aa08acd1", + "python_introspect/annotation_types.py": "dc126879a8a581cea0758eec4df18ec20c47ca4b1e135abde23699b65b790bde", + "python_introspect/callable_declaration.py": "3bb8b474624fe6b2964a5c1f9a6aa540b2703500bfa124e7808995cb789d6951", + "python_introspect/dataclass_projection.py": "d2be277051b070d73503025a3addcde8016787e18a369c45b60be0c0edb65fea", + "python_introspect/docstring_annotations.py": "444e8064f833f1a044208bd4a15107a6b688b597e36ab78ac58bee6996b51fc9", + "python_introspect/enableable.py": "025eadd64a6a6f1648bc36fbd1724f6049355a0b9b1a259443248d70170b8eb6", + "python_introspect/environment_projection.py": "8ab7d1e01e9a4529ea0b77d8996a5feeb94bdc2e905dd6263afb28d11bc217a0", + "python_introspect/exceptions.py": "4c6f15a3625d02b05b2fc8651e67e6b77d4bb442ad180b85121d91874ec3407b", + "python_introspect/runtime_parameter.py": "59fed2d467e751686447322f8e19a8633d964741d3d8afccb850dc504a619897", + "python_introspect/signature_analyzer.py": "0e515ac6e741f9d00d574143f4c98b25676fc412a86c96ed127e67ead75ad895", + "python_introspect/unified_parameter_analyzer.py": "430dfd990b180d8ab9cc4881e802d1a19ab041e6783c99a5905c694da2a471c8", + "python_introspect/validation.py": "46fba78bd068c75c89b91baa4a5cbe8cdca9692e75a285eaf76311183df77b64" + } + }, + { + "package": "objectstate", + "source_head": "7bdbcfc8ce215fbe2530155b28b17f6fba744ae5", + "wheel": "/home/ts/.local/state/openhcs-maintenance/20261004/parameter-declaration-presentation-v1/wheels/objectstate-1.3.0-py3-none-any.whl", + "wheel_sha256": "8a65b68bd1363352cf90cd582a61b09bb31d0586df1b64357731368ae57fdeea", + "wheel_bytes": 138167, + "all_python_source_and_private_installed_bytes_match": true, + "package_files": { + "objectstate/__init__.py": "1b5b5f0038d679bd5eb86bef1c1defa137ca2475daaea95472b6ece492e55203", + "objectstate/collection_containers.py": "a939d07f5dc391b7131f7ffaa7d1390b0449b4931d54ed5b09b27f59056b6e9b", + "objectstate/config.py": "6db2d9de077872009f1d6defe351cf8f40e441a0de31ff574b02741cefb4ffe3", + "objectstate/construction_binding.py": "9cfed94cad1cc9d5cf2cf0f7e8f534f72192168bdf3ba90b2b8d7ee57f4950d3", + "objectstate/context_manager.py": "25b1a7aa1dc6abc96b6ff91dd14e27fc3804c06f8c45a2c7a3ca6a3dd01b35a0", + "objectstate/dual_axis_resolver.py": "17fcda62912050bdcdd018bee2fca5f81c2f4940c5f27f2af3dc19b7691e1fb0", + "objectstate/edit_session.py": "003cfaff8d3687b0fa115e051c3cf833a3cbb21ad9d9becfe16c59359d656350", + "objectstate/field_access.py": "77f483322a504c392c0ca41cc3ee6b691d258396f70f00a61b98d9f4bc03d43a", + "objectstate/global_config.py": "a8187811f87806579640a8147f287114e7127401530178dd37e8d28ed788a6ae", + "objectstate/history_migration.py": "1c24097040e38c159ea7e809424c0b94ec6c34efa3dc84cd664ff6a2f790815f", + "objectstate/lazy_factory.py": "64ae924c176757863a84eef19b9df0eff516e32443c2661134ec2ae72f234bf9", + "objectstate/live_context_resolver.py": "bd169b0bf2e9eea833ffc1d28331d320b2386193652fca041387f32bf018d71e", + "objectstate/object_state.py": "03f818c3045b6a07024444ab2b5552fb6be9eab32dd151bb165b6f904d2863a3", + "objectstate/object_state_metadata.py": "4c5be42e313e3f896f2db0d3f89ca18ca6ab09b9d25f202a7b2af9e59a099ddb", + "objectstate/object_state_registry.py": "f848746a9c2a023a616c37531691073ea7bdb8d28d7db3bca5c8a3dcb176107a", + "objectstate/parameter_owner.py": "908606ec2da70f223a93071e92ca24affb3f172f7df14c64dfd27974f1fbb85c", + "objectstate/parameter_structure.py": "105b42eb2d273f4305c5b96cb07bf40910b1ba82d963559177e9c0fa12cb85e9", + "objectstate/parametric_axes.py": "7229b518f8d5cca522a3020361c16a601f3084bc5a7d34ef92a2fef11619e40c", + "objectstate/placeholder.py": "4e057cf3225dd38ef3859f20fcd1305526829f044af45ef616381ea734df8f67", + "objectstate/reified_generics.py": "39ad0897ec45ba929c0fae694dd870df987c06e2b005644189212fe224eceab2", + "objectstate/snapshot_model.py": "001cc83d354b040763b2da9aad0014619fdee22c82dce622dbd93ecfba780681", + "objectstate/subfield_semantics.py": "97aa6a7f2659260b1950c068f47d9bccec15087ed1852f1dd182272c8230c14a", + "objectstate/time_travel_profile.py": "c59d157f9cb85ee29aa64e18393d916ded656c6ce88bb46782f44e2463fcd007", + "objectstate/token_cache.py": "d6b7cdb71c15e13e8bab7271d70e0b96ccbe0825004c45c4e88851ee30a9435f", + "objectstate/transaction_checkpoint.py": "4c105f2078bf23c9312c600543623b9456de256c7093b9cb8a9b753b49b67530", + "objectstate/ui_visibility.py": "be0c60b66b86ebb696583ee394c0d45b05fd1f68a609a6aa0c29aa1098dc2592", + "objectstate/value_semantics.py": "4b8a43ca8667c592b74f0d46b8507ef8331402e376230dd7cac217870b2ae2f9" + } + } + ], + "scope": "Existing exact candidate wheels remain byte-identical to clean held source heads and private-site Python payloads. No rebuild, shared installation or release." + }, + "four_native_abis": { + "/var/tmp/openhcs-cp-compiled-contract-reuse-20261004/openhcs/core/_tabular_native.abi3.so": "657448f5ac704ba664b684d30ec80a209663d1c0bc73999eff07ac20fa27ee7e", + "/var/tmp/openhcs-cp-compiled-contract-reuse-20261004/openhcs/processing/backends/cellprofiler/_font_raster_native.abi3.so": "7d834bf78324fb17bced5034aff2405613b1d67bcead450bdfdfe77be3a9327c", + "/var/tmp/openhcs-cp-compiled-contract-reuse-20261004/openhcs/processing/backends/cellprofiler/_granularity_native.abi3.so": "9223bf2c69c35455b033a0346def94fb4de731cc655be8c8554e54523d452d2f", + "/var/tmp/openhcs-cp-compiled-contract-reuse-20261004/openhcs/processing/backends/cellprofiler/_median_native.abi3.so": "b201d7a367d90a0416e434e7ddfc6640f0a0849e9fc38954fb64b434313a8877" + }, + "prepared_sha256": "d0324c62062febdacb9a8ec1616e8bf6d41cf167fb259caa85cdad3686448371", + "terminal_sha256": "ccb94e0108305f9c38532b90da13db3612ebc41c840ac4c2a8b813a0a9dbb7da" + }, + "limitations": [ + "No controlled baseline with profiling OFF was run; no causal subtraction from prior profile-ON .628203-second observation.", + "This whole-run observation does not isolate PI/ObjectState patch causality.", + "The 2x full-native total-time target remains unmet.", + "No shared dependency install, release, tag, or merge performed.", + "Initial missing-parent-environment preflight RED retained; corrected task environment passed before any server launch." + ], + "release": { + "cpu5_and_memory_gate": "RELEASED", + "source_and_private_site_freeze": "RELEASED", + "ordinary_handle": 56747, + "science_handle": 96586 + } +} From a7d2573edfb7ee4b9fb4cf56cb24dc51085d4f87 Mon Sep 17 00:00:00 2001 From: Tristan Simas Date: Mon, 5 Oct 2026 12:49:11 -0400 Subject: [PATCH 4/5] Pin merged parameter declaration dependencies for #726 --- external/ObjectState | 2 +- external/python-introspect | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/external/ObjectState b/external/ObjectState index 7bdbcfc8ce..7db151907a 160000 --- a/external/ObjectState +++ b/external/ObjectState @@ -1 +1 @@ -Subproject commit 7bdbcfc8ce215fbe2530155b28b17f6fba744ae5 +Subproject commit 7db151907a52a95743fbeae5a64220b28bc56690 diff --git a/external/python-introspect b/external/python-introspect index 2ab81400bf..43cdbf3dbc 160000 --- a/external/python-introspect +++ b/external/python-introspect @@ -1 +1 @@ -Subproject commit 2ab81400bff025beeae6bcddc6157b7f1f7b8ad6 +Subproject commit 43cdbf3dbc47f7e1710cb984fac16968effb946b From 207914d89e1bd4e5f2aab3a83b40c63a51cc58f8 Mon Sep 17 00:00:00 2001 From: Tristan Simas Date: Mon, 5 Oct 2026 12:53:09 -0400 Subject: [PATCH 5/5] Distinguish execution-to-execution and full-total ratios for #726 --- .../ordinary-observer-off.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/benchmark/results/perf_parameter_declaration_first_job_20261005/ordinary-observer-off.json b/benchmark/results/perf_parameter_declaration_first_job_20261005/ordinary-observer-off.json index efe4f615e0..b4ff08571d 100644 --- a/benchmark/results/perf_parameter_declaration_first_job_20261005/ordinary-observer-off.json +++ b/benchmark/results/perf_parameter_declaration_first_job_20261005/ordinary-observer-off.json @@ -52,7 +52,9 @@ "native_full_over_ordinary_execute": 2.6252837245003966, "two_times_full_total_budget_seconds": 0.3477610381087288, "remaining_total_cut_seconds": 0.21813464595470577, - "two_times_total_target_met": false + "two_times_total_target_met": false, + "native_module_over_ordinary_execute": 2.366479501283403, + "primary_fair_comparison": "first_module_through_post_run native execution / OpenHCS execute; full invocation / OpenHCS total separately" }, "science": { "status": "PASS",