Overview
Phase 2 of the CTI resurrection epic (Phase 0: #82/#83; Phase 1: #84/#85). PyAutoFit removed analysis summing (analysis + analysis) in favour of af.AnalysisFactor + af.FactorGraphModel; 5 multi-analysis aggregator tests were skipped in Phase 0 pending the port. This phase ports them and sweeps for remaining autofit drift.
Plan
- Update
test_autocti/aggregator/conftest.py so multi-dataset cases fit an af.FactorGraphModel(*[af.AnalysisFactor(prior_model=model, analysis=a) for a in analyses]) (the autolens_workspace/multi/start_here.py pattern); un-skip the 5 skipped tests and fix loader fallout (fit.children).
- Grep autocti for other removed autofit idioms; verify the multi-dataset visualizer path (
visualize_combined, in_ascending_fpr_order_from) is exercised by the factor-graph fit.
Out of scope: Phase 3 CI/ecosystem plumbing, Phase 4 workspace, Phase 5 workspace_test + release.
Detailed implementation plan
Affected Repositories
Branch Survey
| Repository |
Current Branch |
Dirty? |
| ./PyAutoCTI |
main (post-#85, clean) |
clean |
Suggested branch: feature/cti-resurrection-phase2
Implementation Steps
test_autocti/aggregator/conftest.py: extend aggregator_from for a list of analyses via FactorGraphModel; MockSearch fit of factor_graph.global_prior_model.
- Un-skip:
test_aggregator_dataset_1d.py (multi_dataset, use_dataset_full), test_aggregator_imaging_ci.py (multi_dataset, use_dataset_full), test_aggregator_fit_imaging_ci.py (multi_analysis).
- Fix aggregator loader fallout; keep single-analysis behavior unchanged.
- Drift sweep + full suite green.
Key Files
test_autocti/aggregator/conftest.py, test_autocti/aggregator/test_*.py
autocti/aggregator/*.py (loaders)
Original Prompt
PyAutoMind prompt: draft/feature/autocti/cti_resurrection_phase2_autofit_sync.md (epic origin verbatim in #82).
Overview
Phase 2 of the CTI resurrection epic (Phase 0: #82/#83; Phase 1: #84/#85). PyAutoFit removed analysis summing (
analysis + analysis) in favour ofaf.AnalysisFactor+af.FactorGraphModel; 5 multi-analysis aggregator tests were skipped in Phase 0 pending the port. This phase ports them and sweeps for remaining autofit drift.Plan
test_autocti/aggregator/conftest.pyso multi-dataset cases fit anaf.FactorGraphModel(*[af.AnalysisFactor(prior_model=model, analysis=a) for a in analyses])(theautolens_workspace/multi/start_here.pypattern); un-skip the 5 skipped tests and fix loader fallout (fit.children).visualize_combined,in_ascending_fpr_order_from) is exercised by the factor-graph fit.Out of scope: Phase 3 CI/ecosystem plumbing, Phase 4 workspace, Phase 5 workspace_test + release.
Detailed implementation plan
Affected Repositories
Branch Survey
Suggested branch:
feature/cti-resurrection-phase2Implementation Steps
test_autocti/aggregator/conftest.py: extendaggregator_fromfor a list of analyses via FactorGraphModel; MockSearch fit offactor_graph.global_prior_model.test_aggregator_dataset_1d.py(multi_dataset, use_dataset_full),test_aggregator_imaging_ci.py(multi_dataset, use_dataset_full),test_aggregator_fit_imaging_ci.py(multi_analysis).Key Files
test_autocti/aggregator/conftest.py,test_autocti/aggregator/test_*.pyautocti/aggregator/*.py(loaders)Original Prompt
PyAutoMind prompt:
draft/feature/autocti/cti_resurrection_phase2_autofit_sync.md(epic origin verbatim in #82).