Every load of a serialized edit logs:
WARNING negpy.domain.models: Dropping unknown config keys: ['stitch_canvas', 'stitch_enabled', 'stitch_paths', 'stitch_sizes', 'stitch_transforms']
WorkspaceConfig.to_dict() serializes the StitchConfig fields (res.update(asdict(self.stitch))) and from_flat_dict()'s _build_stitch() reconstructs them — but StitchConfig was missing from the config_classes list that builds the known-keys set. So the stitch keys were treated as unknown and warned about on every load, despite being consumed correctly. The stitch config itself round-tripped fine; only the spurious warning was the problem.
Every load of a serialized edit logs:
WARNING negpy.domain.models: Dropping unknown config keys: ['stitch_canvas', 'stitch_enabled', 'stitch_paths', 'stitch_sizes', 'stitch_transforms']
WorkspaceConfig.to_dict() serializes the StitchConfig fields (res.update(asdict(self.stitch))) and from_flat_dict()'s _build_stitch() reconstructs them — but StitchConfig was missing from the config_classes list that builds the known-keys set. So the stitch keys were treated as unknown and warned about on every load, despite being consumed correctly. The stitch config itself round-tripped fine; only the spurious warning was the problem.