From 95337d9d548d47d8e431ae99616038a5bd262f23 Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Thu, 12 Nov 2026 16:18:50 +0000 Subject: [PATCH] docs(requirements): audit 001 against the shipped orchestrator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ticks the 001 acceptance criteria the shipped code proves and rewords the ones whose mechanism changed. 🎯 Fix: 95 % 💥 Break: 1 % 💸 Cost: 100 % ⏱️ Time: 100 % 🛡️ Security: 100 % 🏆 Score: 94 🚦 Gate: ✅ 90/5, cost and time <= 100, security 100 % Co-Authored-By: Claude Opus 5.5 --- docs/requirements/001-agent-orchestrator.md | 220 ++++++++++---------- 1 file changed, 113 insertions(+), 107 deletions(-) diff --git a/docs/requirements/001-agent-orchestrator.md b/docs/requirements/001-agent-orchestrator.md index 09bdb9f..e3f717d 100644 --- a/docs/requirements/001-agent-orchestrator.md +++ b/docs/requirements/001-agent-orchestrator.md @@ -461,175 +461,180 @@ flowchart TD ### Radio model -- [ ] `radio.py send` accepts exactly `call`, `broadcast`, `pan-pan`, +- [x] `radio.py send` accepts exactly `call`, `broadcast`, `pan-pan`, `mayday`, `security` and the alias `direct`; `post`, `newsletter` and any other class exit 2. -- [ ] `radio.py post --to X` stores `post`; `radio.py post` without `--to` +- [x] `radio.py post --to X` stores `post`; `radio.py post` without `--to` stores `newsletter`. -- [ ] `call` and `send direct` require `--to`; `broadcast`, `pan-pan`, +- [x] `call` and `send direct` require `--to`; `broadcast`, `pan-pan`, `mayday` and `security` exit 2 with `--to`. -- [ ] `send direct --wake` is stored as `call`, `send direct` as `post`. -- [ ] New rows carry a version mark; rows without it are read as before: +- [x] `send direct --wake` is stored as `call`, `send direct` as `post`. +- [x] New rows carry a version mark; rows without it are read as before: `direct` as `post` (as `call` when it woke), `broadcast` as `newsletter`. -- [ ] The UserPromptSubmit hook (`radio.py hook`) and the PostToolBatch hook +- [x] The UserPromptSubmit hook (`radio.py hook`) and the PostToolBatch hook (`radio.py tool`) never print a `post` or `newsletter` row. -- [ ] A new Stop hook `radio.py mailbox`, registered in +- [x] A new Stop hook `radio.py mailbox`, registered in `scripts/enable-plugins.js`, prints the unseen `post` and `newsletter` rows of the session at most 10 at a time with a "N more" line, marks them seen and exits 2; with nothing unseen it exits 0 and prints nothing. -- [ ] `radio.py listen` wakes an idle session only for `call`, `broadcast`, +- [x] `radio.py listen` wakes an idle session only for `call`, `broadcast`, `pan-pan`, `mayday` and `security`, never for `post` or `newsletter`. -- [ ] `radio.py tool` delivers `call` (to its addressee), `broadcast`, +- [x] `radio.py tool` delivers `call` (to its addressee), `broadcast`, `pan-pan`, `mayday` and `security` at the next tool step. -- [ ] When a call reaches the callee's context, a receipt row (callee, call +- [x] When a call reaches the callee's context, a receipt row (callee, call time, read time) is stored; the caller's mailbox shows "CALL read