Current review finding: base_setup.manifest still acts as both reader and compatibility export hub, and internal modules continue importing dataclasses and errors through it. Acceptance: internal callers import models from manifest_model and errors/readers from their focused modules where practical, leaving manifest.py as the reader/compatibility surface only.
Current review finding: base_setup.manifest still acts as both reader and compatibility export hub, and internal modules continue importing dataclasses and errors through it. Acceptance: internal callers import models from manifest_model and errors/readers from their focused modules where practical, leaving manifest.py as the reader/compatibility surface only.