Files
C.E.L_Slide_test2/templates/phase_z2/families/_WIP_FILES.md
kyeongmin a06dd3d4b0 feat(#42): IMP-04b catalog extension to 32 frames (u1~u24)
Extends frame_contracts.yaml from 11 to 32 contracts to match V4 evidence
(tests/matching/v4_full32_result.yaml unique template_ids), closing the
IMP-04b gap surfaced in IMP-04 (#4) Track A milestone.

Scope (Stage 2 24-unit plan):
- u3/u4: WIP partial absorb — app_sw_package_vs_solution (F23),
  pre_construction_model_info_stacked (F9). Both promoted from
  _WIP_FILES.md to frame_contracts.yaml. WIP allowlist now empty.
- u5~u11: Track A 7 frames (index.html present, contract missing).
- u12~u23: Track B 12 frames (visual_pending: true; family partial
  authoring deferred — contract-first per Stage 2 plan).
- u24: BT closure gate. Adds
  test_imp04b_closure_gate_v4_coverage_and_wip_empty (catalog ↔ V4
  set-equal + WIP==0) and test_vp_exempt_keys_are_contracted_and_disk_absent
  (vp ∩ disk == ∅). Relaxes test_contracts_set_equals_disk_families_minus_wip
  to (disk - wip) ∪ vp. 32 derived from V4 evidence YAML (no hardcoding).

Closure facts (locked):
  contracts = 32, v4_unique = 32, missing = [], extra = [],
  wip_count = 0, vp_count = 19, vp ∩ disk = [].

Guardrails honored:
- No calculate_fit migration.
- No AI/Kei API call in per-frame work.
- No 1-2 sample hardcoding (Codex #7 generalization guardrail).
- No production refactor for tests (IMP-32 owns helper extract).
- figma_to_html / V4 / Phase Z 3-layer separation preserved.
- 1 commit = 1 IMP-04b decision unit (bundled u1~u24 per Stage 2
  plan; CAT+WIP atomicity for u3/u4 preserved).

Tests: tests/test_family_contract_baseline.py 4/4 PASS.
Cross-ref: IMP-04 (#4), IMP-29 (#38), IMP-30 (#39), IMP-31 (#40),
IMP-32 (#41), IMP-33 (#61), IMP-47A (#75).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 19:39:16 +09:00

2.4 KiB

Phase Z Families — WIP Marker

Status: intentionally untracked, uncontracted, out-of-scope for runtime matcher. Closes audit follow-up: INTEGRATION-AUDIT-01-REPORT.md §10.2 F-2 (option c). Gate for promote/remove: Gitea issue #42 (IMP-04b Catalog extension to 32 frames).

Baseline lock (2026-05-19)

Surface Count Notes
git ls-files templates/phase_z2/families/*.html 11 tracked family templates
templates/phase_z2/catalog/frame_contracts.yaml top-level keys 11 1:1 with tracked basenames
Get-ChildItem templates/phase_z2/families/*.html 13 tracked 11 + WIP 2 (below)

Active contracted family count = 11. Tracked basenames ↔ frame_contracts.yaml top-level keys are set-equal. Drift between disk (13) and contracted (11) is fully explained by the 2 WIP files below.

WIP family templates (uncontracted)

File Figma frame Status

#42 IMP-04b u3 (2026-05-21) — frame 23 (1171281203) partial absorbed → frame_contracts.yaml::app_sw_package_vs_solution. Counts in ## Baseline lock (2026-05-19) are historical (post-u3: 11 tracked + 1 WIP / 12 contract). #42 IMP-04b u4 (2026-05-21) — frame 9 (1171281180) partial absorbed → frame_contracts.yaml::pre_construction_model_info_stacked. WIP family table now empty (post-u4: 13 tracked / 13 contract).

These files are partials authored during Phase Z-2 MVP-1.5b exploration. They are not part of the contracted Phase Z runtime catalog and must not be enumerated by frame selection, matcher, or any Stage 3 pipeline surface.

Rules

  • Adding a file to templates/phase_z2/families/*.html without a matching frame_contracts.yaml entry is only permitted if it is named here as WIP.
  • tests/test_family_contract_baseline.py enforces this invariant: tracked families ↔ frame_contracts.yaml keys must be set-equal, modulo the WIP allowlist parsed from this file.
  • Promoting a WIP file (add frame_contracts.yaml entry + register with matcher) or removing it must happen under issue #42 or a follow-up issue, not silently.

References

  • docs/architecture/INTEGRATION-AUDIT-01-REPORT.md §10.2 F-2 (audit finding closed by issue #52, option c)
  • docs/architecture/IMP-18-SVG-GAP-REPORT.md L28, L51 (count basis corrected to 11 contracted + 2 WIP)
  • Gitea issue #52 (this reconciliation)
  • Gitea issue #42 (pre-flight gate for promote/remove)