Submittals (shop drawings, product data sheets, material samples, mock-ups, test reports) are the second-highest-volume AEC document after RFIs. Every product or material the contractor proposes to install needs an architect / engineer review; /submittal-tracker is where Kodori surfaces what's pending disposition.
**The flow:**
1. Sub-contractor identifies a submittal item from the spec. 2. Submits a packet (data sheet, certificate, sample photos). 3. Kodori's auto-classifier flags the doc as "submittal" (the existing doc-type-hint pattern, which also covers "shop drawing", "product data", "material sample", "mock-up", "test report"). 4. The extract-submittal Inngest function pulls structured fields via Haiku — submittal number, subject, CSI MasterFormat spec section, project ref, submitting / reviewing parties, type, dates, plus the disposition string when one is printed. 5. Row lands on /submittal-tracker for the project team.
**What you'll see on /submittal-tracker:**
- **Under review** — actionable count. - **Overdue** — open submittals past their required-by date. Highlights red. - **Due in 7d** — open submittals required within the next week. - **Approved / Rejected** — closed submittals, with the verbatim disposition string preserved on every row ("Approved as noted — rev. mullion finish to RAL 9006"). - **Top spec sections by pending count** — quick scan of which CSI MasterFormat sections (08 41 13, 09 30 13, 26 51 13, etc.) have the most pending reviews.
**Status lifecycle:**
- *under-review* — initial state after extraction. - *approved* — disposition contains "approve" / "no exception" / "for record". - *rejected* — disposition contains "reject" / "revise and resubmit". - *extraction-failed* — Haiku couldn't pull a usable subject + submittal number; surfaces for human fill-in.
**Disposition wording preserved verbatim.** Architects and engineers use rich disposition vocabulary that firms care about. Kodori captures the verbatim string AND derives the status bucket — the queue works on the bucket; the audit record preserves the original wording.
**CSI MasterFormat anchor.** The spec section field is the canonical AEC anchor for matching submittals to specifications. The top-spec-sections breakdown surfaces "where are reviews piling up?"
**Coming next:** linking submittal response packets to their submittals; change-order tracker (the third AEC daily-action surface). The infrastructure (extractor → projection → daily-action page) is reusable for each.