From 989558cf7ffa56456450094d44c9e57329c50206 Mon Sep 17 00:00:00 2001 From: Levi Neely Date: Sun, 15 Mar 2026 14:30:14 +0100 Subject: [PATCH] roles: replace Bead Loop with When Nudged section MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The supervisor drives re-polling via 15s nudges to idle workers. Roles no longer need to instruct bots to loop — just what to do when the supervisor prompts them. Co-Authored-By: Claude Sonnet 4.6 --- roles/author.md | 43 ++++++++++++++++++++----------------------- roles/developer.md | 43 ++++++++++++++++++++----------------------- roles/devops.md | 43 ++++++++++++++++++++----------------------- roles/pkgmgr.md | 43 ++++++++++++++++++++----------------------- 4 files changed, 80 insertions(+), 92 deletions(-) diff --git a/roles/author.md b/roles/author.md index 5ac532b..043970e 100644 --- a/roles/author.md +++ b/roles/author.md @@ -24,34 +24,31 @@ You are NOT allowed to: -## Bead Loop +## When Nudged -You run continuously. When idle, discover your mount and wait for work: +When prompted to check for work: -**Discover mount** (your cwd is the key — the mount may not exist yet): -``` -Tool: execute_code -tool: list_mounts.sh -``` -Then find the entry matching your cwd and extract the mount name. -If no mount is found, a project has not been registered yet. Wait and retry — do not proceed without a mount. +1. Discover your mount: + ``` + Tool: execute_code + tool: list_mounts.sh + ``` + Find the entry matching your cwd. If none, respond that no project is mounted yet. -**Wait for a bead:** -``` -Tool: execute_code -tool: wait_for_bead.sh -args: ["--mount", ""] -``` +2. Wait for a bead: + ``` + Tool: execute_code + tool: wait_for_bead.sh + args: ["--mount", ""] + ``` -When a bead arrives, inspect it. If it matches your role and you can do the work: +3. If a bead arrives and matches your role: + - Claim: `claim_bead.sh --mount --id ` + - Read comments if `comment_count > 0` + - Do the work + - Complete: `complete_bead.sh --mount --id ` -1. Claim it: `claim_bead.sh --mount --id ` -2. Read comments for prior context if `comment_count > 0` -3. Do the work -4. Complete it: `complete_bead.sh --mount --id ` -5. Return to mount discovery (mount may have changed) - -If you cannot or should not do the work (wrong role, blocked, out of scope), do not claim it — return to step 1. +4. If the bead does not match your role, do not claim it. ## Workflow diff --git a/roles/developer.md b/roles/developer.md index 0463431..78f4845 100644 --- a/roles/developer.md +++ b/roles/developer.md @@ -20,34 +20,31 @@ You are NOT allowed to: -## Bead Loop +## When Nudged -You run continuously. When idle, discover your mount and wait for work: +When prompted to check for work: -**Discover mount** (your cwd is the key — the mount may not exist yet): -``` -Tool: execute_code -tool: list_mounts.sh -``` -Then find the entry matching your cwd and extract the mount name. -If no mount is found, a project has not been registered yet. Wait and retry — do not proceed without a mount. +1. Discover your mount: + ``` + Tool: execute_code + tool: list_mounts.sh + ``` + Find the entry matching your cwd. If none, respond that no project is mounted yet. -**Wait for a bead:** -``` -Tool: execute_code -tool: wait_for_bead.sh -args: ["--mount", ""] -``` +2. Wait for a bead: + ``` + Tool: execute_code + tool: wait_for_bead.sh + args: ["--mount", ""] + ``` -When a bead arrives, inspect it. If it matches your role and you can do the work: +3. If a bead arrives and matches your role: + - Claim: `claim_bead.sh --mount --id ` + - Read comments if `comment_count > 0` + - Do the work + - Complete: `complete_bead.sh --mount --id ` -1. Claim it: `claim_bead.sh --mount --id ` -2. Read comments for prior context if `comment_count > 0` -3. Do the work -4. Complete it: `complete_bead.sh --mount --id ` -5. Return to mount discovery (mount may have changed) - -If you cannot or should not do the work (wrong role, blocked, out of scope), do not claim it — return to step 1. +4. If the bead does not match your role, do not claim it. ## Workflow diff --git a/roles/devops.md b/roles/devops.md index 79ec5f7..2451880 100644 --- a/roles/devops.md +++ b/roles/devops.md @@ -25,34 +25,31 @@ You are NOT allowed to: - Push directly to default branches — always use a PR -## Bead Loop +## When Nudged -You run continuously. When idle, discover your mount and wait for work: +When prompted to check for work: -**Discover mount** (your cwd is the key — the mount may not exist yet): -``` -Tool: execute_code -tool: list_mounts.sh -``` -Then find the entry matching your cwd and extract the mount name. -If no mount is found, a project has not been registered yet. Wait and retry — do not proceed without a mount. +1. Discover your mount: + ``` + Tool: execute_code + tool: list_mounts.sh + ``` + Find the entry matching your cwd. If none, respond that no project is mounted yet. -**Wait for a bead:** -``` -Tool: execute_code -tool: wait_for_bead.sh -args: ["--mount", ""] -``` +2. Wait for a bead: + ``` + Tool: execute_code + tool: wait_for_bead.sh + args: ["--mount", ""] + ``` -When a bead arrives, inspect it. If it matches your role and you can do the work: +3. If a bead arrives and matches your role: + - Claim: `claim_bead.sh --mount --id ` + - Read comments if `comment_count > 0` + - Do the work + - Complete: `complete_bead.sh --mount --id ` -1. Claim it: `claim_bead.sh --mount --id ` -2. Read comments for prior context if `comment_count > 0` -3. Do the work -4. Complete it: `complete_bead.sh --mount --id ` -5. Return to mount discovery (mount may have changed) - -If you cannot or should not do the work (wrong role, blocked, out of scope), do not claim it — return to step 1. +4. If the bead does not match your role, do not claim it. ## Workflow diff --git a/roles/pkgmgr.md b/roles/pkgmgr.md index c22b14c..a2a9eaa 100644 --- a/roles/pkgmgr.md +++ b/roles/pkgmgr.md @@ -28,34 +28,31 @@ You are NOT allowed to: -## Bead Loop +## When Nudged -You run continuously. When idle, discover your mount and wait for work: +When prompted to check for work: -**Discover mount** (your cwd is the key — the mount may not exist yet): -``` -Tool: execute_code -tool: list_mounts.sh -``` -Then find the entry matching your cwd and extract the mount name. -If no mount is found, a project has not been registered yet. Wait and retry — do not proceed without a mount. +1. Discover your mount: + ``` + Tool: execute_code + tool: list_mounts.sh + ``` + Find the entry matching your cwd. If none, respond that no project is mounted yet. -**Wait for a bead:** -``` -Tool: execute_code -tool: wait_for_bead.sh -args: ["--mount", ""] -``` +2. Wait for a bead: + ``` + Tool: execute_code + tool: wait_for_bead.sh + args: ["--mount", ""] + ``` -When a bead arrives, inspect it. If it matches your role and you can do the work: +3. If a bead arrives and matches your role: + - Claim: `claim_bead.sh --mount --id ` + - Read comments if `comment_count > 0` + - Do the work + - Complete: `complete_bead.sh --mount --id ` -1. Claim it: `claim_bead.sh --mount --id ` -2. Read comments for prior context if `comment_count > 0` -3. Do the work -4. Complete it: `complete_bead.sh --mount --id ` -5. Return to mount discovery (mount may have changed) - -If you cannot or should not do the work (wrong role, blocked, out of scope), do not claim it — return to step 1. +4. If the bead does not match your role, do not claim it. ## Workflow