Skip to content

Redesign Config schema and validation to align with ProbeSpec/ScanSpec style #407

@coderabbitai

Description

@coderabbitai

Overview

The current Config schema and validation layer (in zea/internal/config/validation.py) is planned for a full redesign in a future PR to align it with the ProbeSpec/ScanSpec pattern already used elsewhere in the codebase.

Motivation

  • The current schema-library-based validation approach is inconsistent with the Spec-based validation used for ProbeSpec and ScanSpec.
  • The parameters section of the config should accept any parameter key, reflecting the same open/extensible design of the zea.Parameters class (which supports arbitrary custom pass-through parameters via _custom_params).
  • Until the redesign, ignore_extra_keys=True is used as a pragmatic workaround at both the parameters schema level and the top-level config_schema.

Planned changes

  • Remove the current schema/validation infrastructure for Config.
  • Redesign validation in line with ProbeSpec/ScanSpec (i.e., dataclass-based Spec subclasses).
  • Ensure the parameters group allows arbitrary keys, consistent with zea.Parameters.

References

/cc @tristan-deep

Metadata

Metadata

Assignees

Labels

data formatRelated to the zea data format saving and loading

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions