Lab Architect / Ellsworth
Afternoon Brief
Sunday, August 2, 2026 — Dominique shipped the Drawing Delta Review Queue for Buildr+ — the #1 recommendation from yesterday's brief, built overnight. Katey fixed the cardBorder inconsistency in DailyReportr+ — also flagged in yesterday's brief. Howard pushed an expiring-owner-review-link warning to Closr+. Inspectr+ quiet. All 4 apps hold at 0 analyzer issues. The morning brief's top two asks were answered within hours.
Last Night's Builds
Dominique → Buildr+: Drawing Delta Review Queue shipped
Branch feature/nightly-20260802 — commit 4877922 (00:21 AM PT). Adds badge-driven entry point to the Doc Control tab: _DrawingDeltaQueueBanner counts unreviewed drawing revisions with an amber/green state; tapping opens DeltaReviewQueuePage listing pending sheets sorted newest-first, with per-item “Mark Reviewed” and a top-right “Mark All Reviewed” action. DrawingRevisionModel gains reviewedAt (nullable DateTime) in fromJson/toJson/copyWith. Reviewed history shows last 10 confirmed sheets. 3 files changed. This is the queue-level companion to the existing DrawingRevisionBadge, which badges individual sheets on detail pages but could not surface a cross-document pending summary.
Katey (Howard-3) → DailyReportr+: cardBorder consistency polish polish
Branch feature/nightly2-20260802 — commit 059be22 (01:17 AM PT). Replaces the manual isDark ? AppColors.darkBorder : AppColors.lightBorder ternary in today_setup_card.dart with the shared context.cardBorder extension, matching the pattern used by FieldHandoffDigestCard and every other card in the dashboard stack. This is the exact UI inconsistency flagged in yesterday’s afternoon brief (section 5). 1 file, 1 line changed. Version bumped.
Howard → Closr+: Warn on expiring owner review links shipped
Commit a3d59f4 (01:17 AM PT — manual commit, not a nightly feature branch). Adds expiration warning logic to owner_packet_score.dart and renders it in owner_packet_score_card.dart; backed by 24 lines of test coverage in owner_packet_score_test.dart. 3 files, 40 insertions. Directly addresses the Aug 2 morning brief’s first idea (Owner Review Link Expiration Center); the scoring warning is the first half — the action-center UI surface (extend/revoke/copy) is the remaining half.
Inspectr+ no build
No nightly build tonight. Last Howard-1 nightly feature build: May 3. Last Howard-3 nightly feature build: Jun 7. Now approaching 3 months for Howard-1 and nearly 2 months for Howard-3 — longest current gap in the fleet.
Codebase Health
| App | Issues | Last 3 Commits |
|---|---|---|
| Buildr+ | 0 | 15316c5 bump 4.4.1 • 4877922 Drawing Delta Review Queue (tonight) • 5408360 prepare 4.4.0 App Store release |
| Closr+ | 0 | a3d59f4 Warn on expiring owner review links (tonight) • 9624acf bump 2.32.53 • d9ad9e5 bump 2.32.52 |
| Inspectr+ | 0 | 2ac303b bump 4.67.1 • 8041cc5 restore inspection item access for subscribers • a133897 merge punch photo restoration |
| DailyReportr+ | 0 | 6226068 bump TestFlight • 059be22 cardBorder polish (tonight) • 0303c71 Add today setup dashboard card |
Fifth consecutive brief with 0 issues across all 4 apps. Tonight’s Buildr+ feature build (DrawingRevisionModel + DeltaReviewQueuePage) and DailyReportr+ polish commit both landed without introducing any new lint or analysis issues. The 0-issue floor holds. No build should ship that moves any counter above zero.
Recurring Themes from Morning Briefs
Patterns across the Jul 14, Aug 1, and Aug 2 morning briefs that remain unbuilt or partially addressed:
- Drawing Revision Awareness & Acknowledgement UI (Buildr+) — The Delta Review Queue shipped tonight (3 morning briefs → 1 night build). But the Aug 2 morning brief immediately identified the follow-on: the acknowledgement flow inside
DeltaReviewQueuePageneeds a density and state pass before more doc-control features land on top. Small-phone overflow, dark-mode contrast on the amber banner, and empty state (“All sheets reviewed”) are all unchecked. The queue is built; the robustness layer is not. - Closr+ Evidence Chase UI (Closr+) — Jul 14 brief →
EvidenceChasePlanmodel landed (Jul 14 nightly). Aug 1 afternoon brief recommendedEvidenceChaseBoardwidget — not built. Tonight Howard added expiring-link warnings toowner_packet_score_card.dart, showing Closr+ momentum, but the model-to-widget gap remains:evidenceChasePlangetter exists; no widget imports or renders it. Two weeks since the model, zero user-visible surface. - Inspectr+ Card Density & Sync Confidence — Jul 14 (Offline Sync Conflict Review), Aug 1 (Photo Attachment Reliability Sweep), Aug 2 code health section all flag the same gap.
InspectionCardMetricsdoesn’t exist anywhere inlib/. Inspectr+ had no build tonight. Nearly 3 months without a Howard-1 nightly feature build; nearly 2 months for Howard-3. - DailyReportr+ Today Setup Checklist Follow-Through — The
TodaySetupCardshows ready/watch/blocked. Aug 2 morning brief called for turning it into a structured morning kickoff: weather, crew, equipment, safety topic, planned work. Tonight Katey polished the border — the card is now clean and stable. The next step is depth, not polish.
Feature Ideas + UI/Code Health Recommendations
3 ideas (2 features, 1 UI/code health). Each verified against codebase and git history before listing.
1. Drawing Delta Review Queue — Density & State Pass Buildr+ — UI/Code Health
The DeltaReviewQueuePage just shipped tonight. Before the next doc-control feature lands on top of it, do a density and state pass: (1) verify sheet title + revision label + age badge don’t overflow at 375px and 320px portrait; (2) check dark-mode contrast on the amber AppColors.drawingRevisionColor banner; (3) add an explicit empty state (“All sheets reviewed”) so the screen doesn’t go blank when the queue is clear; (4) add snapshot widget tests at three device widths. This is a quality gate — not a new feature — that ensures the queue is trustworthy before field users depend on it for drawing accountability.
Why now: Aug 2 morning brief called for this explicitly as “Drawing Acknowledgement UI Polish Pass.” The queue is the highest-trust new surface in Buildr+. With 0 analyzer issues fleet-wide, layout quality is where debt accumulates. Confirmed: no DeltaReviewTest, delta_review_queue_test, or empty-state widget in lib/ or test/.
Sketch: Widget tests in test/pages/drawings/delta_review_queue_page_test.dart — pumpWidget at 320/375/430px, assert no overflow. Flexible or Expanded wrappers on title + revision label row inside each tile. Empty state: Center child with a checkmark icon + “All revisions reviewed” body text in _buildEmptyState(). ~80 LOC tests, ~25 LOC layout guards.
2. Evidence Chase Board Widget Closr+ — Feature
The EvidenceChasePlan model (added in the Jul 14 nightly build) lives in lib/models/evidence_matrix_cell.dart. The evidenceChasePlan getter on EvidenceMatrixCell computes nextMissingEvidence — a list of EvidenceChasePlanItem objects with party, action, and due context. No widget imports or renders this. Build EvidenceChaseBoard: a scrollable widget mapping each item to a ListTile with a colored left border (green/yellow/red by days remaining), a Chip for the responsible party, and an icon button that calls Clipboard.setData with a formatted reminder note. Embed alongside evidence_matrix_card.dart in the closeout detail flow.
Why now: Model is 3 weeks old with zero user-visible surface. Tonight’s Closr+ commit (expiring-link warning) shows the app has momentum. Autodesk Forma’s Handover now exports organized photo albums with sheet/RFI/submittal config options — raising the closeout-accountability bar. Closr+’s advantage is chasing documentation before export, not just packaging it. Confirmed: EvidenceChaseBoard and evidence_chase_board not found in lib/.
Sketch: New lib/widgets/evidence_chase_board.dart, ~130 LOC. Import EvidenceChasePlan from evidence_matrix_cell.dart. Left-border color: daysRemaining > 7 ? green : daysRemaining > 2 ? yellow : red. Clipboard action formats: “[Party] — [Action] — Due [date]”. Inject in closeout detail section below EvidenceMatrixCard.
3. Today Setup Kickoff Checklist DailyReportr+ — Feature
The TodaySetupCard (shipped Aug 1) evaluates project readiness as ready/watch/blocked. Turn it into a structured morning kickoff checklist: weather confirmed, crew count tapped, equipment check, safety topic selected, planned work summarized. Each item renders as a completion chip on the card. Once all chips complete, the card transitions to “log started” and prefills the daily report editor with those entries so the superintendent starts structured rather than from a blank report. This closes the loop between the card’s status signal and the actual daily log workflow.
Why now: Aug 2 morning brief called this out as “Today Setup Card Follow-Through.” Katey just polished the card border tonight — it is now clean and consistent. Procore’s AI is competing on daily log drafting; our answer is structured, human-guided entry that requires fewer taps. Confirmed: TodaySetupChecklist, today_setup_checklist, SetupKickoff not found in lib/.
Sketch: TodaySetupChecklist model: 5–6 nullable fields (weatherNote, crewCount, equipmentOk, safetyTopic, plannedWork). Backed by Riverpod provider keyed on project+date. TodaySetupCard renders a chip row; all chips filled → calls prefillDailyReport(checklist). ~150 LOC total across model, provider, and card update.
UI Inconsistencies
- DailyReportr+ — Icon container corner radius still mismatched (carry-over, partially resolved) — Tonight’s Katey build fixed the border color inconsistency (replacing the
isDarkternary withcontext.cardBorder). The icon container corner radius remains mismatched:today_setup_card.dartusesBorderRadius.circular(10)for the status icon container (line 76);field_handoff_digest_card.dartusesBorderRadius.circular(14)for the equivalent structural element (line 50). Both cards render side-by-side in the project dashboard stack. The visual drift is small but now measurable against the fixed border. One-line fix: changecircular(10)tocircular(14)intoday_setup_card.dart.
Competitive Intel
- Procore: AI Submittal Builder (GA March 2026) — Drafts a full submittal list from project context with AI-predicted types and titles. Available to Enhanced and Premier accounts in the US, Canada, and Australia. Buildr+’s submittal tracker is the tactical alternative: smaller, faster, human-reviewed, and without the enterprise lock-in. The differentiator is transparency — show the source clause, flag the risk, require a human sign-off. Source
- Procore: Agentic Triggers via Datagrid (May 2026) — AI agents now auto-respond to project events including new punch items, observations, incidents, and RFIs. Triggers fire agent workflows based on customer-defined rules. For Closr+: automated evidence-chase reminders when a closeout package stalls are now table stakes in the enterprise tier. The
EvidenceChaseBoard(idea #2 above) is Closr+’s mobile-first, human-in-the-loop answer. Source - Procore: Submittals integrated with project schedule (Q1 2026 GA) — Submittals now appear as linked items on the project schedule; RFIs and Inspections to follow. Teams are alerted when submittal review timelines conflict with critical-path activities. Buildr+’s submittal tracker should surface schedule slippage risk when a submittal review bleeds into a linked activity — a natural next extension. Source
- Autodesk Forma: Handover export now covers Sheets, RFIs, and Submittals (2026) — Handover packages now support additional export configuration options for Sheets, RFIs, and Submittals, matching As-Built export capability. As-Built also now organizes photos by album (enhanced photo experience). Directly competitive with Closr+: if enterprise teams can export organized, configured handover packages from Forma, Closr+ must win on the chase and coordination side — making it easier to gather evidence before export, not just package it after. Source
Tomorrow’s Build Suggestion
| Builder | App | Feature | Rationale |
|---|---|---|---|
| Dominique | Closr+ | Evidence Chase Board Widget | Dominique just shipped Buildr+. Closr+ last Howard-1 nightly feature build: Jul 14 (nearly 3 weeks). The EvidenceChasePlan model is ready; the widget gap makes the feature invisible to users. Idea #2 above. Feature-sized task (~130 LOC), well-scoped for a single session. |
| Katey | Inspectr+ | Finding Card Density Pass (InspectionCardMetrics) | Katey just shipped DailyReportr+ polish. Inspectr+ last Howard-3 nightly feature build: Jun 7 — nearly 2 months ago. Howard-1 last Inspectr+ nightly: May 3 — 3 months, longest current gap fleet-wide. New InspectionCardMetrics const class + widget tests at 320/375/430px. Focused, testable, single-session health task. |
Night after tomorrow: DailyReportr+ Today Setup Kickoff Checklist (idea #3) is the natural pick once Closr+ and Inspectr+ are addressed. Either builder can take it.