fix(IMP-04): F12 F1 follow-ups — intersection optional + smoke title generic
Same-frame F1 follow-up commit per Codex round 37 (#15503). Matrix §4.1
Fix 7 4-class: F1 = small same-frame fix + Codex re-review (not F2/F3,
no Track A pause needed).
Two fixes (both Codex-caught) :
1. F1-a — `intersection` sub_zone contract semantics
- Previous (c67609c) declared `cardinality: { strict: 1 }` on the
intersection sub_zone, while the builder used `intersection_default: ""`
and the partial hides empty intersection. That mismatch meant
production payloads could silently omit the center concept while
the contract still demanded strict 1.
- Fix : `cardinality: { min: 0, max: 1 }` — intersection is now
explicitly optional, matching analysis.md "slots 5개, required 4개"
(intersection was originally the optional 5th slot).
- Builder behavior unchanged (intersection_default = "" still
produces empty when MDX has no center text; partial's :empty hide
remains semantically correct).
2. F1-b — smoke harness viewer title leakage
- Previous harness output had `<title>F14 render artifact — {template_id}</title>`
hardcoded from the original F14-specific implementation.
- Fix : generic `<title>Phase Z render artifact — {template_id}</title>`.
- Affects all `--render-to` dev artifacts going forward.
Verification :
- python scripts/smoke_frame_render.py --self-check : PASS 5/5
- python scripts/smoke_frame_render.py construction_goals_three_circle_intersection
--render-to data/runs/imp04_f12_visual_r2 : PASS, generated title now reads
"Phase Z render artifact — construction_goals_three_circle_intersection"
- Catalog yaml parse : intersection cardinality = {min: 0, max: 1}
scope-lock honored : no V4 logic, no builder/parser logic, no other
partial, no Phase Z production render, no Phase R'/AI/Kei changes. F1
fix scope only.
Refs Gitea #4 (IMP-04 Track A frame 2 — F1 follow-up per Codex round 37)
This commit is contained in:
@@ -284,7 +284,7 @@ def render_to_dir(template_id: str, slot_payload: dict, out_dir: Path) -> tuple[
|
||||
viewer = f"""<!DOCTYPE html>
|
||||
<html lang="ko"><head>
|
||||
<meta charset="UTF-8">
|
||||
<title>F14 render artifact — {template_id}</title>
|
||||
<title>Phase Z render artifact — {template_id}</title>
|
||||
<style>
|
||||
body {{ margin: 0; padding: 20px; background: #e8ecf0;
|
||||
font-family: 'Noto Sans KR', sans-serif; word-break: keep-all; }}
|
||||
|
||||
@@ -302,7 +302,7 @@ construction_goals_three_circle_intersection:
|
||||
- id: intersection
|
||||
role: emphasis
|
||||
accepts: [text_block]
|
||||
cardinality: { strict: 1 }
|
||||
cardinality: { min: 0, max: 1 } # OPTIONAL — analysis.md "slots 5개, required 4개" 정합 (Codex F1-a 정정)
|
||||
partial_target_path: ".f12b__intersection"
|
||||
|
||||
payload:
|
||||
|
||||
Reference in New Issue
Block a user