Release 1.33 — Development Timeline

LEM Foundation → Equipment Financial Layer → T&M Work Orders
Three phases building on each other, with parallel tracks where possible. Click any row with a spec to expand it inline.

Total Features
35
3 LEM + 12 WO + 8 Equip + 12 Backend
Phases
5
LEM → WO → Backend → Equip → Maint
Key Prerequisite
Job Refactor
Emma's projectId optional branch
Key Customers
4+
Rival, Mkwa, Tear Systems, Thermogenics
LEM Foundation
Equipment Module
Work Orders
Can parallelize
Backend Infrastructure
READY No blockers
BLOCKED Waiting on dependency
BACKEND Backend only (no UI)
▶ = has spec (click to expand)

Critical Path

The longest dependency chain that determines minimum timeline:

LEM-1
Labor Rates
LEM-2
Equip Rates
Job Refactor
Merge Required
WO-1
Job Type Config
WO-5
List Tables
EQ-0
Equip Schema
WO-2
Line Items
WO-3
Create/Edit
WO-4/5/6
Detail + List Pages
WO-8
Mobile Wizard

Phase 1 LEM Foundation — Rate Data Models

Prerequisite for all downstream features. Establishes structured cost vs. billable rate data for Labor, Equipment, and Materials. No blocking dependencies — can start immediately.

ID Feature Estimate Status Depends On
LEM-1 Labor Billable Rates — Add billableValue to TradeLevelRate, new Billable Rates tab in Employee Agreement 2-3 days READY None
LEM-2 Equipment Billable Rates — Category-level rates with per-equipment + per-job overrides, editable rate types, resolution engine 4-6 days PARALLEL None (||)
LEM-3a Material Billable Rates — Schema + Service. Migration (4 nullable columns), MaterialPricingService (resolveMaterialSellPrice(), bestAvailableCost()), GraphQL computed resolvers. Hard prerequisite for WO-2. ~1 day SEQUENCE LEM-1 (pattern)
LEM-3b Material Billable Rates — UI. MaterialPricingCard on Material detail page, Default Markup % on MaterialGroup form, Material Markup % on Job settings. Parallel with WO-2/WO-3. 1-2 days PARALLEL LEM-3a

Phase 2 T&M Work Orders

The highest priority feature. Requires the Job Refactor branch to be merged (makes projectId optional on Job). Uses LEM rate data for auto-pricing line items. No dependency on Equipment Financial Layer.

ID Feature Estimate Status Depends On
PREREQ Job DataModel Refactor — Emma's branch making projectId optional, DataModel-driven forms In progress MERGE REQ Release 1.31
WO-1 Job Classification & WO Routing — JobClassification enum, PropertyValue config, WO statuses, Board seeds, SQL view, backend guard. No frontend. 2-3 days BLOCKED Job Refactor
WO-5 T&M Work Order Log — Extract SharedJobListView, Work Orders list page, sidebar nav. Pure frontend. 2-3 days BLOCKED WO-1
EQ-0 Equipment Time Schema — Prisma models, types, model class, GraphQL, timesheet mutation extensions, permissions (backend only) 2-3 days BLOCKED LEM-2
WO-2 Line Item Tables — 3 new Prisma models (Labor/Material/Equipment), auto-pricing from LEM rates 5-8 days BLOCKED WO-1, EQ-0, LEM-1/2/3
WO-3a Schema & Form Foundation — dateOfWork on Job, Signature model, DAA setup, classification-aware numbering 3-4 days BLOCKED WO-1, WO-2, PR #6831
WO-3b Line Item Editors — Labor/Material/Equipment custom input components for DataModel form, structured + blank patterns 4-5 days BLOCKED WO-3a
WO-3c Signatures & Submission — Signature canvas via react-signature-canvas, user selector, GPS capture, Draft/Submit flow, complete form mockup 2-3 days BLOCKED WO-3a
WO-3d WO Property Settings — Settings tab with layout builders, dual-status (jobStatus vs workOrderStatus) input resolution, subModel scoping 2-3 days BLOCKED WO-1, WO-3a
WO-4 Detail Page — WO-specific tabs, action buttons, line item display 4-6 days BLOCKED WO-3a/b/c
WO-7 WO → Invoice / CO Conversion — Generate Simple invoice from WO line items, Convert to CO with nullable accountItemId, rate resolution via LEM-1/2 3-4 days BLOCKED WO-4, LEM-1/2

Parallel Tracks Independent Work Order Features

These features can be developed in parallel with the main WO track or slotted in between phases.

