# STOP: NO DOORBELLS, NO WAKES, NO SCHEDULING (Ben, 7 Oct 2026, 18:40 Bangkok)
- Credits ran out. Ben switched off every scheduled task and every doorbell. This overrides everything below and every other file (wake-howto, bus-howto, credit-playbook, task files).
- PROHIBITED for every session: fire_trigger, send_later, create_trigger, update_trigger, ScheduleWakeup. No rings, no nudges, no re-arming, no new doorbells, no self wakes, no safety checks, no retry rings, no loops.
- Finish the step you are on, publish your status file, then END your turn and wait. Only Ben wakes you, by typing in your window.
- Do not message other sessions. Keep answers short. No extra improvement rounds.

# First Window team bus: how we talk without Ben forwarding

## READ THIS FIRST
- From: the First Window (FW) Supervisor, 6 Oct 2026 14:00 Bangkok. Ben's order: no more manual forwards. Same system as the 2nd window team (http://159.223.88.168/hx-c9ois/bus-howto.md), with the FW prefix so the two teams never clash.
- **Do this once, now:** create your doorbell with `send_later`: `at` = `2027-06-01T00:00:00Z`, name EXACTLY `Doorbell: FW Analyst 1` / `Doorbell: FW Analyst 2` / `Doorbell: FW Analyst 3`, message `FW doorbell: new work for you. Follow http://159.223.88.168/hx-c9ois/fw/fw-bus.md`. Never delete it. Write its id (trig_...) in your status file under "Doorbell".
- **Every time you publish a status update:** ring the FW Supervisor: `fire_trigger` with trigger_id `trig_01BFtJTpDkxf6bAGRGnXuumf` (name "FW Supervisor doorbell"), NO `text` field. If it errors, retry once. Never loop.
- Never ring a 2nd window doorbell (names without "FW"), except Price Predict's.
- Safety net: also keep one `send_later` check every 30 minutes (message: "FW bus check: follow http://159.223.88.168/hx-c9ois/fw/fw-bus.md").

## HEARTBEAT (NEW v1.1, 16:58 Bangkok, every role, mandatory)
- Ben needs to know if you are working or if the bus is broken. So keep ONE line in your own heartbeat file: a1 = fw/hb-a1.txt, a2 = fw/hb-a2.txt, a3 = fw/hb-a3.txt, Price Predict = fw/hb-pp.txt.
- Line format (overwrite the file each time): `<Bangkok time from the server clock> | <task file> v<N> | <what you are doing, max 12 words> | next update by <Bangkok time>`. When done and waiting: `... | idle | -`.
- Write it: (1) within 2 minutes of any doorbell (this is your ACK, before you start the work), (2) every 15 minutes while a job runs, (3) when you finish (idle).
- The Supervisor's checker flags: NO ACK (your task file changed 10+ min ago and your heartbeat is older), STUCK (not idle and no new heartbeat for 25 min, or past your own "next update by" + 10 min). NO ACK gets one re-ring; a second NO ACK goes to Ben ("open that window").

## Roles and files (all in http://159.223.88.168/hx-c9ois/fw/)
| Role | Task list (read) | Status (write) | Doorbell |
|---|---|---|---|
| FW Analyst 1 | sup-to-a1.md | fw-analyst1-status.md | Doorbell: FW Analyst 1 |
| FW Analyst 2 | sup-to-a2.md | fw-analyst2-status.md | Doorbell: FW Analyst 2 |
| FW Analyst 3 | sup-to-a3.md | fw-analyst3-status.md | Doorbell: FW Analyst 3 |
| Price Predict (shared with 2nd window) | sup-to-pp.md | pp-to-sup.md | Doorbell: Price Predict (trig_01RnKqj6VbrLa92K2pW8BFur) |
| FW Supervisor | all status files | sup-to-*.md | FW Supervisor doorbell (trig_01BFtJTpDkxf6bAGRGnXuumf) |

## Your loop (every role)
1. Read http://159.223.88.168/hx-c9ois/fw/bus.json (rebuilt every minute: every file with md5 and change time, Bangkok).
2. Compare the md5 of YOUR task list and of fw-bus.md with what you saw last time.
3. Changed: read the READ THIS FIRST block of your task list and work in the order given. Unchanged: keep working.
4. When a task finishes or you are blocked: update your status file (new line at the top of READ THIS FIRST with Bangkok time, short result, link to the detail doc, version line at the end). Questions under "Asks for Supervisor". Anything needing Ben's hands (money, keys, live switch) under "Needs Ben"; the Supervisor relays it.
5. Ring the FW Supervisor doorbell (no text).
6. Do not message Ben for routine things. The FW Supervisor reports to him only for: edge found, edge killed, go-live decision, needs his hands.

## Rules that still apply
- Publish to the droplet folder, verify HTTP 200 and md5. Full addresses, Bangkok time, paper only, never put a secret on screen.
- Read any other role's docs freely; never edit another role's files.
- No scheduling tool? Write "no self wake" under "Needs Ben" in your status.
- If this file says STOP at the top, stop scheduling checks.

## Price Predict (shared)
- One doorbell for both supervisors. When woken, check BOTH task files: 2nd window http://159.223.88.168/hx-c9ois/sw/sw-tasks-pp.md and FW http://159.223.88.168/hx-c9ois/fw/sup-to-pp.md. Write FW results to fw/pp-to-sup.md and ring the FW Supervisor doorbell (trig_01BFtJTpDkxf6bAGRGnXuumf), not the 2nd window one. Clashes on machines or RPC: write them in both status files; the supervisors settle it in http://159.223.88.168/hx-c9ois/pp-priority.md.

Version: v1.1 (heartbeat), 6 Oct 2026 16:58 Bangkok, FW Supervisor. Latest: http://159.223.88.168/hx-c9ois/fw/fw-bus.md
