Phase 27 — Coverage Ladder 5/21; Count CP 3/63, Still Not 80/80
STATUS: COVERAGE_LADDER_PASS. Coverage evaluated 5/21 (inner C2 evaluated ≥ 3 already held; frozen ladderTarget 5, ladderMet true). Count CP status evaluated, reasonCode null (not IDENTITY_ONLY_NO_GT), 3/63 QA@20. Count detection 5/63. S33 preserved. Live 圖則.pdf residual not credited (liveResidualCredited false; liveGraphCreditedAsTraining false). peak80Claim not_evaluated. RSI_CONTINUE. Not Peak 80/80. Not corpus 80–90%. S27 geometric takeoff empty → NO_PLAN_POLYLINES (fittings-only world=2 still qualified). Not COVERAGE_PARTIAL as the inner verdict. Not a ladder-3-only claim.
Numbers are copied from apps/web/data/phase27/coverage-ladder-verify.v1.json (generatedAt 2026-08-21T04:19:47.785Z, verdict COVERAGE_LADDER_PASS) and the frozen evaluate.ts scorecard apps/web/data/rsi/scorecard.v1.json (schemaId rsi.scorecard.v1, generatedAt 2026-08-21T04:19:47.751Z, phase 27, verdict RSI_CONTINUE). Nothing was re-scored for publication. Reconstruct was not re-run.
Execute-close, not a new estimand
The Phase 27 pack README still printed the planner start that treated Phases 25 and 26 inner waves as not closed. UG records phase25SgPresent true and phase26TgPresent true — we do not invent those files’ absence. This post is the execute-close of the same two families: coverage ladder 3→5 (two new training graphs that are not S33 / N23 / Kwai) and raise S33 count CP on a non-shrinking N=63. It is not a new research axis. The estimand stays qty_3d (methodVersion rsi_qty_3d_count_cp_v1). Coverage and count CP are never blended into one percent.
Opt-in research flags (EVIDENCE_TILED_EXTRACT, VECTOR_GEOMETRY_COUNT) stay off; they are not this 3D path and are not promoted.
Coverage: 5/21 (frozen ladder step 5 met)
A training project counts only when fabricatedGeometry is false, floorKeys.length ≥ 1, and at least one world fitting, valve, pipe_run, or riser exists. Missing projects stay blocked, never 0%. Inner C2 is evaluated ≥ 3 (already held from Phase 26). The frozen ladder is [3, 5]; with evaluated = 5 the card prints ladderTarget 5 and ladderMet true. N23 and Kwai were kept, not re-counted as the two new credits. The two new graphs are S27 then N22.
| Project | Status | Floors | World elements | Note |
|---|---|---|---|---|
| S33 (s33-7d7fadc7) | evaluated (preserved) | B, G, 1, 11, R, B, G | 12 | training_data/…S33…/圖則.pdf. fabricatedGeometry false. G1 kept. Do not delete G1. |
| N23 (n23-83c0da00) | evaluated (kept, not new) | G, G | 26 | training_data/…N23…/圖則.pdf. Not live a48e6815-… . |
| Kwai On (kwai-on-factory-estate-88ab7191) | evaluated (kept, not new) | G | 16 | KS28_-_SITE_A_DR-02.pdf. Peak-SOR not loaded. |
| S27 (s27-acb5d98c) | evaluated (new) | G, G | 2 | training_data/…S27…/圖則目錄及圖則.pdf. Geometric takeoff empty → NO_PLAN_POLYLINES. Fittings-only still qualified. fabricatedGeometry false. |
| N22 (n22-9d648e98) | evaluated (new) | G, G | 46 | training_data/…N22…/14《承》附件七:圖則目錄及圖則.pdf. UG issues: 37 pipe_run + 9 fitting. fabricatedGeometry false. |
| 16 other roster rows | blocked NO_TRAINING_GRAPH | — | 0 | blocked ≠ 0%. Peak montage was not collapsed to G. pageIndexAsFloor false. |
Scorecard coverage percent is 23.809523809523807 on 5/21. That is not a product headline. The Peak training slug stays NO_TRAINING_GRAPH. pageIndexAsFloor is false. peakMontageCollapsedToG is false. Assumed storey height 3.15 m stays 假設, never 量度. Default plan scale 1:100 stays 預設 — length from that scale is assumed, not measured. S27 is not a pipe-length credit: empty geometric takeoff printed NO_PLAN_POLYLINES; fittings-only G still qualified coverage (world=2). That is not COVERAGE_PARTIAL and not COVERAGE_LADDER_NOT_EARNED.
Count CP: evaluated 3/63 (unblocked, not a win)
Pairing wrote gtQty on drawable billed count rows from S33 BQ 4.2 (For reference only) BQ.xlsx, sheet E 供水及排水系統 (P&D). The scorer reads gtQty, not billedQty. Peak-SOR.xlsx was not loaded for S33, N23, Kwai, S27, or N22. qty_3d was preserved; ground-truth quantities were not copied into qty_3d or vision prompts. UG notes a UF runner false-positive PEAK_SOR_FORBIDDEN on the note “Peak-SOR is forbidden for S33.”; the draft was not written. Pairing used pairCountItemsToBilledGt. GT was not invented.
| Family B | Status | n/N | Note |
|---|---|---|---|
| Count CP (QA@20) | evaluated | 3/63 | reasonCode null. percent 4.761904761904762 (Wilson 1.6326168867995599–13.09096783790607). 3/63 is a scored rate, not blocked encoded as 0%. |
| Count detection | evaluated | 5/63 | 58 detection misses. Scorecard percent 7.936507936507936 (Wilson 3.4375847176818546–17.270309850904084). |
| Linked billed drawable | pairing | 63/63 | identity_only leftover 2 — those rows are not CP. billedDrawable 63. qty_3d preserved. |
Denominator did not shrink (scorecard.denominatorShrunk false). N=63 held. Shrinking N to raise percent would have been RSI_DENOMINATOR_SHRANK. IDENTITY_ONLY_NO_GT is not the headline. 3/63 is a small move from Phase 26’s 2/63 on the same N — not an accuracy win.
Live 圖則.pdf is not training coverage
Scorecard liveGraph.creditedAsTraining is false. The scorer’s residual note still describes the Phase 23 artefact (LIVE_GRAPH_PASS, 8 fittings, 0 pipeRuns). Phase 24’s 21 live pipes are not this card’s coverage numerator. Training N23 is training_data/…N23…/圖則.pdf, not project a48e6815-… / file 65b1bfde-… / persist 643835d1-… . S27 and N22 credits are training_data PDFs, not that live residual.
How to reconstruct and pair (without Peak-SOR on S33)
This is a product walkthrough of chips and pairing rules. It is not a claim that the signed-in Peak 3D tab shows these five training meshes. UJ left P4 as BROWSER_NOT_CERTIFIED: no Clerk session, no mesh PNG. Training JSON under .tmp/phase27/reconstruct/ is not a photograph of a model. No files exist under /blog/phase27/.
- Sign in. Open a drawing 3D tab or /projects/…/3d. Rebuild if the model is stale. Amber chips mean 估算 / 假設 / 預設 — estimated floor, assumed 3.15 m height, default 1:100 scale. They never flip to 量度.
- Training reconstruct targets kept on disk: S33 圖則.pdf (keep G1), N23 圖則.pdf (training folder, not the live project), Kwai On KS28_-_SITE_A_DR-02.pdf. New this close: S27 圖則目錄及圖則.pdf and N22 14《承》附件七:圖則目錄及圖則.pdf. Empty geometric takeoff prints NO_PLAN_POLYLINES — no demo-grid pipes. S27 took that path; fittings-only still qualified. N22 did not.
- Pair S33 count items to billed GT on 4.2 (For reference only) BQ.xlsx sheet E 供水及排水系統. Write pairingStatus linked and finite gtQty. Unmatched 3D stays identity_only. Do not copy GT into qty_3d.
- Never load Peak-SOR.xlsx for S33, N23, Kwai On, S27, or N22. Peak-SOR is Peak-only. Native S33 BQ sheet E is the count-CP denominator.
- If plan scale is missing, 1:100 is default. Metres from that scale are assumed length, not measured length. Keep assumed 3.15 m out of measured metres.
What this is not
- Not Peak P&D 3D Detection / QA@20 ≥ 80%. peak80Claim is not_evaluated. Percents stay unevaluated — not a fabricated 0%.
- Not corpus 80–90%. Sixteen of twenty-one training projects stay blocked NO_TRAINING_GRAPH. Phase 17 sufficiency remains INSUFFICIENT_CROSS_PROJECT_COVERAGE.
- Not a count-accuracy win. Count CP 3/63 and detection 5/63 are honest evaluated rates on a non-shrinking N=63.
- Not COVERAGE_PARTIAL as the inner verdict. Inner verdict is COVERAGE_LADDER_PASS for frozen ladder step 5 (5/21). S27 geometric takeoff was NO_PLAN_POLYLINES; fittings-only still qualified. That is not a ladder-3-only win, and not a pipe-length claim on S27.
- Not a signed-in 3D screenshot. UJ: BROWSER_NOT_CERTIFIED. No files under /blog/phase27/. No fabricated mesh PNG. Training JSON is not a mesh photo.
- Not a promote of EVIDENCE_TILED_EXTRACT or VECTOR_GEOMETRY_COUNT.
What happens next
- Frozen loop verdict is RSI_CONTINUE: ladder step 5 is met, and count CP on the non-shrinking N=63 can still move. Scorecard nextAction: run Phase 28 waves via scripts/rsi-harness/run-all-robust.sh (do not invent a later thesis). This post does not invent a Phase 28 pack.
- Do not credit live 圖則.pdf as N23, S27, or N22. Do not collapse Peak montage to a single G. Do not re-count N23 or Kwai as new credits.
- Do not headline 80–90% 3D accuracy. Do not treat assumed 1:100 length as measured metres. Do not treat S27 fittings-only as a pipe graph.
Parent execute-close: /blog/phase26-coverage-ladder-count-cp. Training coverage ladder: /blog/phase25-training-coverage-ladder. Live pipe graph: /blog/phase24-live-pipe-graph. First training model (S33 G1): /blog/phase20-first-training-3d-model. Estimated-parameter graph: /blog/phase23-estimated-3d-graph. Field guide: /blog/how-to-use-teraquant.
Related articles
Phase 26 — Coverage Ladder 3/21; Count CP 2/63, Still Not 80/80
Phase 26 is the execute-close of the coverage-ladder + count-CP pack Phase 25 planned: COVERAGE_LADDER_PASS, three training_data graphs (S33 preserved, plus N23 and Kwai On), fabricatedGeometry false. Count CP is evaluated at 2/63 on S33 BQ sheet E — unblocked, not IDENTITY_ONLY_NO_GT, and not an accuracy win. Live 圖則.pdf is a residual, not a coverage credit. Not Peak P&D 3D 80/80. Not corpus 80–90%.
9 min readPhase 25 — Training Coverage Ladder 3/21; Count CP 0/63, Still Not 80/80
Phase 25 earned COVERAGE_LADDER_PASS: three training_data graphs (S33 preserved, plus N23 and Kwai On), fabricatedGeometry false. Count CP is evaluated at 0/63 on S33 BQ sheet E — unblocked, not IDENTITY_ONLY_NO_GT, and not an accuracy win. Live 圖則.pdf is a residual, not a coverage credit. Not Peak P&D 3D 80/80. Not corpus 80–90%.
9 min read