01

Open unlikely.works each morning. The Morning Briefing is your actionable launch pad — it shows today’s inspections, open RFIs, cert pipeline status, items needing attention, and a revenue snapshot.

Quick start Run /morning in Kulu before opening the portal for a quick pipeline read — open RFIs, cert queue depth, unpaid invoices, stalled projects, and permit alerts. Takes 10 seconds.
  • Scheduled inspections (today + this week)
  • Pending schedule change requests
  • Revenue: potential today/week vs. actual MTD/YTD, plus lifetime revenue banner (combined Mostly + Xero historical totals)
  • Open RFIs & responded RFIs awaiting action
  • Owner Review Queue — items Jacob queued for Dustin’s review (guardrails or low confidence)
  • Post-production review queue
  • Pipeline Shepherd alerts (daily 7:45 AM ET scan — stuck projects, aging RFIs, overdue certs)
  • Reporting: SLA compliance, cert velocity, invoicing gaps
  • Portal messages & notifications
  • Scheduled inspections (today + this week)
  • Pending schedule change requests
  • Open RFIs & responded RFIs
  • Drafting queue: projects ready to draft, my active drafts, and “Needs Another Look” items (returned for revision by Dustin)
  • Post-production review queue (primary action queue)
  • My Queue: items Jacob sent directly (confident) — track delivery status
  • Pipeline indicators: dot-and-line status in Projects table and project detail
  • Portal messages
02Action Center & Intake Approval
Action Center Intake Requests, Schedule Changes, Cancel Project, and Escalations are now consolidated into a single Action Center page at /actions with tabs. Access it from the gold-colored “Action Center” group at the top of the sidebar. Individual tabs: ?tab=intake, ?tab=schedule, ?tab=cancel, ?tab=escalations.
Scheduler submits new project via portal
Submission appears in the Action Center → Intake tab (/actions?tab=intake)
Jacob reviews: permits, plans, SOW complete?
Yes
Approve — project created in Supabase
No / Incomplete
Agent RFI sent to Scheduler for missing items

Duplicate submissions: When a scheduler submits a project that matches an existing address or permit, they now see three options: Add Visit to Existing Project, This Is a New Project, or Contact Scheduler Instead. If they choose “Add Visit,” approval creates a follow-up site visit on the matched project instead of a new project. Admins can also add visits directly from the project detail page using the + Add Visit link in the Site Visits section, or from the calendar inspection panel using the Add Visit to Project button.

03Schedule Change & Cancellation Approval
Navigation Schedule changes and cancellations are now tabs within the Action Center: /actions?tab=schedule and /actions?tab=cancel.
Client Scheduler requests change via portal
Request type: Reschedule · Cancel Inspection · Add · Hold · Cancel Project
Rush? (Less than 24 hrs = rush fee auto-flag)
Request appears in Action Center → Schedule / Cancel tab
Dustin or Jacob: Approve / Decline / Modify?
Approve
Calendar updated, Scheduler notified
Decline
Scheduler notified with reason
Modify
Counter-proposal sent to Scheduler
04Post-Inspection → Certification → Invoice Pipeline
SLA Cert + invoice within 3 business days of final inspection. Clock resets on each RFI fulfillment.
Pipeline Intelligence Three automated systems support this pipeline:
Auto-Validation — when a project reaches Field Complete, the system runs a 10-point checklist automatically. If all checks pass, the project advances to Ready for Cert. If items are missing, an RFI is auto-generated.
Pipeline Shepherd — daily scan at 7:45 AM ET detects stuck projects (stale intake, missing visits, overdue certs, unpaid invoices, aging RFIs) and sends WhatsApp alerts + portal notifications.
Pipeline Indicators — dot-and-line status component visible in the Projects table, project detail page, and desk review queue. Green = done, blue = current, grey = future, amber = on hold.
Darius completes field inspection (via WhatsApp)
Project status → Field Complete
Auto-Validation runs (10-point checklist: photos, SOW, drive logs, permits…)
Passes
Auto-advances to Ready for Cert
Missing Items
Auto-generates RFI for missing items
SLA clock pauses until RFI fulfilled
Appears in Jacob’s Post-Production Pipeline (Cert Pipeline → Post-Production tab)
Pre-Drafting Check Before starting a cert package, run /certcheck R8057 in Kulu to validate readiness — confirms photos, drive logs, SOW completeness, and permit docs are present. Catches missing items before drafting begins, preventing packages that would be returned for revision.
Jacob opens project via “View” or goes directly to pipeline from the review queue
Jacob reviews: photos, SOW data, drive logs complete?
Missing Items
Send Agent RFI (drive logs, photos, clarifications)
SLA clock pauses until RFI fulfilled
RFI fulfilled → clock restarts → return to review
Complete
Jacob drafts certification package (appears in “My Drafts”)
Jacob drafts invoice (appears in “My Drafts”)
Confidence routing: Send Direct or Queue for Review?
Send Direct
Jacob is confident → cert + invoice sent directly to client
Appears in Jacob’s “My Queue” for tracking
Project → Certified + Invoiced
Queue for Review
Not confident, or guardrails triggered → enters Dustin’s Owner Review Queue
Dustin: Approve or Request Revision?
Approve
Cert + Invoice delivered to client
Project → Certified
Request Revision
Returns to Jacob’s “Needs Another Look” queue with notes
Guardrails Certain conditions automatically route items to Dustin’s Owner Review Queue regardless of Jacob’s confidence:
• Invoice amount ≥ $5,000
• Anne Arundel County (proprietary jurisdiction forms)
• Montgomery County (proprietary jurisdiction forms)
• Prince William County (proprietary jurisdiction forms)
When guardrails trigger, the “Send Direct” option is disabled and the item is queued automatically.
05RFI Management

