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

- 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:
2026-05-24 07:01:58 +09:00
parent 6aa7564509
commit c59864eb9a
17 changed files with 1523 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
{
"_doc": "IMP-91 u9 — F3 classifier-only AI axis. Pin observed step12 per-unit classifier label / route_hint / AI-isolation flags + coverage_invariant + step15 fit_classification + step16 router_active + step18 failure_type. Default-OFF AI invariant ([[feedback_ai_isolation_contract]]): ai_called MUST be False for every unit unless AI_FALLBACK_ENABLED is flipped via .env (not via pipeline default). If any unit flips ai_called=True silently, this snapshot fails loudly per [[feedback_demo_env_toggle_policy]].",
"01": {
"units": [
{"source_section_ids": ["01-2"], "label": "use_as_is", "route_hint": "direct_render", "provisional": false, "ai_called": false, "skip_reason": "not_provisional", "apply_status": "no_proposal"},
{"source_section_ids": ["01-1"], "label": "use_as_is", "route_hint": "direct_render", "provisional": false, "ai_called": false, "skip_reason": "not_provisional", "apply_status": "no_proposal"}
],
"coverage_invariant_status": "ok",
"fit_visual_check_passed": true,
"fit_classifications_count": 0,
"fit_categories_seen": [],
"router_active": false,
"router_routed_count": 0,
"router_v4_fallback_used_count": 0,
"failure_type": "not_attempted"
},
"02": {
"units": [
{"source_section_ids": ["02-1"], "label": "use_as_is", "route_hint": "direct_render", "provisional": false, "ai_called": false, "skip_reason": "not_provisional", "apply_status": "no_proposal"},
{"source_section_ids": ["02-2-sub-1", "02-2-sub-2"], "label": "use_as_is", "route_hint": "direct_render", "provisional": true, "ai_called": false, "skip_reason": "route_not_ai_adaptation:direct_render", "apply_status": "no_proposal"}
],
"coverage_invariant_status": "ok",
"fit_visual_check_passed": true,
"fit_classifications_count": 0,
"fit_categories_seen": [],
"router_active": false,
"router_routed_count": 0,
"router_v4_fallback_used_count": 0,
"failure_type": "not_attempted"
},
"03": {
"units": [
{"source_section_ids": ["03-1"], "label": "use_as_is", "route_hint": "direct_render", "provisional": false, "ai_called": false, "skip_reason": "not_provisional", "apply_status": "no_proposal"},
{"source_section_ids": ["03-2"], "label": "use_as_is", "route_hint": "direct_render", "provisional": false, "ai_called": false, "skip_reason": "not_provisional", "apply_status": "no_proposal"}
],
"coverage_invariant_status": "ok",
"fit_visual_check_passed": true,
"fit_classifications_count": 0,
"fit_categories_seen": [],
"router_active": false,
"router_routed_count": 0,
"router_v4_fallback_used_count": 0,
"failure_type": "not_attempted"
},
"04": {
"units": [
{"source_section_ids": ["04-2-sub-2"], "label": "light_edit", "route_hint": "deterministic_minor_adjustment", "provisional": false, "ai_called": false, "skip_reason": "not_provisional", "apply_status": "no_proposal"},
{"source_section_ids": ["04-2-sub-1"], "label": "restructure", "route_hint": "ai_adaptation_required", "provisional": true, "ai_called": false, "skip_reason": "router_short_circuit", "apply_status": "no_proposal"},
{"source_section_ids": ["04-1"], "label": "reject", "route_hint": "ai_adaptation_required", "provisional": true, "ai_called": false, "skip_reason": "router_short_circuit", "apply_status": "no_proposal"}
],
"coverage_invariant_status": "ok",
"fit_visual_check_passed": true,
"fit_classifications_count": 0,
"fit_categories_seen": [],
"router_active": false,
"router_routed_count": 0,
"router_v4_fallback_used_count": 0,
"failure_type": "not_attempted"
},
"05": {
"units": [
{"source_section_ids": ["05-1", "05-2-sub-1", "05-2-sub-2"], "label": "empty_shell", "route_hint": null, "provisional": true, "ai_called": false, "skip_reason": "route_not_ai_adaptation:None", "apply_status": "no_proposal"}
],
"coverage_invariant_status": "ok",
"fit_visual_check_passed": true,
"fit_classifications_count": 0,
"fit_categories_seen": [],
"router_active": false,
"router_routed_count": 0,
"router_v4_fallback_used_count": 0,
"failure_type": "not_attempted"
}
}

View File

@@ -0,0 +1,43 @@
{
"_doc": "IMP-#91 u5 — full_mdx_coverage / aligned_section_ids / covered_section_ids / filtered_section_ids snapshot pinned from observed step20_slide_status.json across MDX_SET (mdx 01-05). Drift = real change in coverage outcome; re-baseline only with conscious explanation in commit body.",
"01": {
"full_mdx_coverage": true,
"rendered": true,
"visual_check_passed": true,
"aligned_section_ids": ["01-1", "01-2"],
"covered_section_ids": ["01-1", "01-2"],
"filtered_section_ids": []
},
"02": {
"full_mdx_coverage": true,
"rendered": true,
"visual_check_passed": true,
"aligned_section_ids": ["02-1", "02-2-sub-1", "02-2-sub-2"],
"covered_section_ids": ["02-1", "02-2-sub-1", "02-2-sub-2"],
"filtered_section_ids": []
},
"03": {
"full_mdx_coverage": true,
"rendered": true,
"visual_check_passed": true,
"aligned_section_ids": ["03-1", "03-2"],
"covered_section_ids": ["03-1", "03-2"],
"filtered_section_ids": []
},
"04": {
"full_mdx_coverage": true,
"rendered": true,
"visual_check_passed": true,
"aligned_section_ids": ["04-1", "04-2-sub-1", "04-2-sub-2"],
"covered_section_ids": ["04-1", "04-2-sub-1", "04-2-sub-2"],
"filtered_section_ids": []
},
"05": {
"full_mdx_coverage": false,
"rendered": true,
"visual_check_passed": true,
"aligned_section_ids": ["05-1", "05-2-sub-1", "05-2-sub-2"],
"covered_section_ids": ["05-1", "05-2-sub-1", "05-2-sub-2"],
"filtered_section_ids": ["05-1", "05-2-sub-1", "05-2-sub-2"]
}
}

View 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
}
}

View File

@@ -0,0 +1,133 @@
{
"_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"]}
]
},
"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"]}
]
},
"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"]}
]
},
"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"]}
]
},
"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"]}
]
}
}

View File

@@ -0,0 +1,83 @@
{
"_doc": "IMP-91 u6 — F0 normalize axis snapshot (step02_normalized.json). Pins observed current state per [[feedback_validation_first_for_closed_issues]] / Stage 1 'do not invent a new expectation'. step_status='partial' is the schema-lock marker for IMP-02/03 (orphans + details detection unimplemented). adapter_enabled/used=false reflects default-OFF canary (chained adapter trace OFF). asset counts are step02 collection state (popups/images/tables list aggregation in stage0_normalized_assets); they may grow when IMP-03 detection lands and the snapshot will drift loudly.",
"01": {
"step_num": 2,
"step_status": "partial",
"pipeline_path_connected": true,
"sections_count": 2,
"section_ids": ["01-1", "01-2"],
"orphans_count": 0,
"details_count": 0,
"adapter_enabled": false,
"adapter_used": false,
"assets_popups_count": 0,
"assets_images_count": 0,
"assets_tables_count": 0,
"slide_title_nonempty": true,
"slide_footer_nonempty": true
},
"02": {
"step_num": 2,
"step_status": "partial",
"pipeline_path_connected": true,
"sections_count": 2,
"section_ids": ["02-1", "02-2"],
"orphans_count": 0,
"details_count": 0,
"adapter_enabled": false,
"adapter_used": false,
"assets_popups_count": 0,
"assets_images_count": 0,
"assets_tables_count": 0,
"slide_title_nonempty": true,
"slide_footer_nonempty": true
},
"03": {
"step_num": 2,
"step_status": "partial",
"pipeline_path_connected": true,
"sections_count": 2,
"section_ids": ["03-1", "03-2"],
"orphans_count": 0,
"details_count": 0,
"adapter_enabled": false,
"adapter_used": false,
"assets_popups_count": 0,
"assets_images_count": 0,
"assets_tables_count": 0,
"slide_title_nonempty": true,
"slide_footer_nonempty": true
},
"04": {
"step_num": 2,
"step_status": "partial",
"pipeline_path_connected": true,
"sections_count": 2,
"section_ids": ["04-1", "04-2"],
"orphans_count": 0,
"details_count": 0,
"adapter_enabled": false,
"adapter_used": false,
"assets_popups_count": 0,
"assets_images_count": 0,
"assets_tables_count": 0,
"slide_title_nonempty": true,
"slide_footer_nonempty": true
},
"05": {
"step_num": 2,
"step_status": "partial",
"pipeline_path_connected": true,
"sections_count": 2,
"section_ids": ["05-1", "05-2"],
"orphans_count": 0,
"details_count": 0,
"adapter_enabled": false,
"adapter_used": false,
"assets_popups_count": 0,
"assets_images_count": 0,
"assets_tables_count": 0,
"slide_title_nonempty": true,
"slide_footer_nonempty": true
}
}

View File

@@ -0,0 +1,103 @@
{
"_doc": "IMP-#91 u8 — F2 slot_payload axis. Pins step12_slot_payload.json per_zone structural shape (position / template_id / builder / slot_names / list_slot_counts / dict_slot_sub_counts / string_slot_nonempty) for mdx 01-05. Pins SHAPE not literal content — text edits in MDX won't drift this snapshot, but builder swap / slot rename / missing slot / list-cardinality drift will. __empty__ zones have builder=null and zero slots.",
"01": [
{
"position": "top",
"template_id": "bim_dx_comparison_table",
"builder": "compare_table_2col",
"slot_names": ["col_a_label", "col_b_label", "rows", "title"],
"list_slot_counts": {"rows": 2},
"dict_slot_sub_counts": {},
"string_slot_nonempty": {"col_a_label": true, "col_b_label": true, "title": true}
},
{
"position": "bottom",
"template_id": "construction_bim_three_usage",
"builder": "quadrant_flat_slots",
"slot_names": ["category_1_body", "category_1_label", "category_2_body", "category_2_label", "category_3_body", "category_3_label", "title"],
"list_slot_counts": {"category_1_body": 2, "category_2_body": 2, "category_3_body": 2},
"dict_slot_sub_counts": {},
"string_slot_nonempty": {"category_1_label": true, "category_2_label": true, "category_3_label": true, "title": true}
}
],
"02": [
{
"position": "top",
"template_id": "construction_goals_three_circle_intersection",
"builder": "cycle_intersect_3",
"slot_names": ["circle_1_label", "circle_2_label", "circle_3_label", "intersection", "title"],
"list_slot_counts": {},
"dict_slot_sub_counts": {},
"string_slot_nonempty": {"circle_1_label": true, "circle_2_label": true, "circle_3_label": true, "intersection": false, "title": true}
},
{
"position": "bottom",
"template_id": "__empty__",
"builder": null,
"slot_names": [],
"list_slot_counts": {},
"dict_slot_sub_counts": {},
"string_slot_nonempty": {}
}
],
"03": [
{
"position": "left",
"template_id": "three_parallel_requirements",
"builder": "items_with_role",
"slot_names": ["pillars", "title"],
"list_slot_counts": {"pillars": 3},
"dict_slot_sub_counts": {},
"string_slot_nonempty": {"title": true}
},
{
"position": "right",
"template_id": "process_product_two_way",
"builder": "process_product_pair",
"slot_names": ["banner_left", "banner_right", "process", "product", "title"],
"list_slot_counts": {},
"dict_slot_sub_counts": {"process": {"sections": 3}, "product": {"sections": 3}},
"string_slot_nonempty": {"banner_left": true, "banner_right": true, "title": true}
}
],
"04": [
{
"position": "top",
"template_id": "bim_issues_quadrant_four",
"builder": "quadrant_flat_slots",
"slot_names": ["quadrant_1_body", "quadrant_1_label", "quadrant_2_body", "quadrant_2_label", "quadrant_3_body", "quadrant_3_label", "quadrant_4_body", "quadrant_4_label", "title"],
"list_slot_counts": {"quadrant_1_body": 2, "quadrant_2_body": 2, "quadrant_3_body": 2, "quadrant_4_body": 2},
"dict_slot_sub_counts": {},
"string_slot_nonempty": {"quadrant_1_label": true, "quadrant_2_label": true, "quadrant_3_label": true, "quadrant_4_label": true, "title": true}
},
{
"position": "bottom-left",
"template_id": "__empty__",
"builder": null,
"slot_names": [],
"list_slot_counts": {},
"dict_slot_sub_counts": {},
"string_slot_nonempty": {}
},
{
"position": "bottom-right",
"template_id": "__empty__",
"builder": null,
"slot_names": [],
"list_slot_counts": {},
"dict_slot_sub_counts": {},
"string_slot_nonempty": {}
}
],
"05": [
{
"position": "primary",
"template_id": "__empty__",
"builder": null,
"slot_names": [],
"list_slot_counts": {},
"dict_slot_sub_counts": {},
"string_slot_nonempty": {}
}
]
}

View File

@@ -0,0 +1,43 @@
{
"_doc": "IMP-#91 u3 structural snapshot — pins observed step20 overall + step09 per-zone selected_template_id per mdx in the 01-05 acceptance set. Each entry is fresh-run evidence (not aspirational). Update only when an intentional pipeline change moves the observed value; treat unexplained drift as regression. [[feedback_validation_first_for_closed_issues]] [[feedback_artifact_status_naming]]",
"01": {
"overall": "PASS",
"zone_count": 2,
"zones": [
{"position": "top", "selected_template_id": "bim_dx_comparison_table"},
{"position": "bottom", "selected_template_id": "construction_bim_three_usage"}
]
},
"02": {
"overall": "PASS",
"zone_count": 2,
"zones": [
{"position": "top", "selected_template_id": "construction_goals_three_circle_intersection"},
{"position": "bottom", "selected_template_id": "three_persona_benefits"}
]
},
"03": {
"overall": "PASS",
"zone_count": 2,
"zones": [
{"position": "left", "selected_template_id": "three_parallel_requirements"},
{"position": "right", "selected_template_id": "process_product_two_way"}
]
},
"04": {
"overall": "PASS",
"zone_count": 3,
"zones": [
{"position": "top", "selected_template_id": "bim_issues_quadrant_four"},
{"position": "bottom-left", "selected_template_id": "sw_dependency_four_problems"},
{"position": "bottom-right", "selected_template_id": "pre_construction_model_info_stacked"}
]
},
"05": {
"overall": "EMPTY_SHELL_NO_CONTENT",
"zone_count": 1,
"zones": [
{"position": "primary", "selected_template_id": "__empty__"}
]
}
}

View File

@@ -0,0 +1,112 @@
{
"_doc": "IMP-91 u7 — F1 V4 ranking observed snapshot (step05_v4_evidence). Pins v4_source (POSIX-normalized), aligned_section_ids, and per-section {section_id, candidate_status, candidates: [{template_id, label, confidence}]}. confidence kept at current 4-decimal rounding. Sections appear in pipeline-emitted order.",
"01": {
"v4_source": "tests/matching/v4_full32_result.yaml",
"aligned_section_ids": ["01-1", "01-2"],
"sections": [
{
"section_id": "01-1",
"candidate_status": "ok",
"candidates": [
{"template_id": "construction_bim_three_usage", "label": "use_as_is", "confidence": 0.9101},
{"template_id": "construction_goals_three_circle_intersection", "label": "light_edit", "confidence": 0.8261},
{"template_id": "dx_sw_necessity_three_perspectives", "label": "light_edit", "confidence": 0.8168}
]
},
{
"section_id": "01-2",
"candidate_status": "ok",
"candidates": [
{"template_id": "bim_dx_comparison_table", "label": "use_as_is", "confidence": 0.9459},
{"template_id": "app_sw_package_vs_solution", "label": "restructure", "confidence": 0.6813}
]
}
]
},
"02": {
"v4_source": "tests/matching/v4_full32_result.yaml",
"aligned_section_ids": ["02-1", "02-2-sub-1", "02-2-sub-2"],
"sections": [
{
"section_id": "02-1",
"candidate_status": "ok",
"candidates": [
{"template_id": "construction_goals_three_circle_intersection", "label": "use_as_is", "confidence": 0.914}
]
},
{
"section_id": "02-2-sub-1",
"candidate_status": "no_non_reject_v4_candidate",
"candidates": []
},
{
"section_id": "02-2-sub-2",
"candidate_status": "no_non_reject_v4_candidate",
"candidates": []
}
]
},
"03": {
"v4_source": "tests/matching/v4_full32_result.yaml",
"aligned_section_ids": ["03-1", "03-2"],
"sections": [
{
"section_id": "03-1",
"candidate_status": "ok",
"candidates": [
{"template_id": "three_parallel_requirements", "label": "use_as_is", "confidence": 0.9268},
{"template_id": "dx_sw_necessity_three_perspectives", "label": "light_edit", "confidence": 0.8413}
]
},
{
"section_id": "03-2",
"candidate_status": "ok",
"candidates": [
{"template_id": "process_product_two_way", "label": "use_as_is", "confidence": 0.9198}
]
}
]
},
"04": {
"v4_source": "tests/matching/v4_full32_result.yaml",
"aligned_section_ids": ["04-1", "04-2-sub-1", "04-2-sub-2"],
"sections": [
{
"section_id": "04-1",
"candidate_status": "no_non_reject_v4_candidate",
"candidates": []
},
{
"section_id": "04-2-sub-1",
"candidate_status": "no_non_reject_v4_candidate",
"candidates": []
},
{
"section_id": "04-2-sub-2",
"candidate_status": "no_non_reject_v4_candidate",
"candidates": []
}
]
},
"05": {
"v4_source": "tests/matching/v4_full32_result.yaml",
"aligned_section_ids": ["05-1", "05-2-sub-1", "05-2-sub-2"],
"sections": [
{
"section_id": "05-1",
"candidate_status": "no_non_reject_v4_candidate",
"candidates": []
},
{
"section_id": "05-2-sub-1",
"candidate_status": "no_non_reject_v4_candidate",
"candidates": []
},
{
"section_id": "05-2-sub-2",
"candidate_status": "no_non_reject_v4_candidate",
"candidates": []
}
]
}
}

View File

@@ -0,0 +1,48 @@
{
"_doc": "u4 — pin observed step14_visual_check overflow/clip per mdx 01-05. Fresh subprocess observation per [[feedback_validation_first_for_closed_issues]]; drift surfaces visual regression (overflow / clip) loudly per [[feedback_artifact_status_naming]] 3-axis honesty. Snapshot pinned to current-state, not to invented expectation (Stage 1 scope-lock).",
"01": {
"slide_overflowed": false,
"slide_body_overflowed": false,
"passed": true,
"zones": [
{"position": "top", "template_id": "bim_dx_comparison_table", "overflowed": false, "clipped_inner_count": 0},
{"position": "bottom", "template_id": "construction_bim_three_usage", "overflowed": false, "clipped_inner_count": 0}
]
},
"02": {
"slide_overflowed": false,
"slide_body_overflowed": false,
"passed": true,
"zones": [
{"position": "top", "template_id": "construction_goals_three_circle_intersection", "overflowed": false, "clipped_inner_count": 0},
{"position": "bottom", "template_id": "__empty__", "overflowed": false, "clipped_inner_count": 0}
]
},
"03": {
"slide_overflowed": false,
"slide_body_overflowed": false,
"passed": true,
"zones": [
{"position": "left", "template_id": "three_parallel_requirements", "overflowed": false, "clipped_inner_count": 0},
{"position": "right", "template_id": "process_product_two_way", "overflowed": false, "clipped_inner_count": 0}
]
},
"04": {
"slide_overflowed": false,
"slide_body_overflowed": false,
"passed": true,
"zones": [
{"position": "top", "template_id": "bim_issues_quadrant_four", "overflowed": false, "clipped_inner_count": 0},
{"position": "bottom-left", "template_id": "__empty__", "overflowed": false, "clipped_inner_count": 0},
{"position": "bottom-right", "template_id": "__empty__", "overflowed": false, "clipped_inner_count": 0}
]
},
"05": {
"slide_overflowed": false,
"slide_body_overflowed": false,
"passed": true,
"zones": [
{"position": "primary", "template_id": "__empty__", "overflowed": false, "clipped_inner_count": 0}
]
}
}