Files
C.E.L_Slide_test2/templates/phase_z2/families/_WIP_FILES.md
kyeongmin 8f06a4c99f docs(IMP-52): reconcile Phase Z family count drift -- F-2 option (c)
Audit follow-up F-2 (INTEGRATION-AUDIT-01 §10.2). Phase Z families surface
showed 11 tracked / 11 contracted / 13 on disk. The 2 untracked WIP files
(app_sw_package_vs_solution.html, pre_construction_model_info_stacked.html)
are now declared in _WIP_FILES.md as uncontracted and out-of-scope for the
runtime matcher; promote/remove is gated on #42. The 11/11 tracked +
contracted baseline is unchanged. A new pytest enforces tracked families ↔
frame_contracts.yaml set-equality modulo the WIP allowlist parsed from
_WIP_FILES.md, so future drift fails fast in CI before #42 expands to 32
frames.

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

2.2 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
app_sw_package_vs_solution.html frame 23 (1171281203) WIP — not in frame_contracts.yaml, not in runtime matcher set.
pre_construction_model_info_stacked.html frame 9 (1171281180) WIP — not in frame_contracts.yaml, not in runtime matcher set.

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)