ABSoW zero = confirmed not-built (2026-07-30)
Decision: as_built_qty == 0 is a confirmed value — “scope line not
built” (the ABSoW proposal remove_line/zero action) — not an absent one.
Only None/empty mean “unconfirmed”. (entirely-api db7c87d)
Consequences:
- invoice-service
validate_invoice_readinesscounts zeroed lines as confirmed (_absow_confirmed). Previouslyab != 0made any modified line zeroed by a scope change block invoicing forever (“as-built quantity needs confirmation before invoicing” — hit on VAB-9002). - cert-generation
cert_data_serviceexcludes confirmed-not-built lines from cert packages entirely (_confirmed_not_built) instead of rendering 0-qty rows in Section 3. - Billing of zeroed lines on per-inspection desk-review invoices is NOT
auto-suppressed — remove via the persisted invoice
remove_itemsoverride (as done for VAB-9002’s superseded 13 LF R/R beam line).
Origin: VAB-9002 (192 Weston Hall Rd) — as-built changed 13 LF R/R main beam to 6 LF sistered beam; proposal #15 zeroed the R/R line, which then blocked invoicing and rendered a 0-qty Section 3 row.