|
|
1efbf672bd
|
feat(#39): IMP-30 first-render invariant + abort bypass (2 paths)
Restore first-render invariant: final.html + Step 20 slide_status MUST be
written for every input where Step 0~5 succeed. Two abort paths replaced
with provisional/empty-shell synthesis; MDX content preserved, AI-free.
- u1 V4Match.provisional + lookup_v4_match_with_fallback(allow_provisional)
chain_exhausted -> synthesize rank-1 provisional (opt-in, default-off)
- u2 CompositionUnit.provisional propagation (single / parent_merged /
parent_merged_inferred constructors)
- u3 select_composition_units(allow_provisional_fill=True) last-resort
fill + _candidate_state="selected_provisional"
- u4 pipeline.py path-(a) abort guard replaced with provisional retry +
terminal __empty__ shell (no sys.exit(1))
- u5 zones_data.provisional -> slide_base.html zone--provisional class +
data-provisional + needs-adaptation badge (template-only)
- u6 compute_slide_status additive provisional_first_render_count/_units
(overall enum unchanged per IMP-05 Codex #10 D4)
- u7 regression: tests/test_phase_z2_imp30_first_render.py (28 tests) +
tests/test_phase_z2_v4_fallback.py (+5 cases)
Guardrails verified: MVP1_ALLOWED_STATUSES unchanged, no calculate_fit,
no LLM in fallback path, no MDX 03/04/05 hardcoding.
Anchor sync (Rule 13): tests/orchestrator_unit/test_imp17_comment_anchor.py
re-pinned 564/565 -> 570/571 to track V4Match.provisional shift at
src/phase_z2_pipeline.py:179-184.
Cross-ref: IMP-05 (#5) §5 defer + Codex #2 first-render invariant.
|
2026-05-21 00:40:58 +09:00 |
|
|
|
7a52cebfaa
|
feat(IMP-14): A-4 — slide_base embedded vs standalone mode contract
Step 13 owns iframe-vs-standalone CSS contract in slide_base.html via
3-valued embedded_mode enum (auto / embedded / standalone). Removes
SlideCanvas.tsx runtime CSS injection workaround; frontend now passes
?embedded=1 query so auto-mode script attaches html.embedded class and
scopes the standalone body centering/min-height/padding reset.
- templates/phase_z2/slide_base.html: conditional html.embedded class +
CSP-safe auto-mode <script> + additive html.embedded body/.slide rules
- src/phase_z2_pipeline.py: render_slide gains keyword-only embedded_mode
("auto" default) + ValueError guard; 3 existing call sites unchanged
- Front/client/src/components/SlideCanvas.tsx: derive embeddedSrc with
?embedded=1 (query-preserving), drop reset CSS injection block
- tests/phase_z2/test_slide_base_embedded_mode.py: 6 cases — auto script,
CSS rules, embedded/standalone explicit modes, byte-determinism,
invalid-mode guard
|
2026-05-18 07:21:31 +09:00 |
|
|
|
f66497cf8d
|
phase z slide_base + token CSS + families 갱신 (5-layer + F29 fix)
- templates/phase_z2/slide_base.html — geometry 재정상화:
divider top 58 / height 2 / #cbd5e1
body top 76 / height 585 / left 50 / width calc(100%-100px)
footer left 50 / bottom 8 / height 41 / width calc(100%-100px)
(사용자 lock 2026-05-07 — front 정합)
- templates/styles/tokens/{spacing,typography}.css — 5-layer 위계 lock 반영:
spacing : --slide-divider-top 58 / --slide-body-top 76 / --slide-body-height 585 /
--slide-footer-bottom 8 (slide_base.html 와 1:1)
typography : --font-zone-title 16px (대) / --font-sub-title 12px (소) /
--font-body 10px (콘텐츠) — 5-layer (대/중/소/부소/콘텐츠)
- templates/phase_z2/families/three_parallel_requirements.html — F13 partial:
cleanup-1 (2026-05-08) stale 주석 정정 (Legacy templates/blocks/structures/
prerequisites-3col.html reference 제거 — 해당 legacy 폴더 삭제 후 broken).
- templates/phase_z2/families/process_product_two_way.html — F29 partial:
visual fidelity bug fix (2026-05-08).
missing SVG asset 3 개 (header_left_bg, header_right_bg, body_bg) 참조 제거 →
figma origin (figma_to_html_agent/blocks/1171281210/index.html) 의 R8 룰
("순수 CSS 우선") 따라 linear-gradient + border-radius pill 로 재현.
PROMOTED 줄도 갱신 (banner-left/right bg gradient + body bg 2-half gradient).
regression 0 (MDX03 fresh run 검증 — final.html PASS, missing image 0).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-08 09:41:40 +09:00 |
|
|
|
4144dc4c21
|
Add Phase Z runtime templates
- add slide base template for Phase Z rendering
- add family partials for F13, F29, and F16 frames
|
2026-05-04 09:34:27 +09:00 |
|