test: 통합 스냅샷 재생성 스크립트 추가 + 회귀 테스트 갱신 (#29 후속 작업분)
Multi-MDX Regression (IMP-91) / multi-mdx-regression (push) Failing after 9m49s

- tests/integration/scripts/regenerate_snapshots.py: 스냅샷 일괄 재생성 도구
- 통합 스냅샷 9종 갱신, 회귀/유닛 테스트 7건 보강
- ISSUE_DRAFTS_2026-07-02.md: 7/2 전수 검토 이슈 초안 보존

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-12 11:13:44 +09:00
co-authored by Claude Fable 5
parent 9b79bf7538
commit 4d7c401779
19 changed files with 2274 additions and 851 deletions
+322 -126
View File
@@ -1,133 +1,329 @@
{
"_doc": "IMP-91 u10 — F4 layout snapshot (step07 + step08). Pins observed layout decision axes (preset / candidates / override / computation / dynamic flags) + planning geometry (heights_px / widths_px / ratios / col_ratios) + per-zone planning shape (position / min_height_px / frame_cardinality_strict / sub_zones_count / region_layout_candidates). step_status='partial' = schema-lock marker per Step 7/8 note (region-level ratio + count-based v0 marker stays a marker, never silently flipped). layout_override_applied=True ONLY for mdx 03 (project_mdx03_frame_lock 2026-05-15 user lock — axis A vertical-2 override). Source: src/phase_z2_pipeline.py step07/step08 emit; auto_layout_preset=None for mdx 05 single-preset path. drift in heights_px/ratios = content_weight_distribution shift; drift in computation = decision-path swap (regression signal axis distinct from preset).",
"01": {
"step7_step_status": "partial",
"step7_pipeline_path_connected": true,
"layout_preset": "horizontal-2",
"auto_layout_preset": "horizontal-2",
"layout_override_applied": false,
"zones_count": 2,
"unit_count": 2,
"layout_candidates": ["horizontal-2", "vertical-2"],
"computation": "min_height_first + content_weight_distribution",
"dynamic_rows": true,
"dynamic_cols": false,
"heights_px": [299, 272],
"widths_px": [1180],
"ratios": [0.511, 0.465],
"width_ratios": [1.0],
"step8_step_status": "partial",
"step8_pipeline_path_connected": true,
"zone_heights_px_planned": [299, 272],
"zone_widths_px_planned": [1180],
"zone_col_ratios_planned": [1.0],
"per_zone_layout_shape": [
{"position": "top", "min_height_px": 350, "frame_cardinality_strict": 2, "sub_zones_count": 3, "region_layout_candidates": ["region-single"]},
{"position": "bottom", "min_height_px": 320, "frame_cardinality_strict": 3, "sub_zones_count": 3, "region_layout_candidates": ["region-single"]}
"_doc": "IMP-91 u10 — F4 layout snapshot (step07 + step08). Pins observed layout decision axes (preset / candidates / override / computation / dynamic flags) + planning geometry (heights_px / widths_px / ratios / col_ratios) + per-zone planning shape (position / min_height_px / frame_cardinality_strict / sub_zones_count / region_layout_candidates). step_status='partial' = schema-lock marker per Step 7/8 note (region-level ratio + count-based v0 marker stays a marker, never silently flipped). layout_override_applied=True ONLY for mdx 03 (project_mdx03_frame_lock 2026-05-15 user lock — axis A vertical-2 override). Source: src/phase_z2_pipeline.py step07/step08 emit; auto_layout_preset=None for mdx 05 single-preset path. drift in heights_px/ratios = content_weight_distribution shift; drift in computation = decision-path swap (regression signal axis distinct from preset).",
"01": {
"step7_step_status": "partial",
"step7_pipeline_path_connected": true,
"layout_preset": "top-1-bottom-2",
"auto_layout_preset": "top-1-bottom-2",
"layout_override_applied": false,
"zones_count": 3,
"unit_count": 3,
"layout_candidates": [
"top-1-bottom-2",
"top-2-bottom-1",
"left-1-right-2",
"left-2-right-1"
],
"computation": "2d_dynamic_aggregated",
"dynamic_rows": true,
"dynamic_cols": true,
"heights_px": [
285,
286
],
"widths_px": [
562,
604
],
"ratios": [
0.487,
0.489
],
"width_ratios": [
0.476,
0.512
],
"step8_step_status": "partial",
"step8_pipeline_path_connected": true,
"zone_heights_px_planned": [
285,
286
],
"zone_widths_px_planned": [
562,
604
],
"zone_col_ratios_planned": [
0.476,
0.512
],
"per_zone_layout_shape": [
{
"position": "top",
"min_height_px": null,
"frame_cardinality_strict": null,
"sub_zones_count": 0,
"region_layout_candidates": [
"region-single"
]
},
"02": {
"step7_step_status": "partial",
"step7_pipeline_path_connected": true,
"layout_preset": "horizontal-2",
"auto_layout_preset": "horizontal-2",
"layout_override_applied": false,
"zones_count": 2,
"unit_count": 2,
"layout_candidates": ["horizontal-2", "vertical-2"],
"computation": "min_height_first + content_weight_distribution",
"dynamic_rows": true,
"dynamic_cols": false,
"heights_px": [273, 298],
"widths_px": [1180],
"ratios": [0.467, 0.509],
"width_ratios": [1.0],
"step8_step_status": "partial",
"step8_pipeline_path_connected": true,
"zone_heights_px_planned": [273, 298],
"zone_widths_px_planned": [1180],
"zone_col_ratios_planned": [1.0],
"per_zone_layout_shape": [
{"position": "top", "min_height_px": 320, "frame_cardinality_strict": 3, "sub_zones_count": 4, "region_layout_candidates": ["region-single"]},
{"position": "bottom", "min_height_px": 350, "frame_cardinality_strict": 3, "sub_zones_count": 3, "region_layout_candidates": ["region-single"]}
},
{
"position": "bottom-left",
"min_height_px": null,
"frame_cardinality_strict": null,
"sub_zones_count": 0,
"region_layout_candidates": [
"region-single"
]
},
"03": {
"step7_step_status": "partial",
"step7_pipeline_path_connected": true,
"layout_preset": "vertical-2",
"auto_layout_preset": "horizontal-2",
"layout_override_applied": true,
"zones_count": 2,
"unit_count": 2,
"layout_candidates": ["horizontal-2", "vertical-2"],
"computation": "user_override_geometry",
"dynamic_rows": false,
"dynamic_cols": true,
"heights_px": [585],
"widths_px": [408, 758],
"ratios": [1.0],
"width_ratios": [0.35, 0.65],
"step8_step_status": "partial",
"step8_pipeline_path_connected": true,
"zone_heights_px_planned": [585],
"zone_widths_px_planned": [408, 758],
"zone_col_ratios_planned": [0.35, 0.65],
"per_zone_layout_shape": [
{"position": "left", "min_height_px": 230, "frame_cardinality_strict": 3, "sub_zones_count": 3, "region_layout_candidates": ["region-single"]},
{"position": "right", "min_height_px": 345, "frame_cardinality_strict": 2, "sub_zones_count": 2, "region_layout_candidates": ["region-single"]}
},
{
"position": "bottom-right",
"min_height_px": null,
"frame_cardinality_strict": null,
"sub_zones_count": 0,
"region_layout_candidates": [
"region-single"
]
},
"04": {
"step7_step_status": "partial",
"step7_pipeline_path_connected": true,
"layout_preset": "top-1-bottom-2",
"auto_layout_preset": "top-1-bottom-2",
"layout_override_applied": false,
"zones_count": 3,
"unit_count": 3,
"layout_candidates": ["top-1-bottom-2", "top-2-bottom-1", "left-1-right-2", "left-2-right-1"],
"computation": "2d_dynamic_aggregated",
"dynamic_rows": true,
"dynamic_cols": true,
"heights_px": [221, 350],
"widths_px": [583, 583],
"ratios": [0.378, 0.598],
"width_ratios": [0.494, 0.494],
"step8_step_status": "partial",
"step8_pipeline_path_connected": true,
"zone_heights_px_planned": [221, 350],
"zone_widths_px_planned": [583, 583],
"zone_col_ratios_planned": [0.494, 0.494],
"per_zone_layout_shape": [
{"position": "top", "min_height_px": null, "frame_cardinality_strict": null, "sub_zones_count": 4, "region_layout_candidates": ["region-single"]},
{"position": "bottom-left", "min_height_px": 350, "frame_cardinality_strict": 4, "sub_zones_count": 5, "region_layout_candidates": ["region-single"]},
{"position": "bottom-right", "min_height_px": 350, "frame_cardinality_strict": null, "sub_zones_count": 1, "region_layout_candidates": ["region-single"]}
}
]
},
"02": {
"step7_step_status": "partial",
"step7_pipeline_path_connected": true,
"layout_preset": "horizontal-2",
"auto_layout_preset": "horizontal-2",
"layout_override_applied": false,
"zones_count": 2,
"unit_count": 2,
"layout_candidates": [
"horizontal-2",
"vertical-2"
],
"computation": "min_height_first + content_weight_distribution",
"dynamic_rows": true,
"dynamic_cols": false,
"heights_px": [
232,
339
],
"widths_px": [
1180
],
"ratios": [
0.397,
0.579
],
"width_ratios": [
1.0
],
"step8_step_status": "partial",
"step8_pipeline_path_connected": true,
"zone_heights_px_planned": [
232,
339
],
"zone_widths_px_planned": [
1180
],
"zone_col_ratios_planned": [
1.0
],
"per_zone_layout_shape": [
{
"position": "top",
"min_height_px": null,
"frame_cardinality_strict": null,
"sub_zones_count": 0,
"region_layout_candidates": [
"region-single"
]
},
"05": {
"step7_step_status": "partial",
"step7_pipeline_path_connected": true,
"layout_preset": "single",
"auto_layout_preset": null,
"layout_override_applied": false,
"zones_count": 1,
"unit_count": 1,
"layout_candidates": ["single"],
"computation": "fr_default_from_preset",
"dynamic_rows": false,
"dynamic_cols": false,
"heights_px": [585],
"widths_px": [1180],
"ratios": [1.0],
"width_ratios": [1.0],
"step8_step_status": "partial",
"step8_pipeline_path_connected": true,
"zone_heights_px_planned": [585],
"zone_widths_px_planned": [1180],
"zone_col_ratios_planned": [1.0],
"per_zone_layout_shape": [
{"position": "primary", "min_height_px": null, "frame_cardinality_strict": null, "sub_zones_count": 0, "region_layout_candidates": ["region-single"]}
},
{
"position": "bottom",
"min_height_px": null,
"frame_cardinality_strict": null,
"sub_zones_count": 0,
"region_layout_candidates": [
"region-single"
]
}
}
]
},
"03": {
"step7_step_status": "partial",
"step7_pipeline_path_connected": true,
"layout_preset": "vertical-2",
"auto_layout_preset": "horizontal-2",
"layout_override_applied": true,
"zones_count": 2,
"unit_count": 2,
"layout_candidates": [
"horizontal-2",
"vertical-2"
],
"computation": "content_weight_distribution_cols",
"dynamic_rows": false,
"dynamic_cols": true,
"heights_px": [
585
],
"widths_px": [
571,
595
],
"ratios": [
1.0
],
"width_ratios": [
0.484,
0.504
],
"step8_step_status": "partial",
"step8_pipeline_path_connected": true,
"zone_heights_px_planned": [
585
],
"zone_widths_px_planned": [
571,
595
],
"zone_col_ratios_planned": [
0.484,
0.504
],
"per_zone_layout_shape": [
{
"position": "left",
"min_height_px": null,
"frame_cardinality_strict": null,
"sub_zones_count": 0,
"region_layout_candidates": [
"region-single"
]
},
{
"position": "right",
"min_height_px": null,
"frame_cardinality_strict": null,
"sub_zones_count": 0,
"region_layout_candidates": [
"region-single"
]
}
]
},
"04": {
"step7_step_status": "partial",
"step7_pipeline_path_connected": true,
"layout_preset": "horizontal-2",
"auto_layout_preset": "horizontal-2",
"layout_override_applied": false,
"zones_count": 2,
"unit_count": 2,
"layout_candidates": [
"horizontal-2",
"vertical-2"
],
"computation": "min_height_first + content_weight_distribution",
"dynamic_rows": true,
"dynamic_cols": false,
"heights_px": [
241,
330
],
"widths_px": [
1180
],
"ratios": [
0.412,
0.564
],
"width_ratios": [
1.0
],
"step8_step_status": "partial",
"step8_pipeline_path_connected": true,
"zone_heights_px_planned": [
241,
330
],
"zone_widths_px_planned": [
1180
],
"zone_col_ratios_planned": [
1.0
],
"per_zone_layout_shape": [
{
"position": "top",
"min_height_px": null,
"frame_cardinality_strict": null,
"sub_zones_count": 0,
"region_layout_candidates": [
"region-single"
]
},
{
"position": "bottom",
"min_height_px": null,
"frame_cardinality_strict": null,
"sub_zones_count": 0,
"region_layout_candidates": [
"region-single"
]
}
]
},
"05": {
"step7_step_status": "partial",
"step7_pipeline_path_connected": true,
"layout_preset": "horizontal-2",
"auto_layout_preset": "horizontal-2",
"layout_override_applied": false,
"zones_count": 2,
"unit_count": 2,
"layout_candidates": [
"horizontal-2",
"vertical-2"
],
"computation": "min_height_first + content_weight_distribution",
"dynamic_rows": true,
"dynamic_cols": false,
"heights_px": [
313,
258
],
"widths_px": [
1180
],
"ratios": [
0.535,
0.441
],
"width_ratios": [
1.0
],
"step8_step_status": "partial",
"step8_pipeline_path_connected": true,
"zone_heights_px_planned": [
313,
258
],
"zone_widths_px_planned": [
1180
],
"zone_col_ratios_planned": [
1.0
],
"per_zone_layout_shape": [
{
"position": "top",
"min_height_px": null,
"frame_cardinality_strict": null,
"sub_zones_count": 0,
"region_layout_candidates": [
"region-single"
]
},
{
"position": "bottom",
"min_height_px": null,
"frame_cardinality_strict": null,
"sub_zones_count": 0,
"region_layout_candidates": [
"region-single"
]
}
]
}
}