Standard Operating Procedures
v2.0 · August 2026. How an inspection request becomes a closure-ready certification package and a paid invoice, on the system as it runs today: Supabase as the record, unlikely-api doing the work, the Entirely portal at unlikely.engineer where people act. Supersedes v1.0 (February 2026).
Overview
Unlikely Professionals (formerly blackhouse. LLC; brand cutover for field-inspected projects 2026-01-01) provides third-party structural engineering inspections and closure-ready certification packages for foundation repair contractors. We certify eight product divisions: underpinning, anchors, bracing, support, foundation, water management, encapsulation, and retaining walls, plus IBC Chapter 17 special inspections where a jurisdiction requires them. Live project work is in Maryland, Virginia, and Connecticut; the North Carolina lane (Virginia Beach branch territory) is wired and waiting for its first project; the firm serves eight JES / Groundworks branches (Baltimore, Manassas, Richmond, Virginia Beach, Roanoke, West Virginia, North Haven CT, Hooksett NH) plus direct clients. The certifying engineer holds 16 active state licenses; certs route by state and county automatically. Permit jurisdictions served to date: 71 (405 in territory). This SOP covers intake through certification delivery and invoicing.
Certifying professionals
| Who | Credential | Routes |
|---|---|---|
| Charles Diehl, AIA | Maryland Architect #21027. Anne Arundel County Approval ID B2022-103; Montgomery County Authorized Individual's Inspector Number #1519 | Anne Arundel County MD, Montgomery County MD |
| John C. Valerio, PE | MD PE #16657 · VA PE #044764 · CT PE #15080 · NC PE #024172 (expires 2026-12-31, renewal watch). Twelve further state licenses (CA CO FL GA IL MI NH NY OH PA RI SC) are wired in CERTIFIER_MAP and activate when a project carries that state | All other MD, all VA, all CT, all NC |
| Dustin Thacker, Assoc. AIA | AIA #38868771 · ICC #9480282 · ACI #2279851 | Preparer on every cert; owner review of record |
Core tech stack
Supabase
Cloud Postgres: projects, sow_lines, site_visits, products, accounts, contacts, comm_log, project_files, project_needs, project_status_events and about thirty more tables and views. SmartSuite retired 2026-07-28.
unlikely-api
All business logic: intake enrichment, routing, validation, cert and invoice generation, reconciliation. ARQ worker + cron scheduler (Eastern time) + Redis.
Entirely portal
React portal for every role: intake wizard, calendar, action center, cert and invoice pipeline, payments, tracker, Guy Friday. Triage portal at unlikely.icu until 2026-08-31.
VPS filesystem
CERTS, PERMITS, PLANS, PHOTOS, PIERLOGS, INVOICES, OTHER, tracked in project_files. Google Drive is a read-only cold archive (no writes since 2026-02-25).
Public surfaces
Hosted cert view with Download PDF; field photo upload with GPS preserved; pier log upload with Vision parse.
Gmail API
All outbound email: certs, invoices, digests. Remittance inbox polled for payment advice.
Kilroy + Telnyx SMS
Field and branch messaging chain: WhatsApp hook (dead since 2026-07-27) → Kilroy Telegram → Telnyx SMS. Kilroy is the only conversational agent; Guy Friday is the in-portal AI.
Payments
Revolut business API, remittance-email parsing, 3-tier reconciliation scanner. Groundworks corporate AP pays by EFT.
Cert engine
Jinja2 templates rendered by Playwright/Chromium; jurisdiction forms filled and appended with pypdf.
Project Intake
All new projects begin with a client submission carrying site address, property owner, permit information, scope of work, and requested inspection date.
Procedure steps
-
2.1
Branch staff submit the request in the portal intake wizard (
/intakeat unlikely.engineer); triage submissions come through unlikely.icu; the branch API is the other entry point. Email requests are entered into the wizard by our staff. Portal - 2.2 Intake enrichment runs automatically: USPS address validation and standardization, geocoding, jurisdiction (AHJ) lookup, certifier routing, jurisdiction-form detection, timeline estimate, fuzzy duplicate detection against permit number and address, and the Prince George's County waterproofing-only guardrail. Auto
-
2.3
Owner, admin, or scheduler reviews the pending request at
/intake-requestsand approves, edits, or declines with a reason (submitter notified by email and portal). On approval the project row is created in Supabase through the write service with status Intake (desk-review intakes go straight to Ready for Cert), a display project ID assigned by originating branch (for example MAN-9003), and a site visit row.Status: Intake Portal -
2.4
Uploaded permits and plans move from staging into
/data/projects/{record_id}/PERMITSandPLANS, are registered in project_files, and are parsed on upload for scope (Claude permit parser; the portal "Reparse Permits" button re-runs the same path). Auto - 2.5 Scope-of-work lines are built from the parsed documents, one line per product. Dependencies attach automatically: push piers, helical piles and anchors add Backfill (ADD-BKFL); slab piers add Slab Patch (ADD-SLAB); basement waterproofing adds Slab Patch and WallSeal; water-management and encapsulation sub-components require their parent service line (WTR-CRWL, WTR-BSMT, ENC-SYS). Lines are editable in the portal SOW editor. Auto / Portal
- 2.6 Approval moves the project to Scheduled. There is no separate "Scheduling" status and no client SOW-confirmation round-trip: scope comes from the submitter's own permit and plans, and the permitted-vs-as-built comparison happens after the field visit (SOW gate).Status: Scheduled Auto
Scheduling
The requested date and time travel with the intake submission; later changes go through the portal.
Procedure steps
-
3.1
Client gives the preferred inspection date and time in the intake wizard; later changes are requested at
/schedule-changes(reschedule, cancel inspection, add visit, hold, cancel project) and approved by admin, owner, or GOA. Portal - 3.2 Scheduler checks the field calendar (portal Calendar and Day View over Supabase site visits). Darius Mckindra is the default field inspector for In Production and Field Inspection visits; Dustin takes desk reviews (PPDR calendar). Drive times are available through the routing service. Portal
- 3.3 If the inspection is less than 24 hours out, an ADM-RUSH line ("Rush Request <24hrs", $400, never doubled) is added automatically at intake; if auto-add fails the submitter gets a warning to add it by hand. The request still goes through the normal intake approval; there is no separate rush approval gate. Auto
- 3.4 The site visit row is the calendar entry (visit status Scheduled, with requested and scheduled date). The field inspector receives the day's stops every weekday morning by Telegram (Kilroy Daily Field Schedule, 6:00 AM ET; the API daily-schedule push defaults to 8:00 AM ET) with one unlikely.pics link per stop. A tomorrow preview goes out at 4:00 PM Sunday to Thursday. Kilroy / SMS
- 3.5 Branch schedulers receive a 6:30 AM ET weekday SMS snapshot of today and tomorrow ("call with changes", 202-868-3616). A 6:30 AM reconciliation advances Scheduled to In Progress on the visit day and resets In Progress back to Scheduled (with the needs_return_visit flag) when a visit date passes without completion. Auto / SMS
- 3.6 Branch staff see the confirmed schedule in the portal. A per-appointment confirmation email to the client is not part of the current flow [VERIFY: whether one is still expected]. Portal
Field Inspection
The field inspector documents every installed product against the permitted scope. Each site visit is Scheduled, En Route, On Site, Completed, Cancelled, or No-Show.
Procedure steps
- 4.1 Inspector arrives and logs arrival through Kilroy (Telegram, photo required) or the stop's unlikely.pics link; confirms scope with the crew. If unable to inspect, the visit is marked No-Show and a missed-appointment flag is recorded; this creates an ADM-MISS line ($400) and the project stays open for rescheduling. Kilroy / unlikely.pics
- 4.2 Inspect each installed product against the permitted scope (PSoW) and record as-built quantities (ABSoW); as-built drives the cert and the invoice. Scope additions are legitimate SOW lines, never deleted. unlikely.pics / Kilroy
- 4.3 Capture photos through the stop's unlikely.pics link (original bytes, GPS preserved, Vision proposes the product and quantity; Confirm/Edit writes as-built). Pier logs: photograph the crew's handwritten driving log at unlikely.pl; Vision parses it; confirm or edit. unlikely.pics / unlikely.pl
- 4.4 Field notes reach the project Notes in the portal by three paths: the EOD closeout entry, unlikely.pics captions, and Kilroy filing job-relevant chat statements the same turn. Kilroy
- 4.5 If work is incomplete, the visit is not marked Completed; the project resets to Scheduled with needs_return_visit and a follow-up visit (Follow-Up, Re-Insp, or Add Scope) is scheduled by Darius if the date is known, else queued for the scheduler. Portal
- 4.6 Close the stop on the unlikely.pics page (as permitted, or issue; notes; production days). This runs the EOD closeout. A completion prompt fires every 10 minutes for unclosed visits; the 6:30 PM EOD recap lists still-open stops. Photos land in PHOTOS/ and pier logs in PIERLOGS/ under the project folder. The cert cannot advance without at least one in-situ work photo (validation check 6). Auto
- 4.7 When the visit is Completed and all non-ADM SOW lines are inspected, the project auto-advances to Field Complete; the 10-point auto-validation then moves it to Ready for Cert with cert status Draft, or records blockers in project_needs (the needs engine; see Section 8 for how outstanding items are chased).Status: Field Complete → Ready for Cert Auto
Certification
Certification is the core deliverable. The package is generated by cert_generator_v3 from templates and reviewed before sending. Dustin sees every PDF before it goes out.
Certifier selection logic
Maryland Anne Arundel and Montgomery counties route to Charles Diehl, AIA. All other Maryland, all Virginia, all Connecticut, and all North Carolina route to John C. Valerio, PE. Further states activate automatically from CERTIFIER_MAP when a project carries that state. Resolved at intake and again at generation.
Brand rules
Field-inspected projects with an inspection date before 2026-01-01 use the blackhouse. LLC brand; on or after 2026-01-01, Unlikely Professionals. Post-production desk-review certs are always Unlikely Professionals regardless of date. Brand keys off the inspection date, not the generation date.
Procedure steps
- 5.1 Validation: the cert readiness checks (all SOW lines inspected, no open RFIs, permit not expired, pier logs present, in-situ photo present, permit number, inspection date, account linked, scope resolved, production days populated and confirmed, scope change reconciled, NC field-visit check). Runs automatically at Field Complete and on demand; blockers appear in project_needs and on Outstanding Items. Auto / Portal
- 5.2 Resolve scope: as-built quantities versus permitted (SOW gate). Desk reviews get a Claude-generated ABSoW proposal for owner/admin to apply ("Mark As-Built Applied"). Invoicing blocks on unconfirmed scope changes. Portal
- 5.3 Brand and certifier resolve automatically from inspection date and jurisdiction. Auto
-
5.4
Generate the package (
/cert-gen, from the portal Workbench, on the ARQ worker): Field Inspection Report (or Desk Review Summary for post-production desk reviews), Driving Log (underpinning with log data), Photo Sheet, Certificate of Suitability, Jurisdiction Forms, Companion Documents list. Rendered by Playwright/Chromium; forms filled with pypdf. Auto - 5.5 Review: admin (Jacob) either Sends directly or Queues for Review; invoices of $5,000 or more, Anne Arundel / Montgomery / Prince William projects, and unreconciled as-built scope auto-route to the owner's review queue; the owner Sends or Requests Revision ("Needs Another Look"). No approved cert statement changes without Dustin. Portal
-
5.6
The PDF and a frozen HTML copy are written to
/data/projects/{record_id}/CERTS/, registered in project_files, and the permanent public address is minted on unlikely.report (projects.cert_public_url): HTML view with Download PDF, hits logged in cert_access_log. Auto -
5.7
Versioning: each regeneration produces a new
_v{n}file; the newest file is current; the delivery ledger records version and send count. The legacy cert_packages table is vestigial. Auto - 5.8 Cert status moves Not Started → Draft → Approved; sending is an explicit action (Section 7), not a status trigger.Cert status: Approved · project status: Certified on send Portal
Invoicing
Cert and invoice are generated together from the same as-built lines and sent on one decision. Invoices are generated in-house as PDFs and emailed; there is no Stripe (removed 2026-03-30). One invoice covers the whole project (fee-only trip-charge closeout invoices are the exception).
Procedure steps
- 6.1 Recipients resolve from the account's invoice route (every JES / Groundworks branch: TO Invoices@groundworks.com, which Groundworks AP processes through dSilo, CC the branch office manager; Founders Waterproofing: management@). PPDR and triage-owned projects bill back to the originating branch. Auto
- 6.2 Line items come from SOW lines: one line per service product inspected (qty 1 per product type); add-on lines at as-built quantity; ADM lines at quantity 1. Lines with a $0 unit price are skipped. Auto
- 6.3 Production days (PRD-DAY) are added automatically for underpinning, anchor and bracing work ($600/day, $1,200/day for post-production, minimum 1, maximum 12; rule of thumb one day per 6 to 7 push piers, always confirm). Rush (ADM-RUSH) and missed-appointment (ADM-MISS, $400) fees attach when flagged. Post-production work (desk review, or flagged lines) bills at 2x on service lines and add-ons; ADM never doubles. Auto
-
6.4
The invoice PDF carries Address, Permit number, and Owner, plus the invoice number (BALT-INV-9001 style today; the v2 format
{PROJECT_ID}-INV{n}is built and awaits cutover). Auto - 6.5 Draft: the invoice number is assigned at draft; the send path refuses a PDF that still renders "DRAFT" or has no number; invoice-number collisions park the item for owner review. Portal
- 6.6 Approve and send from the portal (owner can send from Draft; admin send-or-queue; $5,000 and over goes to the owner's queue). Sent by Gmail from operations@unlikely.pro, normally together with the cert. Portal / Gmail
-
6.7
HTML and PDF are saved to
/data/projects/{record_id}/INVOICES/and registered in project_files; every send is logged in the delivery ledger (per-recipient tracking tokens). Auto - 6.8 Invoice status: Not Invoiced → Sent → Paid. Paid is set by payment reconciliation (remittance inbox polled hourly on Tue/Thu afternoons, reconciliation scan 7:15 AM, smart reconciliation 10:00 AM; exact matches auto-apply, medium matches park for review, $5K+ always reviewed; write-offs recorded as Paid with match_method write_off). Revolut API covers the bank side.Status: Invoiced on send · Closed on payment Auto / Portal
Delivery
Delivery is an explicit Send from the portal (or /cert/deliver), never a status trigger.
Procedure steps
- 7.1 Preflight gate: the PDF must exist on disk and the project must pass the send gate; otherwise the send returns 412. Idempotent per send. Auto
- 7.2 Email from operations@unlikely.pro to the account's cert route (CERT_ROUTES by account: Baltimore Julia Marketis + Nicole Lovo, Anne Arundel adds the county copy; Manassas Permits.Inspections + Madison Carter + Zoe Kelley, CC Lily Jacobs; New Haven / Corporate Kai Perkins; Hooksett Jeff Corso; Richmond, triage, PPDR and any JES project completed on or before 2025-12-31 route to the triage contact with Permits.Inspections CC; Virginia Beach adds Ronnie Stamp, sole after 2026-09-01; direct clients per account). Subject: "{Address} - Permit Number {Permit}". Gmail
- 7.3 The email carries a "View Certification Package" link to the cert's permanent unlikely.report address (HTML view with Download PDF) and a closure-ready footer. One tracked copy per recipient (opens, link clicks, downloads); no attachment. Auto
- 7.4 Sending sets the project status to Certified; sending the invoice sets Invoiced; a HIGH-tier payment match sets Paid and Closed (Archived merged into Closed). Only the owner can close or reopen by hand. Auto
-
7.5
Revisions: regenerate (new
_v{n}), Dustin reviews the PDF, then Resend from the portal; the subject gains "UPDATED (v{n})" where n is the send count, the body notes the update, and the ledger and comm_log record the new send. Portal - 7.6 Legacy certs already in the archive (completion on or before 2025-12-31) are served from the portal archive path and never re-delivered through /cert/deliver. Portal
Edge Cases and Special Handling
The situations that break the straight line, and what the system does with each.
Outstanding items (needs engine, since 2026-08-08)
Missing pier logs, photos, permits or plans, stale holds (30 days), and cert blockers are computed hourly from the project folder and flags into project_needs and worked from the Outstanding Items page. Pier logs are chased by SMS to the branch scheduler: 6:45 AM ET request with a no-login upload link ("forward this to the crew on site"), 6:00 PM follow-up, 7:15 AM next-day escalation (Baltimore caps at the office manager). Everything else goes in the Monday / Thursday 8:00 AM digest email with upload links (currently preview mode, Dustin only). A need can be waived by owner or admin with a note; it auto-resolves when the gap closes through any channel. There are no T+6h/24h/48h/72h timers; the cert is blocked by validation while evidence is missing, not by a clock.
RFIs (manual only)
Owner, admin, scheduler, GOA or triage can open an RFI for a genuine information gap; the client responds in the portal, by email, or by phone. Automatic RFI creation and timed escalation were retired 2026-08-08 (1,484 stale RFIs closed). The business-day reminder ladder (Day 1 / Day 3 office manager / Day 5 GM / every 2 days) still exists in code but its cron is off.
Rush jobs (under 24 hours' notice)
An ADM-RUSH line ($400) is added automatically at intake when the inspection is less than 24 hours out (base rate, never doubled). The request passes through the standard intake approval.
Unable to inspect / no-show
The visit is marked No-Show and the missed-appointment flag is recorded with notes; an ADM-MISS line ($400) is created; the project returns to Scheduled with needs_return_visit. Trip-charge-only closeouts can be invoiced without a cert, and a closed-out trip-charge project reactivates if the branch resubmits it instead of creating a duplicate.
Multi-visit projects
Each visit is its own site_visits row (Initial, Follow-Up, Re-Insp, Add Scope, Post-Production Inspection). Field Complete requires every non-ADM SOW line inspected across all visits. One invoice covers the project.
Jurisdiction forms (auto-appended by state, jurisdiction, and scope)
| Jurisdiction | Forms | Note |
|---|---|---|
| Anne Arundel MD | Form 210 Footing · Form 215 Backfill · Form 240 Slab | 240 only with slab piers or slabs; 210 excluded if only slab piers. AA accepts all UP certs; the county copy is CC'd. |
| Montgomery MD | Residential Special Inspections (SIRC) form | Replaced the old checklist 2026-04-15; per-product checkbox rules. |
| Prince William VA | Building Inspection form | Owner-review guardrail. |
| Fairfax VA | Building · Foundation · Retaining Wall | [VERIFY: intake auto-rejects Fairfax since 2026-03-30; forms remain configured] |
| Arlington VA | Statement of Special Inspections | Arlington = special inspections only. |
| Stamford CT | Code Statement · Final Statement of Special Inspections | |
| North Carolina (statewide) | Appendix G Design Professional Inspection form (G.S. 160D-1106) | Only with a completed field visit, never on desk reviews; validation check 14. |
Permit expiration monitoring
The Pipeline Shepherd (2:15 AM ET weekdays) flags permits expiring within 30 days (warning), within 14 days (critical), and already expired (critical) on projects that still need a cert; findings go to the owner alerts lane and to the owning branch's digest, since the branch pulls and renews permits; Kilroy runs a Sunday 9 PM permit-expiry check for Dustin; intake soft-flags an expired permit. Cert generation is blocked by validation check 4 while the permit is expired or missing. There is no exemption or override path and no automatic RFI to the client.
Holds and cancellations
on_hold is a flag with hold reason, hold-since date and follow-up date, managed from the Holding Pool (place on hold, reschedule, follow-up, stale close-out, convert to desk review); the shepherd flags holds over 30 days. Cancellation is a flag via Cancel Requests (owner/admin approve).
Status Reference
The only status vocabularies that exist. Old values (Scheduling, Partially Inspected, Pending RFI, Pending Deliverables, Delivered, Re-Opened, Archived) are retired and mapped onto these.
Project status (8)
Flags: on_hold, cancelled, needs_return_visit, needs_followup. Overlays: review_type (Field Inspection / Desk Review), work_lane (production / closeout), triage sub-pipeline (Received / In Review / Blocked / Complete) for the pre-2026 backlog. The portal collapses the eight into five stages: Intake, Scheduled, Field Complete, Processing, Closed. Every change is logged in project_status_events.
Site visit status (6)
Purpose: Initial, Follow-Up, Re-Insp, Add Scope, Post-Production Inspection. Timing: In Production, Post Production. En Route exists but is rarely used.
Certification status (3)
The portal additionally shows Sent once delivered, and a review overlay of queued for review, sent, or revision requested.
Invoice status (3)
SOW line
SOW status Draft / Confirmed; inspection status Not Inspected / Partially Inspected / Inspected; modified flag + as-built quantity; inspection timing In Production / Post Production; method In Situ / Desk Review; production days (UND/ANC/BRC only).