Monthly Dispatch Drafter (2026-08-11)
The Cult OS “living channel” (Layer 2), automated on the drafting side only.
Registered as monthly_dispatch_draft in scheduler CRON_TASKS: fires daily
5:00 AM ET, does real work only on the LAST day of the month (internal guard
in services/monthly_dispatch.py; verified live 2026-08-11 — fired, skipped
in 0.09s). Entirely-api 6c82286, portal ecea36a.
What it does
Per-branch (8: BALT/MANA/RICH/VBEACH/ROAN/WVA/NHAV/HOOK) Teams-post drafts:
- The Count: distinct projects with a cert delivered in the window (tracking_tokens ledger, item_type=‘cert’, branch column) + tracker backlog closures (tracker_permits.closed_date by zone) with oldest production year.
- Record candidates: fastest inspection-to-cert turnarounds, raw material under an [EDIT BEFORE POSTING] bracket — the Record needs Dustin’s judgment and the branch person’s name.
- Jurisdiction-note slot: bracketed, Dustin fills or deletes.
- Sign-off law: month rotation from services/doctrine.py.
Window: previous last-day 05:00 ET → this last-day 05:00 ET (rolling, so closures late on dispatch day land in next month’s Count, never lost).
Delivery (to Dustin ONLY — never to branches)
- Email to dustin@unlikely.pro with every draft in
blocks.
- SMS pointer via Telnyx (NB: send_sms returns None on success, raises on failure — success flag must not bool() the return).
- JSON at /data/portal-auth/dispatch-drafts/YYYY-MM.json (portal-auth is mounted in api + worker + scheduler; /data/dispatch-drafts would NOT be).
Portal
/dispatch page (Monitoring group, up_owner + up_admin), backed by /portal/dispatch (months / drafts/{month} / POST generate force-redraft). Copy button per branch; Dustin pastes into each branch’s Teams chat by hand, per instance, always — the cron never posts anything.
First run
Proof run 2026-08-10 evening (force=True): August-to-date = 18 certs (MANA 16, BALT 2), 0 backlog closures, law “Days, not weeks.” Emailed + SMS’d. Aug 31 05:00 will regenerate 2026-08.json with the full month.
Connections
- signs off with laws from: cult-os-exposure-engine