Skip to content

SOP previews

SOPs are plain-English Markdown, layered per topic: standard, then client, then client + load type. The most specific file wins the whole topic. Each panel below is the verbatim output of uv run load-agent sop preview, run when this site was built: the procedure the runtime will execute, then the behavior change against the layer it overrides.

Delay risk becomes high

delay_risk_high
standard layer

Standard

Any client without an override
Source standard/delay_risk_high@v1 (standard layer)
When delay risk becomes high:
  Only if no ETA request is already open.
  1. Text the driver (ask for the ETA). Wait for the ETA.
  2. If there is no ETA 30 minutes after the last attempt, in order:
     a. Create a Hero task (call the driver to get the ETA).
  The request is answered as soon as we receive the ETA from any contact of the load on any channel. The remaining steps are then skipped.

Does not override another layer.

uv run load-agent sop preview <any client> delay_risk_high
client layer

Client A

client_a
Source client_a/delay_risk_high@v1 (client layer)
When delay risk becomes high:
  Only if no ETA request is already open.
  1. Text the driver (ask for the ETA). Wait for the ETA.
  2. If there is no ETA within 30 minutes, repeat step 1 (attempt 2 of 2).
  3. If there is still no ETA 30 minutes after the last attempt, in order:
     a. Email the dispatcher in the main thread (say the driver does not answer and ask for the ETA).
     b. Create an urgent Hero task (call the driver to get the ETA).
  The request is answered as soon as we receive the ETA from any contact of the load on any channel. The remaining steps are then skipped.

Behavior change compared with standard/delay_risk_high@v1 (standard):

  • Attempts at the request: 2 (was 1).
  • Escalation: now also does: email the dispatcher in the main thread (say the driver does not answer and ask for the ETA).
  • Escalation: the Hero task is now urgent.
  • Guidance (affects wording only, not what happens): added 'Email to the dispatcher'; changed 'Tone'.
uv run load-agent sop preview client_a delay_risk_high
client layer

Client B

client_b
Source client_b/delay_risk_high@v1 (client layer)
When delay risk becomes high:
  Only if no ETA request is already open.
  1. Text the driver (ask for the ETA). Wait for the ETA.
  2. If there is no ETA 30 minutes after the last attempt, in order:
     a. Post to the broker's Slack channel (alert that the ETA is missing).
  The request is answered as soon as we receive the ETA from any contact of the load on any channel. The remaining steps are then skipped.
  Never contact: dispatcher.

Behavior change compared with standard/delay_risk_high@v1 (standard):

  • Escalation: no longer does: create a Hero task (call the driver to get the ETA).
  • Escalation: now also does: post to the broker's Slack channel (alert that the ETA is missing).
  • Now never contacts the dispatcher.
  • Guidance (affects wording only, not what happens): changed 'Tone'.
uv run load-agent sop preview client_b delay_risk_high

Driver departs the pickup

departed_pickup
standard layer

Standard

Client B, dry van (no override)
Source standard/departed_pickup@v1 (standard layer)
When the load enters the stage 'to delivery' from 'at pickup':
  1. Write a TMS note (record that the driver left the pickup).
  Never contact: driver and dispatcher.

Does not override another layer.

uv run load-agent sop preview client_b departed_pickup
client + load type layer

Client B + reefer

client_b, load type reefer
Source client_b/reefer/departed_pickup@v1 (client_load_type layer)
When the load enters the stage 'to delivery' from 'at pickup':
  1. Write a TMS note (record that the driver left the pickup).
  2. Text the driver (ask for the trailer temperature and the seal number). Wait for the trailer temperature and seal number.
     The request stays open. There is no follow-up.
  The request is answered as soon as we receive the trailer temperature and seal number from any contact of the load on any channel.

Behavior change compared with standard/departed_pickup@v1 (standard):

  • Now sends a request and waits for an answer; it did not before.
  • May contact the driver again.
  • May contact the dispatcher again.
  • Guidance (affects wording only, not what happens): added 'Wording'.
uv run load-agent sop preview client_b departed_pickup --load-type reefer

The compiled specs live next to each Markdown file in sops/. How layering, compilation and version pinning work: ADR 0002.

Prepared for Freight Hero by Marcus Caum Source on GitHub