The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
This report summarizes scanner evidence for affaan-m/ECC, a JavaScript project with 276,588 GitHub stars. SynthScan examined 924,555 lines of code across 4352 source files, recording 2945 pattern matches distributed across 23 syntactic categories. The legacy adjusted pattern signal is 5.8 (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? 2055 finding(s).
Are imports declared and package/API names verified? 253 finding(s).
Are wrappers, guards, and repeated structures necessary? 1695 finding(s).
Which changes need focused human review? 2945 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 2945 distinct pattern matches across 23 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⚡ | CONTRIBUTING.md | 217 | ### Step 1: Understand | COMMENT |
| LOW⚡ | CONTRIBUTING.md | 220 | ### Step 2: Execute | COMMENT |
| LOW⚡ | CONTRIBUTING.md | 223 | ### Step 3: Verify | COMMENT |
| LOW⚡ | .cursor/skills/documentation-lookup/SKILL.md | 30 | ### Step 1: Resolve the Library ID | COMMENT |
| LOW⚡ | .cursor/skills/documentation-lookup/SKILL.md | 39 | ### Step 2: Select the Best Match | COMMENT |
| LOW⚡ | .cursor/skills/documentation-lookup/SKILL.md | 48 | ### Step 3: Fetch the Documentation | COMMENT |
| LOW⚡ | .cursor/skills/documentation-lookup/SKILL.md | 57 | ### Step 4: Use the Documentation | COMMENT |
| LOW | .opencode/prompts/agents/kotlin-reviewer.txt | 13 | ### Step 1: Gather Context | COMMENT |
| LOW | .opencode/prompts/agents/kotlin-reviewer.txt | 17 | ### Step 2: Understand Project Structure | COMMENT |
| LOW | .opencode/prompts/agents/kotlin-reviewer.txt | 34 | ### Step 3: Read and Review | COMMENT |
| LOW | .opencode/prompts/agents/kotlin-reviewer.txt | 38 | ### Step 4: Report Findings | COMMENT |
| LOW | .opencode/prompts/agents/tdd-guide.txt | 13 | ### Step 1: Write Test First (RED) | COMMENT |
| LOW⚡ | .opencode/prompts/agents/tdd-guide.txt | 27 | ### Step 2: Run Test (Verify it FAILS) | COMMENT |
| LOW⚡ | .opencode/prompts/agents/tdd-guide.txt | 33 | ### Step 3: Write Minimal Implementation (GREEN) | COMMENT |
| LOW⚡ | .opencode/prompts/agents/tdd-guide.txt | 42 | ### Step 4: Run Test (Verify it PASSES) | COMMENT |
| LOW⚡ | .opencode/prompts/agents/tdd-guide.txt | 48 | ### Step 5: Refactor (IMPROVE) | COMMENT |
| LOW⚡ | .opencode/prompts/agents/tdd-guide.txt | 54 | ### Step 6: Verify Coverage | COMMENT |
| LOW⚡ | .opencode/prompts/agents/docs-lookup.txt | 13 | ### Step 1: Resolve the library | COMMENT |
| LOW⚡ | .opencode/prompts/agents/docs-lookup.txt | 21 | ### Step 2: Fetch documentation | COMMENT |
| LOW⚡ | .opencode/prompts/agents/docs-lookup.txt | 29 | ### Step 3: Return the answer | COMMENT |
| LOW⚡ | .opencode/commands/eval.md | 32 | ### Step 1: Define Criteria | COMMENT |
| LOW⚡ | .opencode/commands/eval.md | 41 | ### Step 2: Run Tests | COMMENT |
| LOW⚡ | .opencode/commands/eval.md | 48 | ### Step 3: Calculate Score | COMMENT |
| LOW⚡ | .opencode/commands/eval.md | 54 | ### Step 4: Report | COMMENT |
| LOW⚡ | .opencode/commands/tdd.md | 24 | ### Step 1: Define Interfaces (SCAFFOLD) | COMMENT |
| LOW⚡ | .opencode/commands/tdd.md | 28 | ### Step 2: Write Failing Tests (RED) | COMMENT |
| LOW⚡ | .opencode/commands/tdd.md | 33 | ### Step 3: Implement Minimal Code (GREEN) | COMMENT |
| LOW⚡ | .opencode/commands/tdd.md | 38 | ### Step 4: Refactor (IMPROVE) | COMMENT |
| LOW⚡ | .opencode/commands/tdd.md | 43 | ### Step 5: Check Coverage | COMMENT |
| LOW | .opencode/commands/rust-test.md | 22 | ### Step 1: Define Interface | COMMENT |
| LOW | .opencode/commands/rust-test.md | 33 | ### Step 2: Write Tests | COMMENT |
| LOW⚡ | .opencode/commands/rust-test.md | 55 | ### Step 3: Run Tests (RED) | COMMENT |
| LOW⚡ | .opencode/commands/rust-test.md | 60 | ### Step 4: Implement (GREEN) | COMMENT |
| LOW⚡ | .opencode/commands/rust-test.md | 69 | ### Step 5: Check Coverage | COMMENT |
| LOW | .opencode/commands/go-test.md | 22 | ### Step 1: Define Interface | COMMENT |
| LOW | .opencode/commands/go-test.md | 37 | ### Step 2: Table-Driven Tests | COMMENT |
| LOW⚡ | .opencode/commands/go-test.md | 73 | ### Step 3: Run Tests (RED) | COMMENT |
| LOW⚡ | .opencode/commands/go-test.md | 78 | ### Step 4: Implement (GREEN) | COMMENT |
| LOW⚡ | .opencode/commands/go-test.md | 85 | ### Step 5: Benchmark | COMMENT |
| LOW | .opencode/commands/skill-create.md | 19 | ### Step 1: Gather Commit Data | COMMENT |
| LOW | .opencode/commands/skill-create.md | 31 | ### Step 2: Identify Patterns | COMMENT |
| LOW | .opencode/commands/skill-create.md | 48 | ### Step 3: Generate SKILL.md | COMMENT |
| LOW | .opencode/commands/skill-create.md | 92 | ### Step 4: Generate Instincts | COMMENT |
| LOW | .agents/skills/x-api/SKILL.md | 160 | # Step 1: Upload media | COMMENT |
| LOW | .agents/skills/x-api/SKILL.md | 167 | # Step 2: Post with media | COMMENT |
| LOW⚡ | .agents/skills/deep-research/SKILL.md | 29 | ### Step 1: Understand the Goal | COMMENT |
| LOW⚡ | .agents/skills/deep-research/SKILL.md | 37 | ### Step 2: Plan the Research | COMMENT |
| LOW⚡ | .agents/skills/deep-research/SKILL.md | 47 | ### Step 3: Execute Multi-Source Search | COMMENT |
| LOW | .agents/skills/deep-research/SKILL.md | 68 | ### Step 4: Deep-Read Key Sources | COMMENT |
| LOW | .agents/skills/deep-research/SKILL.md | 84 | ### Step 5: Synthesize and Write Report | COMMENT |
| LOW | .agents/skills/deep-research/SKILL.md | 120 | ### Step 6: Deliver | COMMENT |
| LOW⚡ | .agents/skills/documentation-lookup/SKILL.md | 30 | ### Step 1: Resolve the Library ID | COMMENT |
| LOW⚡ | .agents/skills/documentation-lookup/SKILL.md | 39 | ### Step 2: Select the Best Match | COMMENT |
| LOW⚡ | .agents/skills/documentation-lookup/SKILL.md | 48 | ### Step 3: Fetch the Documentation | COMMENT |
| LOW⚡ | .agents/skills/documentation-lookup/SKILL.md | 57 | ### Step 4: Use the Documentation | COMMENT |
| LOW | .agents/skills/tdd-workflow/SKILL.md | 52 | ### Step 0: Detect the Test Runner | COMMENT |
| LOW | .agents/skills/tdd-workflow/SKILL.md | 80 | ### Step 1: Write User Journeys | COMMENT |
| LOW | .agents/skills/tdd-workflow/SKILL.md | 89 | ### Step 2: Generate Test Cases | COMMENT |
| LOW⚡ | .agents/skills/tdd-workflow/SKILL.md | 112 | ### Step 3: Run Tests (They Should Fail) | COMMENT |
| LOW⚡ | .agents/skills/tdd-workflow/SKILL.md | 118 | ### Step 4: Implement Code | COMMENT |
| 606 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .cursor/hooks/adapter.js | 132 | function normalizeSessionStartOutput(rawOutput, options = {}) { | CODE |
| LOW | .cursor/hooks/adapter.js | 165 | function createStopFormatTypecheckOptions(sessionEnv = {}) { | CODE |
| LOW | docker/context-profiles/ai-eval-lib.js | 452 | function prepareClaudeEnvironments({ repoRoot, executable, root, legacySource = null }) { | CODE |
| LOW | tests/test_taste_overlays.py | 31 | def test_still_overlay_preserves_all_video_frames(self): | CODE |
| LOW | tests/test_taste_overlays.py | 73 | def test_rgba_overlay_preserves_background_and_respects_alpha_opacity(self): | CODE |
| LOW | tests/test_taste_overlays.py | 116 | def test_failed_requested_overlay_prevents_final_video_and_manifest(self): | CODE |
| LOW | tests/test_taste_overlays.py | 180 | def test_cadence_target_records_actual_duration_and_warns_on_frame_difference(self): | CODE |
| LOW | tests/test_taste_mint3d.py | 51 | def test_raw_retained_before_remesh_and_rendered(self): | CODE |
| LOW | tests/test_taste_mint3d.py | 73 | def test_existing_artifacts_refused_before_generation(self): | CODE |
| LOW | tests/test_taste_mint3d.py | 97 | def test_remesh_failure_keeps_original_renderable(self): | CODE |
| LOW | tests/test_selector.py | 27 | def assert_exact_compute_route(content: str) -> None: | CODE |
| LOW | tests/test_selector.py | 38 | def test_compute_route_validation_rejects_deceptive_lookalike_host(): | CODE |
| LOW | tests/test_selector.py | 45 | def test_ollama_notice_routes_to_ito_without_claiming_serving(capsys): | CODE |
| LOW | tests/test_selector.py | 60 | def test_managed_provider_does_not_show_self_host_compute_notice(capsys): | CODE |
| LOW | tests/test_taste_pipeline.py | 56 | def test_passthrough_is_offline_and_preserves_caller_paths(self): | CODE |
| LOW⚡ | tests/test_taste_pipeline.py | 69 | def test_passthrough_dry_run_executes_nothing(self): | CODE |
| LOW⚡ | tests/test_taste_pipeline.py | 72 | def test_passthrough_rejects_prop_before_execution(self): | CODE |
| LOW⚡ | tests/test_taste_pipeline.py | 76 | def test_collision_blocks_all_provider_stages(self): | CODE |
| LOW | tests/test_taste_pipeline.py | 90 | def test_invalid_fps_rejected_before_execution(self): | CODE |
| LOW | tests/test_taste_pipeline.py | 97 | def test_tier_selected_before_provider_calls(self): | CODE |
| LOW | tests/test_taste_pipeline.py | 118 | def test_collision_rejected_before_pack_or_provider_access(self): | CODE |
| LOW | tests/test_taste_pipeline.py | 135 | def test_invalid_fps_rejected_before_pack_or_provider_access(self): | CODE |
| LOW⚡ | tests/test_taste_pipeline.py | 194 | def test_keeps_previous_editable_shots_and_uses_explicit_fps(self): | CODE |
| LOW⚡ | tests/test_taste_pipeline.py | 203 | def test_output_collision_rejected_without_writes(self): | CODE |
| LOW⚡ | tests/test_taste_pipeline.py | 213 | def test_invalid_input_does_not_create_work(self): | CODE |
| LOW⚡ | tests/test_taste_pipeline.py | 219 | def test_nonfinite_fps_does_not_create_work(self): | CODE |
| LOW⚡ | tests/test_taste_pipeline.py | 225 | def test_timeline_export_failure_propagates(self): | CODE |
| LOW | tests/test_templates.py | 14 | def restore_template_registry(): | CODE |
| LOW⚡ | tests/test_templates.py | 25 | def test_register_template_exposes_public_template_mapping(): | CODE |
| LOW⚡ | tests/test_templates.py | 34 | def test_templates_mapping_remains_mutable_for_existing_callers(): | CODE |
| LOW⚡ | tests/test_templates.py | 41 | def test_deregister_template_removes_named_template(): | CODE |
| LOW⚡ | tests/test_templates.py | 50 | def test_clear_templates_removes_all_registered_templates(): | CODE |
| LOW | tests/test_templates.py | 69 | def test_register_template_rejects_empty_inputs(name, template, error_match): | CODE |
| LOW⚡ | tests/test_taste_verify.py | 51 | def test_measured_zero_is_checked_and_passes_light_output(self): | CODE |
| LOW⚡ | tests/test_taste_verify.py | 56 | def test_measured_zero_fails_black_output(self): | CODE |
| LOW⚡ | tests/test_taste_verify.py | 59 | def test_absent_target_is_skipped_despite_dataclass_default_zero(self): | CODE |
| LOW⚡ | tests/test_taste_verify.py | 62 | def test_null_target_is_skipped(self): | CODE |
| LOW⚡ | tests/test_taste_verify.py | 65 | def test_positive_target_retains_existing_metric(self): | CODE |
| LOW⚡ | tests/test_taste_verify.py | 70 | def test_invalid_target_fails_instead_of_skipping(self): | CODE |
| LOW | tests/test_astraflow_provider.py | 55 | def test_astraflow_provider_defaults_to_global_umodelverse_endpoint(monkeypatch): | CODE |
| LOW | tests/test_astraflow_provider.py | 68 | def test_astraflow_cn_provider_uses_cn_endpoint_and_model_fallback(monkeypatch): | CODE |
| LOW | tests/test_astraflow_provider.py | 83 | def test_astraflow_provider_generates_openai_compatible_chat_completion(): | CODE |
| LOW | tests/test_astraflow_provider.py | 115 | def test_astraflow_provider_forwards_non_default_temperature(): | CODE |
| LOW | tests/test_astraflow_provider.py | 125 | def test_astraflow_provider_parses_tool_calls(): | CODE |
| LOW | tests/test_astraflow_provider.py | 141 | def test_astraflow_provider_preserves_malformed_tool_arguments(): | CODE |
| LOW | tests/test_claude_provider.py | 42 | def test_generate_collects_text_and_tool_use_blocks() -> None: | CODE |
| LOW | tests/test_claude_provider.py | 64 | def test_generate_collects_multiple_tool_use_blocks() -> None: | CODE |
| LOW | tests/test_claude_provider.py | 87 | def test_generate_copies_tool_use_dict_arguments() -> None: | CODE |
| LOW | tests/test_claude_provider.py | 102 | def test_generate_text_only_has_no_tool_calls() -> None: | CODE |
| LOW | tests/test_claude_provider.py | 117 | def test_generate_does_not_pass_cache_control_as_top_level_param() -> None: | CODE |
| LOW | tests/test_claude_provider.py | 144 | def test_generate_without_system_does_not_set_system_or_cache_control() -> None: | CODE |
| LOW | tests/test_invariant_runner.py | 48 | def test_setup_sandbox_blocks_dangerous_commands(setup_commands, test_id, tmp_path): | CODE |
| LOW | tests/test_atlas_provider.py | 55 | def test_atlas_provider_defaults_to_atlas_cloud_endpoint(monkeypatch): | CODE |
| LOW⚡ | tests/test_atlas_provider.py | 69 | def test_atlas_provider_reads_env_overrides(monkeypatch): | CODE |
| LOW⚡ | tests/test_atlas_provider.py | 79 | def test_atlas_provider_accepts_atlascloud_api_key_fallback(monkeypatch): | CODE |
| LOW⚡ | tests/test_atlas_provider.py | 89 | def test_atlas_provider_generates_openai_compatible_chat_completion(): | CODE |
| LOW | tests/test_atlas_provider.py | 121 | def test_atlas_provider_floors_max_tokens_for_reasoning_models(): | CODE |
| LOW | tests/test_atlas_provider.py | 135 | def test_atlas_provider_forwards_non_default_temperature(): | CODE |
| LOW | tests/test_atlas_provider.py | 145 | def test_atlas_provider_parses_tool_calls(): | CODE |
| LOW | tests/test_atlas_provider.py | 161 | def test_atlas_provider_preserves_malformed_tool_arguments(): | CODE |
| 992 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | ecc_dashboard.py | 35 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | ecc_dashboard.py | 37 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | ecc_dashboard.py | 945 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | ecc_dashboard.py | 947 | # ============================================================================ | COMMENT |
| MEDIUM | ecc_dashboard.py | 283 | # ============================================================================ | COMMENT |
| MEDIUM | ecc_dashboard.py | 285 | # ============================================================================ | COMMENT |
| MEDIUM | ecc_dashboard.py | 393 | # ========================================================================= | COMMENT |
| MEDIUM | ecc_dashboard.py | 395 | # ========================================================================= | COMMENT |
| MEDIUM | ecc_dashboard.py | 498 | # ========================================================================= | COMMENT |
| MEDIUM | ecc_dashboard.py | 500 | # ========================================================================= | COMMENT |
| MEDIUM | ecc_dashboard.py | 620 | # ========================================================================= | COMMENT |
| MEDIUM | ecc_dashboard.py | 622 | # ========================================================================= | COMMENT |
| MEDIUM | ecc_dashboard.py | 670 | # ========================================================================= | COMMENT |
| MEDIUM | ecc_dashboard.py | 672 | # ========================================================================= | COMMENT |
| MEDIUM | ecc_dashboard.py | 747 | # ========================================================================= | COMMENT |
| MEDIUM | ecc_dashboard.py | 749 | # ========================================================================= | COMMENT |
| MEDIUM | tests/plugin-manifest.test.js | 201 | // ── Claude plugin manifest ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/plugin-manifest.test.js | 303 | // ── Codex plugin manifest ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/plugin-manifest.test.js | 464 | // ── Qoder plugin manifest ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/plugin-manifest.test.js | 491 | // ── .mcp.json at plugin root ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/plugin-manifest.test.js | 522 | // ── Codex marketplace file ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/plugin-manifest.test.js | 592 | // ── plugins/ecc marketplace plugin folder ───────────────────────────────────── | COMMENT |
| MEDIUM | tests/plugin-manifest.test.js | 712 | // ── Summary ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hermes-hooks.test.js | 59 | // ─── config-protection: blocking ─────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hermes-hooks.test.js | 146 | // ─── config-protection: allowing ─────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hermes-hooks.test.js | 181 | // ─── config-protection: fail-open + diagnostics ──────────────────────────── | COMMENT |
| MEDIUM | tests/hermes-hooks.test.js | 200 | // ─── check-console-log ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/skill-run-tracker.test.js | 62 | // ── skill id extraction and bounds ──────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/skill-run-tracker.test.js | 91 | // ── privacy: no prompt text is persisted ───────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/skill-run-tracker.test.js | 129 | // ── outcome derivation ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/skill-run-tracker.test.js | 147 | // ── hook behaviour ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/skill-run-tracker.test.js | 155 | // ── tool-name tolerance ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/skill-run-tracker.test.js | 206 | // ── JSONL sink bounds ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/post-bash-hooks.test.js | 37 | // ── post-bash-build-complete.js ────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/post-bash-hooks.test.js | 114 | // ── post-bash-pr-created.js ────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/detect-project-worktree.test.js | 75 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/detect-project-worktree.test.js | 77 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/detect-project-worktree.test.js | 109 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/detect-project-worktree.test.js | 111 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/detect-project-worktree.test.js | 158 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/detect-project-worktree.test.js | 160 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/detect-project-worktree.test.js | 291 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/detect-project-worktree.test.js | 293 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/governance-capture.test.js | 33 | // ── detectSecrets ────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/governance-capture.test.js | 70 | // ── detectApprovalRequired ───────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/governance-capture.test.js | 102 | // ── detectSensitivePath ──────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/governance-capture.test.js | 128 | // ── analyzeForGovernanceEvents ───────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/governance-capture.test.js | 550 | // ── run() function ───────────────────────────────────────── | COMMENT |
| MEDIUM | …/hooks/continuous-learning-shebang-consistency.test.js | 92 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/hooks/continuous-learning-shebang-consistency.test.js | 94 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/stop-format-typecheck.test.js | 61 | // ── post-edit-accumulator.js ───────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/stop-format-typecheck.test.js | 167 | // ── stop-format-typecheck: accumulator teardown ────────────────── | COMMENT |
| MEDIUM | tests/hooks/observer-memory.test.js | 51 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/observer-memory.test.js | 53 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/observer-memory.test.js | 93 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/observer-memory.test.js | 95 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/observer-memory.test.js | 131 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/observer-memory.test.js | 133 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/observer-memory.test.js | 166 | // ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hooks/observer-memory.test.js | 168 | // ────────────────────────────────────────────────────── | COMMENT |
| 266 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …gents/skills/docs-governance/scripts/markdown_links.py | 0 | small markdown link parser used by the documentation-governance audit. | STRING |
| HIGH | …/core/skills/docs-governance/scripts/markdown_links.py | 0 | small markdown link parser used by the documentation-governance audit. | STRING |
| HIGH | skills/docs-governance/scripts/markdown_links.py | 0 | small markdown link parser used by the documentation-governance audit. | STRING |
| HIGH | …gents/skills/docs-governance/scripts/markdown_links.py | 0 | (?mx) ^\ {0,3}\[(?p<label>[^\]\n]+)\]:[\t\ ]* (?:\r?\n[\t\ ]*)? (?p<target><[^>\n]+>|[^\t\ \n]+) (?:[\t\ ]+(?:"(?:\\.|[^ | STRING |
| HIGH | …/core/skills/docs-governance/scripts/markdown_links.py | 0 | (?mx) ^\ {0,3}\[(?p<label>[^\]\n]+)\]:[\t\ ]* (?:\r?\n[\t\ ]*)? (?p<target><[^>\n]+>|[^\t\ \n]+) (?:[\t\ ]+(?:"(?:\\.|[^ | STRING |
| HIGH | skills/docs-governance/scripts/markdown_links.py | 0 | (?mx) ^\ {0,3}\[(?p<label>[^\]\n]+)\]:[\t\ ]* (?:\r?\n[\t\ ]*)? (?p<target><[^>\n]+>|[^\t\ \n]+) (?:[\t\ ]+(?:"(?:\\.|[^ | STRING |
| HIGH | .agents/skills/docs-governance/scripts/audit-docs.py | 0 | deterministic documentation-governance audit for mechanically provable integrity failures. | STRING |
| HIGH | pi/core/skills/docs-governance/scripts/audit-docs.py | 0 | deterministic documentation-governance audit for mechanically provable integrity failures. | STRING |
| HIGH | skills/docs-governance/scripts/audit-docs.py | 0 | deterministic documentation-governance audit for mechanically provable integrity failures. | STRING |
| HIGH | docs/ja-JP/skills/python-testing/SKILL.md | 0 | test that dividing by zero raises zerodivisionerror. | STRING |
| HIGH | docs/zh-CN/skills/python-testing/SKILL.md | 0 | test that dividing by zero raises zerodivisionerror. | STRING |
| HIGH | pi/core/skills/python-testing/SKILL.md | 0 | test that dividing by zero raises zerodivisionerror. | STRING |
| HIGH | skills/python-testing/SKILL.md | 0 | test that dividing by zero raises zerodivisionerror. | STRING |
| HIGH | …s/ja-JP/skills/videodb/reference/rtstream-reference.md | 0 | analyze the screen and return a json object with: { "app_name": "name of the active application", "activity": "what the | STRING |
| HIGH | …s/zh-CN/skills/videodb/reference/rtstream-reference.md | 0 | analyze the screen and return a json object with: { "app_name": "name of the active application", "activity": "what the | STRING |
| HIGH | skills/videodb/reference/rtstream-reference.md | 0 | analyze the screen and return a json object with: { "app_name": "name of the active application", "activity": "what the | STRING |
| HIGH | docs/ja-JP/skills/redis-patterns/SKILL.md | 0 | if redis.call('get', keys[1]) == argv[1] then return redis.call('del', keys[1]) else return 0 end | STRING |
| HIGH | pi/core/skills/redis-patterns/SKILL.md | 0 | if redis.call('get', keys[1]) == argv[1] then return redis.call('del', keys[1]) else return 0 end | STRING |
| HIGH | skills/redis-patterns/SKILL.md | 0 | if redis.call('get', keys[1]) == argv[1] then return redis.call('del', keys[1]) else return 0 end | STRING |
| HIGH | docs/ja-JP/skills/quarkus-tdd/SKILL.md | 0 | { "referencenumber": "doc-001", "description": "test document", "validuntil": "2030-01-01t00:00:00z", "categories": ["te | STRING |
| HIGH | docs/tr/skills/quarkus-tdd/SKILL.md | 0 | { "referencenumber": "doc-001", "description": "test document", "validuntil": "2030-01-01t00:00:00z", "categories": ["te | STRING |
| HIGH | pi/core/skills/quarkus-tdd/SKILL.md | 0 | { "referencenumber": "doc-001", "description": "test document", "validuntil": "2030-01-01t00:00:00z", "categories": ["te | STRING |
| HIGH | skills/quarkus-tdd/SKILL.md | 0 | { "referencenumber": "doc-001", "description": "test document", "validuntil": "2030-01-01t00:00:00z", "categories": ["te | STRING |
| HIGH | docs/ja-JP/skills/quarkus-tdd/SKILL.md | 0 | { "referencenumber": "int-001", "description": "integration test", "validuntil": "2030-01-01t00:00:00z", "categories": [ | STRING |
| HIGH | docs/tr/skills/quarkus-tdd/SKILL.md | 0 | { "referencenumber": "int-001", "description": "integration test", "validuntil": "2030-01-01t00:00:00z", "categories": [ | STRING |
| HIGH | pi/core/skills/quarkus-tdd/SKILL.md | 0 | { "referencenumber": "int-001", "description": "integration test", "validuntil": "2030-01-01t00:00:00z", "categories": [ | STRING |
| HIGH | skills/quarkus-tdd/SKILL.md | 0 | { "referencenumber": "int-001", "description": "integration test", "validuntil": "2030-01-01t00:00:00z", "categories": [ | STRING |
| HIGH | docs/ja-JP/skills/springboot-tdd/SKILL.md | 0 | {"name":"test","description":"desc","enddate":"2030-01-01t00:00:00z","categories":["general"]} | STRING |
| HIGH | docs/zh-CN/skills/springboot-tdd/SKILL.md | 0 | {"name":"test","description":"desc","enddate":"2030-01-01t00:00:00z","categories":["general"]} | STRING |
| HIGH | docs/es/skills/springboot-tdd/SKILL.md | 0 | {"name":"test","description":"desc","enddate":"2030-01-01t00:00:00z","categories":["general"]} | STRING |
| HIGH | docs/tr/skills/springboot-tdd/SKILL.md | 0 | {"name":"test","description":"desc","enddate":"2030-01-01t00:00:00z","categories":["general"]} | STRING |
| HIGH | pi/core/skills/springboot-tdd/SKILL.md | 0 | {"name":"test","description":"desc","enddate":"2030-01-01t00:00:00z","categories":["general"]} | STRING |
| HIGH | skills/springboot-tdd/SKILL.md | 0 | {"name":"test","description":"desc","enddate":"2030-01-01t00:00:00z","categories":["general"]} | STRING |
| HIGH | docs/ja-JP/skills/python-patterns/SKILL.md | 0 | process a user and return the updated user or none. | STRING |
| HIGH | docs/zh-CN/skills/python-patterns/SKILL.md | 0 | process a user and return the updated user or none. | STRING |
| HIGH | pi/core/skills/python-patterns/SKILL.md | 0 | process a user and return the updated user or none. | STRING |
| HIGH | skills/python-patterns/SKILL.md | 0 | process a user and return the updated user or none. | STRING |
| HIGH | docs/ja-JP/skills/python-patterns/SKILL.md | 0 | render all items that implement the renderable protocol. | STRING |
| HIGH | docs/zh-CN/skills/python-patterns/SKILL.md | 0 | render all items that implement the renderable protocol. | STRING |
| HIGH | pi/core/skills/python-patterns/SKILL.md | 0 | render all items that implement the renderable protocol. | STRING |
| HIGH | skills/python-patterns/SKILL.md | 0 | render all items that implement the renderable protocol. | STRING |
| HIGH | docs/ja-JP/skills/python-patterns/SKILL.md | 0 | user entity with automatic __init__, __repr__, and __eq__. | STRING |
| HIGH | docs/zh-CN/skills/python-patterns/SKILL.md | 0 | user entity with automatic __init__, __repr__, and __eq__. | STRING |
| HIGH | pi/core/skills/python-patterns/SKILL.md | 0 | user entity with automatic __init__, __repr__, and __eq__. | STRING |
| HIGH | skills/python-patterns/SKILL.md | 0 | user entity with automatic __init__, __repr__, and __eq__. | STRING |
| HIGH | docs/ja-JP/skills/python-patterns/SKILL.md | 0 | decorator that counts how many times a function is called. | STRING |
| HIGH | docs/zh-CN/skills/python-patterns/SKILL.md | 0 | decorator that counts how many times a function is called. | STRING |
| HIGH | pi/core/skills/python-patterns/SKILL.md | 0 | decorator that counts how many times a function is called. | STRING |
| HIGH | skills/python-patterns/SKILL.md | 0 | decorator that counts how many times a function is called. | STRING |
| HIGH | docs/ja-JP/skills/python-patterns/SKILL.md | 0 | process multiple datasets using multiple processes. | STRING |
| HIGH | docs/zh-CN/skills/python-patterns/SKILL.md | 0 | process multiple datasets using multiple processes. | STRING |
| HIGH | pi/core/skills/python-patterns/SKILL.md | 0 | process multiple datasets using multiple processes. | STRING |
| HIGH | skills/python-patterns/SKILL.md | 0 | process multiple datasets using multiple processes. | STRING |
| HIGH | docs/ja-JP/skills/regex-vs-llm-structured-text/SKILL.md | 0 | full pipeline: regex -> confidence check -> llm for edge cases. | STRING |
| HIGH | docs/zh-CN/skills/regex-vs-llm-structured-text/SKILL.md | 0 | full pipeline: regex -> confidence check -> llm for edge cases. | STRING |
| HIGH | pi/core/skills/regex-vs-llm-structured-text/SKILL.md | 0 | full pipeline: regex -> confidence check -> llm for edge cases. | STRING |
| HIGH | skills/regex-vs-llm-structured-text/SKILL.md | 0 | full pipeline: regex -> confidence check -> llm for edge cases. | STRING |
| HIGH | docs/ja-JP/skills/foundation-models-on-device/SKILL.md | 0 | you are a cooking assistant. provide recipe suggestions based on ingredients. keep suggestions brief and practical. | STRING |
| HIGH | docs/zh-CN/skills/foundation-models-on-device/SKILL.md | 0 | you are a cooking assistant. provide recipe suggestions based on ingredients. keep suggestions brief and practical. | STRING |
| HIGH | pi/core/skills/foundation-models-on-device/SKILL.md | 0 | you are a cooking assistant. provide recipe suggestions based on ingredients. keep suggestions brief and practical. | STRING |
| 105 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 866 | |-- scripts/ # install, repair, sync, orchestration, and checks | CODE |
| MEDIUM | README.md | 987 | | |-- autonomous-loops/ # Autonomous loop patterns: sequential pipelines, PR loops, DAG orchestration | CODE |
| MEDIUM⚡ | README.md | 1013 | | |-- multi-execute.md # /multi-execute - Orchestrated multi-agent workflows | CODE |
| MEDIUM⚡ | README.md | 1014 | | |-- multi-backend.md # /multi-backend - Backend multi-service orchestration | CODE |
| MEDIUM⚡ | README.md | 1015 | | |-- multi-frontend.md # /multi-frontend - Frontend multi-service orchestration | CODE |
| MEDIUM | README.md | 1027 | | |-- orchestrate.md # /orchestrate - Prefer dmux-workflows or multi-workflow | CODE |
| MEDIUM | README.md | 1079 | | |-- go-microservice-CLAUDE.md # Real-world Go microservice (gRPC + PostgreSQL) | CODE |
| MEDIUM | README.md | 2137 | I've been using Claude Code since the experimental rollout. Won the Anthropic x Forum Ventures hackathon in Sep 2025 wit | CODE |
| MEDIUM | README.zh-CN.md | 412 | | |-- orchestrate.md # /orchestrate - 优先使用 dmux-workflows 或 multi-workflow | CODE |
| MEDIUM | SECURITY.md | 156 | - **OWASP Agentic Applications Top 10:** <https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-202 | CODE |
| MEDIUM | ecc2/src/main.rs | 7554 | "# ECC2 migration scaffold generated from {}\n# Review every section before merging it into a real ecc2.toml | CODE |
| MEDIUM | agents/java-reviewer.md | 144 | ### MEDIUM -- Workflow and State Machine (payment / event-driven code) | COMMENT |
| MEDIUM | agents/spec-miner.md | 8 | ## Tool guardrails | COMMENT |
| MEDIUM | docs/ECC-PRO-SECURITY-ROADMAP.md | 41 | 4. Merge the verified correctness/Windows batch (PR #2133 model-ID fix, #2307/#2063 Windows, #2273/#2246/#2312 docs, #22 | CODE |
| MEDIUM | docs/ECC-PRO-SECURITY-ROADMAP.md | 106 | Merge the clean, verified batch: PR #2133 (Claude provider model-ID + adaptive-thinking fix — replaces invalid IDs with | CODE |
| MEDIUM | docs/ECC-PRO-SECURITY-ROADMAP.md | 285 | | needs-work | PR #2318 | feat: add OpenSpec ecosystem (5 agents, 2 orchestration skills, 3 integrations) | | CODE |
| MEDIUM | docs/ECC-PRO-SECURITY-ROADMAP.md | 308 | | merge | issue #2316 | plan-orchestrate: stale ECC install detection after marketplace rename to ecc@ecc | | CODE |
| MEDIUM | docs/ECC-PRO-SECURITY-ROADMAP.md | 333 | Triaged all open PRs (30) and issues (24) on affaan-m/ECC. MERGE-READY (clean, correct, mergeable): PR #2320 (maintainer | CODE |
| MEDIUM | docs/ECC-2.0-GA-ROADMAP.md | 818 | - ECC-Tools PR #35 added RAG/evaluator predictive follow-ups and a | CODE |
| MEDIUM | docs/ECC-2.0-GA-ROADMAP.md | 835 | - ECC-Tools PR #40 added a checked-in evaluator/RAG corpus contract covering | CODE |
| MEDIUM | docs/ECC-2.0-GA-ROADMAP.md | 1075 | | Salvage useful stale work | `docs/stale-pr-salvage-ledger.md` plus `docs/legacy-artifact-inventory.md` | Ledger record | CODE |
| MEDIUM | docs/ECC-2.0-GA-ROADMAP.md | 1084 | | Harness-agnostic learning system | Audit, adapter matrix, observability, traces, promotion loop | Audit/adapters/obser | CODE |
| MEDIUM | docs/ECC-2.0-GA-ROADMAP.md | 1106 | | ECC Tools app | ECC-Tools PR evidence, billing audit, risk taxonomy, evaluator/RAG corpus | ECC-Tools #53 published th | CODE |
| MEDIUM | docs/stale-pr-salvage-ledger.md | 42 | | #1558 | `agentic-os` skill | Salvaged in #1772. | | CODE |
| MEDIUM | docs/stale-pr-salvage-ledger.md | 46 | | #1603 | `plan-orchestrate` skill | Salvaged in #1766 with current manifest/catalog wiring. | | CODE |
| MEDIUM | docs/stale-pr-salvage-ledger.md | 88 | | #1603 | Useful `/plan-orchestrate` work was already preserved in #1766 with current package/catalog metadata. | | CODE |
| MEDIUM | docs/de-DE/README.md | 640 | | |-- orchestrate.md # /orchestrate - Bevorzuge dmux-workflows oder multi-workflow | CODE |
| MEDIUM | docs/ru/README.md | 542 | | |-- autonomous-loops/ # Паттерны автономных циклов: sequential pipelines, PR loops, DAG orchestration (НОВ | CODE |
| MEDIUM | docs/ru/README.md | 567 | | |-- multi-backend.md # /multi-backend - Backend multi-service orchestration (НОВОЕ) | CODE |
| MEDIUM | docs/ru/README.md | 568 | | |-- multi-frontend.md # /multi-frontend - Frontend multi-service orchestration (НОВОЕ) | CODE |
| MEDIUM | docs/ru/README.md | 580 | | |-- orchestrate.md # /orchestrate - Предпочитайте dmux-workflows или multi-workflow | CODE |
| MEDIUM | docs/ru/README.md | 631 | | |-- go-microservice-CLAUDE.md # Реальный Go microservice (gRPC + PostgreSQL) | CODE |
| MEDIUM | docs/ru/README.md | 1301 | ### Поддержка multi-agent | COMMENT |
| MEDIUM | docs/ja-JP/README.md | 966 | | |-- orchestrate.md # /orchestrate - dmux-workflows または multi-workflow を推奨 | CODE |
| MEDIUM | docs/ja-JP/the-openclaw-guide.md | 451 | * [OWASP エージェントアプリケーションのトップ 10 セキュリティリスク (2026)](https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications- | COMMENT |
| MEDIUM | docs/ja-JP/SECURITY.md | 101 | - **OWASP Agentic Applications Top 10**: [genai.owasp.org](https://genai.owasp.org/resource/owasp-top-10-for-agentic-app | CODE |
| MEDIUM | docs/ja-JP/skills/flox-environments/SKILL.md | 488 | 以下のスキルは、より深い統合のために[Flox Claude Codeプラグイン](https://github.com/flox/flox-agentic)の一部として利用可能です: | STRING |
| MEDIUM | docs/ja-JP/skills/plan-orchestrate/SKILL.md | 7 | # plan-orchestrate - 日本語翻訳進行中 | COMMENT |
| MEDIUM⚡ | docs/ja-JP/skills/hexagonal-architecture/SKILL.md | 54 | ### Step 3: Implement the use case with pure orchestration | COMMENT |
| MEDIUM | docs/ja-JP/skills/agentic-os/SKILL.md | 249 | # ~/.config/systemd/user/agentic-daily-sync.service | COMMENT |
| MEDIUM | docs/ja-JP/skills/agentic-os/SKILL.md | 259 | # ~/.config/systemd/user/agentic-daily-sync.timer | COMMENT |
| MEDIUM⚡ | docs/zh-CN/the-security-guide.md | 177 | | OWASP Agentic Applications Top 10 | <https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/> | CODE |
| MEDIUM⚡ | docs/zh-CN/the-security-guide.md | 184 | | AI 网络犯罪激增 1500% | <https://www.hstoday.us/subject-matter-areas/cybersecurity/2026-global-threat-intelligence-report-hi | CODE |
| MEDIUM⚡ | docs/zh-CN/the-security-guide.md | 186 | | Dark Reading: 智能体攻击面 | <https://www.darkreading.com/threat-intelligence/2026-agentic-ai-attack-surface-poster-child> | | CODE |
| MEDIUM⚡ | docs/zh-CN/the-security-guide.md | 190 | | Agentic-Radar (SPLX-AI) | <https://github.com/splx-ai/agentic-radar> | | CODE |
| MEDIUM | docs/zh-CN/the-security-guide.md | 202 | | NVIDIA: 沙盒化智能体工作流 | <https://developer.nvidia.com/blog/practical-security-guidance-for-sandboxing-agentic-workflows/> | CODE |
| MEDIUM | docs/zh-CN/README.md | 461 | | |-- orchestrate.md # /orchestrate - 优先使用 dmux-workflows 或 multi-workflow | CODE |
| MEDIUM | docs/zh-CN/the-openclaw-guide.md | 451 | * [OWASP 智能体应用十大安全风险 (2026)](https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/) — Palo Al | COMMENT |
| MEDIUM | docs/zh-CN/SECURITY.md | 53 | * **OWASP Agentic Applications Top 10**:[genai.owasp.org](https://genai.owasp.org/resource/owasp-top-10-for-agentic-appl | COMMENT |
| MEDIUM | docs/architecture/evaluator-rag-prototype.md | 1 | # Evaluator RAG Prototype | COMMENT |
| MEDIUM | docs/es/SECURITY.md | 101 | - **OWASP Agentic Applications Top 10**: [genai.owasp.org](https://genai.owasp.org/resource/owasp-top-10-for-agentic-app | CODE |
| MEDIUM | docs/tr/SECURITY.md | 53 | - **OWASP Agentic Applications Top 10**: [genai.owasp.org](https://genai.owasp.org/resource/owasp-top-10-for-agentic-app | CODE |
| MEDIUM | docs/tr/agents/java-reviewer.md | 66 | ### MEDIUM -- Workflow ve State Machine (ödeme / event-driven kod) | COMMENT |
| MEDIUM | pi/core/skills/docker-patterns/SKILL.md | 503 | # BAD: Using docker compose in production without orchestration | COMMENT |
| MEDIUM | pi/core/skills/rails-patterns/SKILL.md | 106 | # Good: controller orchestrates, service does the work | COMMENT |
| MEDIUM | pi/core/skills/ecc-council/SKILL.md | 118 | ### 5. Synthesize with bias guardrails | COMMENT |
| MEDIUM⚡ | pi/core/skills/hexagonal-architecture/SKILL.md | 55 | ### Step 3: Implement the use case with pure orchestration | COMMENT |
| MEDIUM | pi/core/skills/swift-protocol-di-testing/SKILL.md | 182 | - Using `#if DEBUG` conditionals instead of proper dependency injection | CODE |
| MEDIUM | pi/core/skills/dotnet-patterns/SKILL.md | 3 | description: Idiomatic C# and .NET patterns, conventions, dependency injection, async/await, and best practices for buil | CODE |
| MEDIUM | .codex/user-config.example.toml | 10 | # https://developers.openai.com/codex/multi-agent | COMMENT |
| 24 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ecc_dashboard.py | 25 | CODE | |
| LOW | ecc_dashboard.py | 27 | CODE | |
| LOW | tests/test_docs_governance_audit.py | 1 | CODE | |
| LOW | …gents/skills/docs-governance/scripts/markdown_links.py | 3 | CODE | |
| LOW | .agents/skills/docs-governance/scripts/audit-docs.py | 4 | CODE | |
| LOW | integrations/aura/adapter.py | 23 | CODE | |
| LOW | integrations/aura/__init__.py | 16 | CODE | |
| LOW | integrations/aura/__init__.py | 16 | CODE | |
| LOW | integrations/aura/__init__.py | 16 | CODE | |
| LOW | integrations/aura/__init__.py | 16 | CODE | |
| LOW | integrations/aura/__init__.py | 16 | CODE | |
| LOW | integrations/aura/__init__.py | 16 | CODE | |
| LOW | integrations/aura/__init__.py | 16 | CODE | |
| LOW | integrations/aura/tests/test_adapter.py | 14 | CODE | |
| LOW | integrations/aura/tests/fixtures.py | 9 | CODE | |
| LOW | …/core/skills/docs-governance/scripts/markdown_links.py | 3 | CODE | |
| LOW | pi/core/skills/docs-governance/scripts/audit-docs.py | 4 | CODE | |
| LOW | scripts/hooks/insaits-security-monitor.py | 62 | CODE | |
| LOW | scripts/lib/ecc_dashboard_runtime.py | 6 | CODE | |
| LOW | skills/delivery-gate/hooks/quality-gate.py | 10 | CODE | |
| LOW | skills/docs-governance/scripts/markdown_links.py | 3 | CODE | |
| LOW | skills/docs-governance/scripts/audit-docs.py | 4 | CODE | |
| LOW | skills/taste-application/tests/test_provenance.py | 9 | CODE | |
| LOW | skills/taste-application/tests/test_pack.py | 3 | CODE | |
| LOW | skills/taste-application/tests/test_providers.py | 3 | CODE | |
| LOW | skills/taste-application/tests/test_apply.py | 3 | CODE | |
| LOW | skills/taste-application/tests/test_schema.py | 8 | CODE | |
| LOW | skills/taste-application/tests/test_interview.py | 3 | CODE | |
| LOW | skills/taste-application/tests/test_distill.py | 3 | CODE | |
| LOW | skills/taste-application/tests/test_offline_fixture.py | 3 | CODE | |
| LOW | skills/taste-application/tests/test_timeline_export.py | 7 | CODE | |
| LOW | skills/taste-application/tests/test_media_utilities.py | 85 | CODE | |
| LOW | skills/taste-application/tests/test_cli.py | 3 | CODE | |
| LOW | skills/taste-application/scripts/forge.py | 20 | CODE | |
| LOW | skills/taste-application/scripts/falapi.py | 21 | CODE | |
| LOW | skills/taste-application/scripts/falapi.py | 27 | CODE | |
| LOW | skills/taste-application/scripts/falapi.py | 28 | CODE | |
| LOW | skills/taste-application/scripts/falapi.py | 30 | CODE | |
| LOW | skills/taste-application/scripts/blender_prop.py | 37 | CODE | |
| LOW | skills/taste-application/scripts/mint3d.py | 34 | CODE | |
| LOW | skills/taste-application/scripts/mint3d.py | 40 | CODE | |
| LOW | skills/taste-application/scripts/distill.py | 23 | CODE | |
| LOW | skills/taste-application/scripts/pipeline.py | 25 | CODE | |
| LOW | skills/taste-application/scripts/mint.py | 15 | CODE | |
| LOW | skills/taste-application/scripts/verify.py | 32 | CODE | |
| LOW | skills/taste-application/scripts/resolve_ingest.py | 34 | CODE | |
| LOW | skills/taste-application/scripts/apply.py | 33 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/pack.py | 19 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/timeline.py | 9 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/resolve.py | 9 | CODE | |
| LOW | …ills/taste-application/scripts/tasteforge/interview.py | 10 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/__init__.py | 16 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/export.py | 14 | CODE | |
| LOW | …ls/taste-application/scripts/tasteforge/integration.py | 8 | CODE | |
| LOW | …ills/taste-application/scripts/tasteforge/providers.py | 17 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/cli.py | 8 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/distill.py | 13 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/assets.py | 8 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/workflow.py | 8 | CODE | |
| LOW | …lls/taste-application/scripts/tasteforge/provenance.py | 15 | CODE | |
| 90 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/lib/ecc_dashboard_runtime.py | 19 | except Exception: | CODE |
| HIGH | scripts/lib/ecc_dashboard_runtime.py | 26 | except Exception: | CODE |
| HIGH | scripts/lib/ecc_dashboard_runtime.py | 31 | except Exception: | CODE |
| HIGH | skills/delivery-gate/hooks/quality-gate.py | 146 | except (json.JSONDecodeError, TypeError, OSError): | CODE |
| HIGH | skills/videodb/scripts/ws_listener.py | 73 | except OSError: | CODE |
| HIGH | skills/videodb/scripts/ws_listener.py | 263 | except asyncio.CancelledError: | CODE |
| HIGH | skills/taste-application/tests/test_distill.py | 82 | except distill.ProviderDisabledError: | CODE |
| HIGH | skills/taste-application/scripts/mint3d.py | 253 | except falapi.FalError: | CODE |
| HIGH | skills/taste-application/scripts/distill.py | 101 | except json.JSONDecodeError: | CODE |
| HIGH | skills/taste-application/scripts/resolve_ingest.py | 106 | except ImportError: | CODE |
| HIGH | skills/taste-application/scripts/resolve_ingest.py | 388 | except Exception: | CODE |
| HIGH | skills/taste-application/scripts/tasteforge/workflow.py | 273 | except FileNotFoundError: | CODE |
| HIGH | skills/taste-application/scripts/tasteforge/workflow.py | 328 | except ValueError: | CODE |
| HIGH | skills/taste-application/scripts/taste/render3d.py | 270 | except Exception: | CODE |
| HIGH | skills/taste-application/scripts/taste/cadence.py | 123 | except Exception: | CODE |
| HIGH | skills/taste-application/scripts/taste/grade.py | 724 | except OSError: | CODE |
| HIGH | skills/continuous-learning-v2/scripts/instinct-cli.py | 41 | except Exception: | CODE |
| HIGH | skills/continuous-learning-v2/scripts/instinct-cli.py | 261 | except (subprocess.TimeoutExpired, FileNotFoundError): | CODE |
| HIGH | skills/continuous-learning-v2/scripts/instinct-cli.py | 348 | except (subprocess.TimeoutExpired, FileNotFoundError): | CODE |
| HIGH | skills/continuous-learning-v2/scripts/instinct-cli.py | 1059 | except OSError: | CODE |
| HIGH | skills/continuous-learning-v2/scripts/instinct-cli.py | 1562 | except FileNotFoundError: | CODE |
| HIGH | skills/taste-distillation/scripts/distill.py | 101 | except json.JSONDecodeError: | CODE |
| HIGH | skills/taste-distillation/scripts/taste/render3d.py | 270 | except Exception: | CODE |
| HIGH | skills/taste-distillation/scripts/taste/cadence.py | 123 | except Exception: | CODE |
| HIGH | skills/taste-distillation/scripts/taste/grade.py | 724 | except OSError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | docs/ja-JP/skills/django-security/SKILL.md | 393 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | docs/ja-JP/skills/django-tdd/SKILL.md | 243 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | docs/zh-CN/skills/django-security/SKILL.md | 394 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | docs/zh-CN/skills/django-tdd/SKILL.md | 244 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | pi/core/skills/django-security/SKILL.md | 396 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | pi/core/skills/django-security/SKILL.md | 440 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | pi/core/skills/django-tdd/SKILL.md | 245 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | .kiro/skills/django-security/SKILL.md | 394 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | skills/django-security/SKILL.md | 396 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | skills/django-security/SKILL.md | 440 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | skills/taste-application/tests/test_media_utilities.py | 190 | cc.DraftFolder.return_value.create_draft.return_value.save.assert_called_once() | CODE |
| CRITICAL | skills/django-tdd/SKILL.md | 245 | from django.core.exceptions import ValidationError | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ecc_dashboard.py | 924 | def update_widget_colors(widget): | CODE |
| LOW⚡ | ecc_dashboard.py | 927 | except Exception: | CODE |
| LOW⚡ | ecc_dashboard.py | 931 | except Exception: | CODE |
| LOW⚡ | ecc_dashboard.py | 937 | except Exception: | CODE |
| LOW | ecc_dashboard.py | 133 | except Exception: | CODE |
| LOW | ecc_dashboard.py | 207 | except Exception: | CODE |
| LOW | ecc_dashboard.py | 301 | except Exception: | CODE |
| LOW | ecc_dashboard.py | 365 | except Exception: | CODE |
| LOW | ecc_dashboard.py | 838 | except Exception as exc: | CODE |
| MEDIUM | docs/ja-JP/agents/python-reviewer.md | 351 | print("Error occurred") | CODE |
| LOW | docs/ja-JP/skills/videodb/SKILL.md | 181 | except Exception as e: | CODE |
| LOW | docs/ja-JP/skills/videodb/reference/search.md | 46 | except Exception as e: | CODE |
| LOW | docs/ja-JP/skills/redis-patterns/SKILL.md | 228 | except Exception: | STRING |
| LOW | docs/ja-JP/skills/windows-desktop-e2e/SKILL.md | 171 | except Exception: | CODE |
| LOW | docs/ja-JP/skills/windows-desktop-e2e/SKILL.md | 187 | except Exception as e: | CODE |
| LOW | docs/ja-JP/skills/windows-desktop-e2e/SKILL.md | 202 | except Exception: | CODE |
| LOW⚡ | docs/ja-JP/skills/windows-desktop-e2e/SKILL.md | 274 | except Exception: | CODE |
| LOW⚡ | docs/ja-JP/skills/windows-desktop-e2e/SKILL.md | 281 | except Exception: | CODE |
| LOW⚡ | docs/ja-JP/skills/windows-desktop-e2e/SKILL.md | 441 | except Exception: | CODE |
| LOW⚡ | docs/ja-JP/skills/windows-desktop-e2e/SKILL.md | 446 | except Exception: | CODE |
| LOW | docs/ja-JP/skills/fastapi-patterns/SKILL.md | 164 | except Exception: | CODE |
| LOW | docs/ja-JP/skills/evm-token-decimals/SKILL.md | 72 | except Exception: | CODE |
| LOW | docs/ja-JP/skills/python-patterns/SKILL.md | 462 | except Exception as e: | CODE |
| LOW | docs/zh-CN/skills/videodb/SKILL.md | 181 | except Exception as e: | CODE |
| LOW | docs/zh-CN/skills/videodb/reference/search.md | 46 | except Exception as e: | CODE |
| LOW | docs/zh-CN/skills/data-scraper-agent/SKILL.md | 506 | except Exception as e: | CODE |
| LOW | docs/zh-CN/skills/evm-token-decimals/SKILL.md | 72 | except Exception: | CODE |
| LOW | docs/zh-CN/skills/python-patterns/SKILL.md | 463 | except Exception as e: | CODE |
| LOW | docs/es/skills/python-patterns/SKILL.md | 462 | except Exception as e: | CODE |
| LOW | docs/tr/skills/python-patterns/SKILL.md | 463 | except Exception as e: | CODE |
| LOW | pi/core/skills/redis-patterns/SKILL.md | 229 | except Exception: | STRING |
| LOW | pi/core/skills/django-celery/SKILL.md | 329 | except Exception as exc: | CODE |
| LOW | pi/core/skills/fastapi-patterns/SKILL.md | 183 | except Exception: | CODE |
| MEDIUM | …/core/skills/agent-self-evaluation/scripts/evaluate.py | 373 | print(f"Error: output file '{path}' not found", file=sys.stderr) | CODE |
| MEDIUM | …/core/skills/agent-self-evaluation/scripts/evaluate.py | 400 | print("Error: no output to evaluate", file=sys.stderr) | CODE |
| LOW | pi/core/skills/python-patterns/SKILL.md | 464 | except Exception as e: | CODE |
| LOW | scripts/hooks/insaits-security-monitor.py | 221 | except Exception as exc: # Broad catch intentional: unknown SDK internals | CODE |
| LOW⚡ | scripts/lib/ecc_dashboard_runtime.py | 19 | except Exception: | CODE |
| LOW⚡ | scripts/lib/ecc_dashboard_runtime.py | 26 | except Exception: | CODE |
| LOW⚡ | scripts/lib/ecc_dashboard_runtime.py | 31 | except Exception: | CODE |
| LOW | .kiro/skills/fastapi-patterns/SKILL.md | 164 | except Exception: | CODE |
| LOW | .kiro/skills/python-patterns/SKILL.md | 91 | except Exception: | CODE |
| LOW | skills/videodb/SKILL.md | 174 | except Exception as e: | CODE |
| LOW | skills/videodb/scripts/ws_listener.py | 163 | except Exception as e: | CODE |
| LOW | skills/videodb/scripts/ws_listener.py | 207 | except Exception as e: | CODE |
| LOW | skills/videodb/reference/search.md | 46 | except Exception as e: | CODE |
| LOW | skills/redis-patterns/SKILL.md | 229 | except Exception: | STRING |
| LOW | skills/data-scraper-agent/SKILL.md | 515 | except Exception as e: | CODE |
| LOW | skills/windows-desktop-e2e/SKILL.md | 172 | except Exception: | CODE |
| LOW | skills/windows-desktop-e2e/SKILL.md | 188 | except Exception as e: | CODE |
| LOW | skills/windows-desktop-e2e/SKILL.md | 203 | except Exception: | CODE |
| LOW⚡ | skills/windows-desktop-e2e/SKILL.md | 275 | except Exception: | CODE |
| LOW⚡ | skills/windows-desktop-e2e/SKILL.md | 282 | except Exception: | CODE |
| LOW | skills/windows-desktop-e2e/SKILL.md | 401 | except Exception: | CODE |
| LOW⚡ | skills/windows-desktop-e2e/SKILL.md | 503 | except Exception: | CODE |
| LOW⚡ | skills/windows-desktop-e2e/SKILL.md | 508 | except Exception: | CODE |
| LOW | skills/taste-application/scripts/forge.py | 203 | except Exception: | CODE |
| LOW⚡ | skills/taste-application/scripts/falapi.py | 267 | except Exception: | CODE |
| LOW⚡ | skills/taste-application/scripts/falapi.py | 720 | except Exception: | CODE |
| LOW | skills/taste-application/scripts/falapi.py | 240 | except Exception: # pragma: no cover - defensive | CODE |
| 43 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .trae/uninstall.sh | 1 | #!/bin/bash | COMMENT |
| LOW | .trae/install.sh | 1 | #!/bin/bash | COMMENT |
| LOW | docker/gateguard-effectiveness/coverage.js | 1 | 'use strict'; | COMMENT |
| LOW | .opencode/plugins/ecc-hooks.ts | 221 | COMMENT | |
| LOW | .opencode/plugins/ecc-hooks.ts | 681 | } | COMMENT |
| LOW | ecc2/src/main.rs | 121 | /// Task description for the agent | COMMENT |
| LOW | ecc2/src/main.rs | 141 | #[arg(short, long)] | COMMENT |
| LOW | ecc2/src/main.rs | 161 | from_session: Option<String>, | COMMENT |
| LOW | ecc2/src/main.rs | 181 | }, | COMMENT |
| LOW | ecc2/src/main.rs | 201 | worktree: WorktreePolicyArgs, | COMMENT |
| LOW | ecc2/src/main.rs | 221 | check: bool, | COMMENT |
| LOW | ecc2/src/main.rs | 241 | #[arg(short, long)] | COMMENT |
| LOW | ecc2/src/main.rs | 261 | #[arg(short, long)] | COMMENT |
| LOW | ecc2/src/main.rs | 301 | /// Show worktree status for all sessions | COMMENT |
| LOW | ecc2/src/main.rs | 321 | /// Emit machine-readable JSON instead of the human summary | COMMENT |
| LOW | ecc2/src/main.rs | 361 | /// The chosen decision or direction | COMMENT |
| LOW | ecc2/src/main.rs | 521 | #[arg(short, long)] | COMMENT |
| LOW | ecc2/src/main.rs | 561 | } | COMMENT |
| LOW | ecc2/src/main.rs | 581 | profile: Option<String>, | COMMENT |
| LOW | ecc2/src/main.rs | 601 | target_url: Option<String>, | COMMENT |
| LOW | ecc2/src/main.rs | 621 | project: Option<String>, | COMMENT |
| LOW | ecc2/src/main.rs | 661 | #[derive(clap::Subcommand, Debug)] | COMMENT |
| LOW | ecc2/src/main.rs | 681 | #[arg(long)] | COMMENT |
| LOW | ecc2/src/main.rs | 701 | /// Preview detected jobs without creating ECC2 schedules | COMMENT |
| LOW | ecc2/src/main.rs | 721 | ImportEnv { | COMMENT |
| LOW | ecc2/src/main.rs | 741 | #[arg(long)] | COMMENT |
| LOW | ecc2/src/main.rs | 761 | /// Path to the legacy Hermes/OpenClaw workspace root | COMMENT |
| LOW | ecc2/src/main.rs | 801 | /// Short human summary | COMMENT |
| LOW | ecc2/src/main.rs | 821 | to: i64, | COMMENT |
| LOW | ecc2/src/main.rs | 841 | #[arg(long, default_value_t = 20)] | COMMENT |
| LOW | ecc2/src/main.rs | 861 | /// Optional source session ID or alias for provenance | COMMENT |
| LOW | ecc2/src/main.rs | 881 | details: Vec<String>, | COMMENT |
| LOW | ecc2/src/main.rs | 901 | #[arg(long)] | COMMENT |
| LOW | ecc2/src/main.rs | 921 | /// Maximum observations to retain per entity after compaction | COMMENT |
| LOW | ecc2/src/main.rs | 941 | json: bool, | COMMENT |
| LOW | tests/lib/session-bridge.test.js | 141 | // suffix; with concurrent writers it raced over a shared tmp path, | COMMENT |
| LOW | tests/skills/sanitizer-unreadable.test.js | 1 | // Regression coverage for the opensource-sanitizer Step 7 "Unreadable Files" pass. | COMMENT |
| LOW | workflows/orch-review.workflow.js | 21 | // } | COMMENT |
| LOW | agents/opensource-sanitizer.md | 161 | ```bash | COMMENT |
| LOW | agents/performance-optimizer.md | 321 | # 1. Take heap snapshot | COMMENT |
| LOW | docs/ja-JP/agents/performance-optimizer.md | 321 | # 1. ヒープスナップショットを取得 | COMMENT |
| LOW | docs/ja-JP/skills/homelab-vlan-segmentation/SKILL.md | 281 | ``` | COMMENT |
| LOW | docs/ja-JP/skills/git-workflow/SKILL.md | 301 | ``` | COMMENT |
| LOW | docs/ja-JP/skills/rust-testing/SKILL.md | 361 | /// assert_eq!(add(-1, 1), 0); | COMMENT |
| LOW | docs/ja-JP/skills/homelab-pihole-dns/SKILL.md | 241 | COMMENT | |
| LOW | docs/zh-CN/skills/git-workflow/SKILL.md | 301 | git merge feature/user-auth --no-commit --no-ff | COMMENT |
| LOW | docs/zh-CN/skills/rust-testing/SKILL.md | 361 | /// assert_eq!(add(-1, 1), 0); | COMMENT |
| LOW | docs/es/skills/docker-patterns/SKILL.md | 341 | docker network inspect <project>_default | COMMENT |
| LOW | docs/es/skills/rust-testing/SKILL.md | 361 | /// assert_eq!(add(-1, 1), 0); | COMMENT |
| LOW | docs/tr/skills/docker-patterns/SKILL.md | 341 | docker network inspect <project>_default | COMMENT |
| LOW | docs/tr/skills/rust-testing/SKILL.md | 361 | /// assert_eq!(add(-1, 1), 0); | COMMENT |
| LOW | pi/core/skills/docker-patterns/SKILL.md | 501 | COMMENT | |
| LOW | pi/core/skills/git-workflow/SKILL.md | 301 | # Automatic merge failed; fix conflicts and then commit the result. | COMMENT |
| LOW | pi/core/skills/rust-testing/SKILL.md | 361 | /// assert_eq!(add(2, 3), 5); | COMMENT |
| LOW | .codex/user-config.example.toml | 1 | #:schema https://developers.openai.com/codex/config-schema.json | COMMENT |
| LOW | .codex/user-config.example.toml | 81 | # [mcp_servers.fal-ai] | COMMENT |
| LOW | .codex/config.toml | 1 | #:schema https://developers.openai.com/codex/config-schema.json | COMMENT |
| LOW | hooks/README.md | 121 | COMMENT | |
| LOW | scripts/gan-harness.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/build-pi-core.js | 261 | // internal hostnames (localhost, docker service names like "api" or "db") | COMMENT |
| 57 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/opencode-tools.test.js | 215 | spawnSync("git", ["config", "user.email", "test@test.com"], { cwd: projectDir }) | CODE |
| LOW | tests/test_taste_transport.py | 155 | self.assertIn(b"placeholder", self.dest.read_bytes()) | CODE |
| LOW | tests/hooks/detect-project-worktree.test.js | 178 | GIT_AUTHOR_EMAIL: 'test@test.com', | CODE |
| LOW | tests/hooks/detect-project-worktree.test.js | 180 | GIT_COMMITTER_EMAIL: 'test@test.com' | CODE |
| LOW | tests/hooks/detect-project-worktree.test.js | 252 | GIT_AUTHOR_EMAIL: 'test@test.com', | CODE |
| LOW | tests/hooks/detect-project-worktree.test.js | 254 | GIT_COMMITTER_EMAIL: 'test@test.com' | CODE |
| LOW | tests/hooks/observe-subdirectory-detection.test.js | 81 | GIT_AUTHOR_EMAIL: 'test@test.com', | CODE |
| LOW | tests/hooks/observe-subdirectory-detection.test.js | 83 | GIT_COMMITTER_EMAIL: 'test@test.com', | CODE |
| LOW | docs/ja-JP/agents/e2e-runner.md | 42 | agent-browser fill @e2 "user@example.com" # 参照で入力を埋める | CODE |
| LOW | docs/ja-JP/agents/database-reviewer.md | 175 | SELECT email, name FROM users WHERE email = 'user@example.com'; | CODE |
| LOW | docs/ja-JP/rules/angular/testing.md | 147 | cy.get('[data-cy=email]').type('user@example.com'); | CODE |
| LOW | docs/ja-JP/commands/go-test.md | 74 | {"simple email", "user@example.com", false}, | CODE |
| LOW⚡ | docs/ja-JP/skills/kotlin-testing/SKILL.md | 73 | validateEmail("user@example.com").shouldBeSuccess("user@example.com") | CODE |
| LOW | docs/ja-JP/skills/csharp-testing/SKILL.md | 91 | [InlineData("user@example.com", true)] | CODE |
| LOW | docs/ja-JP/skills/django-verification/SKILL.md | 145 | echo "from apps.users.models import User; User.objects.create_superuser('admin@example.com', 'admin')" | python manage.p | CODE |
| LOW | docs/ja-JP/skills/fsharp-testing/SKILL.md | 119 | [<InlineData("user@example.com", true)>] | CODE |
| LOW | docs/ja-JP/skills/django-tdd/SKILL.md | 124 | email='admin@example.com', | CODE |
| LOW | docs/ja-JP/skills/django-tdd/SKILL.md | 260 | email='admin@example.com', | CODE |
| LOW | docs/zh-CN/commands/cpp-test.md | 69 | auto result = validate_email("user@example.com"); | CODE |
| LOW | docs/zh-CN/commands/go-test.md | 75 | {"simple email", "user@example.com", false}, | CODE |
| LOW⚡ | docs/zh-CN/skills/kotlin-testing/SKILL.md | 73 | validateEmail("user@example.com").shouldBeSuccess("user@example.com") | CODE |
| LOW | docs/zh-CN/skills/csharp-testing/SKILL.md | 91 | [InlineData("user@example.com", true)] | CODE |
| LOW | docs/zh-CN/skills/django-verification/SKILL.md | 158 | echo "from apps.users.models import User; User.objects.create_superuser('admin@example.com', 'admin')" | python manage.p | CODE |
| LOW | docs/zh-CN/skills/django-tdd/SKILL.md | 125 | email='admin@example.com', | CODE |
| LOW | docs/zh-CN/skills/django-tdd/SKILL.md | 261 | email='admin@example.com', | CODE |
| LOW | docs/zh-TW/agents/e2e-runner.md | 42 | agent-browser fill @e2 "user@example.com" # 依 ref 填入輸入 | CODE |
| LOW | docs/zh-TW/agents/database-reviewer.md | 172 | SELECT email, name FROM users WHERE email = 'user@example.com'; | CODE |
| LOW | docs/ko-KR/commands/go-test.md | 74 | {"단순 이메일", "user@example.com", false}, | CODE |
| LOW | docs/pt-BR/commands/go-test.md | 74 | {"simple email", "user@example.com", false}, | CODE |
| LOW | docs/es/commands/go-test.md | 65 | {"email simple", "user@example.com", false}, | CODE |
| LOW | docs/es/skills/kotlin-testing/SKILL.md | 73 | validateEmail("user@example.com").shouldBeSuccess("user@example.com") | CODE |
| LOW | docs/tr/commands/go-test.md | 74 | {"basit e-posta", "user@example.com", false}, | CODE |
| LOW | docs/tr/skills/kotlin-testing/SKILL.md | 61 | validateEmail("user@example.com").shouldBeSuccess("user@example.com") | CODE |
| LOW | pi/core/commands/cpp-test.md | 68 | auto result = validate_email("user@example.com"); | CODE |
| LOW | pi/core/commands/go-test.md | 74 | {"simple email", "user@example.com", false}, | CODE |
| LOW⚡ | pi/core/skills/kotlin-testing/SKILL.md | 74 | validateEmail("user@example.com").shouldBeSuccess("user@example.com") | CODE |
| LOW | pi/core/skills/csharp-testing/SKILL.md | 92 | [InlineData("user@example.com", true)] | CODE |
| LOW | pi/core/skills/react-testing/SKILL.md | 84 | await user.type(screen.getByLabelText("Email"), "user@example.com"); | CODE |
| LOW | pi/core/skills/react-testing/SKILL.md | 87 | expect(onSubmit).toHaveBeenCalledWith({ email: "user@example.com" }); | CODE |
| LOW | pi/core/skills/django-verification/SKILL.md | 155 | echo "from apps.users.models import User; User.objects.create_superuser('admin@example.com', 'admin')" | python manage.p | CODE |
| LOW | …ore/skills/angular-developer/references/e2e-testing.md | 29 | cy.get('[data-cy=email]').type('user@example.com'); | CODE |
| LOW | …ore/skills/angular-developer/references/e2e-testing.md | 44 | await page.getByLabel('Email').fill('user@example.com'); | CODE |
| LOW | pi/core/skills/fsharp-testing/SKILL.md | 120 | [<InlineData("user@example.com", true)>] | CODE |
| LOW | pi/core/skills/django-tdd/SKILL.md | 126 | email='admin@example.com', | CODE |
| LOW | pi/core/skills/django-tdd/SKILL.md | 262 | email='admin@example.com', | CODE |
| LOW | rules/angular/testing.md | 147 | cy.get('[data-cy=email]').type('user@example.com'); | CODE |
| LOW | rules/react/testing.md | 63 | await user.type(screen.getByLabelText("Email"), "user@example.com"); | CODE |
| LOW | rules/react/testing.md | 66 | expect(handleSubmit).toHaveBeenCalledWith({ email: "user@example.com" }); | CODE |
| LOW | commands/cpp-test.md | 68 | auto result = validate_email("user@example.com"); | CODE |
| LOW | commands/go-test.md | 74 | {"simple email", "user@example.com", false}, | CODE |
| LOW | .kiro/skills/python-testing/SKILL.md | 123 | ("user@example.com", True), | CODE |
| LOW | .kiro/skills/python-testing/SKILL.md | 220 | service.send("user@example.com", "Hello") | CODE |
| LOW⚡ | .kiro/skills/kotlin-testing/SKILL.md | 73 | validateEmail("user@example.com").shouldBeSuccess("user@example.com") | CODE |
| LOW | .kiro/skills/react-testing/SKILL.md | 83 | await user.type(screen.getByLabelText("Email"), "user@example.com"); | CODE |
| LOW | .kiro/skills/react-testing/SKILL.md | 86 | expect(onSubmit).toHaveBeenCalledWith({ email: "user@example.com" }); | CODE |
| LOW | .kiro/skills/golang-testing/SKILL.md | 33 | email: "user@example.com", | CODE |
| LOW | .kiro/skills/golang-testing/SKILL.md | 166 | email := "user@example.com" | CODE |
| LOW⚡ | skills/kotlin-testing/SKILL.md | 74 | validateEmail("user@example.com").shouldBeSuccess("user@example.com") | CODE |
| LOW | skills/csharp-testing/SKILL.md | 92 | [InlineData("user@example.com", true)] | CODE |
| LOW | …/continuous-learning-v2/scripts/test_parse_instinct.py | 215 | trigger: "placeholder" | CODE |
| 9 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/ci/agent-security-hardening-skill.test.js | 49 | print(json.dumps(results)) | CODE |
| HIGH | tests/scripts/ecc-dashboard.test.js | 62 | print(json.dumps({'argv': argv, 'kwargs': kwargs})) | CODE |
| HIGH | tests/scripts/ecc-dashboard.test.js | 79 | print(json.dumps({'argv': argv, 'kwargs': kwargs})) | CODE |
| HIGH | tests/scripts/ecc-dashboard.test.js | 97 | print(json.dumps({'error': str(exc)})) | CODE |
| HIGH | tests/scripts/ecc-dashboard.test.js | 129 | print(json.dumps(window.calls)) | CODE |
| HIGH⚡ | scripts/eval-harness.js | 72 | print(harness.retrospective.groupCapsules(rest)); | CODE |
| HIGH⚡ | scripts/eval-harness.js | 77 | print(result); | CODE |
| HIGH⚡ | scripts/eval-harness.js | 81 | print(harness.capsule.writeProjection(dir)); | CODE |
| HIGH⚡ | scripts/eval-harness.js | 86 | print(harness.capsule.exportBundle(dir, rest[1])); | CODE |
| HIGH | scripts/eval-harness.js | 115 | print(receipt); | CODE |
| HIGH | scripts/eval-harness.js | 125 | print(result); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ecc_dashboard.py | 44 | CODE | |
| LOW | ecc_dashboard.py | 108 | CODE | |
| LOW | ecc_dashboard.py | 188 | CODE | |
| LOW | ecc_dashboard.py | 237 | CODE | |
| LOW | tests/skills/test_approval_delivery_claims.py | 212 | CODE | |
| LOW | …gents/skills/docs-governance/scripts/markdown_links.py | 77 | CODE | |
| LOW | .agents/skills/docs-governance/scripts/audit-docs.py | 329 | CODE | |
| LOW | .agents/skills/docs-governance/scripts/audit-docs.py | 519 | CODE | |
| LOW | …/core/skills/docs-governance/scripts/markdown_links.py | 77 | CODE | |
| LOW | pi/core/skills/docs-governance/scripts/audit-docs.py | 329 | CODE | |
| LOW | pi/core/skills/docs-governance/scripts/audit-docs.py | 519 | CODE | |
| LOW | hooks/hermes/config-protection.py | 46 | CODE | |
| LOW | scripts/hooks/insaits-security-monitor.py | 95 | CODE | |
| LOW | skills/delivery-gate/hooks/quality-gate.py | 80 | CODE | |
| LOW | skills/delivery-gate/hooks/quality-gate.py | 129 | CODE | |
| LOW | skills/videodb/scripts/ws_listener.py | 78 | CODE | |
| LOW | skills/videodb/scripts/ws_listener.py | 147 | CODE | |
| LOW | skills/docs-governance/scripts/markdown_links.py | 77 | CODE | |
| LOW | skills/docs-governance/scripts/audit-docs.py | 329 | CODE | |
| LOW | skills/docs-governance/scripts/audit-docs.py | 519 | CODE | |
| LOW | skills/taste-application/tests/test_media_utilities.py | 398 | CODE | |
| LOW | skills/taste-application/scripts/forge.py | 49 | CODE | |
| LOW | skills/taste-application/scripts/falapi.py | 339 | CODE | |
| LOW | skills/taste-application/scripts/falapi.py | 377 | CODE | |
| LOW | skills/taste-application/scripts/falapi.py | 680 | CODE | |
| LOW | skills/taste-application/scripts/falapi.py | 738 | CODE | |
| LOW | skills/taste-application/scripts/falapi.py | 348 | CODE | |
| LOW | skills/taste-application/scripts/workflow_graphs.py | 62 | CODE | |
| LOW | skills/taste-application/scripts/workflow_graphs.py | 73 | CODE | |
| LOW | skills/taste-application/scripts/distill.py | 80 | CODE | |
| LOW | skills/taste-application/scripts/distill.py | 115 | CODE | |
| LOW | skills/taste-application/scripts/distill.py | 143 | CODE | |
| LOW | skills/taste-application/scripts/resolve_ingest.py | 250 | CODE | |
| LOW | skills/taste-application/scripts/resolve_ingest.py | 323 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/workflow.py | 59 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/workflow.py | 126 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/workflow.py | 523 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/workflow.py | 127 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/workflow.py | 197 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/contract.py | 37 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/contract.py | 94 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/contract.py | 117 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/contract.py | 173 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/contract.py | 307 | CODE | |
| LOW | skills/taste-application/scripts/tasteforge/schema.py | 36 | CODE | |
| LOW | …s/taste-application/scripts/tasteforge/media/glitch.py | 13 | CODE | |
| LOW | …s/taste-application/scripts/tasteforge/media/glitch.py | 100 | CODE | |
| LOW | skills/taste-application/scripts/taste/falapi.py | 339 | CODE | |
| LOW | skills/taste-application/scripts/taste/falapi.py | 377 | CODE | |
| LOW | skills/taste-application/scripts/taste/falapi.py | 680 | CODE | |
| LOW | skills/taste-application/scripts/taste/falapi.py | 738 | CODE | |
| LOW | skills/taste-application/scripts/taste/falapi.py | 348 | CODE | |
| LOW | skills/skill-comply/scripts/runner.py | 186 | CODE | |
| LOW | skills/skill-comply/scripts/report.py | 13 | CODE | |
| LOW | skills/continuous-learning-v2/scripts/instinct-cli.py | 286 | CODE | |
| LOW | skills/continuous-learning-v2/scripts/instinct-cli.py | 516 | CODE | |
| LOW | skills/continuous-learning-v2/scripts/instinct-cli.py | 570 | CODE | |
| LOW | skills/continuous-learning-v2/scripts/instinct-cli.py | 886 | CODE | |
| LOW | skills/continuous-learning-v2/scripts/instinct-cli.py | 1075 | CODE | |
| LOW | skills/continuous-learning-v2/scripts/instinct-cli.py | 1428 | CODE | |
| 14 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/hooks/pre-bash-commit-quality.test.js | 464 | for (const v of ['process.env.API_KEY', '${API_KEY}', '<YOUR_KEY>', 'REPLACE_ME', 'CHANGEME', 'YOUR_API_KEY', '']) { | CODE |
| HIGH | docs/ja-JP/skills/x-api/SKILL.md | 53 | export X_API_KEY="your-api-key" | CODE |
| HIGH | docs/ja-JP/skills/videodb/reference/api-reference.md | 11 | api_key="your-api-key", # or set VIDEO_DB_API_KEY env var | CODE |
| HIGH | docs/ja-JP/skills/flox-environments/SKILL.md | 318 | # 使用方法: API_KEY="<your-api-key>" flox activate | STRING |
| HIGH | docs/ja-JP/skills/nutrient-document-processing/SKILL.md | 142 | "NUTRIENT_DWS_API_KEY": "YOUR_API_KEY", | CODE |
| HIGH | docs/zh-CN/skills/x-api/SKILL.md | 53 | export X_API_KEY="your-api-key" | CODE |
| HIGH | docs/zh-CN/skills/videodb/reference/api-reference.md | 11 | api_key="your-api-key", # or set VIDEO_DB_API_KEY env var | CODE |
| HIGH | docs/zh-CN/skills/nutrient-document-processing/SKILL.md | 143 | "NUTRIENT_DWS_API_KEY": "YOUR_API_KEY", | CODE |
| HIGH | skills/videodb/reference/api-reference.md | 11 | api_key="your-api-key", # or set VIDEO_DB_API_KEY env var | CODE |
| HIGH | skills/flox-environments/SKILL.md | 319 | # Use: API_KEY="<your-api-key>" flox activate | STRING |
| HIGH | skills/nutrient-document-processing/SKILL.md | 146 | "NUTRIENT_DWS_API_KEY": "YOUR_API_KEY", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | scripts/gan-harness.sh | 2 | # gan-harness.sh — GAN-Style Generator-Evaluator Harness Orchestrator | COMMENT |
| MEDIUM⚡ | scripts/gan-harness.sh | 5 | # https://www.anthropic.com/engineering/harness-design-long-running-apps | COMMENT |
| MEDIUM⚡ | scripts/gan-harness.sh | 8 | # ./scripts/gan-harness.sh "Build a music streaming dashboard" | COMMENT |
| MEDIUM⚡ | scripts/gan-harness.sh | 9 | # GAN_MAX_ITERATIONS=10 GAN_PASS_THRESHOLD=8.0 ./scripts/gan-harness.sh "Build a Kanban board" | COMMENT |
| MEDIUM | .kiro/agents/architect.json | 15 | "prompt": "You are a senior software architect specializing in scalable, maintainable system design.\n\n## Your Role\n | CODE |
| MEDIUM | .kiro/agents/tdd-guide.json | 16 | "prompt": "You are a Test-Driven Development (TDD) specialist who ensures all code is developed test-first with compre | CODE |
| MEDIUM⚡ | .kiro/agents/kotlin-reviewer.json | 15 | "prompt": "You are a senior Kotlin and Android/KMP code reviewer ensuring idiomatic, safe, and maintainable code.\n\n# | CODE |
| MEDIUM | .kiro/agents/database-reviewer.json | 15 | "prompt": "# Database Reviewer\n\nYou are an expert PostgreSQL database specialist focused on query optimization, sche | CODE |
| MEDIUM | .kiro/agents/e2e-runner.json | 16 | "prompt": "# E2E Test Runner\n\nYou are an expert end-to-end testing specialist. Your mission is to ensure critical us | CODE |
| MEDIUM | .kiro/agents/fsharp-reviewer.json | 15 | "prompt": "You are a senior F# code reviewer ensuring high standards of idiomatic functional F# code and best practice | CODE |
| MEDIUM | .kiro/agents/harness-optimizer.json | 14 | "prompt": "You are the harness optimizer.\n\n## Mission\n\nRaise agent completion quality by improving harness configu | CODE |
| MEDIUM | .kiro/agents/harness-optimizer.json | 14 | "prompt": "You are the harness optimizer.\n\n## Mission\n\nRaise agent completion quality by improving harness configu | CODE |
| MEDIUM | skills/taste-application/scripts/verify.py | 94 | # robust one and report an error that is really a definition mismatch. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .trae/uninstall.sh | 50 | # Check if ~ was specified (or expanded to $HOME) | COMMENT |
| LOW | .trae/uninstall.sh | 57 | # Check if we're already inside a .trae or .trae-cn directory | COMMENT |
| LOW | .trae/install.sh | 81 | # Check if ~ was specified (or expanded to $HOME) | COMMENT |
| LOW | .trae/install.sh | 88 | # Check if we're already inside a .trae or .trae-cn directory | COMMENT |
| LOW⚡ | skills/continuous-learning-v2/agents/start-observer.sh | 14 | # start-observer.sh status # Check if observer is running | COMMENT |
| LOW | skills/continuous-learning-v2/agents/start-observer.sh | 181 | # Check if observer is disabled in config | COMMENT |
| LOW | skills/continuous-learning-v2/agents/start-observer.sh | 188 | # Check if already running | COMMENT |
| LOW | skills/continuous-learning-v2/hooks/observe.sh | 261 | # Check if parsing succeeded | COMMENT |
| LOW | skills/continuous-learning-v2/hooks/observe.sh | 524 | # Check if observer is now running after cleanup | COMMENT |
| LOW | skills/continuous-learning-v2/scripts/instinct-cli.py | 1616 | # Check if already global | COMMENT |
| LOW | .codebuddy/uninstall.sh | 39 | # Check if ~ was specified (or expanded to $HOME) | COMMENT |
| LOW | .codebuddy/uninstall.sh | 46 | # Check if we're already inside a .codebuddy directory | COMMENT |
| LOW | .codebuddy/install.sh | 91 | # Check if ~ was specified (or expanded to $HOME) | COMMENT |
| LOW | .codebuddy/install.sh | 98 | # Check if we're already inside a .codebuddy directory | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/lib/project-detect.js | 373 | // Step 1: Detect languages | COMMENT |
| LOW | scripts/lib/project-detect.js | 389 | // Step 2: Detect frameworks based on markers and dependencies | COMMENT |
| LOW | scripts/lib/project-detect.js | 449 | // Step 3: Determine primary type | COMMENT |
| LOW | .kiro/agents/chief-of-staff.json | 16 | "prompt": "You are a personal chief of staff that manages all communication channels — email, Slack, LINE, Messenger, | CODE |
| LOW⚡ | .kiro/agents/kotlin-reviewer.json | 15 | "prompt": "You are a senior Kotlin and Android/KMP code reviewer ensuring idiomatic, safe, and maintainable code.\n\n# | CODE |
| LOW⚡ | skills/skill-comply/scripts/run.py | 64 | # Step 1: Generate compliance spec | COMMENT |
| LOW⚡ | skills/skill-comply/scripts/run.py | 69 | # Step 2: Generate scenarios | COMMENT |
| LOW | skills/skill-comply/scripts/run.py | 91 | # Step 3: Execute scenarios | COMMENT |
| LOW | skills/skill-comply/scripts/run.py | 102 | # Step 4: Generate report | COMMENT |
| LOW⚡ | skills/skill-comply/scripts/grader.py | 127 | # Step 1: LLM classifies all events in one batch call | COMMENT |
| LOW⚡ | skills/skill-comply/scripts/grader.py | 136 | # Step 2: Check temporal ordering (deterministic) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | ecc_dashboard.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | integrations/aura/adapter.py | 32 | __all__ = [ | CODE |
| LOW | integrations/aura/__init__.py | 26 | __all__ = [ | CODE |
| LOW | skills/taste-application/scripts/tasteforge/pack.py | 27 | __all__ = ["StylePack", "load"] | CODE |
| LOW | skills/taste-application/scripts/tasteforge/timeline.py | 13 | __all__ = [ | CODE |
| LOW | …ills/taste-application/scripts/tasteforge/interview.py | 18 | __all__ = ["Question", "QUESTIONS", "conduct"] | CODE |
| LOW | skills/taste-application/scripts/tasteforge/__init__.py | 20 | __all__ = [ | CODE |
| LOW⚡ | skills/taste-application/scripts/tasteforge/export.py | 31 | __all__ = [ | CODE |
| LOW | skills/taste-application/scripts/tasteforge/distill.py | 21 | __all__ = [ | CODE |
| LOW | skills/taste-application/scripts/tasteforge/apply.py | 22 | __all__ = ["ProviderDisabledError", "apply_local", "apply_generate", "plan_shots"] | CODE |
| LOW | skills/taste-application/scripts/taste/timeline.py | 43 | __all__ = [ | CODE |
| LOW | skills/skill-comply/tests/test_runner.py | 167 | def _set_home(monkeypatch: pytest.MonkeyPatch, home: str) -> None: | CODE |
| LOW | skills/skill-comply/scripts/run.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | skills/skill-comply/scripts/runner.py | 102 | def _setup_sandbox(sandbox_dir: Path, scenario: Scenario) -> None: | CODE |
| LOW | skills/skill-comply/scripts/classifier.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | skills/continuous-learning-v2/scripts/instinct-cli.py | 431 | def _update_registry(pid: str, pname: str, proot: str, premote: str) -> None: | CODE |
| LOW | skills/taste-distillation/scripts/taste/timeline.py | 43 | __all__ = [ | CODE |
| LOW | src/llm/tools/executor.py | 21 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .trae/uninstall.sh | 6 | # Usage: | COMMENT |
| LOW | .trae/install.sh | 6 | # Usage: | COMMENT |
| LOW⚡ | scripts/gan-harness.sh | 7 | # Usage: | COMMENT |
| LOW | scripts/codex/install-global-git-hooks.sh | 5 | # Usage: | COMMENT |
| LOW | .kiro/install.sh | 6 | # Usage: | COMMENT |
| LOW | skills/ios-icon-gen/scripts/iconify_gen.sh | 6 | # Usage: | COMMENT |
| LOW⚡ | skills/continuous-learning-v2/agents/start-observer.sh | 10 | # Usage: | COMMENT |
| LOW | skills/frontend-slides/scripts/export-pdf.sh | 4 | # Usage: | COMMENT |
| LOW | .codebuddy/uninstall.sh | 6 | # Usage: | COMMENT |
| LOW | .codebuddy/install.sh | 6 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | .kiro/agents/code-reviewer.json | 15 | "prompt": "You are a senior code reviewer ensuring high standards of code quality and security.\n\n## Review Process\n | CODE |
| HIGH | .kiro/agents/code-reviewer.json | 15 | "prompt": "You are a senior code reviewer ensuring high standards of code quality and security.\n\n## Review Process\n | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | …/continuous-learning-v2/scripts/test_parse_instinct.py | 735 | # Create a project dir with instincts | COMMENT |
| MEDIUM | skills/frontend-slides/scripts/export-pdf.sh | 369 | # Create a minimal package.json so npm install works | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | skills/taste-application/scripts/forge.py | 49 | CODE | |
| LOW | skills/taste-application/scripts/mint3d.py | 87 | CODE | |
| LOW | skills/taste-application/scripts/apply.py | 284 | CODE | |
| LOW | …s/taste-application/scripts/tasteforge/media/stills.py | 37 | CODE | |
| LOW | skills/taste-application/scripts/taste/grade.py | 397 | CODE | |
| LOW | skills/taste-distillation/scripts/taste/grade.py | 397 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/context-profiles/complex-corpus-v2.json | 63 | "src/cli.js": "'use strict';\n\n// TODO: implement per README. The contract is run(argv, state) -> { code, stdout, s | CODE |
| LOW | docker/context-profiles/complex-corpus-v2.json | 79 | "src/selector.js": "'use strict';\n\n// TODO: implement per README. Known vector: name() -> 0x06fdde03.\nfunction fu | CODE |
| LOW | …plex-eval/cases2/keccak-selector/files/src/selector.js | 3 | // TODO: implement per README. Known vector: name() -> 0x06fdde03. | COMMENT |
| LOW | …rofiles/complex-eval/cases2/forge-cli/files/src/cli.js | 3 | // TODO: implement per README. The contract is run(argv, state) -> { code, stdout, stderr }. | COMMENT |