feat(#91): IMP-91 u2~u15 multi-mdx regression CI suite + status-board auto-update
Some checks failed
Multi-MDX Regression (IMP-91) / multi-mdx-regression (push) Failing after 31s
Some checks failed
Multi-MDX Regression (IMP-91) / multi-mdx-regression (push) Failing after 31s
- u2~u5: tests/integration/test_multi_mdx_regression.py — MDX_SET=(01..05) cached integration runs + status/structural/visual snapshots + full_mdx_coverage assertion (9 snapshots populated for 01-05). - u6~u11: F0 normalize / F1 V4 ranking / F2 slot_payload / F3 classifier-only AI / F4 layout / F5 final.html axis per MDX_SET. - u12: pyproject.toml — pytest-json-report>=1.5 in dev extras. - u13: .github/workflows/multi-mdx-regression.yml — pytest+artifact CI. - u14: scripts/update_status_board.py + tests/scripts/test_update_status_board.py — idempotent JSON marker updater (3 unit tests pass). - u15: PHASE-Z-PIPELINE-STATUS-BOARD.md — 30 F0-F5 × mdx01-05 markers initialized `?` + workflow wiring. Stage 4 verify: 59/59 PASS targeted (smoke 6 + updater 3 + integration 50), 386/386 PASS regression umbrella, 0 failures. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
88
tests/integration/__snapshots__/final_html.json
Normal file
88
tests/integration/__snapshots__/final_html.json
Normal file
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"_doc": "IMP-91 u11 — F5 final.html extraction axis. Pin step13_render.json metadata (step_status / pipeline_path_connected / render_inputs.zones_count / render_inputs.layout_preset / slide_title|footer non-empty / final_html_size_bytes) AND structural markers extracted from the on-disk final.html (HTML <title>, slide root count, slide-footer presence, data-zone-position/data-template-id topology). The HTML-extracted zone topology MUST match the step12 slot_payload (position, template_id) sequence already pinned in slot_payload.json (u8) — Jinja2 renders from step12, not step09, so step12 is the correct upstream parity source (step09 selection vs step12 __empty__ collapse is intentional per IMP-87 honesty gate and surfaces in u8). Drift between final.html and slot_payload = render pipeline disconnect. on-disk final.html size_bytes MUST equal step13's reported final_html_size_bytes (byte parity = no truncation / no double-write race).",
|
||||
"01": {
|
||||
"step13_status": "done",
|
||||
"step13_pipeline_path_connected": true,
|
||||
"render_inputs_zones_count": 2,
|
||||
"render_inputs_layout_preset": "horizontal-2",
|
||||
"render_inputs_slide_title_nonempty": true,
|
||||
"render_inputs_slide_footer_nonempty": true,
|
||||
"html_title_matches_render_input": true,
|
||||
"html_slide_root_count": 1,
|
||||
"html_slide_footer_present": true,
|
||||
"html_zone_count": 2,
|
||||
"html_zone_topology": [
|
||||
{"position": "top", "template_id": "bim_dx_comparison_table"},
|
||||
{"position": "bottom", "template_id": "construction_bim_three_usage"}
|
||||
],
|
||||
"final_html_size_matches_step13_reported": true
|
||||
},
|
||||
"02": {
|
||||
"step13_status": "done",
|
||||
"step13_pipeline_path_connected": true,
|
||||
"render_inputs_zones_count": 2,
|
||||
"render_inputs_layout_preset": "horizontal-2",
|
||||
"render_inputs_slide_title_nonempty": true,
|
||||
"render_inputs_slide_footer_nonempty": true,
|
||||
"html_title_matches_render_input": true,
|
||||
"html_slide_root_count": 1,
|
||||
"html_slide_footer_present": true,
|
||||
"html_zone_count": 2,
|
||||
"html_zone_topology": [
|
||||
{"position": "top", "template_id": "construction_goals_three_circle_intersection"},
|
||||
{"position": "bottom", "template_id": "__empty__"}
|
||||
],
|
||||
"final_html_size_matches_step13_reported": true
|
||||
},
|
||||
"03": {
|
||||
"step13_status": "done",
|
||||
"step13_pipeline_path_connected": true,
|
||||
"render_inputs_zones_count": 2,
|
||||
"render_inputs_layout_preset": "vertical-2",
|
||||
"render_inputs_slide_title_nonempty": true,
|
||||
"render_inputs_slide_footer_nonempty": true,
|
||||
"html_title_matches_render_input": true,
|
||||
"html_slide_root_count": 1,
|
||||
"html_slide_footer_present": true,
|
||||
"html_zone_count": 2,
|
||||
"html_zone_topology": [
|
||||
{"position": "left", "template_id": "three_parallel_requirements"},
|
||||
{"position": "right", "template_id": "process_product_two_way"}
|
||||
],
|
||||
"final_html_size_matches_step13_reported": true
|
||||
},
|
||||
"04": {
|
||||
"step13_status": "done",
|
||||
"step13_pipeline_path_connected": true,
|
||||
"render_inputs_zones_count": 3,
|
||||
"render_inputs_layout_preset": "top-1-bottom-2",
|
||||
"render_inputs_slide_title_nonempty": true,
|
||||
"render_inputs_slide_footer_nonempty": true,
|
||||
"html_title_matches_render_input": true,
|
||||
"html_slide_root_count": 1,
|
||||
"html_slide_footer_present": true,
|
||||
"html_zone_count": 3,
|
||||
"html_zone_topology": [
|
||||
{"position": "top", "template_id": "bim_issues_quadrant_four"},
|
||||
{"position": "bottom-left", "template_id": "__empty__"},
|
||||
{"position": "bottom-right", "template_id": "__empty__"}
|
||||
],
|
||||
"final_html_size_matches_step13_reported": true
|
||||
},
|
||||
"05": {
|
||||
"step13_status": "done",
|
||||
"step13_pipeline_path_connected": true,
|
||||
"render_inputs_zones_count": 1,
|
||||
"render_inputs_layout_preset": "single",
|
||||
"render_inputs_slide_title_nonempty": true,
|
||||
"render_inputs_slide_footer_nonempty": true,
|
||||
"html_title_matches_render_input": true,
|
||||
"html_slide_root_count": 1,
|
||||
"html_slide_footer_present": true,
|
||||
"html_zone_count": 1,
|
||||
"html_zone_topology": [
|
||||
{"position": "primary", "template_id": "__empty__"}
|
||||
],
|
||||
"final_html_size_matches_step13_reported": true
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user