Agent RFI (UP → Client)

Jacob or Dustin creates RFI
Tied to project + specific product/SOW line
Scheduler/Triage receives in portal
Escalation cadence: Day 1 → 3 → 5 → 7+
Client responds with requested items
Admin reviews response → Resolve

Client RFI (Client → UP)

Scheduler or Asst. creates RFI
Appears in admin RFI queue
Jacob or Dustin responds
Resolved
0645-Day Triage Transfer
Project reaches 45+ days since inspection
System auto-transfers project to Triage Team
Scheduler & Sched. Asst. lose portal access to project
GOA retains full visibility (always sees all branch projects)
Triage team works project to close-out
Invoice routes to originating branch GOA
Dashboard Admin dashboard shows triage counts (in/out by day, month, year) per branch.
07Escalation Handling
Navigation Escalations are now a tab within the Action Center: /actions?tab=escalations.
Any stakeholder triggers escalation on a project
Instant notification to responsible parties
Threaded message channel opens (project-scoped)
Can resolve via messages?
Yes
Resolve in thread → log to audit trail
No
Generate meeting link → call to resolve
Limit Max 5 escalations per project. All activity logged to Comm Log + audit trail.
08

Smart Reconciliation

Confidence Tiers The reconciliation engine scores each payment-to-invoice match into three confidence tiers. This mirrors the confidence-based routing used in the cert/invoice pipeline — high-confidence items execute automatically, while lower-confidence items surface for human review.
TierCriteriaAction
HIGH Exact invoice number match + amount within $0.01 Auto-execute: invoice marked paid, project closed
MEDIUM Invoice match but amount differs, or amount match but partial reference Queued for Jacob’s review — confirm or reject
LOW Multiple candidates, no match, or combined payments Surfaces in reconciliation dashboard — manual matching required
Guardrail Payments ≥ $5,000 are always routed to MEDIUM regardless of match quality. Exact match + exact amount on a $5K+ payment still requires human confirmation.

Payment Sources & Ingestion

Payment arrives (EFT remittance email, Stripe webhook, or Revolut transaction)
Smart matching engine scores each line item against open invoices
HIGH
Auto-execute: mark paid, close project
MEDIUM
Queued — Jacob confirms or rejects
LOW
Dashboard only — manual matching

Remittance Ingestion

Groundworks EFT remittance emails are auto-ingested from Gmail every 30 minutes (Mon–Sat, 1–9 PM ET). The system searches for unprocessed emails, downloads PDF attachments, parses line items (invoice number, amount, PINV reference), and runs each through the smart matching engine. Processed emails are labeled to prevent reprocessing.

Revolut Transaction Matching

Revolut Business transactions are fetched and matched against open invoices using the same confidence scoring. Reference numbers are extracted from transaction descriptions and matched to invoice numbers. Unmatched transactions are flagged for manual review.

Ownership Jacob owns day-to-day reconciliation. HIGH-confidence matches execute without intervention. Jacob reviews MEDIUM matches and manually resolves LOW matches. Dustin has full visibility via the Payments page and Analytics.

Historical Invoices (Xero Archive)

The Payments page includes a Historical Invoices — Xero section: 2,286 invoices ($2.7M, 2022–2024) in a scrollable table with branch and status filters. Each row shows invoice number, date, contact, branch, amount, status, and linked project. Useful for cross-referencing current projects against their prior billing history and resolving client questions about historical payments.

09

