Bash is all you need - A nano claude code–like 「agent harness」, built from 0 to 1
This report presents the forensic synthetic code analysis of shareAI-lab/learn-claude-code, a Python project with 75,547 GitHub stars. SynthScan v2.0 examined 59,440 lines of code across 255 source files, recording 510 pattern matches distributed across 16 syntactic categories. The overall adjusted score of 9.6 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 510 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | s13_agent_teams/README.zh.md | 363 | except Exception as error: | CODE |
| MEDIUM | s13_agent_teams/code.py | 738 | def _agent_cwd() -> tuple[Path | None, str | None]: | CODE |
| MEDIUM | s13_agent_teams/code.py | 1342 | def run(self): | CODE |
| LOW⚡ | s13_agent_teams/code.py | 1349 | except Exception as exc: | CODE |
| LOW⚡ | s13_agent_teams/code.py | 1353 | except Exception: | CODE |
| LOW⚡ | s13_agent_teams/code.py | 1358 | except Exception as exc: | CODE |
| LOW⚡ | s13_agent_teams/code.py | 1365 | 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 | 694 | except Exception as e: | CODE |
| LOW | s13_agent_teams/code.py | 704 | except Exception as e: | CODE |
| LOW | s13_agent_teams/code.py | 718 | except Exception as exc: | CODE |
| LOW | s13_agent_teams/code.py | 734 | except Exception as exc: | CODE |
| LOW | s13_agent_teams/code.py | 1048 | except Exception as exc: | CODE |
| LOW | s13_agent_teams/code.py | 1279 | except Exception as exc: | CODE |
| LOW | s13_agent_teams/code.py | 1768 | except Exception as exc: | CODE |
| LOW | s13_agent_teams/code.py | 1786 | 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 | 371 | except Exception as error: | CODE |
| LOW | s17_goal_loop/code.py | 715 | except Exception as error: | CODE |
| LOW | s05_todo_write/code.py | 74 | except Exception as e: | CODE |
| LOW | s05_todo_write/code.py | 83 | except Exception as e: | CODE |
| LOW | s05_todo_write/code.py | 94 | except Exception as e: | CODE |
| LOW | s05_todo_write/code.py | 109 | except Exception as e: | CODE |
| LOW | s05_todo_write/code.py | 323 | except Exception as e: | CODE |
| LOW | s14_mcp_plugin/README.zh.md | 69 | except Exception as error: | CODE |
| LOW | s14_mcp_plugin/code.py | 83 | except Exception as exc: | CODE |
| LOW | s14_mcp_plugin/code.py | 93 | except Exception as exc: | CODE |
| LOW | s14_mcp_plugin/code.py | 106 | except Exception as exc: | CODE |
| LOW | s14_mcp_plugin/code.py | 121 | except Exception as exc: | CODE |
| LOW | s14_mcp_plugin/code.py | 189 | except Exception as exc: | CODE |
| LOW | s14_mcp_plugin/code.py | 471 | except Exception as exc: | CODE |
| LOW | s14_mcp_plugin/code.py | 490 | 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 | 997 | def _agent_cwd() -> tuple[Path | None, str | None]: | CODE |
| MEDIUM | s15_integrated_harness/code.py | 1623 | def run(): | CODE |
| MEDIUM | s15_integrated_harness/code.py | 2266 | def worker(): | CODE |
| LOW⚡ | s15_integrated_harness/code.py | 1626 | except Exception as exc: | CODE |
| LOW⚡ | s15_integrated_harness/code.py | 1629 | except Exception: | CODE |
| LOW⚡ | s15_integrated_harness/code.py | 1634 | except Exception as exc: | CODE |
| LOW⚡ | s15_integrated_harness/code.py | 1641 | except Exception: | CODE |
| LOW | s15_integrated_harness/code.py | 131 | except Exception: | CODE |
| LOW | s15_integrated_harness/code.py | 641 | except Exception as exc: | CODE |
| LOW | s15_integrated_harness/code.py | 702 | except Exception as exc: | CODE |
| LOW | s15_integrated_harness/code.py | 953 | except Exception as e: | CODE |
| LOW | s15_integrated_harness/code.py | 963 | except Exception as e: | CODE |
| LOW | s15_integrated_harness/code.py | 976 | except Exception as e: | CODE |
| LOW | s15_integrated_harness/code.py | 993 | except Exception as e: | CODE |
| LOW | s15_integrated_harness/code.py | 1035 | except Exception as exc: | CODE |
| LOW | s15_integrated_harness/code.py | 1561 | except Exception as exc: | CODE |
| LOW | s15_integrated_harness/code.py | 2180 | except Exception: | CODE |
| LOW | s15_integrated_harness/code.py | 2213 | except Exception as e: | CODE |
| LOW | s15_integrated_harness/code.py | 2276 | except Exception as exc: | CODE |
| LOW | s15_integrated_harness/code.py | 2281 | except Exception as exc: | CODE |
| LOW | s15_integrated_harness/code.py | 2304 | except Exception: | CODE |
| LOW | s15_integrated_harness/code.py | 2465 | except Exception: | CODE |
| LOW | s15_integrated_harness/code.py | 2503 | except Exception: | CODE |
| LOW | s15_integrated_harness/code.py | 2522 | except Exception as e: | CODE |
| 144 more matches not shown… | ||||
| 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 | 1672 | def contains_destructive_command(command: str) -> bool: | CODE |
| LOW | s13_agent_teams/code.py | 1820 | def print_last_assistant_message(history: list): | CODE |
| LOW | s17_goal_loop/code.py | 55 | def contains_destructive_command(command: str) -> bool: | CODE |
| LOW | s05_todo_write/code.py | 228 | def contains_destructive_command(command: str) -> bool: | CODE |
| LOW | s14_mcp_plugin/code.py | 378 | def contains_destructive_command(command: str) -> bool: | CODE |
| LOW | s15_integrated_harness/code.py | 176 | def advance_assignment_version(owner: str): | CODE |
| LOW | s15_integrated_harness/code.py | 539 | def release_completed_assignment(owner: str) -> bool: | CODE |
| LOW | s15_integrated_harness/code.py | 555 | def release_teammate_assignment(owner: str): | CODE |
| LOW | s15_integrated_harness/code.py | 884 | def _stop_all_shell_processes(): | CODE |
| LOW | s15_integrated_harness/code.py | 891 | def _handle_termination_signal(signum, _frame): | CODE |
| LOW | s15_integrated_harness/code.py | 1970 | def unseen_tool_result_positions(messages: list) -> set[tuple[int, int]]: | CODE |
| LOW | s15_integrated_harness/code.py | 2313 | def collect_background_results() -> list[str]: | CODE |
| LOW | s15_integrated_harness/code.py | 3082 | 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 | 183 | def contains_destructive_command(command: str) -> bool: | CODE |
| LOW | s12_cron_scheduler/code.py | 695 | 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 | 123 | CODE | |
| LOW | s17_goal_loop/code.py | 675 | CODE | |
| LOW | s15_integrated_harness/code.py | 217 | CODE | |
| LOW | s15_integrated_harness/code.py | 1344 | CODE | |
| LOW | s15_integrated_harness/code.py | 2207 | CODE | |
| LOW | s15_integrated_harness/code.py | 2455 | CODE | |
| LOW | s15_integrated_harness/code.py | 2509 | CODE | |
| LOW | s15_integrated_harness/code.py | 3102 | CODE | |
| LOW | s15_integrated_harness/code.py | 1413 | CODE | |
| LOW | s12_cron_scheduler/code.py | 385 | CODE | |
| LOW | s12_cron_scheduler/code.py | 490 | CODE | |
| LOW | s12_cron_scheduler/code.py | 511 | CODE | |
| LOW | s12_cron_scheduler/code.py | 695 | 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 | 280 | CODE | |
| LOW | s09_memory/code.py | 450 | CODE | |
| LOW | s16_workflow_runtime/code.py | 156 | CODE | |
| LOW | s16_workflow_runtime/code.py | 325 | 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 |