Repository navigation
E2: remove classes that restate an existing declaration - #1220
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…; one-member enums Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ved or deleted 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>
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.
Surface E2 of the consolidation refactor: remove classes that restate what an existing declaration already says. Surface file:
docs/refactor/consolidation-20261009/E2-restated-declarations.md(first commit).E2 · PR #1220 · guards 4/4 · production −251 +148 · tests −65 +281What changed
ConfigDocumentField,PipelineDocumentField(and its module) andFunctionStepDocumentFieldare deleted. A saved.pydocument is a dataclass that inherits pycodify's newSourceDocument: each constructor field is one module-level assignment.PipelineStepsDocument,PipelineDocument(PipelineStepsDocument),FunctionStepDocumentand the newConfigDocumentare the four kinds; the three codecs keep only type checks and step normalization. Library PR: SourceDocument: a dataclass saved as one module of assignments pycodify#5 (no version bump; the submodule points at its branch).McpReconnectOwnerdeleted:reconnect_owner,reconnect_requiredandretry_after_reconnectare properties ofrestart_required. The wire value"mcp_client"is unchanged.RuntimeBatchCallableMetadataField(and the unusedRUNTIME_BATCH_EXECUTORS_ATTR) → one private constant.CellProfilerSpreadsheetRowFielddeleted: the row key isCellProfilerMeasurementDialect.row_identity_contract.sample_number_field.ConfigFieldRequirementLabel,ConfigFieldResolutionLabeldeleted: the context section formats the two booleans.ConfigDocumentAuthority→ConfigDocumentCodec,PipelineDocument.original_source→source_text.Kept as external spellings (one line each in the surface file):
McpWireContentType(MCP content blocks),DesktopInstallerSchemaVersion(installer scripts),SaveImagesImageKindandAlignModule.AdditionalMode(.cppipesettings),PlateInspectionWorkflowScope(MCP result schema).ConfigFieldSchemais an MCP result DTO derived fromdataclasses.fields. The twoAnnotatedfield-role markers are reassigned to K3.Behaviour changes
pipeline_stepsbeforepipeline_config(dataclass fields are ordered base first). Names and values are unchanged; files in either order load.PipelineDocument source must define 'pipeline_steps'.).Deletion certificates
All derived or unused (listed in the surface file). No tests-only deletion.
Verification
All local, repo
.venv(Python 3.12), offscreen, ataa7300926(main merged):guardrails_local.sh: ratchet openhcs/scripts/benchmark exit 0, 38 passed, nra-r1 exit 0,guardrails rc=0.SMOKE_SKIP_GUI=1 smoke_local.sh: 5 passed,smoke rc=0.tests/unit/test_source_documents.py, four document kinds × clean/full mode), E2 guards, MCP tool contract, E1 enum guard, L6 codegen guard: 27 passed. The MCP contract test passes unchanged.tests: 71 passed.-n 2): 2967 passed, 11 failed. Seven are cross-file pollution in a shared worker (a CellProfiler probe module registered by another test file) and pass when their files run alone. The other four fail the same way onorigin/mainin the same environment:test_installed_mcp_demo.py::test_portable_source_normalization_defers_catalog_and_execution_runtimes, twotest_mcp_server.pystdio tests (initialize timeout), and onetest_ui_agent_bridge.pyIPC test (endpoint startup timeout).flock: first run 28/30, the two failures beingOpenHCS ZMQ compilation failed: cannot import name ... (/home/ts/code/projects/openhcs/openhcs/domains/microscopy/config.py), i.e. the client attached to an execution server running the main checkout, not this branch (B7's collision). Second run: 1 passed (30/30) in 667 s.🤖 Generated with Claude Code