Repository navigation
2.1.0: objectstate.codegen; drop well_filter debug - #28
Merged
Merged
Conversation
…ter debug - objectstate.codegen registers LazyDataclassFormatter with pycodify: source is written from raw field values (clean mode: constructor-set fields and concrete values; full mode: every field) and exposes field_needs_source for owners that format lazy-config fields themselves. Moved from OpenHCS. - Deletes debug branches gated on application field names (well_filter, num_workers, sub_dir, output_dir_suffix); docstring examples now use partition_filter / PartitionFilterConfig. - Depends on pycodify>=0.2.0,<0.3. 2.1.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Base configs that inherit through None (LazyResolutionDataclass, not factory-made LazyDataclass) were written through pycodify's generic dataclass formatter, which reads resolved values: full mode baked inherited values into the source and the loaded config stopped inheriting. LazyResolutionFormatter writes their raw values (clean mode: fields that differ from the field default); LazyDataclassFormatter refines it with the constructor-set rule. 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.
Part of OpenHCS consolidation surface L6.
objectstate.codegen(moved from OpenHCS): importing it registers pycodify formatters that write raw field values, never resolved ones.LazyResolutionFormatterhandles everyLazyResolutionDataclass. In clean mode it writes the fields whose raw value differs from the field default.LazyDataclassFormatterhandles factory-madeLazyDataclass. In clean mode it writes constructor-set fields and concrete values.field_needs_source(current, default, context)serves owners that format lazy-config fields themselves.NoneareLazyResolutionDataclassbut notLazyDataclass, and they were written through pycodify's generic dataclass formatter. That formatter reads resolved values, so in full mode a saved config stopped inheriting. OpenHCS's new round-trip test found this.well_filter,num_workers,sub_dir,output_dir_suffix). A generic library should not name app fields, and these branches were already unreachable after the rename. Docstring examples now usepartition_filter/PartitionFilterConfig.pycodify>=0.2.0,<0.3.Release order: pycodify 0.2.0 must be released first (OpenHCSDev/pycodify PR). CI here installs from PyPI and fails until it is.
Tests: local full suite passed (238 + 2), with pycodify from its PR branch.
🤖 Generated with Claude Code