Blog
ProductGuidePhase 263D ReconstructionEngineeringResearchMEP TakeoffS33

Phase 26 — Coverage Ladder 3/21; Count CP 2/63, Still Not 80/80

Teraquant Team9 min read
STATUS: COVERAGE_LADDER_PASS. Coverage evaluated 3/21 (ladder target 3 met). Frozen scorer next ladderTarget 5, ladderMet false. Count CP status evaluated, reasonCode null (not IDENTITY_ONLY_NO_GT), 2/63 QA@20. Count detection 3/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%. Not NO_PLAN_POLYLINES. Not COVERAGE_PARTIAL.

Numbers are copied from apps/web/data/phase26/coverage-ladder-verify.v1.json (generatedAt 2026-08-21T01:20:25.024Z, verdict COVERAGE_LADDER_PASS) and the frozen evaluate.ts scorecard apps/web/data/rsi/scorecard.v1.json (schemaId rsi.scorecard.v1, generatedAt 2026-08-21T01:20:24.985Z, phase 26, verdict RSI_CONTINUE). Nothing was re-scored for publication. Reconstruct was not re-run.

Execute-close, not a new estimand

The Phase 25 pack planned the training coverage ladder (1→3) and S33 count-CP pairing. The outer RSI loop advanced after an evaluator snapshot that treated those inner waves as not closed. Phase 26 executes that same pack. 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.

On this tree the Phase 26 verifier recorded phase25SgPresent true — we do not invent that file’s absence. We still do not invent a later thesis. Opt-in research flags (EVIDENCE_TILED_EXTRACT, VECTOR_GEOMETRY_COUNT) stay off; they are not this 3D path and are not promoted.

Coverage: 3/21 (ladder step 3 met; next unmet is 5)

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%. Phase 26 C2 is evaluated ≥ 3. The frozen ladder is [3, 5]; with evaluated = 3 the card prints the next unmet step (5) and ladderMet false. That is not a retune and is not COVERAGE_LADDER_NOT_EARNED.

ProjectStatusFloorsWorld elementsNote
S33 (s33-7d7fadc7)evaluated (preserved)G1 keptscorecard 12training_data/…S33…/圖則.pdf. fabricatedGeometry false. Do not delete G1.
N23 (n23-83c0da00)evaluatedG, G26training_data/…N23…/圖則.pdf. Not live a48e6815-… .
Kwai On (kwai-on-factory-estate-88ab7191)evaluatedG16KS28_-_SITE_A_DR-02.pdf. Peak-SOR not loaded.
18 other roster rowsblocked NO_TRAINING_GRAPH0blocked ≠ 0%. Peak montage was not collapsed to G.

Scorecard coverage percent is 14.285714285714285 on 3/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.

Count CP: evaluated 2/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, or Kwai. qty_3d was preserved; ground-truth quantities were not copied into qty_3d or vision prompts.

Family BStatusn/NNote
Count CP (QA@20)evaluated2/63reasonCode null. percent 3.1746031746031744 (Wilson). 2/63 is a scored rate, not blocked encoded as 0%.
Count detectionevaluated3/6360 detection misses. Scorecard percent 4.761904761904762 (Wilson method).
Linked billed drawablepairing63/63identity_only leftover 4 — those rows are not CP.

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.

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-….

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 three training meshes. TJ left P4 as BROWSER_NOT_CERTIFIED: no Clerk session, no mesh PNG. Training JSON under .tmp/phase26/reconstruct/ is not a photograph of a model. No files exist under /blog/phase26/.

  • 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 are on-disk PDFs: S33 圖則.pdf (keep G1), N23 圖則.pdf (training folder, not the live project), and Kwai On KS28_-_SITE_A_DR-02.pdf. Empty geometric takeoff would have printed NO_PLAN_POLYLINES — no demo-grid pipes. This close did not print that code.
  • 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, or Kwai On. 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%. Eighteen 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 2/63 and detection 3/63 are honest evaluated rates on a non-shrinking N=63.
  • Not NO_PLAN_POLYLINES and not COVERAGE_PARTIAL. Inner verdict is COVERAGE_LADDER_PASS for ladder step 3 — not a ladder-5 win, and not a new estimand.
  • Not a signed-in 3D screenshot. TJ: BROWSER_NOT_CERTIFIED. No files under /blog/phase26/. 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 unmet, and count CP on the non-shrinking N=63 can still move. Scorecard nextAction: run Phase 27 waves via scripts/rsi-harness/run-all-robust.sh (do not invent a later thesis).
  • Do not credit live 圖則.pdf as N23. Do not collapse Peak montage to a single G.
  • Do not headline 80–90% 3D accuracy. Do not treat assumed 1:100 length as measured metres.

Parent 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.