The work queue surfaces daily assignments: field-complete projects, triage items, and unclaimed work items.

Projects enter queue (field complete / triage return / unclaimed)
Jacob claims items from the queue
Review: ready for cert pipeline?
Yes
Complete → move to cert pipeline
No
Reassign or send RFI for missing items
Sync Work queue syncs from Supabase. Items can be claimed, unclaimed, or reassigned between admin users.
10

All reporting and charts are consolidated into the Analytics page (Monitoring → Analytics in the sidebar). Data draws from three sources: Supabase (current projects), Xero archive (2022–2024 invoicing), and PMS archive (2018+ historical).

ReportDescription
Revenue by BranchMTD/YTD with trends
Lifetime RevenueCombined Mostly + Xero totals across all years
Historical Revenue by YearYear-by-year breakdown (2022–2024) from Xero
Year-over-Year GrowthBar chart with YoY % change (visible on “All” period)
SLA Compliance% of projects meeting 3-day cert target
Cert VelocityCerts per day by branch
Branch ComparisonComparative metrics across all branches
Pipeline SnapshotFull pipeline across 3 sources (7,000+ projects): Supabase + Xero + PMS
Invoicing Gap AnalysisCertified but uninvoiced projects
Data Sources Reporting blends three sources with deduplication: Supabase (current), Xero archive (unlinked invoices only), PMS (non-migrated only). Pipeline dot chart shows 7,000+ total projects. Current-period KPIs labeled “(Current)” when historical data is present.

Project Detail — Historical Invoices

Each project’s detail page shows a “Historical Invoices” section (financial roles) listing Xero invoices linked to that project. Compact table: invoice number, date, amount, status pill.

11

Complete audit trail available at /audit. Every portal action is logged:

The audit log is searchable and sortable by date, user, and action type. A per-project audit view is also available from any project detail page.

Friday’s Notes

The Friday’s Notes page (Admin → Friday’s Notes in the sidebar) collects bug reports and feedback from portal users. Review weekly to catch issues and track improvement suggestions.

12

Owner-only features for system administration:

User Management

Available at /admin/users. Create and edit portal users, assign roles and branches, activate/deactivate accounts, send invites, and reset passwords.

Holding Pool

Projects awaiting account assignment. Items can be held or rescheduled from the holding pool view.

Cancel Requests

Project cancellation workflow accessible via the Action Center → Cancel tab (/actions?tab=cancel). Schedulers submit cancellation requests; admin reviews and approves or declines.

Failed Inspections

Flagged inspections requiring attention. Review and dismiss from the failed inspections queue.

Access User management is owner-only (Dustin). Jacob has visibility but cannot create or modify users.
12b

Conversations live inside each project — there is no standalone Messages page. Open any project, scroll to the Correspondence section, and the full thread is there alongside files, site visits, and certifications. Red dots on project rows and calendar events indicate unread messages.

Architecture

WebSocket for real-time delivery with SQLite persistence. All conversations must be linked to a project. Conversations can be typed (project / rfi / review), labeled, prioritized, and assigned to teams or individuals. Unread state is tracked per user and surfaces as red dots across Projects, Calendar, Morning Briefing, and the notification bell.

Role-Based Friday Voices

The “Ask Friday” button in conversations connects to a role-appropriate AI voice:

VoiceRolesModelAccess Level
InternalOwner, AdminOpusFull tools, financial data, command execution
StaffScheduler, GOA, AssistantSonnetProject lookup, calendar, scheduling tools
Client-facingExternal-facing contextsSonnetNo financial data, no internal jargon, 4 tools only
FieldField inspector (future)SonnetConcise mobile responses

Assignment & Teams

Three teams: Cert Review (admin/owner), Scheduling (scheduler/assistant), Field Ops (field roles). Conversations route to teams automatically by type. Auto-claim triggers when a user starts typing in an unassigned conversation. Collision detection prevents duplicate responses.

Notification Router

Three delivery channels: portal notification, email (Gmail API), and WhatsApp. Per-user preferences control which channels fire at each urgency level. Features:

System Integration Points

13
ActionDustinJacob
Approve new project intake
Approve schedule changes
Draft cert package
Draft invoice
Send Direct (cert + invoice)
Queue for Review (cert + invoice)
Owner Review Queue (approve / request revision)
Create / respond to RFIs
Handle escalations
Payment reconciliationVisibilityOwns
View reporting dashboards
View audit log
Manage work queue
Holding pool management
Cancel request review
User management
System configuration
Correspondence (send, assign, label)
Private notes (internal only)
Friday Internal voice (Opus)
Notification preferences