Skip to content

K8: materialization owned by core; one value-to-JSON encoder; result file kinds as a family - #1208

Merged
trissim merged 17 commits into
mainfrom
refactor/K8-contract-materialization
Oct 12, 2026
Merged

trissim merged 17 commits into
mainfrom
refactor/K8-contract-materialization

Conversation

@trissim

@trissim trissim commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

K8 · PR #1208 · guards 3/3 · production −341 +300 · tests −155 +266

Receipt: docs/refactor/consolidation-20261009/K8-contract-materialization.md (deletion certificates and the tests-only list are there).

What changed

  • Contract half: closure note; it landed with G5.
  • openhcs/processing/materialization/ is now openhcs/core/materialization/. Every importer is updated; there is no re-export.
  • json_payload_value, JsonPayloadAuthority and benchmark/validation/corpus.py::_json_value are replaced by python_introspect.to_jsonable. ColumnarRows, DataFrame and Series join by registration.
  • FileFormat(Enum) is the ResultFileFormat family (core/result_file_formats.py). Each kind owns its suffixes, its preview and how the browser opens it. RESULT_FILE_ACTIONS, ResultFileAction and the inventory's member lists are deleted, along with four unreferenced members.
  • The unused SecondaryObjectStats computation in identify_secondary_objects is deleted, with its class.
  • Template-crop tests follow the checkpoint naming rule of 0dd77da46; no production change.
  • Guards: tests/unit/test_k8_materialization_guards.py. Two FileFormat rows leave E1's enum-dispatch table.

Owner decision (K8-Q1)
User custom functions that import openhcs.processing.materialization fail on import until edited to openhcs.core.materialization. Default: no tool, same as G7-Q1 and K4-Q1.

Checks

  • Guards: 3 passed.
  • 142 unit files that import the moved or changed modules: 4,279 passed, 10 failed, 2 errors. Nine failures are the same nine on origin/main (44980dfe2). The tenth (test_synthetic_plate_mcp_progress[False]) and the two errors (test_classification_two_vector_authoring) pass when run alone, here and on main.
  • tests/pyqt_gui/test_image_browser_filter_controller.py: 8 passed (3 failed on main for a stale stub, fixed here).
  • Official30 parity under flock: passed (21:01) at 3c6ace299. Later commits change only the result-file preview reader and the image browser. An earlier run failed because the client reached another worktree's execution server.
  • Structural ratchet (openhcs) and nra-r1 exit 1 because of the move: both key counts by file path, so the moved files' unchanged counts show as new under the new path and gone under the old one. No other key increased. scripts and benchmark ratchets exit 0.

🤖 Generated with Claude Code

trissim and others added 11 commits October 11, 2026 14:46
…ed on E1)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…condary_objects

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ialization, all importers updated

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e; ResultFileFormat family replaces the FileFormat enum; guards

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…module; receipt; browser test stub

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@trissim trissim changed the title K8: contract and materialization ownership (part 1; rest waits for E1) K8: materialization owned by core; one value-to-JSON encoder; result file kinds as a family Oct 11, 2026
@trissim
trissim marked this pull request as ready for review October 11, 2026 20:58
Copilot AI balanced review requested due to automatic review settings October 11, 2026 20:58

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 and others added 6 commits October 11, 2026 17:04
…tch, boolean chains, redundant type checks)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@trissim
trissim merged commit a751b0e into main Oct 12, 2026
0 of 3 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