Project Management — Autonomous Execution Loop
Work continuously across all Swarm projects. Do not stop to ask permission.
Execute the highest-priority item, commit, move to the next. Only stop when:
- Nothing left to do — all actionable items complete
- Blocked on operator — needs credentials, physical access, review, or a decision
- Operator says stop — explicit instruction to halt
Startup (fast — under 60 seconds)
1. Read Last Session Summary
ls -t /opt/swarm/artifacts/summaries/*.yaml | head -1 | xargs cat
This is the source of truth. It tells you what was done, what's blocked, and
context_for_next. Do NOT rediscover project state from scratch.
2. Quick Status (parallel)
python3 <coordination-tool-root>/src/swarm_cli.py status
python3 <coordination-tool-root>/src/swarm_cli.py inbox
ls /opt/swarm/tasks/pending/task-*.yaml 2>/dev/null
3. Targeted Checks
Only check repos/services mentioned in context_for_next. Skip everything else.
4. Build Work Queue
Apply Priority Framework. Build an ordered list of actionable items.
Separate into two lists:
- ACTIONABLE — can do right now, no blockers
- BLOCKED — needs operator, hardware, credentials, etc.
Start executing immediately. Don't pause to report the queue — the operator will see progress in commits and status lines.
Work Loop
WHILE actionable_items remain:
1. Pick highest-priority ACTIONABLE item
2. Execute it (write code, run tests, commit, push)
3. After completing each item:
a. Commit with meaningful message
b. Run tests if applicable
c. Update the project registry if phase changed
d. Brief status line to operator (1 sentence)
4. Re-evaluate: did this unblock anything? Add to queue.
5. Continue to next item
WHEN all actionable items done OR blocked:
→ Run Session End Protocol
→ Report blocked items to operator
Work Loop Rules
- Commit after every meaningful unit of work. Don't batch up.
- Run tests before moving on from any project that has them.
- Pre-flight batch operations: check target schema first, test on 1 record, verify full pipeline, then scale.
- Verify before editing specs: SSH to the machine (
nvidia-smi, lscpu, free -h) before changing hardware claims.
- If a task takes >30 min and you haven't updated the operator, give a brief status line.
- If you hit an unexpected blocker, log it and move to the next item. Don't spin.
- Use subagents for parallel work when items are independent (e.g., tests on
while writing code on ).
- Use for speed — SSH to for test execution, heavy builds, anything CPU-bound.
- Never ask "want me to do X?" — if it's non-breaking and moves forward, just do it.
Session End Protocol
Execute when all work is done or all remaining items are blocked.
1. Uncommitted Work Check
for dir in <repo-path>/e <repo-path>/f <repo-path>/g <repo-path>/h \
<repo-path>/i <repo-path>/j /opt/projects/main <repo-path>/b \
<coordination-tool-root> <repo-path>/a <repo-path>/c <repo-path>/d \
<repo-path>/k; do
if [ -d "$dir/.git" ]; then
changes=$(git -C "$dir" status --porcelain 2>/dev/null | wc -l)
if [ "$changes" -gt 0 ]; then
echo "UNCOMMITTED: $dir ($changes files)"
fi
fi
done
Commit everything. Don't leave dirty repos.
2. Generate Session Summary
Write to /opt/swarm/artifacts/summaries/<hostname>-<timestamp>.yaml:
hostname: <hostname>
session_id: <session>
timestamp: <now>
project: <primary project worked on>
duration_minutes: <estimate>
key_decisions:
- <decision 1>
files_changed:
- <file 1>
issues_found:
- <issue if any>
artifacts_produced:
- <artifact if any>
context_for_next: "<explicit handoff — what to pick up, what's blocked, what changed>"
The context_for_next field is the most important. Be specific.
3. Skill & Config Sync
ALWAYS run — catches skill edits, script changes, hook updates:
cd /opt/claude-configs/claude-config && ./scripts/collect.sh
git -C /opt/claude-configs/claude-config add -A
git -C /opt/claude-configs/claude-config diff --cached --stat
git -C /opt/claude-configs/claude-config commit -m "sync: updates from $(hostname) session" || true
git -C /opt/claude-configs/claude-config push || true
This is NOT optional. Every session end must sync claude-config.
4. Final Report
Tell the operator:
- What was completed
- What's blocked and why
- What the next session should pick up
Priority Framework
Tier 1: Revenue & Active Delivery
| Priority |
Criteria |
Current Projects |
| P0 |
Revenue-generating, user-facing, deadline |
|
| P1 |
Revenue potential, actively building |
ClauseHound, Audit Sentinel |
Tier 2: Infrastructure & Dependencies
| Priority |
Criteria |
Current Projects |
| P2 |
Unblocks other projects |
hydra-swarm, AI Server |
| P3 |
Operational stability |
, fleet hardening |
Tier 3: Growth & Future
| Priority |
Criteria |
Current Projects |
| P4 |
Phase 0 scaffolding |
DocuMint, , |
| P5 |
Research & exploration |
Prompt Forge, Hashrate Hedger |
Tiebreaker Rules
- Revenue potential breaks ties between same-tier items.
- "What unblocks the most?" breaks ties between infrastructure items.
- Resource fit: GPU work only when is available; CPU/web work anytime on .
- Quick wins (<30 min) get a +1 tier bump if they close out a phase.
- Security hardening before feature work, always.
Decision Trees
" is offline"
Available on <primary-host> alone:
- <internal-project-1> maintenance (fullnode, P2Pool, monitoring)
- <your-project> development (CPU-only)
- Audit Sentinel development (SQLite, no GPU needed)
- ClauseHound development (CPU-only)
- Prompt Forge development (CPU-only)
- hydra-swarm development
- Fleet hardening (Ansible roles)
- Documentation, planning, PRDs
Available on <worker-host> (if <gpu-host> down):
- Ollama inference via phi4:14b or qwen3:8b (RTX 5060 Ti)
- ComfyUI workflows (http://<worker-host-ip>:<comfyui-port>)
- <your-project> QA review (phi4 on <worker-host> Ollama)
NOT available without <gpu-host>:
- <internal-project-2> (needs ChromaDB + Ollama on <gpu-host>)
- AI Server stack management (Swarm manager)
- Docker Swarm control plane operations
- Milvus-dependent <internal-project-4> work
"Project at phase boundary"
1. Run verification for current phase (tests, health checks).
2. Update project registry (phase field in this skill + project CLAUDE.md).
3. Check plans/<project>/plan.md for next phase requirements.
4. If next phase needs different resources, create swarm task for appropriate host.
5. Continue to next work item — don't stop.
"New task from operator mid-session"
1. If operator gives explicit work → do it immediately, it's highest priority.
2. After completing it, resume the work queue where you left off.
Project Registry
| Head |
Project |
Location |
Phase |
Status |
Host |
| #1 |
|
/a |
3+ |
Active, v1 production, v3 degenerate |
|
| #2 |
|
/b |
Production |
Hardened, public repo |
|
| #3 |
|
/c |
1 |
Scaffolded (58 tests) |
|
| -- |
|
/d |
2 |
Form gen + PDF (204 tests) |
|
| -- |
AI Server |
/opt/projects/infra |
Production |
Docker Swarm v6.0.3, worker |
+ |
| #4 |
Audit Sentinel |
/f |
M7 |
Security hardened (201 tests) |
+ |
| #5 |
Hashrate Hedger |
/i |
H6 |
Live dashboard (158 tests), needs |
|
| #6 |
ClauseHound |
/g |
C7 |
Security hardened (165 tests) |
+ |
| #7 |
Prompt Forge |
/h |
P6 |
Security hardened (163 tests) |
|
| #8 |
DocuMint |
/j |
D6 |
Cross-document validation (326 tests) |
|
| #9 |
ProjectK |
/k |
1 |
Built (98 tests), needs Firewalla + JWT |
|
| #10 |
Swarm Media |
/l |
M4 |
ffmpeg assembly (155 tests) |
|
| -- |
|
/e |
E5 |
1,112 CPA questions, 6 sections (299 tests) |
|
| -- |
hydra-swarm |
|
5 |
Operational maturity (627 tests) |
|
Fleet Resource Map
| Host |
CPU |
GPU |
Available For |
|
i5-8500 (6c, light load) |
none |
Fullnode, web services, CLI tools, orchestration |
|
EPYC 7V12 (64c) |
RTX 5080 16GB |
LLM inference, Docker Swarm, , GPU workloads |
|
Ryzen 9600X (6c) |
none |
XMRig mining (offline, pending Ubuntu) |
|
TBD |
TBD |
Future |
|
EPYC 7443P (24c/48t) |
RTX 5060 Ti 16GB |
Swarm worker, Ollama, ComfyUI, inference |
Phase Tracking Convention
Each project uses its own phase prefix:
- M1, M2... (Audit Sentinel milestones)
- H1, H2... (Hashrate Hedger)
- C1, C2... (ClauseHound)
- P1, P2... (Prompt Forge)
- D1, D2... (DocuMint)
- E1, E2... ()
Plans live in <project>/plans/ as markdown files.
Coordination Rules
- Check swarm status before starting work on any shared project.
- Don't work on the same project another instance is actively editing.
- Use git worktrees for parallel work on the same repo.
- Commit frequently — other instances pull your changes.
Repos (19)
| Visibility |
Repos |
| Public (3) |
monero-farm, shared-claude-skills, hydra-swarm-public |
| Private (16) |
swarm-project, claude-config, hydra-swarm, claude-to-cursor, examforge, prompt-forge, hashrate-hedger, audit-sentinel, clausehound, documint, ai-project, project-a, project-c, project-d, solar-sentinel, swarm-media |
1---2name: project-management3description: Autonomous work execution across all Swarm projects. Reads last session summary, picks highest-priority work, executes it, then loops to the next item. Only stops when blocked on the operator or nothing remains. Trigger on: "what's the status", "project status", "what needs work", "prioritize", "what's next", "plan work", "coordinate", "which projects", "phase status", "roadmap", "backlog", "session start", "session end", "wrap up", "what should I work on", "keep going", "crank it out", or any request to understand or organize work across multiple Swarm heads.4---56# Project Management — Autonomous Execution Loop78Work continuously across all Swarm projects. **Do not stop to ask permission.**9Execute the highest-priority item, commit, move to the next. Only stop when:10111. **Nothing left to do** — all actionable items complete122. **Blocked on operator** — needs credentials, physical access, review, or a decision133. **Operator says stop** — explicit instruction to halt1415---1617## Startup (fast — under 60 seconds)1819### 1. Read Last Session Summary20```bash21ls -t /opt/swarm/artifacts/summaries/*.yaml | head -1 | xargs cat22```23This is the source of truth. It tells you what was done, what's blocked, and24`context_for_next`. **Do NOT rediscover project state from scratch.**2526### 2. Quick Status (parallel)27```bash28python3 <coordination-tool-root>/src/swarm_cli.py status29python3 <coordination-tool-root>/src/swarm_cli.py inbox30ls /opt/swarm/tasks/pending/task-*.yaml 2>/dev/null31```3233### 3. Targeted Checks34Only check repos/services mentioned in `context_for_next`. Skip everything else.3536### 4. Build Work Queue37Apply Priority Framework. Build an ordered list of actionable items.38Separate into two lists:39- **ACTIONABLE** — can do right now, no blockers40- **BLOCKED** — needs operator, hardware, credentials, etc.4142Start executing immediately. Don't pause to report the queue — the operator will see progress in commits and status lines.4344---4546## Work Loop4748```49WHILE actionable_items remain:50 1. Pick highest-priority ACTIONABLE item51 2. Execute it (write code, run tests, commit, push)52 3. After completing each item:53 a. Commit with meaningful message54 b. Run tests if applicable55 c. Update the project registry if phase changed56 d. Brief status line to operator (1 sentence)57 4. Re-evaluate: did this unblock anything? Add to queue.58 5. Continue to next item5960WHEN all actionable items done OR blocked:61 → Run Session End Protocol62 → Report blocked items to operator63```6465### Work Loop Rules66- **Commit after every meaningful unit of work.** Don't batch up.67- **Run tests before moving on** from any project that has them.68- **Pre-flight batch operations**: check target schema first, test on 1 record, verify full pipeline, then scale.69- **Verify before editing specs**: SSH to the machine (`nvidia-smi`, `lscpu`, `free -h`) before changing hardware claims.70- **If a task takes >30 min and you haven't updated the operator**, give a brief status line.71- **If you hit an unexpected blocker**, log it and move to the next item. Don't spin.72- **Use subagents for parallel work** when items are independent (e.g., tests on <gpu-host>73 while writing code on <primary-host>).74- **Use <gpu-host> for speed** — SSH to <gpu-host> for test execution, heavy builds, anything CPU-bound.75- **Never ask "want me to do X?"** — if it's non-breaking and moves forward, just do it.7677---7879## Session End Protocol8081Execute when all work is done or all remaining items are blocked.8283### 1. Uncommitted Work Check84```bash85for dir in <repo-path>/e <repo-path>/f <repo-path>/g <repo-path>/h \86 <repo-path>/i <repo-path>/j /opt/projects/main <repo-path>/b \87 <coordination-tool-root> <repo-path>/a <repo-path>/c <repo-path>/d \88 <repo-path>/k; do89 if [ -d "$dir/.git" ]; then90 changes=$(git -C "$dir" status --porcelain 2>/dev/null | wc -l)91 if [ "$changes" -gt 0 ]; then92 echo "UNCOMMITTED: $dir ($changes files)"93 fi94 fi95done96```97Commit everything. Don't leave dirty repos.9899### 2. Generate Session Summary100Write to `/opt/swarm/artifacts/summaries/<hostname>-<timestamp>.yaml`:101```yaml102hostname: <hostname>103session_id: <session>104timestamp: <now>105project: <primary project worked on>106duration_minutes: <estimate>107key_decisions:108 - <decision 1>109files_changed:110 - <file 1>111issues_found:112 - <issue if any>113artifacts_produced:114 - <artifact if any>115context_for_next: "<explicit handoff — what to pick up, what's blocked, what changed>"116```117The `context_for_next` field is the most important. Be specific.118119### 3. Skill & Config Sync120ALWAYS run — catches skill edits, script changes, hook updates:121```bash122cd /opt/claude-configs/claude-config && ./scripts/collect.sh123git -C /opt/claude-configs/claude-config add -A124git -C /opt/claude-configs/claude-config diff --cached --stat125git -C /opt/claude-configs/claude-config commit -m "sync: updates from $(hostname) session" || true126git -C /opt/claude-configs/claude-config push || true127```128This is NOT optional. Every session end must sync claude-config.129130### 4. Final Report131Tell the operator:132- What was completed133- What's blocked and why134- What the next session should pick up135136---137138## Priority Framework139140### Tier 1: Revenue & Active Delivery141| Priority | Criteria | Current Projects |142|---|---|---|143| P0 | Revenue-generating, user-facing, deadline | <your-project> |144| P1 | Revenue potential, actively building | ClauseHound, Audit Sentinel |145146### Tier 2: Infrastructure & Dependencies147| Priority | Criteria | Current Projects |148|---|---|---|149| P2 | Unblocks other projects | hydra-swarm, AI Server |150| P3 | Operational stability | <internal-project-1>, fleet hardening |151152### Tier 3: Growth & Future153| Priority | Criteria | Current Projects |154|---|---|---|155| P4 | Phase 0 scaffolding | DocuMint, <internal-project-3>, <internal-project-4> |156| P5 | Research & exploration | Prompt Forge, Hashrate Hedger |157158### Tiebreaker Rules1591. Revenue potential breaks ties between same-tier items.1602. "What unblocks the most?" breaks ties between infrastructure items.1613. Resource fit: GPU work only when <gpu-host> is available; CPU/web work anytime on <primary-host>.1624. Quick wins (<30 min) get a +1 tier bump if they close out a phase.1635. Security hardening before feature work, always.164165---166167## Decision Trees168169### "<gpu-host> is offline"170```171Available on <primary-host> alone:172- <internal-project-1> maintenance (fullnode, P2Pool, monitoring)173- <your-project> development (CPU-only)174- Audit Sentinel development (SQLite, no GPU needed)175- ClauseHound development (CPU-only)176- Prompt Forge development (CPU-only)177- hydra-swarm development178- Fleet hardening (Ansible roles)179- Documentation, planning, PRDs180181Available on <worker-host> (if <gpu-host> down):182- Ollama inference via phi4:14b or qwen3:8b (RTX 5060 Ti)183- ComfyUI workflows (http://<worker-host-ip>:<comfyui-port>)184- <your-project> QA review (phi4 on <worker-host> Ollama)185186NOT available without <gpu-host>:187- <internal-project-2> (needs ChromaDB + Ollama on <gpu-host>)188- AI Server stack management (Swarm manager)189- Docker Swarm control plane operations190- Milvus-dependent <internal-project-4> work191```192193### "Project at phase boundary"194```1951. Run verification for current phase (tests, health checks).1962. Update project registry (phase field in this skill + project CLAUDE.md).1973. Check plans/<project>/plan.md for next phase requirements.1984. If next phase needs different resources, create swarm task for appropriate host.1995. Continue to next work item — don't stop.200```201202### "New task from operator mid-session"203```2041. If operator gives explicit work → do it immediately, it's highest priority.2052. After completing it, resume the work queue where you left off.206```207208---209210## Project Registry211212| Head | Project | Location | Phase | Status | Host |213|---|---|---|---|---|---|214| #1 | <internal-project-2> | <repo-path>/a | 3+ | Active, v1 production, v3 degenerate | <gpu-host> |215| #2 | <internal-project-1> | <repo-path>/b | Production | Hardened, public repo | <primary-host> |216| #3 | <internal-project-3> | <repo-path>/c | 1 | Scaffolded (58 tests) | <gpu-host> |217| -- | <internal-project-4> | <repo-path>/d | 2 | Form gen + PDF (204 tests) | <gpu-host> |218| -- | AI Server | /opt/projects/infra | Production | Docker Swarm v6.0.3, <worker-host> worker | <gpu-host>+<worker-host> |219| #4 | Audit Sentinel | <repo-path>/f | M7 | Security hardened (201 tests) | <primary-host>+<gpu-host> |220| #5 | Hashrate Hedger | <repo-path>/i | H6 | Live dashboard (158 tests), needs <mining-host> | <primary-host> |221| #6 | ClauseHound | <repo-path>/g | C7 | Security hardened (165 tests) | <primary-host>+<gpu-host> |222| #7 | Prompt Forge | <repo-path>/h | P6 | Security hardened (163 tests) | <primary-host> |223| #8 | DocuMint | <repo-path>/j | D6 | Cross-document validation (326 tests) | <primary-host> |224| #9 | ProjectK | <repo-path>/k | 1 | Built (98 tests), needs Firewalla + JWT | <primary-host> |225| #10 | Swarm Media | <repo-path>/l | M4 | ffmpeg assembly (155 tests) | <primary-host> |226| -- | <your-project> | <repo-path>/e | E5 | 1,112 CPA questions, 6 sections (299 tests) | <gpu-host> |227| -- | hydra-swarm | <coordination-tool-root> | 5 | Operational maturity (627 tests) | <primary-host> |228229## Fleet Resource Map230231| Host | CPU | GPU | Available For |232|---|---|---|---|233| <primary-host> | i5-8500 (6c, light load) | none | Fullnode, web services, CLI tools, orchestration |234| <gpu-host> | EPYC 7V12 (64c) | RTX 5080 16GB | LLM inference, Docker Swarm, <internal-project-2>, GPU workloads |235| <mining-host> | Ryzen 9600X (6c) | none | XMRig mining (offline, pending Ubuntu) |236| <worker-host-2> | TBD | TBD | Future |237| <worker-host> | EPYC 7443P (24c/48t) | RTX 5060 Ti 16GB | Swarm worker, Ollama, ComfyUI, inference |238239## Phase Tracking Convention240241Each project uses its own phase prefix:242- M1, M2... (Audit Sentinel milestones)243- H1, H2... (Hashrate Hedger)244- C1, C2... (ClauseHound)245- P1, P2... (Prompt Forge)246- D1, D2... (DocuMint)247- E1, E2... (<your-project>)248249Plans live in `<project>/plans/` as markdown files.250251## Coordination Rules252253- Check swarm status before starting work on any shared project.254- Don't work on the same project another instance is actively editing.255- Use git worktrees for parallel work on the same repo.256- Commit frequently — other instances pull your changes.257258## Repos (19)259260| Visibility | Repos |261|---|---|262| Public (3) | monero-farm, shared-claude-skills, hydra-swarm-public |263| Private (16) | swarm-project, claude-config, hydra-swarm, claude-to-cursor, examforge, prompt-forge, hashrate-hedger, audit-sentinel, clausehound, documint, ai-project, project-a, project-c, project-d, solar-sentinel, swarm-media |