Skip to content

Launch Gap Register

Purpose: The single tracked list of every gap between today's build and the first production launch, consolidated from the 2026-08-04 workshop (all 19 tagged action items plus the pre-workshop gap register). Each row carries a category, owner, launch-critical flag, rough effort, and the existing Linear ticket to reconcile against - do not recreate.

Last updated: 2026-08-06

Categories

BLOCKER - must be fixed before Jim/Alex touch the system, LAUNCH - should be in the pilot, AUG - Wave-1 stabilization (post-launch, August), SEP+ - deferred wave (September or later), FUTURE - post-pilot / white-label. Effort: S (<½ day), M (½-2 days), L (3-5 days), XL (1+ week).

The launch gate

Everything else is secondary to this: Smart Import must be near-perfect before the pilot. Jim and Alex will build estimates on imported data; if we later wipe the DB to clear corruption, we destroy their work and their trust. Corrupted bids/projects already appear in lists today. The launch is gated on Smart Import stability and a BuildingConnected-sourced bid proven end-to-end.

BLOCKER - fix before Jim/Alex

# Gap Owner Launch-critical Effort Reconcile PIN Notes
0 Seed Jim & Alex accounts + their own data Marko + Marijana Yes M - (net-new) The sleeper gate. Without a seeded account, every screen renders empty or errors on open, which is why the app "looks unfinished." Unblocks all demo/QA.
1 Smart Import writes wrong data (not just "corruption") Ivan B Yes L (in flight) PIN-678 (679-685), PIN-731, PIN-787 The launch gate. Per 2026-08-07 audit: epic marked Done but a real import stamps PM=admin (PIN-787), silently skips off-pattern folders, and drawings don't index. Not "done", still writes wrong data.
2 BC-sourced bid untested end-to-end (docs, takeoff, budget) Marijana + Artem Yes M - (net-new QA) This week's focus. BC docs land in folders, but full happy path never walked.

LAUNCH - should be in the pilot

# Gap Owner Launch-critical Effort Reconcile PIN Notes
3 Proposal template mismatch Ivan B / Marijana Yes M-L PIN-134 Get Conor's real template; rebuild proposal UI; show final by-scope only, not full breakdown; consider AI-drafted text from his existing proposals.
4 Vendor RFP emails not wired for stealth Marko + Artem Yes S-M - (net-new) Env flags: outbound_vendor_email_enabled=false default + authorized_vendors allowlist + a test vendor (Codilas/SmirnovLabs). Manual email is the launch process.
5 Delete confirmations missing app-wide Frontend Yes S-M - (net-new) Misclick = data gone. Add confirm modal to every delete.
6 Disabled-looking-but-clickable buttons Frontend Yes S - (net-new) Buttons render greyed/disabled but still fire. UI/UX polish.
7 AI takeoff symbol-group overlay misaligned Artem Yes M PIN-694 Hover selects the wrong position when picking a matching symbol group.
8 fail to fetch errors frequent Marko Yes M - (net-new) Add client-side API retry middleware; correlate failure timestamps to pod CPU/mem on the cluster. 6-7 per long session; mostly transient, one confirmed real.
9 Bid-invite "Acknowledge" checkbox non-functional Product / Ivan B Confirm w/ Conor S - (net-new) Email not connected; may lack GC email or need a BC "intend to bid" flag. Product gap - see Conor Briefing (decision 4).
10 Financial margin leak (a PM can see profit) Marko Yes M PIN-151 2026-08-07 audit: only the assistant PM is masked. A regular PM can still see the cost budget + contract (margin derivable) and pull raw vendor quotes. Comprehensive fix PIN-151 (field-masking interceptor) is Backlog. Trust-critical for this client - must be in the launch set, not backlog.

