Skip to content

B1b: scope B1's anchor rule to the runtime domain; keep openhcs: keys resolvable - #1183

Merged
trissim merged 1 commit into
mainfrom
fix/B1b-main-unit-regressions
Oct 10, 2026
Merged

trissim merged 1 commit into
mainfrom
fix/B1b-main-unit-regressions

Conversation

@trissim

@trissim trissim commented Oct 10, 2026 •

Copy link
Copy Markdown
Collaborator

Branched from 5e40d34 (G3 merge).

The 9 tests the coordinator listed

Tests Broken by Cause Fix
test_loaded_pattern_group_ownership::test_initial_source_input_uses_loaded_declared_cohort_without_workspace_read (4), and 3 in test_invocation_input_source_context_identity B1 (#1181) — pass at b7b8a66, fail at 113b243 B1 put its "main flow owns the anchors" rule into CallableContract.group_scope_inputs. That property also drives compile-time source projection, so callables that take declared source images through artifact inputs lost their projection Production: the rule moves to lifecycle_anchor_owner_inputs, used only by RuntimeInvocationDomain.from_invocation. group_scope_inputs is restored
benchmark/test_agent_validation_attempt_recorder (2) Not a regression from 17029de. The file failed at import there (first_payload_mapping). C2 (#1176) fixed the import and exposed a production bug OpenHCSRegistry.metadata_for_declared_callable claimed openhcs:<name> for a decorated callable in any module. get_function resolves keys only through the catalog, which scans only the openhcs modules. F1 (#1175) renders pipelines as get_function(key), so the rendered source could not be loaded back Production: LibraryRegistryBase.owns_module is now the single membership rule, used by both the local claim and composite_keys_for_declared_callable. A callable outside the registry renders as a plain import

No test assertions were changed, except that the B1 regression test now asserts the new property.

Verification

  • The 9 listed tests, plus test_function_patterns, test_opaque_main_flow_image_domain, test_function_execution_lifecycle_anchors and the recorder file: 156 passed, 1 failed. The failure is test_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.
  • Registry, function-reference and pipeline-document unit files (13): 161 passed, the same as 5e40d34.
  • B1 cases: 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

… 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>
Copilot AI balanced review requested due to automatic review settings October 10, 2026 15:04

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@trissim
trissim merged commit 61b9bc2 into main Oct 10, 2026
1 of 37 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants