Files
C.E.L_Slide_test2/tests/integration/__snapshots__/slot_payload.json
kyeongmin 8648a468d9
Some checks failed
Multi-MDX Regression (IMP-91) / multi-mdx-regression (push) Failing after 26s
feat(#69): IMP-40 u1~u6 frame contract label_default placeholder/fallback role discriminator (BIM/DX leak fix)
- catalog (frame_contracts.yaml): F18 bim_dx_comparison_table col_a/col_b
  label_default_role=placeholder; F30 industry_current_status_three_col +
  F31 industry_characteristics_three_col col_a/col_b/col_c forward-compat
  placeholder; F33 engn_sw_three_types untouched (no label_default).
- mapper (_build_compare_table_2col): generic _resolve_label_default(col_key)
  branches on <col>_label_default_role — placeholder -> '' (Figma placeholder
  suppressed at runtime), fallback -> catalog literal (legacy default), unknown
  -> ValueError with template_id + role_key + value. Absent role defaults to
  fallback (backward compat for contracts without discriminator).
- tests (tests/phase_z2/test_imp40_label_default_role.py): u4 generic matrix
  (placeholder / fallback / absent / unknown / 3-col axis) + u5 F18-reuse
  non-BIM/DX synthetic rows asserting placeholder labels emit '' and BIM/DX
  literal tokens do not leak.
- snapshot (tests/integration/__snapshots__/slot_payload.json): mdx 01 F18
  string_slot_nonempty.col_a_label/col_b_label True -> False (u6 expected
  drift from u3 placeholder -> empty string flip). slot_names + rows + title
  preserved.

Verification:
- imp40_label_default_role: 6/6 PASSED
- phase_z2 sweep: 608/608 PASSED
- multi_mdx_regression: 50/50 PASSED
- cross-suite sweep: 662/662 PASSED
- BIM/DX literal grep on mapper + new test: 0 hits
- No mdx-specific branches (mdx 03/04/05 grep on mapper: 0 hits)

Guardrails: no MDX 03/04/05 hardcoding (catalog policy only); no spacing
shrink; no auto frame swap on reject; no AI call at Step 12; F33 untouched.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 18:53:20 +09:00

104 lines
4.0 KiB
JSON

{
"_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": false, "col_b_label": false, "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": {}
}
]
}