Bash is all you need - A nano claude code–like 「agent harness」, built from 0 to 1
This report summarizes scanner evidence for shareAI-lab/learn-claude-code, a Python project with 78,313 GitHub stars. SynthScan examined 59,639 lines of code across 255 source files, recording 546 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 12.5 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 273 finding(s).
Are imports declared and package/API names verified? 11 finding(s).
Are wrappers, guards, and repeated structures necessary? 454 finding(s).
Which changes need focused human review? 546 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 546 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | s13_agent_teams/README.zh.md | 363 | except Exception as error: | CODE |
| MEDIUM | s13_agent_teams/code.py | 744 | def _agent_cwd() -> tuple[Path | None, str | None]: | CODE |
| MEDIUM | s13_agent_teams/code.py | 1348 | def run(self): | CODE |
| LOW⚡ | s13_agent_teams/code.py | 1355 | except Exception as exc: | CODE |
| LOW⚡ | s13_agent_teams/code.py | 1359 | except Exception: | CODE |
| LOW⚡ | s13_agent_teams/code.py | 1364 | except Exception as exc: | CODE |
| LOW⚡ | s13_agent_teams/code.py | 1371 | except Exception: | CODE |
| LOW | s13_agent_teams/code.py | 559 | except Exception as exc: | CODE |
| LOW | s13_agent_teams/code.py | 612 | except Exception as exc: | CODE |
| LOW | s13_agent_teams/code.py | 700 | except Exception as e: | CODE |
| LOW | s13_agent_teams/code.py | 710 | except Exception as e: | CODE |
| LOW | s13_agent_teams/code.py | 724 | except Exception as exc: | CODE |
| LOW | s13_agent_teams/code.py | 740 | except Exception as exc: | CODE |
| LOW | s13_agent_teams/code.py | 1054 | except Exception as exc: | CODE |
| LOW | s13_agent_teams/code.py | 1285 | except Exception as exc: | CODE |
| LOW | s13_agent_teams/code.py | 1774 | except Exception as exc: | CODE |
| LOW | s13_agent_teams/code.py | 1792 | except Exception as exc: | CODE |
| LOW | s13_agent_teams/README.md | 364 | except Exception as error: | CODE |
| LOW | s13_agent_teams/README.ja.md | 364 | except Exception as error: | CODE |
| LOW | s17_goal_loop/code.py | 377 | except Exception as error: | CODE |
| LOW | s17_goal_loop/code.py | 722 | except Exception as error: | CODE |
| LOW | s05_todo_write/code.py | 80 | except Exception as e: | CODE |
| LOW | s05_todo_write/code.py | 89 | except Exception as e: | CODE |
| LOW | s05_todo_write/code.py | 100 | except Exception as e: | CODE |
| LOW | s05_todo_write/code.py | 115 | except Exception as e: | CODE |
| LOW | s05_todo_write/code.py | 329 | except Exception as e: | CODE |
| LOW | s14_mcp_plugin/README.zh.md | 69 | except Exception as error: | CODE |
| LOW | s14_mcp_plugin/code.py | 90 | except Exception as exc: | CODE |
| LOW | s14_mcp_plugin/code.py | 100 | except Exception as exc: | CODE |
| LOW | s14_mcp_plugin/code.py | 113 | except Exception as exc: | CODE |
| LOW | s14_mcp_plugin/code.py | 128 | except Exception as exc: | CODE |
| LOW | s14_mcp_plugin/code.py | 196 | except Exception as exc: | CODE |
| LOW | s14_mcp_plugin/code.py | 478 | except Exception as exc: | CODE |
| LOW | s14_mcp_plugin/code.py | 497 | except Exception as exc: | CODE |
| LOW | s14_mcp_plugin/README.md | 69 | except Exception as error: | CODE |
| LOW | s14_mcp_plugin/README.ja.md | 69 | except Exception as error: | CODE |
| MEDIUM | s15_integrated_harness/code.py | 1032 | def _agent_cwd() -> tuple[Path | None, str | None]: | CODE |
| MEDIUM | s15_integrated_harness/code.py | 1658 | def run(): | CODE |
| MEDIUM | s15_integrated_harness/code.py | 2301 | def worker(): | CODE |
| LOW⚡ | s15_integrated_harness/code.py | 1661 | except Exception as exc: | CODE |
| LOW⚡ | s15_integrated_harness/code.py | 1664 | except Exception: | CODE |
| LOW⚡ | s15_integrated_harness/code.py | 1669 | except Exception as exc: | CODE |
| LOW⚡ | s15_integrated_harness/code.py | 1676 | except Exception: | CODE |
| LOW | s15_integrated_harness/code.py | 135 | except Exception: | CODE |
| LOW | s15_integrated_harness/code.py | 649 | except Exception as exc: | CODE |
| LOW | s15_integrated_harness/code.py | 710 | except Exception as exc: | CODE |
| LOW | s15_integrated_harness/code.py | 988 | except Exception as e: | CODE |
| LOW | s15_integrated_harness/code.py | 998 | except Exception as e: | CODE |
| LOW | s15_integrated_harness/code.py | 1011 | except Exception as e: | CODE |
| LOW | s15_integrated_harness/code.py | 1028 | except Exception as e: | CODE |
| LOW | s15_integrated_harness/code.py | 1070 | except Exception as exc: | CODE |
| LOW | s15_integrated_harness/code.py | 1596 | except Exception as exc: | CODE |
| LOW | s15_integrated_harness/code.py | 2215 | except Exception: | CODE |
| LOW | s15_integrated_harness/code.py | 2248 | except Exception as e: | CODE |
| LOW | s15_integrated_harness/code.py | 2311 | except Exception as exc: | CODE |
| LOW | s15_integrated_harness/code.py | 2316 | except Exception as exc: | CODE |
| LOW | s15_integrated_harness/code.py | 2339 | except Exception: | CODE |
| LOW | s15_integrated_harness/code.py | 2500 | except Exception: | CODE |
| LOW | s15_integrated_harness/code.py | 2538 | except Exception: | CODE |
| LOW | s15_integrated_harness/code.py | 2557 | except Exception as e: | CODE |
| 144 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | s13_agent_teams/code.py | 41 | except ImportError: | CODE |
| HIGH | s13_agent_teams/code.py | 1359 | except Exception: | CODE |
| HIGH | s13_agent_teams/code.py | 1371 | except Exception: | CODE |
| HIGH | s05_todo_write/code.py | 35 | except ImportError: | CODE |
| HIGH | s14_mcp_plugin/code.py | 34 | except ImportError: | CODE |
| HIGH | s01_agent_loop/code.py | 42 | except ImportError: | CODE |
| HIGH | s15_integrated_harness/code.py | 2500 | except Exception: | CODE |
| HIGH | s15_integrated_harness/code.py | 957 | except subprocess.TimeoutExpired: | CODE |
| HIGH | s15_integrated_harness/code.py | 1664 | except Exception: | CODE |
| HIGH | s15_integrated_harness/code.py | 1676 | except Exception: | CODE |
| HIGH | s12_cron_scheduler/code.py | 34 | except ImportError: | CODE |
| HIGH | agents/s_full.py | 52 | except ImportError: | CODE |
| HIGH | agents/s03_todo_write.py | 37 | except ImportError: | CODE |
| HIGH | agents/s06_context_compact.py | 46 | except ImportError: | CODE |
| HIGH | agents/s08_background_tasks.py | 37 | except ImportError: | CODE |
| HIGH | agents/s01_agent_loop.py | 38 | except ImportError: | CODE |
| HIGH | agents/s04_subagent.py | 33 | except ImportError: | CODE |
| HIGH | agents/s02_tool_use.py | 29 | except ImportError: | CODE |
| HIGH | agents/s07_task_system.py | 33 | except ImportError: | CODE |
| HIGH | agents/s09_agent_teams.py | 56 | except ImportError: | CODE |
| HIGH | agents/s05_skill_loading.py | 47 | except ImportError: | CODE |
| HIGH | agents/s10_team_protocols.py | 61 | except ImportError: | CODE |
| HIGH | agents/s11_autonomous_agents.py | 49 | except ImportError: | CODE |
| HIGH | agents/s12_worktree_task_isolation.py | 43 | except ImportError: | CODE |
| HIGH | agents/s12_worktree_task_isolation.py | 139 | except Exception: | CODE |
| HIGH | s10_task_system/code.py | 40 | except ImportError: | CODE |
| HIGH | s09_memory/code.py | 29 | except ImportError: | CODE |
| HIGH | s07_skill_loading/code.py | 35 | except ImportError: | CODE |
| HIGH | s06_subagent/code.py | 32 | except ImportError: | CODE |
| HIGH | s11_background_tasks/code.py | 31 | except ImportError: | CODE |
| HIGH | s11_background_tasks/code.py | 138 | except subprocess.TimeoutExpired: | CODE |
| HIGH | s04_hooks/code.py | 34 | except ImportError: | CODE |
| HIGH | s08_context_compact/code.py | 53 | except ImportError: | CODE |
| HIGH | s02_tool_use/code.py | 34 | except ImportError: | CODE |
| HIGH | s03_permission/code.py | 45 | except ImportError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | s13_agent_teams/code.py | 92 | def advance_assignment_version(owner: str): | CODE |
| LOW | s13_agent_teams/code.py | 457 | def release_completed_assignment(owner: str) -> bool: | CODE |
| LOW | s13_agent_teams/code.py | 473 | def release_teammate_assignment(owner: str): | CODE |
| LOW | s13_agent_teams/code.py | 1678 | def contains_destructive_command(command: str) -> bool: | CODE |
| LOW | s13_agent_teams/code.py | 1826 | def print_last_assistant_message(history: list): | CODE |
| LOW | s17_goal_loop/code.py | 61 | def contains_destructive_command(command: str) -> bool: | CODE |
| LOW | s05_todo_write/code.py | 234 | def contains_destructive_command(command: str) -> bool: | CODE |
| LOW | s14_mcp_plugin/code.py | 385 | def contains_destructive_command(command: str) -> bool: | CODE |
| LOW | s15_integrated_harness/code.py | 184 | def advance_assignment_version(owner: str): | CODE |
| LOW | s15_integrated_harness/code.py | 547 | def release_completed_assignment(owner: str) -> bool: | CODE |
| LOW | s15_integrated_harness/code.py | 563 | def release_teammate_assignment(owner: str): | CODE |
| LOW | s15_integrated_harness/code.py | 916 | def _stop_all_shell_processes(): | CODE |
| LOW | s15_integrated_harness/code.py | 923 | def _handle_termination_signal(signum, _frame): | CODE |
| LOW | s15_integrated_harness/code.py | 2005 | def unseen_tool_result_positions(messages: list) -> set[tuple[int, int]]: | CODE |
| LOW | s15_integrated_harness/code.py | 2348 | def collect_background_results() -> list[str]: | CODE |
| LOW | s15_integrated_harness/code.py | 3117 | def inject_background_notifications(messages: list): | CODE |
| LOW | …b/src/components/visualizations/s12-cron-scheduler.tsx | 113 | export default function CronSchedulerVisualization({ title }: { title?: string }) { | CODE |
| LOW | …c/components/visualizations/s15-integrated-harness.tsx | 276 | export default function ComprehensiveVisualization({ title }: { title?: string }) { | CODE |
| LOW | s12_cron_scheduler/code.py | 190 | def contains_destructive_command(command: str) -> bool: | CODE |
| LOW | s12_cron_scheduler/code.py | 702 | def print_latest_assistant_text(messages: list): | CODE |
| LOW | tests/test_task_system.py | 95 | def test_dependencies_gate_claim_and_completion_checks_owner() -> None: | CODE |
| LOW | tests/test_task_system.py | 115 | def test_dependencies_are_added_after_create_returns_runtime_ids() -> None: | CODE |
| LOW | tests/test_task_system.py | 150 | def test_invalid_and_missing_task_ids_become_tool_results() -> None: | CODE |
| LOW | tests/test_task_system.py | 163 | def test_create_retries_instead_of_overwriting_an_existing_id( | CODE |
| LOW | tests/test_task_system.py | 179 | def test_update_rejects_invalid_graph_changes_without_partial_mutation() -> None: | CODE |
| LOW | tests/test_task_system.py | 199 | def test_update_is_idempotent_and_rejects_cycles_or_started_tasks() -> None: | CODE |
| LOW | tests/test_task_system.py | 224 | def test_task_store_rejects_a_symlink_outside_the_workspace() -> None: | CODE |
| LOW | tests/test_agents_smoke.py | 18 | def test_agent_scripts_compile(agent_path: Path) -> None: | CODE |
| LOW | tests/test_s06_subagent.py | 83 | def test_subagent_starts_with_fresh_messages_and_returns_final_text(): | CODE |
| LOW | tests/test_s06_subagent.py | 116 | def test_subagent_file_tools_keep_the_kernel_permission_boundary(): | CODE |
| LOW | tests/test_skill_loading.py | 67 | def test_catalog_stays_small_and_load_skill_returns_the_full_file() -> None: | CODE |
| LOW | tests/test_skill_loading.py | 137 | def test_skill_frontmatter_requires_standalone_delimiters() -> None: | STRING |
| LOW | tests/test_skill_loading.py | 158 | def test_skill_frontmatter_falls_back_for_invalid_or_empty_metadata() -> None: | STRING |
| LOW | tests/test_chapter_readmes.py | 9 | def test_every_chapter_uses_english_as_the_default_readme() -> None: | CODE |
| LOW | tests/test_chapter_readmes.py | 19 | def test_every_chapter_has_the_same_language_navigation() -> None: | CODE |
| LOW | tests/test_compaction_tool_pairs.py | 119 | def assert_no_orphan_tool_results(testcase, messages): | CODE |
| LOW | tests/test_compaction_tool_pairs.py | 143 | def test_prepare_preserves_consumed_results_below_pressure_limit(self): | CODE |
| LOW | tests/test_compaction_tool_pairs.py | 174 | def test_prepare_persists_oversized_unseen_result_before_summary(self): | CODE |
| LOW | tests/test_compaction_tool_pairs.py | 203 | def test_micro_compact_does_not_trust_paths_inside_tool_output(self): | CODE |
| LOW | tests/test_compaction_tool_pairs.py | 233 | def test_micro_compact_keeps_unseen_tool_result_batch(self): | CODE |
| LOW | tests/test_compaction_tool_pairs.py | 268 | def test_micro_compact_releases_batch_after_model_consumes_it(self): | CODE |
| LOW | tests/test_compaction_tool_pairs.py | 290 | def test_snip_compact_keeps_head_tool_pair(self): | CODE |
| LOW | tests/test_compaction_tool_pairs.py | 319 | def test_snip_compact_archives_the_complete_history(self): | CODE |
| LOW | tests/test_compaction_tool_pairs.py | 342 | def test_snip_compact_keeps_tail_tool_pair(self): | CODE |
| LOW | tests/test_compaction_tool_pairs.py | 364 | def test_reactive_compact_keeps_tail_tool_pair(self): | CODE |
| LOW | tests/test_compaction_tool_pairs.py | 387 | def test_reactive_compact_summarizes_only_old_history(self): | CODE |
| LOW | tests/test_compaction_tool_pairs.py | 419 | def test_reactive_compact_summary_excludes_tail_pair_pulled_in(self): | CODE |
| LOW | tests/test_s08_context_compact.py | 29 | def test_glob_double_star_matches_files_at_any_depth(tmp_path, monkeypatch): | CODE |
| LOW | tests/test_s08_context_compact.py | 42 | def test_prepare_preserves_tool_results_while_context_is_within_limit( | CODE |
| LOW | tests/test_s08_context_compact.py | 75 | def test_prepare_micro_compacts_tool_results_after_context_exceeds_limit( | CODE |
| LOW | tests/test_s08_context_compact.py | 115 | def test_prepare_persists_oversized_unseen_result_before_full_compact( | CODE |
| LOW | tests/test_cron_scheduler.py | 84 | def test_import_does_not_start_runtime_threads(): | CODE |
| LOW | tests/test_cron_scheduler.py | 96 | def test_cron_validation_and_matching(): | CODE |
| LOW | tests/test_cron_scheduler.py | 108 | def test_schedule_retries_id_collisions_and_rolls_back_failed_persistence( | CODE |
| LOW | tests/test_cron_scheduler.py | 131 | def test_failed_model_call_restores_delivery_without_duplicate_message(): | CODE |
| LOW | tests/test_cron_scheduler.py | 157 | def test_scheduled_turn_never_reads_interactive_permission_input(): | CODE |
| LOW | tests/test_cron_scheduler.py | 178 | def test_corrupt_durable_store_reports_an_error(capsys: pytest.CaptureFixture[str]): | CODE |
| LOW | tests/test_permission_command_words.py | 114 | def test_permission_command_words_cover_position_case_and_boundaries( | CODE |
| LOW | tests/test_workflow_goal_lessons.py | 29 | def acquire_workflow_lock_in_child( | CODE |
| LOW | tests/test_workflow_goal_lessons.py | 53 | def test_workflow_runtime_resumes_from_journal(tmp_path: Path) -> None: | CODE |
| 132 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | s13_agent_teams/code.py | 0 | return whether task_id transitively depends on target_id. | STRING |
| HIGH | s15_integrated_harness/code.py | 0 | return whether task_id transitively depends on target_id. | STRING |
| HIGH | s10_task_system/code.py | 0 | return whether task_id transitively depends on target_id. | STRING |
| HIGH | docs/ja/s05-skill-loading.md | 0 | you are a coding agent at {workdir}. skills available: {skill_loader.get_descriptions()} | STRING |
| HIGH | docs/zh/s05-skill-loading.md | 0 | you are a coding agent at {workdir}. skills available: {skill_loader.get_descriptions()} | STRING |
| HIGH | docs/en/s05-skill-loading.md | 0 | you are a coding agent at {workdir}. skills available: {skill_loader.get_descriptions()} | STRING |
| HIGH | s04_hooks/README.zh.md | 0 | inject current working directory info into every prompt. | STRING |
| HIGH | s04_hooks/README.md | 0 | inject current working directory info into every prompt. | STRING |
| HIGH | s04_hooks/README.ja.md | 0 | inject current working directory info into every prompt. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | s13_agent_teams/code.py | 133 | CODE | |
| LOW | s17_goal_loop/code.py | 129 | CODE | |
| LOW | s17_goal_loop/code.py | 681 | CODE | |
| LOW | s15_integrated_harness/code.py | 159 | CODE | |
| LOW | s15_integrated_harness/code.py | 225 | CODE | |
| LOW | s15_integrated_harness/code.py | 1379 | CODE | |
| LOW | s15_integrated_harness/code.py | 2242 | CODE | |
| LOW | s15_integrated_harness/code.py | 2490 | CODE | |
| LOW | s15_integrated_harness/code.py | 2544 | CODE | |
| LOW | s15_integrated_harness/code.py | 3137 | CODE | |
| LOW | s15_integrated_harness/code.py | 1448 | CODE | |
| LOW | s12_cron_scheduler/code.py | 392 | CODE | |
| LOW | s12_cron_scheduler/code.py | 497 | CODE | |
| LOW | s12_cron_scheduler/code.py | 518 | CODE | |
| LOW | s12_cron_scheduler/code.py | 702 | CODE | |
| LOW | tests/test_readline_prompts.py | 52 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 150 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 251 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 300 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 393 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 445 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 493 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 529 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 561 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 620 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 688 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 713 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 895 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 1087 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 1142 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 1646 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 1682 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 1748 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 1783 | CODE | |
| LOW | tests/test_agent_teams_runtime.py | 1887 | CODE | |
| LOW | agents/s_full.py | 236 | CODE | |
| LOW | agents/s_full.py | 699 | CODE | |
| LOW | agents/s_full.py | 206 | CODE | |
| LOW | agents/s_full.py | 293 | CODE | |
| LOW | agents/s_full.py | 447 | CODE | |
| LOW | agents/s03_todo_write.py | 170 | CODE | |
| LOW | agents/s06_context_compact.py | 75 | CODE | |
| LOW | agents/s06_context_compact.py | 211 | CODE | |
| LOW | agents/s08_background_tasks.py | 224 | CODE | |
| LOW | agents/s04_subagent.py | 152 | CODE | |
| LOW | agents/s07_task_system.py | 210 | CODE | |
| LOW | agents/s09_agent_teams.py | 352 | CODE | |
| LOW | agents/s05_skill_loading.py | 194 | CODE | |
| LOW | agents/s10_team_protocols.py | 433 | CODE | |
| LOW | agents/s10_team_protocols.py | 183 | CODE | |
| LOW | agents/s11_autonomous_agents.py | 525 | CODE | |
| LOW | agents/s11_autonomous_agents.py | 221 | CODE | |
| LOW | agents/s12_worktree_task_isolation.py | 735 | CODE | |
| LOW | s09_memory/code.py | 286 | CODE | |
| LOW | s09_memory/code.py | 456 | CODE | |
| LOW | s16_workflow_runtime/code.py | 164 | CODE | |
| LOW | s16_workflow_runtime/code.py | 333 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | skills/agent-builder/references/subagent-pattern.py | 14 | # ============================================================================= | COMMENT |
| MEDIUM | skills/agent-builder/references/subagent-pattern.py | 16 | # ============================================================================= | COMMENT |
| MEDIUM | skills/agent-builder/references/subagent-pattern.py | 74 | # ============================================================================= | COMMENT |
| MEDIUM | skills/agent-builder/references/subagent-pattern.py | 76 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | skills/agent-builder/references/subagent-pattern.py | 115 | # ============================================================================= | STRING |
| MEDIUM⚡ | skills/agent-builder/references/subagent-pattern.py | 117 | # ============================================================================= | STRING |
| MEDIUM | skills/agent-builder/references/subagent-pattern.py | 219 | # ============================================================================= | COMMENT |
| MEDIUM | skills/agent-builder/references/subagent-pattern.py | 221 | # ============================================================================= | COMMENT |
| MEDIUM | skills/agent-builder/references/tool-templates.py | 15 | # ============================================================================= | COMMENT |
| MEDIUM | skills/agent-builder/references/tool-templates.py | 17 | # ============================================================================= | COMMENT |
| MEDIUM | skills/agent-builder/references/tool-templates.py | 137 | # ============================================================================= | STRING |
| MEDIUM | skills/agent-builder/references/tool-templates.py | 139 | # ============================================================================= | STRING |
| MEDIUM⚡ | skills/agent-builder/references/tool-templates.py | 249 | # ============================================================================= | STRING |
| MEDIUM⚡ | skills/agent-builder/references/tool-templates.py | 251 | # ============================================================================= | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | web/src/components/visualizations/s03-todo-write.tsx | 19 | // Step 0: all pending | COMMENT |
| LOW⚡ | web/src/components/visualizations/s03-todo-write.tsx | 26 | // Step 1: still all pending (idle round 1) | COMMENT |
| LOW⚡ | web/src/components/visualizations/s03-todo-write.tsx | 33 | // Step 2: still all pending (idle round 2) | COMMENT |
| LOW⚡ | web/src/components/visualizations/s03-todo-write.tsx | 40 | // Step 3: NAG fires, task 1 moves to in_progress | COMMENT |
| LOW⚡ | web/src/components/visualizations/s03-todo-write.tsx | 47 | // Step 4: task 1 done | COMMENT |
| LOW⚡ | web/src/components/visualizations/s03-todo-write.tsx | 54 | // Step 5: task 2 self-directed to in_progress | COMMENT |
| LOW⚡ | web/src/components/visualizations/s03-todo-write.tsx | 61 | // Step 6: tasks 2,3 done, task 4 in_progress | COMMENT |
| LOW | s08_context_compact/README.md | 48 | ## Step 1: tool_result_budget | COMMENT |
| LOW | s08_context_compact/README.md | 89 | ## Step 2: snip_compact | COMMENT |
| LOW | s08_context_compact/README.md | 118 | ## Step 3: micro_compact | COMMENT |
| LOW | s08_context_compact/README.md | 145 | ## Step 4: compact_history | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | web/src/components/visualizations/s03-todo-write.tsx | 19 | // Step 0: all pending | COMMENT |
| LOW⚡ | web/src/components/visualizations/s03-todo-write.tsx | 26 | // Step 1: still all pending (idle round 1) | COMMENT |
| LOW⚡ | web/src/components/visualizations/s03-todo-write.tsx | 33 | // Step 2: still all pending (idle round 2) | COMMENT |
| LOW⚡ | web/src/components/visualizations/s03-todo-write.tsx | 40 | // Step 3: NAG fires, task 1 moves to in_progress | COMMENT |
| LOW⚡ | web/src/components/visualizations/s03-todo-write.tsx | 47 | // Step 4: task 1 done | COMMENT |
| LOW⚡ | web/src/components/visualizations/s03-todo-write.tsx | 54 | // Step 5: task 2 self-directed to in_progress | COMMENT |
| LOW⚡ | web/src/components/visualizations/s03-todo-write.tsx | 61 | // Step 6: tasks 2,3 done, task 4 in_progress | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_permission_command_words.py | 97 | ("echo ready && del file.txt", True), | CODE |
| HIGH | tests/test_permission_command_words.py | 98 | ("echo ready || RM file.txt", True), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | agents/s08_background_tasks.py | 2 | # Harness: background execution -- the model thinks while the harness waits. | COMMENT |
| MEDIUM | agents/__init__.py | 3 | # The model is the agent. These files are the harness. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | s17_goal_loop/code.py | 28 | CODE | |
| LOW | tests/test_agents_smoke.py | 1 | CODE | |
| LOW | tests/test_workflow_goal_lessons.py | 1 | CODE | |
| LOW | tests/test_goal_loop.py | 1 | CODE | |
| LOW | tests/test_web_scenarios.py | 1 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | skills/mcp-builder/SKILL.md | 155 | params={"key": "YOUR_API_KEY", "q": city} | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | web/src/data/execution-flows.ts | 59 | { id: "placeholder", label: "Return Placeholder", type: "process", x: 70, y: 450 }, | CODE |
| LOW | web/src/data/execution-flows.ts | 73 | { from: "spawn", to: "placeholder" }, | CODE |
| LOW | web/src/data/execution-flows.ts | 76 | { from: "placeholder", to: "append" }, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | s16_workflow_runtime/README.ja.md | 1 | # s16: Workflow Runtime — モデルが単一 step を決め、script が orchestration を決める | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | skills/agent-builder/references/subagent-pattern.py | 177 | # Check if done | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | agents/__init__.py | 1 | # agents/ - Harness implementations (s01-s12) + full reference (s_full) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | skills/agent-builder/references/subagent-pattern.py | 119 | def run_task(description: str, prompt: str, agent_type: str, | STRING |