Bash is all you need - A nano claude code–like 「agent harness」, built from 0 to 1
371 matches across 12 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | s05_todo_write/code.py | 60 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s05_todo_write/code.py | 62 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s05_todo_write/code.py | 120 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s05_todo_write/code.py | 122 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s05_todo_write/code.py | 162 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s05_todo_write/code.py | 164 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s05_todo_write/code.py | 214 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s05_todo_write/code.py | 216 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s01_agent_loop/code.py | 56 | # ── Tool definition: just bash ──────────────────────────── |
| MEDIUM | s01_agent_loop/code.py | 68 | # ── Tool execution ──────────────────────────────────────── |
| MEDIUM | s01_agent_loop/code.py | 116 | # ── Entry point ────────────────────────────────────────── |
| MEDIUM | s09_memory/code.py | 52 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s09_memory/code.py | 54 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s09_memory/code.py | 356 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s09_memory/code.py | 358 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s09_memory/code.py | 446 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s09_memory/code.py | 448 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s09_memory/code.py | 520 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s09_memory/code.py | 522 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s09_memory/code.py | 545 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s09_memory/code.py | 547 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s07_skill_loading/code.py | 112 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s07_skill_loading/code.py | 114 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s07_skill_loading/code.py | 192 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s07_skill_loading/code.py | 194 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s07_skill_loading/code.py | 247 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s07_skill_loading/code.py | 249 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s07_skill_loading/code.py | 259 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s07_skill_loading/code.py | 261 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s07_skill_loading/code.py | 290 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s07_skill_loading/code.py | 292 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s07_skill_loading/code.py | 337 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s07_skill_loading/code.py | 339 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s06_subagent/code.py | 65 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s06_subagent/code.py | 67 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s06_subagent/code.py | 160 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s06_subagent/code.py | 162 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s06_subagent/code.py | 242 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s06_subagent/code.py | 244 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s06_subagent/code.py | 293 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s06_subagent/code.py | 295 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s04_hooks/code.py | 77 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s04_hooks/code.py | 79 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s04_hooks/code.py | 155 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s04_hooks/code.py | 157 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s04_hooks/code.py | 232 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s04_hooks/code.py | 236 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s08_context_compact/code.py | 120 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s08_context_compact/code.py | 122 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s08_context_compact/code.py | 188 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s08_context_compact/code.py | 190 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s08_context_compact/code.py | 243 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s08_context_compact/code.py | 245 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s08_context_compact/code.py | 339 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s08_context_compact/code.py | 341 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s08_context_compact/code.py | 393 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s08_context_compact/code.py | 395 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s02_tool_use/code.py | 42 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s02_tool_use/code.py | 44 | # ═══════════════════════════════════════════════════════════ |
| MEDIUM | s02_tool_use/code.py | 62 | # ═══════════════════════════════════════════════════════════ |
| 29 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | s13_background_tasks/code.py | 201 | except Exception as e: |
| LOW | s13_background_tasks/code.py | 211 | except Exception as e: |
| LOW | s13_background_tasks/code.py | 417 | except Exception as e: |
| LOW | s19_mcp_plugin/code.py | 211 | except Exception: |
| LOW | s19_mcp_plugin/code.py | 299 | except Exception as e: |
| LOW | s19_mcp_plugin/code.py | 309 | except Exception as e: |
| LOW | s19_mcp_plugin/code.py | 577 | except Exception: |
| LOW | s19_mcp_plugin/code.py | 679 | except Exception as e: |
| LOW | s19_mcp_plugin/code.py | 970 | except Exception as e: |
| LOW | s05_todo_write/code.py | 85 | except Exception as e: |
| LOW | s05_todo_write/code.py | 94 | except Exception as e: |
| LOW | s05_todo_write/code.py | 105 | except Exception as e: |
| LOW | s05_todo_write/code.py | 116 | except Exception as e: |
| LOW | s15_agent_teams/code.py | 203 | except Exception as e: |
| LOW | s15_agent_teams/code.py | 213 | except Exception as e: |
| LOW | s15_agent_teams/code.py | 484 | except Exception: |
| LOW | s15_agent_teams/code.py | 541 | except Exception as e: |
| LOW | s15_agent_teams/code.py | 679 | except Exception: |
| LOW | s15_agent_teams/code.py | 861 | except Exception as e: |
| LOW | s10_system_prompt/code.py | 120 | except Exception as e: |
| LOW | s10_system_prompt/code.py | 130 | except Exception as e: |
| LOW | s17_autonomous_agents/code.py | 199 | except Exception as e: |
| LOW | s17_autonomous_agents/code.py | 209 | except Exception as e: |
| LOW | s17_autonomous_agents/code.py | 482 | except Exception: |
| LOW | s17_autonomous_agents/code.py | 761 | except Exception as e: |
| LOW | s18_worktree_isolation/code.py | 225 | except Exception: |
| LOW | s18_worktree_isolation/code.py | 327 | except Exception as e: |
| LOW | s18_worktree_isolation/code.py | 337 | except Exception as e: |
| LOW | s18_worktree_isolation/code.py | 645 | except Exception: |
| LOW | s18_worktree_isolation/code.py | 945 | except Exception as e: |
| LOW | s14_cron_scheduler/README.en.md | 129 | except Exception as e: |
| LOW | s14_cron_scheduler/code.py | 204 | except Exception as e: |
| LOW | s14_cron_scheduler/code.py | 214 | except Exception as e: |
| LOW | s14_cron_scheduler/code.py | 484 | except Exception: |
| LOW | s14_cron_scheduler/code.py | 541 | except Exception as e: |
| LOW | s14_cron_scheduler/code.py | 700 | except Exception as e: |
| LOW | s14_cron_scheduler/README.md | 129 | except Exception as e: |
| LOW | s14_cron_scheduler/README.ja.md | 129 | except Exception as e: |
| LOW | agents/s_full.py | 98 | except Exception as e: |
| LOW | agents/s_full.py | 107 | except Exception as e: |
| LOW | agents/s_full.py | 118 | except Exception as e: |
| LOW | agents/s_full.py | 345 | except Exception as e: |
| LOW | agents/s_full.py | 468 | except Exception: |
| LOW | agents/s_full.py | 690 | except Exception as e: |
| LOW | agents/s03_todo_write.py | 117 | except Exception as e: |
| LOW | agents/s03_todo_write.py | 126 | except Exception as e: |
| LOW | agents/s03_todo_write.py | 137 | except Exception as e: |
| LOW | agents/s03_todo_write.py | 182 | except Exception as e: |
| LOW | agents/s06_context_compact.py | 159 | except Exception as e: |
| LOW | agents/s06_context_compact.py | 168 | except Exception as e: |
| LOW | agents/s06_context_compact.py | 179 | except Exception as e: |
| LOW | agents/s06_context_compact.py | 233 | except Exception as e: |
| LOW | agents/s08_background_tasks.py | 78 | except Exception as e: |
| LOW | agents/s08_background_tasks.py | 139 | except Exception as e: |
| LOW | agents/s08_background_tasks.py | 148 | except Exception as e: |
| LOW | agents/s08_background_tasks.py | 159 | except Exception as e: |
| LOW | agents/s08_background_tasks.py | 210 | except Exception as e: |
| LOW | agents/s04_subagent.py | 73 | except Exception as e: |
| LOW | agents/s04_subagent.py | 82 | except Exception as e: |
| LOW | agents/s04_subagent.py | 93 | except Exception as e: |
| 110 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | s13_background_tasks/README.en.md | 0 | model explicit request takes priority; fallback to heuristic. |
| HIGH | s13_background_tasks/code.py | 0 | model explicit request takes priority; fallback to heuristic. |
| HIGH | s13_background_tasks/README.md | 0 | model explicit request takes priority; fallback to heuristic. |
| HIGH | s13_background_tasks/README.ja.md | 0 | model explicit request takes priority; fallback to heuristic. |
| HIGH | s15_agent_teams/code.py | 0 | model explicit request takes priority; fallback to heuristic. |
| HIGH | s14_cron_scheduler/code.py | 0 | model explicit request takes priority; fallback to heuristic. |
| HIGH | s16_team_protocols/code.py | 0 | model explicit request takes priority; fallback to heuristic. |
| HIGH | s13_background_tasks/README.en.md | 0 | run tool in a daemon thread. returns background task id. |
| HIGH | s13_background_tasks/code.py | 0 | run tool in a daemon thread. returns background task id. |
| HIGH | s13_background_tasks/README.md | 0 | run tool in a daemon thread. returns background task id. |
| HIGH | s13_background_tasks/README.ja.md | 0 | run tool in a daemon thread. returns background task id. |
| HIGH | s15_agent_teams/code.py | 0 | run tool in a daemon thread. returns background task id. |
| HIGH | s14_cron_scheduler/code.py | 0 | run tool in a daemon thread. returns background task id. |
| HIGH | s16_team_protocols/code.py | 0 | run tool in a daemon thread. returns background task id. |
| HIGH | s13_background_tasks/README.en.md | 0 | collect completed results as task_notification messages. |
| HIGH | s13_background_tasks/README.md | 0 | collect completed results as task_notification messages. |
| HIGH | s13_background_tasks/README.ja.md | 0 | collect completed results as task_notification messages. |
| HIGH | s13_background_tasks/code.py | 0 | check if all blockedby dependencies are completed. missing dependencies are treated as blocked. |
| HIGH | s15_agent_teams/code.py | 0 | check if all blockedby dependencies are completed. missing dependencies are treated as blocked. |
| HIGH | s14_cron_scheduler/code.py | 0 | check if all blockedby dependencies are completed. missing dependencies are treated as blocked. |
| HIGH | s16_team_protocols/code.py | 0 | check if all blockedby dependencies are completed. missing dependencies are treated as blocked. |
| HIGH | s12_task_system/code.py | 0 | check if all blockedby dependencies are completed. missing dependencies are treated as blocked. |
| HIGH | s13_background_tasks/code.py | 0 | collect completed background results as task_notification messages. |
| HIGH | s15_agent_teams/code.py | 0 | collect completed background results as task_notification messages. |
| HIGH | s14_cron_scheduler/code.py | 0 | collect completed background results as task_notification messages. |
| HIGH | s16_team_protocols/code.py | 0 | collect completed background results as task_notification messages. |
| HIGH | docs/ja/s05-skill-loading.md | 0 | you are a coding agent at {workdir}. skills available: {skill_loader.get_descriptions()} |
| HIGH | docs/zh/s05-skill-loading.md | 0 | you are a coding agent at {workdir}. skills available: {skill_loader.get_descriptions()} |
| HIGH | docs/en/s05-skill-loading.md | 0 | you are a coding agent at {workdir}. skills available: {skill_loader.get_descriptions()} |
| HIGH | s04_hooks/README.en.md | 0 | inject current working directory info into every prompt. |
| HIGH | s04_hooks/README.md | 0 | inject current working directory info into every prompt. |
| HIGH | s04_hooks/README.ja.md | 0 | inject current working directory info into every prompt. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | s19_mcp_plugin/code.py | 404 | |
| LOW | s19_mcp_plugin/code.py | 437 | |
| LOW | s19_mcp_plugin/code.py | 461 | |
| LOW | s15_agent_teams/code.py | 519 | |
| LOW | s15_agent_teams/code.py | 629 | |
| LOW | s15_agent_teams/code.py | 641 | |
| LOW | s17_autonomous_agents/code.py | 304 | |
| LOW | s17_autonomous_agents/code.py | 351 | |
| LOW | s17_autonomous_agents/code.py | 384 | |
| LOW | s18_worktree_isolation/code.py | 442 | |
| LOW | s18_worktree_isolation/code.py | 489 | |
| LOW | s18_worktree_isolation/code.py | 521 | |
| LOW | s14_cron_scheduler/code.py | 519 | |
| LOW | agents/s_full.py | 230 | |
| LOW | agents/s_full.py | 654 | |
| LOW | agents/s_full.py | 200 | |
| LOW | agents/s_full.py | 287 | |
| LOW | agents/s_full.py | 441 | |
| LOW | agents/s03_todo_write.py | 164 | |
| LOW | agents/s06_context_compact.py | 69 | |
| LOW | agents/s06_context_compact.py | 205 | |
| LOW | agents/s08_background_tasks.py | 188 | |
| LOW | agents/s04_subagent.py | 146 | |
| LOW | agents/s07_task_system.py | 204 | |
| LOW | agents/s09_agent_teams.py | 345 | |
| LOW | agents/s05_skill_loading.py | 188 | |
| LOW | agents/s10_team_protocols.py | 426 | |
| LOW | agents/s10_team_protocols.py | 176 | |
| LOW | agents/s11_autonomous_agents.py | 520 | |
| LOW | agents/s11_autonomous_agents.py | 216 | |
| LOW | agents/s12_worktree_task_isolation.py | 729 | |
| LOW | s09_memory/code.py | 132 | |
| LOW | s09_memory/code.py | 419 | |
| LOW | s07_skill_loading/code.py | 211 | |
| LOW | s06_subagent/code.py | 189 | |
| LOW | s16_team_protocols/code.py | 440 | |
| LOW | s16_team_protocols/code.py | 477 | |
| LOW | s04_hooks/code.py | 176 | |
| LOW | s08_context_compact/code.py | 207 | |
| LOW | s20_comprehensive/code.py | 567 | |
| LOW | s20_comprehensive/code.py | 606 | |
| LOW | s20_comprehensive/code.py | 1168 | |
| LOW | s20_comprehensive/code.py | 1423 | |
| LOW | s20_comprehensive/code.py | 635 | |
| LOW | s11_error_recovery/code.py | 182 | |
| LOW | s11_error_recovery/code.py | 265 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | s13_background_tasks/README.en.md | 106 | def collect_background_results() -> list[str]: |
| LOW | s13_background_tasks/code.py | 369 | def collect_background_results() -> list[str]: |
| LOW | s13_background_tasks/README.md | 106 | def collect_background_results() -> list[str]: |
| LOW | s13_background_tasks/README.ja.md | 106 | def collect_background_results() -> list[str]: |
| LOW | s15_agent_teams/code.py | 324 | def collect_background_results() -> list[str]: |
| LOW | …b/src/components/visualizations/s11-error-recovery.tsx | 289 | export default function ErrorRecoveryVisualization({ title }: { title?: string }) { |
| LOW | …b/src/components/visualizations/s14-cron-scheduler.tsx | 113 | export default function CronSchedulerVisualization({ title }: { title?: string }) { |
| LOW | web/src/components/visualizations/s20-comprehensive.tsx | 276 | export default function ComprehensiveVisualization({ title }: { title?: string }) { |
| LOW | web/src/components/visualizations/s10-system-prompt.tsx | 201 | export default function SystemPromptVisualization({ title }: { title?: string }) { |
| LOW | tests/test_agents_smoke.py | 18 | def test_agent_scripts_compile(agent_path: Path) -> None: |
| LOW | tests/test_s_full_background.py | 53 | def test_check_returns_running_placeholder_when_result_is_none(self): |
| LOW | s14_cron_scheduler/code.py | 323 | def collect_background_results() -> list[str]: |
| LOW | s14_cron_scheduler/code.py | 745 | def print_latest_assistant_text(messages: list): |
| LOW | s16_team_protocols/code.py | 311 | def collect_background_results() -> list[str]: |
| LOW | s20_comprehensive/code.py | 1256 | def collect_background_results() -> list[str]: |
| LOW | s20_comprehensive/code.py | 1882 | def inject_background_notifications(messages: list): |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | web/src/components/visualizations/s03-todo-write.tsx | 19 | // Step 0: all pending |
| LOW | web/src/components/visualizations/s03-todo-write.tsx | 26 | // Step 1: still all pending (idle round 1) |
| LOW | web/src/components/visualizations/s03-todo-write.tsx | 33 | // Step 2: still all pending (idle round 2) |
| LOW | web/src/components/visualizations/s03-todo-write.tsx | 40 | // Step 3: NAG fires, task 1 moves to in_progress |
| LOW | web/src/components/visualizations/s03-todo-write.tsx | 47 | // Step 4: task 1 done |
| LOW | web/src/components/visualizations/s03-todo-write.tsx | 54 | // Step 5: task 2 self-directed to in_progress |
| LOW | web/src/components/visualizations/s03-todo-write.tsx | 61 | // Step 6: tasks 2,3 done, task 4 in_progress |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | agents/s08_background_tasks.py | 2 | # Harness: background execution -- the model thinks while the harness waits. |
| MEDIUM | agents/__init__.py | 3 | # The model is the agent. These files are the harness. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | s19_mcp_plugin/code.py | 26 | |
| LOW | s17_autonomous_agents/code.py | 24 | |
| LOW | s18_worktree_isolation/code.py | 31 | |
| LOW | tests/test_agents_smoke.py | 1 | |
| LOW | s16_team_protocols/code.py | 29 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | skills/mcp-builder/SKILL.md | 155 | params={"key": "YOUR_API_KEY", "q": city} |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | skills/agent-builder/references/subagent-pattern.py | 177 | # Check if done |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | agents/__init__.py | 1 | # agents/ - Harness implementations (s01-s12) + full reference (s_full) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | skills/agent-builder/references/subagent-pattern.py | 119 | def run_task(description: str, prompt: str, agent_type: str, |