kyeongmin
8648a468d9
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
..
2026-05-24 17:12:07 +09:00
2026-05-16 12:03:23 +09:00
2026-05-24 00:33:28 +09:00
2026-05-24 00:33:28 +09:00
2026-05-24 00:33:28 +09:00
2026-05-24 00:33:28 +09:00
2026-05-24 12:12:24 +09:00
2026-05-23 07:36:57 +09:00
2026-05-23 18:25:14 +09:00
2026-05-16 12:03:23 +09:00
2026-05-18 22:25:41 +09:00
2026-05-23 07:36:57 +09:00
2026-05-24 15:01:55 +09:00
2026-05-16 12:03:23 +09:00
2026-05-23 04:13:54 +09:00
2026-05-23 01:18:20 +09:00
2026-05-23 01:18:20 +09:00
2026-05-24 17:12:07 +09:00
2026-05-24 17:12:07 +09:00
2026-05-24 18:53:20 +09:00
2026-05-24 17:12:07 +09:00
2026-05-16 12:03:23 +09:00
2026-05-16 12:03:23 +09:00
2026-05-18 02:07:22 +09:00
2026-05-24 08:28:54 +09:00
2026-05-24 08:28:54 +09:00
2026-05-24 08:28:54 +09:00
2026-05-24 08:28:54 +09:00
2026-05-24 15:01:55 +09:00
2026-05-18 02:07:22 +09:00
2026-05-18 02:07:22 +09:00
2026-05-23 07:36:57 +09:00
2026-05-24 15:01:55 +09:00
2026-05-24 15:01:55 +09:00
2026-05-24 15:01:55 +09:00
2026-05-24 15:01:55 +09:00
2026-05-24 15:01:55 +09:00
2026-05-21 21:37:41 +09:00
2026-05-18 02:07:22 +09:00
2026-05-23 07:36:57 +09:00
2026-05-18 18:01:28 +09:00
2026-05-18 21:06:01 +09:00
2026-05-23 07:36:57 +09:00
2026-05-24 15:01:55 +09:00
2026-05-18 21:45:06 +09:00
2026-05-23 22:07:25 +09:00
2026-05-23 07:36:57 +09:00
2026-05-19 04:42:35 +09:00
2026-05-19 04:42:35 +09:00
2026-05-19 04:42:35 +09:00
2026-05-19 04:42:35 +09:00
2026-05-19 04:42:35 +09:00
2026-05-19 04:42:35 +09:00
2026-05-19 04:42:35 +09:00
2026-05-19 04:42:35 +09:00
2026-05-19 04:42:35 +09:00
2026-05-19 04:42:35 +09:00
2026-05-16 12:03:23 +09:00
2026-05-24 15:01:55 +09:00
2026-05-18 07:21:31 +09:00
2026-05-23 07:36:57 +09:00
2026-05-18 22:25:41 +09:00