Skip to main content
Maintenance Workflow defines the product’s first real-world intake loop: external reports should become structured operational work.

Intake channels and evidence boundary

The intended maintenance intake channels are:
Lucia Booking Engine source reviewed on 2026-08-12 implements authenticated maintenance intake and channel-specific normalization. Twilio and Postmark provider-console destinations were not re-read on that date or on 2026-09-10, so this list does not claim current external routing or end-to-end delivery. Lucia UI/manual entry was not independently reverified. Three rulings since bind every intake record:
  • Every record binds to the pilot property. “Everything is Villa Valentin right now. There is NO OTHER PROPERTY.” (founder, 2026-08-04, LUCI-92). No maintenance-inbox record is written without a property binding the Engine actually resolved; during the pilot that binding is villa_valentin, read from property settings, never hardcoded and never inferred from a provider payload. An item the Engine cannot bind is refused visibly, never stored as a silent unscoped row. The Engine work carrying this invariant is recorded on LUCI-92 (Finalizing on 2026-09-10).
  • The generic maintenance webhook is gated. On 2026-08-30 a read-only probe showed the legacy webhook route accepting unauthenticated durable writes; the store was cleaned and the route now requires a shared secret header, matching how the Fieldwork intake path authenticates (LUCI-169, completed 2026-08-30). No secret value appears in any record.
  • Postmark is the employee-facing thread only. Since September the guest-facing mail family (the booking magic link and the payment request) leaves the Engine through Resend; Postmark carries the Maintenance Inbox’s employee thread and nothing guest-facing (LUCI-232, LUCI-231; HLLC-41 audit read of the Engine’s outbound code, 2026-09-10). On Development every guest-facing mail is redirected to one testing inbox; employee-facing mail is untouched (LUCI-231).

Previously documented implementation flow

The imported operations record described:
External messageauthenticated intakenormalized maintenance signalduplicate handlingstored-media or fallback outcomeMaintenance Inbox statelinked maintenance task
Current Engine source implements the route, normalization, verification, dedupe, media, inbox, and task seams. This source evidence does not prove a fresh provider delivery or every end-to-end side effect in a deployed environment.

Fieldwork submitted-item thread

Once Fieldwork receives the canonical submission acknowledgment, the item can carry one durable thread between the reporting employee and the authorized Maintenance Inbox operator:
Submitted Fieldwork itemOperator reply in Maintenance InboxFieldwork API durable item threadEmployee sees and replies on the submitted itemMaintenance Inbox renders the combined chronology
The thread is not the employee’s draft conversation with Lucia. Lucia is out of the V1 loop. Employee and operator seen cursors derive Sent, Seen, unread, and Needs your reply presentation. The Maintenance Inbox records operator seen when the thread opens and refreshes on its existing cadence. Its initial load stays calm while the thread is being resolved. V1 is online-only. A failed employee send remains not sent; the system must not invent success. Dismissed items preserve history and lock the employee composer. Operator messages use a real Clerk-derived operator name. None of these messages is itself an approval, assignment, schedule, spend, completion, or verification action. What does not exist yet. Every conversation in the Maintenance Inbox begins with the employee: a Fieldwork submission or a provider message opens the thread, and the owner’s messages are replies inside it. An owner-initiated staff conversation with no issue behind it is a design phase, not a feature (Owner starts a staff conversation from Maintenance inbox, FILD-167, Planned as of 2026-09-10; founder, 2026-09-09: “Sometimes it’s preemptive from me to them.”). Push lands on the record. The operator push for a new intake or an employee reply deep-links to the Maintenance page with the record’s id. On 2026-08-30 that landing rendered the generic page; the fix that opens the referenced record, with an owner-words notice for an unknown id, is recorded as completed on LUCI-167 on 2026-09-10. This pass did not read the served Admin commit for it. See Messages and replies, Owner review, and Clerk.

SMS/MMS

Historical evidence:
The historical operations record described text intake, a renderable media outcome, and task creation. Current source contains the corresponding processing seams, but they are not reasserted as live provider behavior without a dated controlled-delivery receipt.

WhatsApp

Historical evidence:
The historical operations record described message intake, a renderable media outcome, and task creation. Current source contains the corresponding processing seams, but they are not reasserted as live provider behavior without a dated controlled-delivery receipt.

Email

Historical evidence:
The historical operations record described email and attachment evidence, but did not establish a renderable attachment outcome for the observed delivery. Current Engine source is newer: attachment processing can record either durable, renderable media evidence or an explicit non-renderable fallback. That is verified source behavior, not proof of a fresh provider payload, durable-media result, or rendered attachment.

Previously documented Inbox actions

The imported operations record listed:
Neither the 2026-08-12 review nor this 2026-09-10 pass independently verified those actions in the served Admin build, so this list is not current UI or end-to-end runtime proof. The September Maintenance surface and its Masthead are documented with the admin surfaces in wave 2 of Canon Wave 3 (HLLC-41).

Product Goal

Maintenance Inbox should reduce chaos at the moment a problem enters the system. It should give the operator:

See Also