ID Feature Estimate Status Depends On
WO-8 Mobile WO Creation — Parent spec. 5-step wizard with camera capture, touch signature, multi-draft. Decomposes into WO-6, WO-8a, WO-8b below. 8-10 days BLOCKED WO-1, WO-3
  WO-6 Mobile WO List & Detail — TableDataList + DetailOverview with Overview, Notes, Files tabs 1-2 days BLOCKED WO-1, WO-3d
  WO-8a Stepped Form Wizard — DataModelForm steppedForm mode, section-as-step, disabled summary 3-4 days BLOCKED WO-6, WO-3c
  WO-8b Collect Signatures — Request internal signature (ACK pattern) + collect in-person from external (device handoff) 3-4 days BLOCKED WO-6, WO-8a
WO-9 Trade Level Override Audit — Update all reports, payroll, P&L, LEM, PDFs to use overrideTradeLevelId from TimeSheetDetailRecord. Must ship this release. 2-3 days BLOCKED WO-2 Step 0

Backend Sprint Backend Infrastructure — Material Supply Chain

Backend only — no UI. Builds the database models, GraphQL resolvers, and services for every feature in Release 1.34. Seeded with synthetic data and validated end-to-end via MCP. Runs in parallel with WO development. Full specs and implementation plans live in the 1.34 timeline.

ID Backend Scope Estimate Status Depends On
LEM-3a Material Pricing Cascade — 4 migration columns, MaterialPricingService, computed resolvers 0.5 day BACKEND LEM-1
MAT-0 Supply Chain Foundation — ManufacturerProduct + DistributorPrice models 1 day BACKEND LEM-3a
MAT-1 Customer PO Entity — PurchaseOrder + PurchaseOrderLineItem models 1 day BACKEND MAT-0
MAT-9 Discount Management — DistributorDiscount model, cascading resolution 0.5 day BACKEND MAT-0 (||)
MAT-4 Material Requests — MaterialRequest + MaterialRequestItem models 0.5 day BACKEND MAT-0 (||)
MAT-2a Material Consumption — MaterialConsumptionEntry model, LEMReport query 0.5 day BACKEND LEM-3a (||)
MAT-5 Supplier PO — Extend PurchaseOrder with delivery/shipping fields 0.5 day BACKEND MAT-1
MAT-6 Receiving — PurchaseOrderReceipt + ReceiptLineItem models 0.5 day BACKEND MAT-5
MAT-7 Inventory — InventoryLocation + InventoryItem + InventoryMovement models 1 day BACKEND MAT-6
MAT-8 Vendor Credits — VendorCredit + VendorCreditLineItem models 0.5 day BACKEND MAT-6 (||)
SEED Synthetic Data Seeding — Populate via MCP with realistic supply chain data 1 day BACKEND All MAT
TEST MCP End-to-End Test — Full supply chain lifecycle validation 1 day BACKEND SEED

Full feature specs and implementation plans for each MAT item → Release 1.34 Timeline

Phase 3 Equipment Financial Layer

Equipment timesheet capture, P&L integration, and invoicing. Requires LEM-2 (Equipment Rates). Can run in parallel with WO development since there are no cross-dependencies. Deferred after WO as lower priority.

ID Feature Estimate Status Depends On
UIS-15H Equipment Timesheet Capture — Equipment time as sibling to labor in timesheets, shared approval, mobile Log Time, tooltip + approval grid updates 3-4 days BLOCKED EQ-0, LEM-2
UIS-15C Equipment Variable Rates (Advanced) — Time-of-day windows, hour splitting, OT multipliers, attachment pricing, effective dating 3-5 days BLOCKED LEM-2
UIS-15A Equipment Job P&L — Map EquipmentCategory to AccountItem, SQL CTE for equipment costs in Financial Summary 3-4 days BLOCKED LEM-2, UIS-15H
UIS-15B Equipment Invoicing — Generate Simple invoices from approved equipment time entries via Job or Equipment detail 4-6 days BLOCKED LEM-2, UIS-15H, UIS-15A

Phase 4 Equipment Maintenance & Mobile (Lower Priority)

These are valuable but not on the critical path for Work Orders. Can be deferred to 1.33 if timeline is tight.

ID Feature Estimate Status Depends On
UIS-15D Equipment Maintenance Triggers — Hour/calendar-based alerts, service logging, PropertyValue types, category > equipment cascade 5-7 days BLOCKED UIS-15H
UIS-15G Equipment Maintenance Scheduling — Schedule instances, calendar view, completion workflow, downtime tracking, cost/downtime reports, reminders 6-8 days BLOCKED UIS-15D
UIS-15F Daily Equipment Checklist — Digital inspections via SafetyForm system, defaultInspectionFormId on EquipmentCategory 3-4 days BLOCKED UIS-15D
UIS-15E Equipment Search & Mobile QoL — QR scanner, mobile detail views, quick actions, history tabs, start form 4-5 days BLOCKED UIS-15H, UIS-15D, UIS-15F

Sequencing Rationale

Key Decisions & Open Questions

Source Documents