Desk-review certs omit all division tech-spec modules (by design)

Date: 2026-07-30 · Type: finding + latent-bug fix · Repo: entirely-api c8de5bf

Finding

Reported as “Beam Specifications never renders on certs” (VAB-9010, record 8a3cb8382d8399afbf5a40ca, SUP-LBEAM 28 LF, section 2x10 in SOW notes). Root cause was NOT the suspected template/data bug:

  • cert_data_service.build_division_data correctly builds division_data['SUP']['beams'] (product name, linear_feet, section) — verified live.
  • On a field-report cert the beam table renders correctly (verified in-memory, “2x10” present).
  • VAB-9010 is a PPDR desk review (ctx.is_desk_review = True via REVIEW_TYPE_MAP), so cert_package.html swaps field_report.html for desk_review_summary.html — which by design (98c5f5a, deliberately trimmed in 2a1aa0a / f1f97e9) contains no division modules at all. No desk-review cert shows column, footer, joist, or beam spec tables. Open decision for Dustin: should they?

Latent bug fixed (c8de5bf)

templates/v3/modules/sup.html scope-line fallback filters used product codes that don’t exist in the catalog: SUP-SBM|SUP-LBM (real: SUP-SBEAM/SUP-LBEAM) and SUP-FJ|SUP-RJ (real: SUP-JOIST/SUP-RIM). Jinja’s matching test (re.match) therefore never matched, so if division_data ever lacked beams/joists the sections silently vanished instead of falling back to SOW lines. Fallback is dead code in the current pipeline (data path always populates), but the safety net now works. Data path unchanged.

Related: cert-generation, ppdr-cert-routing

UPDATE 2026-07-30 (same day)

Dustin decided desk-review certs SHOULD carry the spec tables. Implemented in entirely-api 5ce7faa via shared partial _division_modules.html — see desk-review-certs-carry-spec-tables. The omission described above no longer exists.