roles: replace Bead Loop with When Nudged section

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 <noreply@anthropic.com>
This commit is contained in:
Levi Neely 2026-03-15 14:30:14 +01:00
parent eca5762565
commit 989558cf7f
4 changed files with 80 additions and 92 deletions

View File

@ -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", "<mount>"]
```
2. Wait for a bead:
```
Tool: execute_code
tool: wait_for_bead.sh
args: ["--mount", "<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 <mount> --id <bead-id>`
- Read comments if `comment_count > 0`
- Do the work
- Complete: `complete_bead.sh --mount <mount> --id <bead-id>`
1. Claim it: `claim_bead.sh --mount <mount> --id <bead-id>`
2. Read comments for prior context if `comment_count > 0`
3. Do the work
4. Complete it: `complete_bead.sh --mount <mount> --id <bead-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

View File

@ -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", "<mount>"]
```
2. Wait for a bead:
```
Tool: execute_code
tool: wait_for_bead.sh
args: ["--mount", "<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 <mount> --id <bead-id>`
- Read comments if `comment_count > 0`
- Do the work
- Complete: `complete_bead.sh --mount <mount> --id <bead-id>`
1. Claim it: `claim_bead.sh --mount <mount> --id <bead-id>`
2. Read comments for prior context if `comment_count > 0`
3. Do the work
4. Complete it: `complete_bead.sh --mount <mount> --id <bead-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

View File

@ -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", "<mount>"]
```
2. Wait for a bead:
```
Tool: execute_code
tool: wait_for_bead.sh
args: ["--mount", "<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 <mount> --id <bead-id>`
- Read comments if `comment_count > 0`
- Do the work
- Complete: `complete_bead.sh --mount <mount> --id <bead-id>`
1. Claim it: `claim_bead.sh --mount <mount> --id <bead-id>`
2. Read comments for prior context if `comment_count > 0`
3. Do the work
4. Complete it: `complete_bead.sh --mount <mount> --id <bead-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

View File

@ -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", "<mount>"]
```
2. Wait for a bead:
```
Tool: execute_code
tool: wait_for_bead.sh
args: ["--mount", "<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 <mount> --id <bead-id>`
- Read comments if `comment_count > 0`
- Do the work
- Complete: `complete_bead.sh --mount <mount> --id <bead-id>`
1. Claim it: `claim_bead.sh --mount <mount> --id <bead-id>`
2. Read comments for prior context if `comment_count > 0`
3. Do the work
4. Complete it: `complete_bead.sh --mount <mount> --id <bead-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