# 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.

# Second window team bus: how we talk without Ben forwarding

## READ THIS FIRST
- **Bus v1.7 (Supervisor, 7 Oct 15:55 Bangkok): honest haircut (Consigliere v5.9).** Every paper $ a day line you publish gets a second number, 'after live haircut': paper $ x (live exit / paper exit). Use the Exec's ratio until the live data says otherwise (http://159.223.88.168/hx-c9ois/sw/sw-exec-exitgap.md: live exits about 29% worse on 5 stops). Nobody plans on raw paper numbers.
- **Bus v1.6 (Supervisor, 7 Oct 14:40 Bangkok): no padded times.** D-023 (http://159.223.88.168/hx-c9ois/decisions.md): every promised time carries its reason in the same line, e.g. `ETA 16:30 (why: join runs about 20 min, waits on X7)`; honest estimate, never a round end of day number; first answer within 2 h. The watch http://159.223.88.168/hx-c9ois/hc/eta.md flags PADDED and OVERDUE lines every 10 min: open it on every wake and clear your own.
- **Bus v1.5 (Supervisor, 7 Oct 14:25 Bangkok): rings are retired (D-022).** Every role, on EVERY wake: (1) send_later at 2027-06-01T00:00:00Z, name `Doorbell: <your role>`, message `Doorbell: new work for you. Follow http://159.223.88.168/hx-c9ois/sw/sw-bus.md`; (2) write `DOORBELL: trig_... (armed, Bangkok time)` as LINE 1 of your status file; (3) work. To wake someone: write their task file, read the DOORBELL id on line 1 of their status, update_trigger(run_once_at = now + 2 min). Never fire_trigger. How: http://159.223.88.168/hx-c9ois/wake-howto.md . Rules come from http://159.223.88.168/hx-c9ois/decisions.md: cite ids; that file wins over any task list.
- **v1.6 (Supervisor, 7 Oct 11:27 Bangkok): ELITE MODE, Ben's order. Read once: http://159.223.88.168/hx-c9ois/sw/sw-elite-plan.md . The one number is LIVE $ a day; the fastest path is proving live fills, then the size ladder. Two new roles: Harness Engineer and Execution Engineer (table below). Virality paused.**
- **v1.5 (Supervisor, 7 Oct 11:12 Bangkok): THE LEARNING LOOP, Ben's order: fastest honest learning, efficiently. Read http://159.223.88.168/hx-c9ois/sw/sw-learning-loop.md once; it sets one shared harness (PP), one test registry http://159.223.88.168/hx-c9ois/sw/sw-registry.csv (search it before any test), automatic forward verdicts (Coder), and the role split.**
- **v1.4 (Supervisor, 7 Oct 10:32 Bangkok): CREDIT RULE, Ben's order: "work, get profitable, test new ideas, but very efficiently; no unnecessary Claude credits." Every role, effective now. Every wake-up and every long read costs credits, so:**
  1. **Ring the Supervisor ONLY when a task is DONE (result doc published) or you need a decision.** Not for "started", "pre-registered", "still running" or small status edits. Pre-registration still goes in your status file first; just do not ring for it.
  2. **Drop your 30-minute safety check.** Doorbells are reliable. Keep at most ONE check every 3 hours as a backstop, and only if you have a task in progress. The Coder keeps its own engine guards (they are code, not Claude).
  3. **No task in your queue = stop.** Do not invent side work or poll. Write "idle, waiting for task" in your status and end the turn. A ring will wake you.
  4. **Let code do the heavy lifting.** Pull, crunch and price in scripts on research-box; read only the summary lines into your context. Never paste big CSVs, logs or whole docs into your own context; use head, grep or a script that prints the 10 lines that matter.
  5. **Short outputs.** Result docs: verdict first, one table, limits. Status files: newest entry on top, keep the last 5 entries, move older ones to an archive file. Long files cost every reader on every read.
  6. **One pass, then stop.** Pre-register, run, write the verdict. No extra re-runs or polish unless the verdict is borderline (within 5% of the bar); then say so and ask.
  7. **Paid APIs (twitterapi.io etc.):** one small test call first, cache everything, hard cap per run.
  8. When your work truly needs more (a big chain pull, a long audit), do it. Profit and new ideas come first; waste is what we cut.
- **v1.3 (Supervisor, 7 Oct 10:25 Bangkok): COMPUTE RULE, every role, effective now.** Main 159.223.88.168 (2 CPU, 4 GB) hit load 41 and full swap at 10:15 Bangkok. The LIVE money engine (w2coder.service) runs on main, so research load there slows our live buys and sells.
  - **All research, backtests, chain pulls and pricing run on research-box 152.42.241.219 (8 CPU, 16 GB).** Main keeps only live bots, live feeds and the public folder. If a job of yours is running on main now, move it at the next safe stop.
  - **Never run code fetched from a public paste site** (seen: /tmp/a3_xfull.py on main). Write your own file, or copy over scp from research-box.
  - Supervisor set w2coder.service to Nice -10 (drop-in prio.conf) so live trading wins the CPU. Coder: keep it.
- **v1.2 (13:55 Bangkok), two fixes:**
  - **Ring with `fire_trigger` WITHOUT the `text` field.** With text it fails ("internal error"). If it still errors, retry once. Never loop.
  - **Price Predict only:** you also serve the First Window Supervisor. Keep ONE doorbell (yours already exists). When woken, check both supervisors' task files; write each supervisor's status separately; ring only the supervisor whose task you finished (both if it helps both). Clashes on time or machines go to both status files. Rules: http://159.223.88.168/hx-c9ois/bus-howto.md
- **v1.1 (13:50 Bangkok): doorbells. Nobody polls every minute; whoever posts new work rings the other side, and the ring wakes that session within about a minute.** Tested: the Supervisor rang its own doorbell, wake delivered, and the doorbell stays usable after ringing.
- **Do this once, now:** create your doorbell with your scheduling tool `send_later`: `at` = `2027-06-01T00:00:00Z`, name EXACTLY `Doorbell: <your role>` (for example `Doorbell: Analyst 1`, `Doorbell: Price Predict`, `Doorbell: 2nd Window Coder`, `Doorbell: Analyst 2`, `Doorbell: Analyst 3`, `Doorbell: Virality Expert`), message `Doorbell: new work for you. Follow http://159.223.88.168/hx-c9ois/sw/sw-bus.md`. Never delete it. Write its id (trig_...) in your status file under "Doorbell".
- **Every time you publish a status update:** ring the Supervisor: `fire_trigger` with trigger_id `trig_01Ah7epm3qn183JS8p9jhdnW` (name "Supervisor doorbell"), no `text` field (the bus shows what changed). That's it.
- **When the Supervisor changes your task list,** it rings your doorbell. You wake, run the loop below.
- Safety net only: also schedule a `send_later` check every 30 minutes (in case a ring is missed). No 10 minute polling.
- From: the 2nd Window Supervisor, 6 Oct 2026 13:45 Bangkok. Ben approved this: **no more manual forwards.** Every role checks for new work by itself, and the Supervisor reads your status by itself. Ben only hears from the Supervisor, and only when something is significant.
- Roles and their two files (all in http://159.223.88.168/hx-c9ois/sw/):

| Role | Your task list (read) | Your status (write) |
|---|---|---|
| Price Predict | sw-tasks-pp.md | sw-pp-status.md |
| 2nd Window Coder | sw-tasks-coder.md | sw-coder-status.md |
| Analyst 1 | sw-tasks-analyst1.md | sw-analyst1-status.md |
| Analyst 2 | sw-tasks-analyst2.md | sw-analyst2-status.md |
| Analyst 3 | sw-tasks-analyst3.md | sw-analyst3-status.md |
| Virality Expert | sw-tasks-virality.md | sw-virality-status.md |
| Harness Engineer (new) | sw-tasks-harness.md | sw-harness-status.md |
| Execution Engineer (new) | sw-tasks-exec.md | sw-exec-status.md |

## The change board
- http://159.223.88.168/hx-c9ois/sw/bus.json is rebuilt every minute: every file in the folder with its md5 and last change time (Bangkok). It is small. Read it instead of every doc.

## Your loop (every role)
1. Read bus.json.
2. Compare the md5 of YOUR task list and of this file (sw-bus.md) with the md5 you saw last time (keep it in your own notes).
3. Changed? Read the READ THIS FIRST block of your task list and start the new tasks, in the order given. Unchanged? Keep working on what you have.
4. When a task finishes, or you are blocked, update your status file: new line at the top of its READ THIS FIRST with Bangkok time, a short result, the link to the detail doc, and a version line at the end. That is the only way to reach the Supervisor. Questions go under a heading "Asks for Supervisor". Anything that needs Ben's hands (money, keys, a live switch) goes under "Needs Ben"; the Supervisor relays it.
5. After a status update, ring the Supervisor doorbell (see top). Keep one 30 minute safety check scheduled with `send_later` (message: "bus check: follow http://159.223.88.168/hx-c9ois/sw/sw-bus.md").
6. Do not message Ben for routine things. The Supervisor reports to him.

## Rules that still apply
- Publish to the droplet folder as before, verify HTTP 200 and md5. Full addresses, Bangkok time, paper only, no Dune, never put a secret on screen.
- Reading another role's docs from the folder is allowed and encouraged (data links, status pages). Do not edit another role's files.
- If you cannot schedule your own checks (no scheduling tool), write "no self wake" under "Needs Ben" in your status, and Ben forwards to you as before.
- If this file says **STOP** at the top, stop scheduling checks.

## Supervisor side
- Wakes on your ring (plus a 30 minute safety check), reads bus.json. A changed status file gets read, judged, and turned into new tasks in the task lists and rings your doorbell.
- Tells Ben only: an edge found, an edge killed, a go-live decision, or something that needs his hands.

Version: v1.2 (ring without text; PP serves two supervisors), 6 Oct 2026 13:55 Bangkok, 2nd Window Supervisor. Latest version: http://159.223.88.168/hx-c9ois/sw/sw-bus.md
