Repository navigation
B1b: scope B1's anchor rule to the runtime domain; keep openhcs: keys resolvable - #1183
Merged
Merged
Conversation
… resolvable B1 (#1181) changed CallableContract.group_scope_inputs so that a plain callable fed main-flow pixels declared no group-scope inputs. That property also drives compile-time source projection (path planner invocation sources and main_flow_projection), so callables that consume declared source images through artifact inputs lost their source projection. That broke the loaded-pattern-group and invocation source-context tests. The anchor rule now lives in one property used only by RuntimeInvocationDomain: lifecycle_anchor_owner_inputs. group_scope_inputs keeps its meaning. The attempt-recorder tests were never green at 17029de (ImportError). Once C2 (#1176) fixed the import, they showed a production defect: OpenHCSRegistry.metadata_for_declared_callable claimed an "openhcs:" key for a decorated callable in any module, but the catalog that get_function resolves keys through scans only the registry's own modules. Since F1 (#1175) a pipeline is rendered as get_function(key), so the rendered source could not be loaded back. Module membership is now one method, LibraryRegistryBase.owns_module, used by both the local claim and composite_keys_for_declared_callable. A callable outside it renders as a plain import. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Branched from 5e40d34 (G3 merge).
The 9 tests the coordinator listed
test_loaded_pattern_group_ownership::test_initial_source_input_uses_loaded_declared_cohort_without_workspace_read(4), and 3 intest_invocation_input_source_context_identityCallableContract.group_scope_inputs. That property also drives compile-time source projection, so callables that take declared source images through artifact inputs lost their projectionlifecycle_anchor_owner_inputs, used only byRuntimeInvocationDomain.from_invocation.group_scope_inputsis restoredbenchmark/test_agent_validation_attempt_recorder(2)first_payload_mapping). C2 (#1176) fixed the import and exposed a production bugOpenHCSRegistry.metadata_for_declared_callableclaimedopenhcs:<name>for a decorated callable in any module.get_functionresolves keys only through the catalog, which scans only theopenhcsmodules. F1 (#1175) renders pipelines asget_function(key), so the rendered source could not be loaded backLibraryRegistryBase.owns_moduleis now the single membership rule, used by both the local claim andcomposite_keys_for_declared_callable. A callable outside the registry renders as a plain importNo test assertions were changed, except that the B1 regression test now asserts the new property.
Verification
test_function_patterns,test_opaque_main_flow_image_domain,test_function_execution_lifecycle_anchorsand the recorder file: 156 passed, 1 failed. The failure istest_primary_workspace_role_does_not_override_compiled_input_ownership, which already fails at 17029de, 3d6a6d7, b7b8a66, 113b243 and 5e40d34. It is not in the list and is unchanged here.test_main[disk-{ImageXpress,OperaPhenix,OpenHCS}-3d-multiprocessing-direct-none-none]: 3 passed.B1b · PR #1183 · guards n/a (bug fix) · production −12 +31 · tests −1 +1
🤖 Generated with Claude Code