Reconciled with the 2026-08-07 code audit (Ivan's roadmap)

Corrections to earlier assumptions in this register:

  • SOV (Schedule of Values) is a separate, already-built module (AIA G702/G703), not part of the proposal - but its line items can only be added through Cara (currently broken), so the table looks empty. Fix = a manual add path.
  • Cara's "RAG over your data" is scaffold - real answers are keyword matches over two tables. "Make Cara RAG real" is a September item.
  • Smaller: Change Orders have no AI draft; RFI/Submittal have no delete button; the proposal PDF layout is hard-coded with placeholder branding; the Executive sidebar link points at an Under-Construction page (PIN-371 open).

The full per-module "built vs usable" audit is the canonical Module Roadmap; this register is the internal working list.

AUG - Wave-1 stabilization (post-launch)

# Gap Owner Effort Reconcile PIN Notes
11 Vendor portal flow incomplete (role sees too much) Ivan B L - Full vendor flow; a pulled-in vendor currently sees data the vendor role should not. August build.
12 Competitors field: conditional display + BC source Ivan B M - Show only after a bid is lost/expired (blind bidding). Investigate BC webhooks for competitor data + an out-of-sync indicator on manual override.
13 Bid-invite expiration alerts Marijana S - Dashboard + email notifications exist; track in QA and formalize the handoff.
14 Self-hosted error monitoring Marko M - We have our own (Sentry alt); connect it + AWS logs. Slack pod-crash alerts already set up during the call.
15 PO approval workflow retest Artem M PIN-137 (254/255/303) PM, estimator approve, status flow; "worked at some point," needs retest + fix.
16 Applying a template builds a zero-number revision Ivan B S-M - Applying a template on a fresh estimate silently creates a base revision with zero numbers. Weird UX/bug.
17 UI consistency: bid vs project Frontend M PIN-687 (513/514/669) Same look/feel across modules. Partial toward the visual system.
18 Docs/drawings lifecycle diagram Marko / Marijana S - Generate a UML-ish map (bid docs, blob, drawing picker) to avoid missing-link bugs.

Reprioritized 2026-08-06 (Conor's stated priorities)

Two workshop-era "defer" calls were overturned by Conor's actual priorities - corrected here and in the Feature Matrix:

Item New status Owner Reconcile PIN Notes
Daily Logs new design Wave 1 - finishing now (in QA) Mateo / Luka PIN-688 Not deferred. New design built (~85%), "waiting on Conor's design" blocker cleared. High priority.
Daily Logs interactive progress drawing Wave 1 - in progress today Artem PIN-720 Not deferred. In active dev. Bring Conor A (mark progress in log) / B (full interactive earned-value markup). Lock, then finish.
Takeoff Engine (AI-first measure + verify) Wave 2 - #1 forward priority Artem PIN-694 (295/439-442/589) Base pipeline shipped. Accuracy + AI-first-verify push elevated to top. Velocity gated on PIN-591 corpus + PIN-590 VLM spike.

SEP+ - deferred wave

# Gap Owner Effort Reconcile PIN Notes
19 Project Drawings progress module (bid-phase takeoff drawings are separate) Artem L - Under-tested; confirm launch scope with Conor. Owner Artem, not Luka. Sep/Oct.
22 Automated RFP + reply parsing Artem / Marko M - Plus-code reply-to + IMAP parser. Codilas has reusable code (~few days).
23 Full self-hosted takeoff vision model (custom-trained) Artem XL PIN-694 (590/591) GPU box. Base pipeline shipped; accuracy push is Wave 2; the full custom-trained model is post-pilot.
24 Compliance / insurance Marko L+ PIN-7 (91/96/97/99/100/104/105) Was originally first priority, now Sep+. Large. Confirm timing with Conor.
25 Long-running AI UX (streaming / background notifications) Marko / Mateo M-L - Crucial for white-label, not the pilot. Redis-queue + "we'll notify you when done" for large files.
26 Lead vs junior estimator perms + margin visibility Marko M - White-label need. Wave 2.
27 Outbound bids Ivan B L - Sep/Oct - needs estimates dialed in first.

FUTURE - post-pilot / white-label

Executive Dashboard, Master CO Log analytics, WIP / Financials, Bid Targeting, visual re-skin (navy/copper/mono), floating Cara button polish, dynamic per-tenant field schema. All post-pilot; several blocked - specs PIN-325 (Bid Targeting) / PIN-326 (Master CO Log), PIN-371 (Exec Dashboard reactivation), financial integration PIN-33 ("2027"), PIN-732 (Azure Sites.Selected). These are sequenced in the Feature Matrix Sep-wave and Future sections.

Cross-cutting quality items (from the walkthrough)

  • Long-running AI UX - a small spinner is not enough. Add streaming progress + background processing with completion notifications (Redis queue for large files). White-label-critical.
  • Multi-agent UX audit - run a role-based agent sweep (UI/UX designer, user, QA) to surface polish issues in one report, then fix in a batch.
  • BuildingConnected token fragility - the current JWT-paste workaround expires and is not white-label-ready. A proper BC API integration is a future need (not launch-blocking).