ARIS ⚔️ (Auto-Research-In-Sleep) — Lightweight Markdown-only skills for autonomous ML research: cross-model review loops, idea discovery, and experiment automation. No framework, no lock-in — works with Claude Code, Codex, OpenClaw, or any LLM agent.
This report summarizes scanner evidence for wanshuiyin/Auto-claude-code-research-in-sleep, a Python project with 17,246 GitHub stars. SynthScan examined 269,101 lines of code across 671 source files, recording 2365 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 15.9 (Elevated 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? 1677 finding(s).
Are imports declared and package/API names verified? 163 finding(s).
Are wrappers, guards, and repeated structures necessary? 1222 finding(s).
Which changes need focused human review? 2365 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 2365 distinct pattern matches across 22 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 | SETUP_GUIDE.md | 11 | ## Step 1: Install Required Tools | COMMENT |
| LOW | SETUP_GUIDE.md | 49 | ## Step 2: Create a Research Project | COMMENT |
| LOW | SETUP_GUIDE.md | 61 | ## Step 3: Install Skills and Configure MCP | COMMENT |
| LOW | SETUP_GUIDE.md | 141 | ## Step 4: Configure GPU Server | COMMENT |
| LOW | SETUP_GUIDE.md | 196 | ## Step 5: Initialize Research Wiki | COMMENT |
| LOW | SETUP_GUIDE.md | 223 | ## Step 6: Verify | COMMENT |
| LOW⚡ | tests/test_minimax_integration.py | 33 | # Step 1: Initialize | COMMENT |
| LOW⚡ | tests/test_minimax_integration.py | 42 | # Step 2: Notification (no response expected) | COMMENT |
| LOW⚡ | tests/test_minimax_integration.py | 49 | # Step 3: List tools | COMMENT |
| LOW⚡ | docs/OPENROUTER_GUIDE.md | 75 | ### Step 1: Clone ARIS | COMMENT |
| LOW⚡ | docs/OPENROUTER_GUIDE.md | 82 | ### Step 2: Install Python Dependencies | COMMENT |
| LOW⚡ | docs/OPENROUTER_GUIDE.md | 88 | ### Step 3: Install ARIS Skills with the Standard Installer | COMMENT |
| LOW⚡ | docs/OPENROUTER_GUIDE.md | 97 | ### Step 4: Deploy the llm-chat MCP Server | COMMENT |
| LOW⚡ | docs/OPENROUTER_GUIDE.md | 106 | ### Step 5: Configure `~/.claude/settings.json` | COMMENT |
| LOW | docs/integrations/FEISHU.md | 28 | ### Step 1: Create a Feishu group bot | COMMENT |
| LOW | docs/integrations/FEISHU.md | 35 | ### Step 2: Create config file | COMMENT |
| LOW | docs/integrations/FEISHU.md | 46 | ### Step 3: Test it | COMMENT |
| LOW | docs/integrations/FEISHU.md | 79 | ### Step 1: Complete Push setup above first (you'll keep both) | COMMENT |
| LOW | docs/integrations/FEISHU.md | 81 | ### Step 2: Create a Feishu app on [open.feishu.cn](https://open.feishu.cn/app) | COMMENT |
| LOW | docs/integrations/FEISHU.md | 103 | ### Step 3: Deploy the bridge | COMMENT |
| LOW | docs/integrations/FEISHU.md | 142 | ### Step 4: Save event config | COMMENT |
| LOW | docs/integrations/FEISHU.md | 148 | ### Step 5: Test private chat | COMMENT |
| LOW | docs/integrations/FEISHU.md | 164 | ### Step 6: Update ARIS config | COMMENT |
| LOW | skills/meta-apply/SKILL.md | 56 | ### Step 0: Load staging + resolve the helper | COMMENT |
| LOW | skills/meta-apply/SKILL.md | 69 | ### Step 1: Jury-at-landing for each requested patch | COMMENT |
| LOW | skills/meta-apply/SKILL.md | 80 | ### Step 2: Land the survivors (Write/Edit only — never Bash) | COMMENT |
| LOW | skills/meta-apply/SKILL.md | 100 | ### Step 3: Report | COMMENT |
| LOW | skills/paper-write/SKILL.md | 170 | ### Step 0: Backup and Clean | COMMENT |
| LOW | skills/paper-write/SKILL.md | 176 | ### Step 1: Initialize Project | COMMENT |
| LOW | skills/paper-write/SKILL.md | 191 | ### Step 2: Generate math_commands.tex | COMMENT |
| LOW | skills/paper-write/SKILL.md | 204 | ### Step 3: Write Each Section | COMMENT |
| LOW | skills/paper-write/SKILL.md | 307 | ### Step 4: Build Bibliography | COMMENT |
| LOW | skills/paper-write/SKILL.md | 459 | ### Step 5: Scientific Writing Quality Pass (5 audit passes) | COMMENT |
| LOW | skills/paper-write/SKILL.md | 522 | ### Step 6: Cross-Review with REVIEWER_MODEL | COMMENT |
| LOW | skills/paper-write/SKILL.md | 557 | ### Step 7: Reverse Outline Test (from Research-Paper-Writing-Skills) | COMMENT |
| LOW | skills/paper-write/SKILL.md | 567 | ### Step 8: Final Checks | COMMENT |
| LOW | skills/specification-writing/SKILL.md | 36 | ### Step 1: Initialize Specification Structure | COMMENT |
| LOW⚡ | skills/specification-writing/SKILL.md | 51 | ### Step 2: Write Title (发明名称) | COMMENT |
| LOW⚡ | skills/specification-writing/SKILL.md | 59 | ### Step 3: Write Technical Field (技术领域) | COMMENT |
| LOW⚡ | skills/specification-writing/SKILL.md | 65 | ### Step 4: Write Background (背景技术) | COMMENT |
| LOW | skills/specification-writing/SKILL.md | 78 | ### Step 5: Write Summary (发明内容) | COMMENT |
| LOW | skills/specification-writing/SKILL.md | 99 | ### Step 6: Write Brief Description of Drawings (附图说明) | COMMENT |
| LOW | skills/specification-writing/SKILL.md | 112 | ### Step 7: Write Detailed Description (具体实施方式) | COMMENT |
| LOW | skills/specification-writing/SKILL.md | 125 | ### Step 8: Write Abstract (摘要) | COMMENT |
| LOW | skills/specification-writing/SKILL.md | 141 | ### Step 9: Claim Support Verification | COMMENT |
| LOW | skills/specification-writing/SKILL.md | 153 | ### Step 10: Cross-Model Review | COMMENT |
| LOW | skills/specification-writing/SKILL.md | 175 | ### Step 11: Output | COMMENT |
| LOW | skills/proof-writer/SKILL.md | 40 | ### Step 1: Gather Proof Context | COMMENT |
| LOW | skills/proof-writer/SKILL.md | 57 | ### Step 2: Normalize the Claim | COMMENT |
| LOW | skills/proof-writer/SKILL.md | 85 | ### Step 3: Feasibility Triage | COMMENT |
| LOW | skills/proof-writer/SKILL.md | 100 | ### Step 4: Build a Dependency Map | COMMENT |
| LOW | skills/proof-writer/SKILL.md | 119 | ### Step 5: Write the Proof Document | COMMENT |
| LOW | skills/proof-writer/SKILL.md | 150 | ### Step 6: Final Verification | COMMENT |
| LOW | skills/paper-claim-audit/SKILL.md | 57 | ### Step 1: Collect Files (Executor — Claude) | COMMENT |
| LOW | skills/paper-claim-audit/SKILL.md | 87 | ### Step 2: Fresh Reviewer Audit (GPT-6-Astra — NEW thread, no reply) | COMMENT |
| LOW | skills/paper-claim-audit/SKILL.md | 166 | ### Step 3: Write Report (Executor — Claude) | COMMENT |
| LOW | skills/paper-claim-audit/SKILL.md | 206 | ### Step 4: Print Summary | COMMENT |
| LOW | skills/serverless-modal/SKILL.md | 92 | ### Step 1: Analyze Task → Estimate Cost → Choose GPU | COMMENT |
| LOW | skills/serverless-modal/SKILL.md | 105 | ### Step 2: Generate Modal Launcher | COMMENT |
| LOW⚡ | skills/serverless-modal/SKILL.md | 242 | ### Step 3: Run | COMMENT |
| 675 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/smart_update_copilot.sh | 220 | # ─── New-skill confirmation state (declined list + group catalog lookup) ────── | COMMENT |
| MEDIUM⚡ | tools/overleaf_setup.sh | 17 | # ── Refuse to run from a non-interactive context (i.e. inside an agent) ──────── | COMMENT |
| MEDIUM⚡ | tools/overleaf_setup.sh | 25 | # ── Args ────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/overleaf_setup.sh | 51 | # ── Read token securely (no echo, never enters shell history) ───────────────── | COMMENT |
| MEDIUM⚡ | tools/overleaf_setup.sh | 67 | # ── Clone with token in URL (transient) ─────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tools/overleaf_setup.sh | 76 | # ── Immediately strip token from remote URL ─────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tools/overleaf_setup.sh | 80 | # ── Configure credential helper ─────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tools/overleaf_setup.sh | 90 | # ── Prime credential storage so future pull/push is auth-free ───────────────── | COMMENT |
| MEDIUM⚡ | tools/overleaf_setup.sh | 99 | # ── Clear token from memory ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tools/overleaf_setup.sh | 102 | # ── Install hard-block pre-commit hook ──────────────────────────────────────── | COMMENT |
| MEDIUM | tools/overleaf_setup.sh | 120 | # ── Verify token was actually stripped from remote ──────────────────────────── | COMMENT |
| MEDIUM | tools/overleaf_setup.sh | 128 | # ── Set local commit identity (best-effort) ─────────────────────────────────── | COMMENT |
| MEDIUM | tools/overleaf_setup.sh | 139 | # ── Final report ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/watchdog.py | 65 | # ── Task registration ──────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/watchdog.py | 153 | # ── Session checks (tmux + screen) ────────────────────────────── | COMMENT |
| MEDIUM | tools/watchdog.py | 171 | # ── GPU checks ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tools/watchdog.py | 186 | # ── File size checks ───────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tools/watchdog.py | 200 | # ── Task checking logic ───────────────────────────────────────── | COMMENT |
| MEDIUM | tools/watchdog.py | 288 | # ── Loop-liveness check (detect-only) ─────────────────────────── | COMMENT |
| MEDIUM | tools/watchdog.py | 355 | # ── Status output ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/watchdog.py | 406 | # ── Main loop ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/watchdog.py | 456 | # ── CLI ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/smart_update.sh | 39 | # ─── Parse arguments ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/smart_update.sh | 94 | # ─── Resolve paths ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/smart_update.sh | 227 | # ─── Stale-pristine detection ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/smart_update.sh | 241 | # ─── New-skill confirmation state (declined list + group catalog lookup) ────── | COMMENT |
| MEDIUM | tools/convert_skills_to_llm_chat.py | 29 | # ── Codex → llm-chat text replacements ────────────────────────────────── | COMMENT |
| MEDIUM | tools/extract_paper_style.py | 139 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/extract_paper_style.py | 141 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/extract_paper_style.py | 234 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/extract_paper_style.py | 236 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/extract_paper_style.py | 437 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/extract_paper_style.py | 439 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/extract_paper_style.py | 449 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/extract_paper_style.py | 451 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/verify_paper_audits.sh | 37 | # ─── Constants ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_paper_audits.sh | 52 | # ─── Args ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_paper_audits.sh | 90 | # ─── Helpers ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_paper_audits.sh | 135 | # ─── Per-audit verification ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_paper_audits.sh | 419 | # ─── Run all checks ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_paper_audits.sh | 426 | # ─── Write report ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_paper_audits.sh | 454 | # ─── Human-readable summary to stderr ───────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_paper_audits.sh | 476 | # ─── Exit ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/overleaf_audit.sh | 19 | # 1. Working tree (excluding .git/ and node_modules/) ───────────────────────── | COMMENT |
| MEDIUM | tools/overleaf_audit.sh | 39 | # 2. Git remote URLs of all sub-repos ───────────────────────────────────────── | COMMENT |
| MEDIUM | tools/overleaf_audit.sh | 58 | # 3. Git history (current repo only — full --all scan can be expensive) ─────── | COMMENT |
| MEDIUM | tools/overleaf_audit.sh | 76 | # 4. Common credential-storage files ────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_papers.py | 104 | # ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_papers.py | 106 | # ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_papers.py | 135 | # ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_papers.py | 137 | # ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_papers.py | 157 | # ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_papers.py | 159 | # ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_papers.py | 198 | # ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_papers.py | 200 | # ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_papers.py | 232 | # ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_papers.py | 234 | # ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_papers.py | 294 | # ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_papers.py | 296 | # ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/verify_papers.py | 343 | # ────────────────────────────────────────────────────────────────────────── | COMMENT |
| 245 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/idea_discovery_gate.py | 80 | def _review_provenance_reason(name: str, phase: dict, state: dict) -> str | None: | CODE |
| LOW | tools/copilot_native_evidence.py | 338 | def _validate_challenge_prefix(challenge: dict[str, Any]) -> tuple[Path, bytes, list[EventRecord]]: | CODE |
| LOW | tools/copilot_native_evidence.py | 404 | def validate_challenge_artifact(path: Path) -> dict[str, Any]: | CODE |
| LOW | tools/copilot_native_evidence.py | 428 | def _is_rubber_duck_invocation(event: dict[str, Any], nonce: str) -> bool: | CODE |
| LOW | tools/copilot_native_evidence.py | 628 | def validate_evidence_artifact(path: Path) -> dict[str, Any]: | CODE |
| LOW | tools/deepxiv_fetch.py | 39 | def _raise_for_failed_process(proc: subprocess.CompletedProcess[str]) -> None: | CODE |
| LOW | tools/verify_papers.py | 309 | def _verify_arxiv_batch_with_retry(batch: list[str]) -> dict[str, str]: | CODE |
| LOW | tools/research_wiki.py | 606 | def fetch_arxiv_metadata_batch(arxiv_ids: list[str], timeout: float = 30.0) -> dict: | CODE |
| LOW | tools/research_wiki.py | 676 | def _find_existing_page_by_arxiv(wiki_root: Path, arxiv_id: str) -> Path | None: | CODE |
| LOW | tools/generate_codex_claude_review_overrides.py | 194 | def add_artifact_review_tools(text: str) -> str: | STRING |
| LOW | tests/test_watchdog_loop.py | 32 | def test_register_loop_requires_fields(self): | CODE |
| LOW | tests/test_watchdog_loop.py | 38 | def test_register_loop_normalizes_and_stamps(self): | CODE |
| LOW | tests/test_watchdog_loop.py | 50 | def test_training_still_requires_session_backcompat(self): | CODE |
| LOW⚡ | tests/test_watchdog_loop.py | 90 | def test_absent_within_grace_pending(self): | CODE |
| LOW⚡ | tests/test_watchdog_loop.py | 97 | def test_absent_past_grace_missing(self): | CODE |
| LOW⚡ | tests/test_watchdog_loop.py | 104 | def test_missing_epoch_failsafe_missing_not_pending(self): | CODE |
| LOW⚡ | tests/test_watchdog_loop.py | 111 | def test_completed_status_suppresses_stale(self): | CODE |
| LOW⚡ | tests/test_watchdog_loop.py | 119 | def test_runstate_all_phases_accepted_completed(self): | CODE |
| LOW⚡ | tests/test_watchdog_loop.py | 128 | def test_unparseable_json_fresh_is_ok_not_stale(self): | CODE |
| LOW⚡ | tests/test_watchdog_loop.py | 134 | def test_detect_only_no_subprocess(self): | CODE |
| LOW | tests/test_codex_install_update.py | 41 | def test_install_aris_codex_dry_run_has_no_project_writes(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_codex_install_update.py | 68 | def test_install_aris_codex_reconcile_and_uninstall(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_codex_install_update.py | 154 | def test_install_aris_codex_uninstall_uses_manifest_repo_root(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_codex_install_update.py | 194 | def test_install_aris_codex_reconcile_removes_stale_links_from_manifest_repo(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_codex_install_update.py | 246 | def test_install_aris_codex_reconcile_accepts_already_deleted_stale_link(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_codex_install_update.py | 286 | def test_smart_update_codex_copy_install_and_symlink_refusal(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_codex_install_update.py | 351 | def test_smart_update_codex_local_uses_default_upstream(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_codex_install_update.py | 362 | def test_smart_update_codex_allows_unrelated_symlinked_skills(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_codex_install_update.py | 375 | def test_smart_update_codex_refuses_aris_symlinked_skills(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_codex_install_update.py | 388 | def test_smart_update_codex_ignores_local_only_shared_reference_failures(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_codex_install_update.py | 415 | def test_smart_update_codex_local_respects_overlay(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_codex_install_update.py | 446 | def test_smart_update_codex_overlay_updates_existing_base_copy(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_codex_install_update.py | 489 | def test_smart_update_codex_overlay_preserves_custom_local_copy(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tests/test_research_wiki_claims.py | 33 | def test_creates_page_with_proof_status_and_provenance(self): | CODE |
| LOW⚡ | tests/test_research_wiki_claims.py | 43 | def test_slug_honored_verbatim(self): | CODE |
| LOW⚡ | tests/test_research_wiki_claims.py | 47 | def test_empirical_status_rejected(self): | CODE |
| LOW⚡ | tests/test_research_wiki_claims.py | 57 | def test_all_proof_statuses_accepted(self): | CODE |
| LOW⚡ | tests/test_research_wiki_claims.py | 62 | def test_dedup_skips_without_update_flag(self): | CODE |
| LOW⚡ | tests/test_research_wiki_claims.py | 67 | def test_update_on_exist_refreshes_status(self): | CODE |
| LOW | tests/test_research_wiki_claims.py | 80 | def test_uninitialized_wiki_raises(self): | CODE |
| LOW | tests/test_claude_review_artifact_tools.py | 62 | def test_overlay_has_review_blocks_to_check(self) -> None: | CODE |
| LOW | tests/test_claude_review_artifact_tools.py | 66 | def test_tools_opt_in_tracks_artifact_grounded_prompts(self) -> None: | CODE |
| LOW | tests/test_claude_review_artifact_tools.py | 77 | def test_opt_in_blocks_request_the_readonly_preset(self) -> None: | CODE |
| LOW | tests/test_claude_review_artifact_tools.py | 84 | def test_expected_skills_opt_in(self) -> None: | CODE |
| LOW⚡ | tests/test_claude_review_artifact_tools.py | 113 | def test_default_disables_all_tools(self) -> None: | CODE |
| LOW⚡ | tests/test_claude_review_artifact_tools.py | 120 | def test_explicit_readonly_tools_are_forwarded(self) -> None: | CODE |
| LOW⚡ | tests/test_claude_review_artifact_tools.py | 124 | def test_explicit_empty_string_still_disables_tools(self) -> None: | CODE |
| LOW⚡ | tests/test_claude_review_artifact_tools.py | 129 | def test_reviewer_stays_in_plan_permission_mode(self) -> None: | CODE |
| LOW⚡ | tests/test_claude_review_artifact_tools.py | 134 | def test_tools_are_resent_on_every_resumed_call(self) -> None: | CODE |
| LOW⚡ | tests/test_claude_review_artifact_tools.py | 143 | def test_checked_in_overlay_matches_generator_output(self) -> None: | CODE |
| LOW | tests/test_reviewer_pins.py | 79 | def test_all_fresh_reviewer_blocks_pin_model_and_floor_effort(): | CODE |
| LOW⚡ | tests/test_http_reviewer_fallback_contract.py | 13 | def test_http_fallback_is_explicit_opt_in_and_pre_dispatch_only(): | CODE |
| LOW⚡ | tests/test_http_reviewer_fallback_contract.py | 22 | def test_http_fallback_keeps_ambiguous_codex_failures_closed(): | CODE |
| LOW⚡ | tests/test_http_reviewer_fallback_contract.py | 28 | def test_http_fallback_requires_primary_artifacts_and_cross_family_identity(): | CODE |
| LOW⚡ | tests/test_http_reviewer_fallback_contract.py | 34 | def test_http_fallback_preserves_multi_round_and_rebuttal_continuity(): | CODE |
| LOW⚡ | tests/test_http_reviewer_fallback_contract.py | 39 | def test_auto_review_loop_relabels_the_backend_that_actually_ran(): | CODE |
| LOW | tests/test_provenance.py | 16 | def test_model_family_mapping(): | CODE |
| LOW | tests/test_provenance.py | 36 | def test_collision_fails_closed(): | CODE |
| LOW | tests/test_provenance.py | 49 | def test_assert_cross_family_accepts_different(): | CODE |
| LOW | tests/test_provenance.py | 56 | def test_assert_cross_family_rejects_same(): | CODE |
| 629 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/watchdog.py | 341 | except (json.JSONDecodeError, OSError): | CODE |
| HIGH | tools/watchdog.py | 231 | except Exception: | CODE |
| HIGH | tools/semantic_scholar_fetch.py | 99 | except Exception: | CODE |
| HIGH | tools/skill_picker.py | 146 | except curses.error: | CODE |
| HIGH | tools/copilot_native_evidence.py | 195 | except FileNotFoundError: | CODE |
| HIGH | aris-monitor/widget.py | 91 | except tk.TclError: | CODE |
| HIGH | aris-monitor/widget.py | 95 | except tk.TclError: | CODE |
| HIGH | aris-monitor/widget.py | 108 | except tk.TclError: | CODE |
| HIGH | aris-monitor/widget.py | 150 | except Exception: | CODE |
| HIGH | aris-monitor/widget.py | 213 | except tk.TclError: | CODE |
| HIGH | aris-monitor/widget.py | 232 | except (tk.TclError, RuntimeError): | CODE |
| HIGH | aris-monitor/widget.py | 243 | except Exception: | CODE |
| HIGH | aris-monitor/widget.py | 145 | except Exception: | CODE |
| HIGH | aris-monitor/widget.py | 189 | except Exception: | CODE |
| HIGH | aris-monitor/widget.py | 219 | except tk.TclError: | CODE |
| HIGH | aris-monitor/ticker.py | 73 | except Exception: | CODE |
| HIGH | tests/test_provenance.py | 45 | except ValueError: | CODE |
| HIGH | tests/test_provenance.py | 67 | except ValueError: | CODE |
| HIGH | tests/test_provenance.py | 88 | except ValueError: | CODE |
| HIGH | tests/test_provenance.py | 100 | except ValueError: | CODE |
| HIGH | tests/test_provenance.py | 113 | except ValueError: | CODE |
| HIGH | tests/test_provenance.py | 253 | except ValueError: | CODE |
| HIGH | tests/test_provenance.py | 169 | except ValueError: | CODE |
| HIGH | tests/test_manual_review_integration.py | 159 | except (json.JSONDecodeError, ValueError, OSError): | CODE |
| HIGH | tests/test_manual_review_integration.py | 157 | except: | CODE |
| HIGH | tests/test_forensics_gate.py | 126 | except SystemExit: | CODE |
| HIGH | tests/test_forensics_gate.py | 135 | except SystemExit: | CODE |
| HIGH | tests/test_forensics_gate.py | 143 | except SystemExit: | CODE |
| HIGH | tests/test_forensics_gate.py | 169 | except SystemExit: | CODE |
| HIGH | tests/test_forensics_gate.py | 245 | except SystemExit: | CODE |
| HIGH | tests/test_forensics_gate.py | 254 | except SystemExit: | CODE |
| HIGH | tests/test_forensics_gate.py | 296 | except SystemExit: | CODE |
| HIGH | tests/test_forensics_gate.py | 302 | except SystemExit: | CODE |
| HIGH | tests/test_forensics_gate.py | 307 | except SystemExit: | CODE |
| HIGH | tests/test_forensics_gate.py | 315 | except SystemExit: | CODE |
| HIGH | tests/test_forensics_gate.py | 322 | except SystemExit: | CODE |
| HIGH | tests/test_forensics_gate.py | 456 | except SystemExit: | CODE |
| HIGH | tests/test_forensics_gate.py | 470 | except SystemExit: | CODE |
| HIGH | skills/paper-poster-html/scripts/asset_check.py | 343 | except ValueError: | CODE |
| HIGH | skills/paper-poster-html/scripts/asset_check.py | 350 | except ValueError: | CODE |
| HIGH | skills/paper-poster-html/scripts/style_check.py | 1159 | except (TypeError, ValueError): | CODE |
| HIGH | skills/paper-poster-html/scripts/_posterly/render.py | 139 | except Exception: | CODE |
| HIGH | skills/figure-spec/scripts/figure_renderer.py | 648 | except (FileNotFoundError, subprocess.TimeoutExpired): | CODE |
| HIGH | skills/figure-spec/scripts/figure_renderer.py | 657 | except Exception: | CODE |
| HIGH | skills/skills-codex/render-html/scripts/render_html.py | 766 | except ValueError: | CODE |
| HIGH | skills/skills-codex/render-html/scripts/render_html.py | 783 | except Exception: | CODE |
| HIGH | skills/skills-codex/render-html/scripts/render_html.py | 781 | except ValueError: | CODE |
| HIGH | skills/render-html/scripts/render_html.py | 829 | try: | CODE |
| HIGH | skills/render-html/scripts/render_html.py | 846 | except ValueError: | CODE |
| HIGH | skills/render-html/scripts/render_html.py | 844 | try: | CODE |
| HIGH | mcp-servers/gemini-review/server.py | 142 | except OSError: | CODE |
| HIGH | mcp-servers/gemini-review/server.py | 248 | except OSError: | CODE |
| HIGH | mcp-servers/gemini-review/server.py | 406 | except OSError: | CODE |
| HIGH | mcp-servers/gemini-review/server.py | 155 | except (OSError, AttributeError): | CODE |
| HIGH | mcp-servers/gemini-review/server.py | 1192 | except OSError: | CODE |
| HIGH | mcp-servers/gemini-review/server.py | 949 | except OSError: | CODE |
| HIGH | mcp-servers/gemini-review/server.py | 1358 | except json.JSONDecodeError: | CODE |
| HIGH | mcp-servers/antigravity-exec/server.py | 64 | except OSError: | CODE |
| HIGH | mcp-servers/antigravity-exec/server.py | 256 | except ProcessLookupError: | CODE |
| HIGH | mcp-servers/grok-exec/server.py | 65 | except OSError: | CODE |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tools/verify_papers.py | 41 | {"id": "p1", "arxiv_id": "2307.03172", "doi": null, "title": "Lost in the Middle"}, | STRING |
| HIGH⚡ | tools/verify_papers.py | 42 | {"id": "p2", "arxiv_id": null, "doi": "10.1016/...", "title": "AgentAI"}, | STRING |
| HIGH⚡ | tools/verify_papers.py | 43 | {"id": "p3", "arxiv_id": null, "doi": null, "title": "Some Paper"} | STRING |
| HIGH | tools/verify_papers.py | 56 | {"id": "p3", "status": "unverified", "method": null, "reason": "no_arxiv_no_doi_no_s2_match"}, | STRING |
| HIGH | tools/verify_papers.py | 57 | {"id": "p4", "status": "verify_pending", "method": null, "reason": "transient_api_failure"} | STRING |
| HIGH⚡ | tests/test_research_wiki_helper_resolution.py | 42 | cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1 | CODE |
| HIGH⚡ | tests/test_research_wiki_helper_resolution.py | 43 | ARIS_REPO="${ARIS_REPO:-$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null)}" | CODE |
| HIGH⚡ | tests/test_research_wiki_helper_resolution.py | 45 | ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true | CODE |
| HIGH⚡ | tests/test_research_wiki_helper_resolution.py | 52 | python3 "$WIKI_SCRIPT" init research-wiki || exit 1 | CODE |
| HIGH⚡ | tests/test_research_wiki_helper_resolution.py | 53 | test -f research-wiki/query_pack.md || exit 1 | CODE |
| HIGH⚡ | tests/test_research_wiki_helper_resolution.py | 54 | test -f research-wiki/log.md || exit 1 | CODE |
| HIGH⚡ | tests/test_research_wiki_helper_resolution.py | 55 | test -f research-wiki/graph/edges.jsonl || exit 1 | CODE |
| HIGH | tests/test_install_aris_replace_link.py | 7 | `2>/dev/null || true`), and the pattern matched the name against field 2 (kind) | STRING |
| HIGH⚡ | tests/test_iteration_log.py | 78 | # omitted direction → field absent (not null) | COMMENT |
| HIGH | tests/test_codex_image2_server.py | 82 | < "processId": null, | CODE |
| HIGH | tests/test_idea_creator_query_pack_scan.py | 212 | assert f".aris/{manifest} 2>/dev/null) || true" in text | STRING |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 873 | while (n && n.nodeType === 1) { | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 876 | if (n.hasAttribute && n.hasAttribute('data-color-exempt')) return true; | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 877 | if (n.getAttribute && n.getAttribute('data-source') === 'paper') | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 879 | const comp = n.getAttribute && n.getAttribute('data-component'); | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 881 | if (n.classList && n.classList.contains('qr-block')) return true; | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 920 | colors.push({prop: 'color', rgba: cs.color}); | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 921 | colors.push({prop: 'background-color', rgba: cs.backgroundColor}); | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 922 | colors.push({prop: 'border-top-color', rgba: cs.borderTopColor}); | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 923 | colors.push({prop: 'border-right-color', rgba: cs.borderRightColor}); | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 924 | colors.push({prop: 'border-bottom-color', rgba: cs.borderBottomColor}); | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 925 | colors.push({prop: 'border-left-color', rgba: cs.borderLeftColor}); | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 926 | colors.push({prop: 'fill', rgba: cs.fill}); | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 927 | colors.push({prop: 'stroke', rgba: cs.stroke}); | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 932 | if (!m || m.a < 0.5) return null; // transparent-ish: not a dark slab | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 932 | if (!m || m.a < 0.5) return null; // transparent-ish: not a dark slab | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 938 | if (!mm) return null; | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/style_check.py | 940 | if (p.length < 3) return null; | CODE |
| HIGH | skills/paper-poster-html/scripts/style_check.py | 900 | const onscreen = r.width > 0 && r.height > 0; | CODE |
| HIGH | skills/paper-poster-html/scripts/style_check.py | 908 | if (L !== null && L < 0.18) { | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/_posterly/render.py | 97 | "|| (window.MathJax && Object.keys(window.MathJax).length > 0))" | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/_posterly/render.py | 105 | "() => !!(window.MathJax && window.MathJax.startup " | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/_posterly/render.py | 121 | f" ? MathJax.typesetPromise() : null))" | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/_posterly/render.py | 136 | "() => document.fonts && document.fonts.ready " | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/_posterly/render.py | 159 | " const txt = document.body && document.body.innerText || '';" | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/_posterly/render.py | 164 | " return {has_mjx, has_tex: has_dollar || has_ddollar " | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/_posterly/render.py | 165 | " || has_paren || has_brack};" | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/_posterly/polish.py | 62 | figures.push({ | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/_posterly/polish.py | 71 | natural_w: img.naturalWidth || 0, | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/_posterly/polish.py | 72 | natural_h: img.naturalHeight || 0, | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/_posterly/polish.py | 87 | figures.push({ | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/_posterly/polish.py | 96 | natural_w: img.naturalWidth || 0, | CODE |
| HIGH⚡ | skills/paper-poster-html/scripts/_posterly/polish.py | 97 | natural_h: img.naturalHeight || 0, | CODE |
| HIGH | skills/paper-poster-html/scripts/_posterly/polish.py | 111 | if (!txt || txt.length > 80) return; | CODE |
| HIGH | skills/paper-poster-html/scripts/_posterly/polish.py | 113 | orphans.push({ | CODE |
| HIGH | skills/paper-poster-html/scripts/_posterly/polish.py | 133 | const gapPx = parseFloat(cs.rowGap || cs.gap || '0') || 0; | CODE |
| HIGH | skills/paper-poster-html/scripts/_posterly/polish.py | 144 | cols.push({ | CODE |
| HIGH | skills/paper-poster-html/scripts/_posterly/polish.py | 164 | if (jc.indexOf('space') !== -1 || jc === 'center' | CODE |
| HIGH | skills/paper-poster-html/scripts/_posterly/polish.py | 178 | while (el && el !== card) { | CODE |
| HIGH | skills/paper-poster-html/scripts/_posterly/polish.py | 202 | if (r && r.height > 0 && r.bottom > maxB) maxB = r.bottom; | CODE |
| HIGH | skills/paper-poster-html/scripts/_posterly/polish.py | 224 | cards.push({ | CODE |
| HIGH | skills/paper-poster-html/scripts/_posterly/polish.py | 244 | if (!parent || seenFlexBr.has(parent)) return; | CODE |
| HIGH | skills/paper-poster-html/scripts/_posterly/polish.py | 248 | flexbr.push({ | CODE |
| HIGH | skills/experiment-queue/scripts/queue_manager.py | 34 | "completed": null, | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 238 | - **2026-09-28** —  📚 **Real papers stop being reported | CODE |
| MEDIUM | README.md | 294 | - **2026-05-02** —  🛠️🔗 **Tools-infrastructure migration s | CODE |
| MEDIUM | tools/research_wiki.py | 343 | # skip the scaffold placeholder an un-enriched page still carries | COMMENT |
| MEDIUM | tools/arxiv_fetch.py | 287 | # Defensive aliases — models frequently hallucinate `get` / `fetch` | COMMENT |
| MEDIUM | tools/meta_opt/check_ready.sh | 58 | # Model-delta trigger (harness diet): a model bump makes existing scaffolding a | COMMENT |
| MEDIUM | docs/tutorials/agentic_rl_tutorial.html | 328 | <li><a href="#1-直觉从-rlhf-到-agentic-rl">§1 直觉:从 RLHF 到 Agentic RL</a> | CODE |
| MEDIUM | docs/tutorials/agentic_rl_tutorial.html | 332 | <li><a href="#13-agentic-rl-与三类-rl-邻居的关系">1.3 Agentic RL 与三类 RL 邻居的关系</a></li> | CODE |
| MEDIUM | docs/tutorials/agentic_rl_tutorial.html | 370 | <li><a href="#6-specific-algorithms代表性-agentic-rl-papers">§6 Specific algorithms(代表性 Agentic RL papers)</a> | CODE |
| MEDIUM | docs/tutorials/agentic_rl_tutorial.html | 412 | <li><a href="#91-agentic-rl-的七宗罪">9.1 Agentic RL 的"七宗罪"</a></li> | CODE |
| MEDIUM | docs/tutorials/kl_divergence_rlhf_tutorial_en.html | 744 | <pre><code class="language-python"># Per-token KL with action mask (chat / agentic RL setting) | CODE |
| MEDIUM | docs/tutorials/self_evolving_agents_tutorial.html | 417 | <li><a href="#127-hallucination-compounding独立-reviewer-也可能共幻觉">12.7 Hallucination Compounding(独立 reviewer 也可能共幻觉)</a></l | CODE |
| MEDIUM | docs/tutorials/self_evolving_agents_tutorial_en.md | 900 | ### 12.7 Hallucination Compounding (independent reviewers can co-hallucinate) | COMMENT |
| MEDIUM⚡ | …cs/tutorials/multi_agent_long_horizon_tutorial_en.html | 331 | <li><a href="#12-multi-agent-vs-long-horizon-vs-agentic">1.2 multi-agent vs long-horizon vs agentic</a></li> | CODE |
| MEDIUM⚡ | …cs/tutorials/multi_agent_long_horizon_tutorial_en.html | 335 | <li><a href="#2-core-multi-agent-collaboration-paradigms">§2 Core multi-agent collaboration paradigms</a> | CODE |
| MEDIUM⚡ | …cs/tutorials/multi_agent_long_horizon_tutorial_en.html | 338 | <li><a href="#22-autogen-groupchat--a-general-multi-agent-framework">2.2 AutoGen: GroupChat / a general multi-agent fram | CODE |
| MEDIUM⚡ | …cs/tutorials/multi_agent_long_horizon_tutorial_en.html | 344 | <li><a href="#3-multi-agent-debate-from-society-of-mind-to-modern-implementations">§3 Multi-agent debate: from Society o | CODE |
| MEDIUM⚡ | …cs/tutorials/multi_agent_long_horizon_tutorial_en.html | 405 | <li><a href="#10-engineering-practice-subagent-orchestration--budget-tracking">§10 Engineering practice: subagent orches | CODE |
| MEDIUM⚡ | …cs/tutorials/multi_agent_long_horizon_tutorial_en.html | 409 | <li><a href="#111-cost-model-for-multi-agent-collaboration">11.1 Cost model for multi-agent collaboration</a></li> | CODE |
| MEDIUM⚡ | …cs/tutorials/multi_agent_long_horizon_tutorial_en.html | 416 | <li><a href="#121-multi-agent-vs-single-agent--reflection">12.1 Multi-agent vs single-agent + reflection</a></li> | CODE |
| MEDIUM | docs/tutorials/multi_agent_long_horizon_tutorial.md | 50 | ### 1.2 multi-agent vs long-horizon vs agentic | COMMENT |
| MEDIUM | docs/tutorials/multi_agent_long_horizon_tutorial.md | 73 | ## §2 multi-agent 协作核心范式 | COMMENT |
| MEDIUM | docs/tutorials/multi_agent_long_horizon_tutorial.md | 95 | ### 2.2 AutoGen:GroupChat / 通用 multi-agent 框架 | COMMENT |
| MEDIUM | docs/tutorials/multi_agent_long_horizon_tutorial.md | 198 | ## §3 multi-agent debate:从 Society of Mind 到现代实现 | COMMENT |
| MEDIUM | docs/tutorials/multi_agent_long_horizon_tutorial.md | 945 | ## §10 工程实践:subagent orchestration + budget tracking | COMMENT |
| MEDIUM | docs/tutorials/multi_agent_long_horizon_tutorial.md | 1008 | ### 11.1 multi-agent 协作 cost 模型 | COMMENT |
| MEDIUM | docs/tutorials/multi_agent_long_horizon_tutorial.md | 1060 | ### 12.1 multi-agent vs single-agent + reflection | COMMENT |
| MEDIUM | docs/tutorials/kl_divergence_rlhf_tutorial_en.md | 676 | # Per-token KL with action mask (chat / agentic RL setting) | COMMENT |
| MEDIUM⚡ | docs/tutorials/multi_agent_long_horizon_tutorial.html | 331 | <li><a href="#12-multi-agent-vs-long-horizon-vs-agentic">1.2 multi-agent vs long-horizon vs agentic</a></li> | CODE |
| MEDIUM⚡ | docs/tutorials/multi_agent_long_horizon_tutorial.html | 335 | <li><a href="#2-multi-agent-协作核心范式">§2 multi-agent 协作核心范式</a> | CODE |
| MEDIUM⚡ | docs/tutorials/multi_agent_long_horizon_tutorial.html | 338 | <li><a href="#22-autogengroupchat--通用-multi-agent-框架">2.2 AutoGen:GroupChat / 通用 multi-agent 框架</a></li> | CODE |
| MEDIUM⚡ | docs/tutorials/multi_agent_long_horizon_tutorial.html | 344 | <li><a href="#3-multi-agent-debate从-society-of-mind-到现代实现">§3 multi-agent debate:从 Society of Mind 到现代实现</a> | CODE |
| MEDIUM⚡ | docs/tutorials/multi_agent_long_horizon_tutorial.html | 405 | <li><a href="#10-工程实践subagent-orchestration--budget-tracking">§10 工程实践:subagent orchestration + budget tracking</a> | CODE |
| MEDIUM⚡ | docs/tutorials/multi_agent_long_horizon_tutorial.html | 409 | <li><a href="#111-multi-agent-协作-cost-模型">11.1 multi-agent 协作 cost 模型</a></li> | CODE |
| MEDIUM⚡ | docs/tutorials/multi_agent_long_horizon_tutorial.html | 416 | <li><a href="#121-multi-agent-vs-single-agent--reflection">12.1 multi-agent vs single-agent + reflection</a></li> | CODE |
| MEDIUM | docs/tutorials/agent_foundations_tutorial.html | 375 | <li><a href="#71-subagent-orchestration">7.1 Subagent orchestration</a></li> | CODE |
| MEDIUM | docs/tutorials/agentic_rl_tutorial_en.html | 328 | <li><a href="#1-intuition-from-rlhf-to-agentic-rl">§1 Intuition: from RLHF to Agentic RL</a> | CODE |
| MEDIUM | docs/tutorials/agentic_rl_tutorial_en.html | 332 | <li><a href="#13-agentic-rl-relative-to-three-rl-neighbors">1.3 Agentic RL relative to three RL neighbors</a></li> | CODE |
| MEDIUM | docs/tutorials/agentic_rl_tutorial_en.html | 370 | <li><a href="#6-specific-algorithms-representative-agentic-rl-papers">§6 Specific algorithms (representative Agentic RL | CODE |
| MEDIUM | docs/tutorials/agentic_rl_tutorial_en.html | 412 | <li><a href="#91-the-seven-deadly-sins-of-agentic-rl">9.1 The "seven deadly sins" of Agentic RL</a></li> | CODE |
| MEDIUM | docs/tutorials/multi_agent_long_horizon_tutorial_en.md | 50 | ### 1.2 multi-agent vs long-horizon vs agentic | COMMENT |
| MEDIUM | docs/tutorials/multi_agent_long_horizon_tutorial_en.md | 73 | ## §2 Core multi-agent collaboration paradigms | COMMENT |
| MEDIUM | docs/tutorials/multi_agent_long_horizon_tutorial_en.md | 97 | ### 2.2 AutoGen: GroupChat / a general multi-agent framework | COMMENT |
| MEDIUM | docs/tutorials/multi_agent_long_horizon_tutorial_en.md | 949 | ## §10 Engineering practice: subagent orchestration + budget tracking | COMMENT |
| MEDIUM | docs/tutorials/multi_agent_long_horizon_tutorial_en.md | 1012 | ### 11.1 Cost model for multi-agent collaboration | COMMENT |
| MEDIUM | docs/tutorials/agent_foundations_tutorial.md | 609 | ### 7.1 Subagent orchestration | COMMENT |
| MEDIUM | docs/tutorials/kl_divergence_rlhf_tutorial.md | 676 | # Per-token KL with action mask (chat / agentic RL setting) | COMMENT |
| MEDIUM | docs/tutorials/agent_foundations_tutorial_en.html | 375 | <li><a href="#71-subagent-orchestration">7.1 Subagent orchestration</a></li> | CODE |
| MEDIUM | docs/tutorials/reasoning_models_tutorial_en.html | 336 | <li><a href="#21-chain-of-thought-wei-et-al-neurips-2022-arxiv-220111903">2.1 Chain-of-Thought (Wei et al., NeurIPS 2022 | CODE |
| MEDIUM | docs/tutorials/reasoning_models_tutorial_en.html | 758 | state: str # partial reasoning trace | CODE |
| MEDIUM | docs/tutorials/agent_foundations_tutorial_en.md | 609 | ### 7.1 Subagent orchestration | COMMENT |
| MEDIUM | docs/tutorials/reasoning_models_tutorial.html | 336 | <li><a href="#21-chain-of-thought-wei-et-al-neurips-2022-arxiv-220111903">2.1 Chain-of-Thought (Wei et al., NeurIPS 2022 | CODE |
| MEDIUM | docs/tutorials/kl_divergence_rlhf_tutorial.html | 744 | <pre><code class="language-python"># Per-token KL with action mask (chat / agentic RL setting) | CODE |
| MEDIUM | docs/tutorials/reasoning_models_tutorial_en.md | 570 | state: str # partial reasoning trace | CODE |
| MEDIUM | docs/tutorials/self_evolving_agents_tutorial_en.html | 402 | <li><a href="#11-inference-time-orchestration-like-aris-vs-training-time-meta-learning-like-native-evolution">§11 Infere | CODE |
| MEDIUM | docs/tutorials/self_evolving_agents_tutorial_en.html | 417 | <li><a href="#127-hallucination-compounding-independent-reviewers-can-co-hallucinate">12.7 Hallucination Compounding (in | CODE |
| MEDIUM | skills/paper-poster-html/scripts/run_gates.py | 59 | # Canonical gate order. The orchestration depends on this list order, so | COMMENT |
| MEDIUM | skills/meta-optimize/SKILL.md | 426 | Inspired by [Meta-Harness](https://arxiv.org/abs/2603.28052) (Lee et al., 2026) — end-to-end optimization of model harne | CODE |
| MEDIUM | skills/skills-codex/meta-optimize/SKILL.md | 337 | Inspired by [Meta-Harness](https://arxiv.org/abs/2603.28052) (Lee et al., 2026) — end-to-end optimization of model harne | CODE |
| MEDIUM | skills/skills-codex/render-html/SKILL.md | 39 | - **Defense-in-depth XSS sanitization.** The helper strips `<script>`/`<style>`/`<iframe>`/`<object>`/`<embed>`/`<form>` | CODE |
| MEDIUM | skills/skills-codex/render-html/scripts/render_html.py | 85 | # Even if the workflow LLM hallucinates these, they never reach output. | COMMENT |
| 4 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/forensics_gate.py | 228 | except Exception as e: | CODE |
| LOW⚡ | tools/watchdog.py | 182 | except Exception: | CODE |
| LOW⚡ | tools/watchdog.py | 196 | except Exception: | CODE |
| LOW | tools/watchdog.py | 231 | except Exception: | CODE |
| LOW | tools/watchdog.py | 398 | except Exception: | CODE |
| LOW | tools/watchdog.py | 445 | except Exception as e: | CODE |
| LOW | tools/semantic_scholar_fetch.py | 99 | except Exception: | CODE |
| LOW | tools/semantic_scholar_fetch.py | 432 | except Exception as exc: | CODE |
| MEDIUM | tools/semantic_scholar_fetch.py | 433 | print(f"Error: {exc}", file=sys.stderr) | CODE |
| LOW | tools/skill_picker.py | 223 | except Exception as exc: # curses import/terminal failures → fallback | CODE |
| LOW | tools/openalex_fetch.py | 114 | except Exception as e: | CODE |
| MEDIUM | tools/openalex_fetch.py | 115 | print(f"Error fetching from OpenAlex: {e}", file=sys.stderr) | CODE |
| LOW | tools/openalex_fetch.py | 320 | except Exception as e: | STRING |
| MEDIUM | tools/openalex_fetch.py | 321 | print(f"Error: {e}", file=sys.stderr) | STRING |
| MEDIUM | tools/convert_skills_to_llm_chat.py | 244 | print("Error: refusing to convert the repo's canonical skills/ tree in place.") | CODE |
| MEDIUM | tools/convert_skills_to_llm_chat.py | 249 | print(f"Error: source directory not found: {source_dir}") | CODE |
| LOW | tools/extract_paper_style.py | 170 | except Exception: | CODE |
| LOW | tools/extract_paper_style.py | 201 | except Exception as e: | CODE |
| LOW | tools/extract_paper_style.py | 215 | except Exception as e: | CODE |
| LOW | tools/extract_paper_style.py | 533 | except Exception as e: | CODE |
| LOW | tools/exa_search.py | 419 | except Exception as exc: | CODE |
| MEDIUM | tools/exa_search.py | 420 | print(f"Error: {exc}", file=sys.stderr) | CODE |
| LOW | tools/verify_paper_audits.sh | 211 | except Exception: | CODE |
| LOW | tools/verify_paper_audits.sh | 306 | except Exception as e: | CODE |
| LOW⚡ | tools/verify_paper_audits.sh | 318 | except Exception as e: | CODE |
| LOW⚡ | tools/verify_paper_audits.sh | 326 | except Exception as e: | CODE |
| LOW⚡ | tools/verify_paper_audits.sh | 333 | except Exception as e: # any analysis crash is a BLOCKING schema failure, never fail-open | CODE |
| LOW | tools/verify_papers.py | 642 | except Exception as e: | CODE |
| LOW⚡ | aris-monitor/scanner.py | 135 | except Exception: | CODE |
| LOW⚡ | aris-monitor/scanner.py | 138 | except Exception: | CODE |
| LOW | aris-monitor/scanner.py | 156 | except Exception: | CODE |
| LOW | aris-monitor/scanner.py | 180 | except Exception: | CODE |
| LOW | aris-monitor/scanner.py | 203 | except Exception: | CODE |
| LOW | aris-monitor/scanner.py | 225 | except Exception: | CODE |
| LOW | aris-monitor/scanner.py | 241 | except Exception: | CODE |
| LOW | aris-monitor/scanner.py | 378 | except Exception: | CODE |
| LOW | aris-monitor/scanner.py | 384 | except Exception: | CODE |
| MEDIUM | aris-monitor/widget.py | 305 | def work(): | CODE |
| LOW | aris-monitor/widget.py | 145 | except Exception: | CODE |
| LOW | aris-monitor/widget.py | 150 | except Exception: | CODE |
| LOW | aris-monitor/widget.py | 189 | except Exception: | CODE |
| LOW | aris-monitor/widget.py | 226 | except Exception: | CODE |
| LOW | aris-monitor/widget.py | 243 | except Exception: | CODE |
| LOW | aris-monitor/widget.py | 308 | except Exception as e: # never let a focus attempt crash the panel | CODE |
| LOW | aris-monitor/widget.py | 363 | except Exception as ex: | CODE |
| LOW | aris-monitor/ticker.py | 73 | except Exception: | CODE |
| LOW | aris-monitor/focus.py | 51 | except Exception: | CODE |
| LOW | aris-monitor/focus.py | 73 | except Exception: | CODE |
| LOW | aris-monitor/focus.py | 87 | except Exception as e: # noqa: BLE001 -- best-effort, never raise to the UI | CODE |
| LOW | tests/test_provenance.py | 281 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | tests/test_verify_paper_audits.py | 194 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | tests/test_corpus_write_guard.py | 73 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | tests/test_manual_review_integration.py | 131 | except Exception as e: | CODE |
| LOW | tests/test_capture_filter.py | 83 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | tests/test_threat_scan.py | 136 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | tests/_llm_chat_helpers.py | 69 | except Exception as e: | CODE |
| LOW | tests/test_run_state.py | 310 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | tests/_minimax_helpers.py | 70 | except Exception as e: | CODE |
| LOW | tests/test_evidence_check.py | 186 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | tests/test_codex_exec_bridge.py | 143 | except Exception: | CODE |
| 64 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/evidence_check.py | 32 | CODE | |
| LOW | tools/evidence_check.py | 37 | CODE | |
| LOW | tools/iteration_log.py | 27 | CODE | |
| LOW | tools/run_state.py | 39 | CODE | |
| LOW | tools/idea_discovery_gate.py | 4 | CODE | |
| LOW | tools/review_gate.py | 9 | CODE | |
| LOW | tools/paper_illustration_image2.py | 30 | CODE | |
| LOW | tools/check_skills_inventory.py | 4 | CODE | |
| LOW | tools/semantic_scholar_fetch.py | 45 | CODE | |
| LOW | tools/convert_skills_to_llm_chat.py | 20 | CODE | |
| LOW | tools/convert_skills_to_llm_chat.py | 24 | CODE | |
| LOW | tools/extract_paper_style.py | 110 | CODE | |
| LOW | tools/extract_paper_style.py | 115 | CODE | |
| LOW | tools/copilot_native_evidence.py | 24 | CODE | |
| LOW | tools/exa_search.py | 59 | CODE | |
| LOW | tools/deepxiv_fetch.py | 4 | CODE | |
| LOW | tools/capture_filter.py | 29 | CODE | |
| LOW | tools/verify_papers.py | 84 | CODE | |
| LOW | tools/figure_renderer.py | 36 | CODE | |
| LOW | tools/research_wiki.py | 45 | CODE | |
| LOW | tools/provenance.py | 20 | CODE | |
| LOW | tools/generate_codex_claude_review_overrides.py | 4 | CODE | |
| LOW | tools/threat_scan.py | 36 | CODE | |
| LOW | tools/arxiv_fetch.py | 18 | CODE | |
| LOW | tools/experiment_queue/build_manifest.py | 17 | CODE | |
| LOW | tools/experiment_queue/queue_manager.py | 17 | CODE | |
| LOW | aris-monitor/scanner.py | 49 | CODE | |
| LOW | aris-monitor/widget.py | 35 | CODE | |
| LOW | aris-monitor/ticker.py | 18 | CODE | |
| LOW | aris-monitor/focus.py | 26 | CODE | |
| LOW | tests/test_watchdog_loop.py | 8 | CODE | |
| LOW | tests/test_codex_install_update.py | 1 | CODE | |
| LOW | tests/test_research_wiki_claims.py | 9 | CODE | |
| LOW | tests/test_claude_review_artifact_tools.py | 15 | CODE | |
| LOW | tests/test_copilot_native_evidence.py | 1 | CODE | |
| LOW | tests/test_research_wiki_experiments.py | 9 | CODE | |
| LOW | tests/test_minimax_chat_server.py | 6 | CODE | |
| LOW | tests/test_research_wiki_ideas.py | 9 | CODE | |
| LOW | tests/test_auto_proceed_contract.py | 3 | CODE | |
| LOW | tests/test_install_aris_ps1.py | 1 | CODE | |
| LOW | tests/test_llm_chat_review_fallback.py | 4 | CODE | |
| LOW | tests/test_iteration_log.py | 2 | CODE | |
| LOW | tests/test_claude_review_generator.py | 3 | CODE | |
| LOW | tests/test_http_reviewer_review_gate.py | 4 | CODE | |
| LOW | tests/test_verify_paper_audits.py | 3 | CODE | |
| LOW | tests/test_codex_image2_server.py | 3 | CODE | |
| LOW | tests/test_codex_skill_mirror.py | 1 | CODE | |
| LOW | tests/test_manual_review_integration.py | 16 | CODE | |
| LOW | tests/test_llm_chat_server.py | 13 | CODE | |
| LOW | tests/test_review_gate.py | 1 | CODE | |
| LOW | tests/test_claude_review_parse.py | 13 | CODE | |
| LOW | tests/test_watchdog.py | 14 | CODE | |
| LOW | tests/test_feishu_bridge_server.py | 16 | CODE | |
| LOW | tests/test_idea_creator_query_pack_scan.py | 8 | CODE | |
| LOW | tests/test_copilot_install.py | 2 | CODE | |
| LOW | tests/test_trigger_eval.py | 11 | CODE | |
| LOW | tests/test_trigger_eval.py | 12 | CODE | |
| LOW | tests/test_http_reviewer_provenance_alignment.py | 3 | CODE | |
| LOW | tests/_feishu_bridge_helpers.py | 9 | CODE | |
| LOW | tests/test_mainline_large_payload_prompts.py | 1 | CODE | |
| 31 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/run_state.py | 360 | CODE | |
| LOW | tools/idea_discovery_gate.py | 133 | CODE | |
| LOW | tools/watchdog.py | 375 | CODE | |
| LOW | tools/watchdog.py | 409 | CODE | |
| LOW | tools/review_gate.py | 136 | CODE | |
| LOW | tools/skill_picker.py | 33 | CODE | |
| LOW | tools/skill_picker.py | 139 | CODE | |
| LOW | tools/skill_picker.py | 142 | CODE | |
| LOW | tools/openalex_fetch.py | 212 | CODE | |
| LOW | tools/extract_paper_style.py | 462 | CODE | |
| LOW | tools/copilot_native_evidence.py | 781 | CODE | |
| LOW | tools/exa_search.py | 109 | CODE | |
| LOW | tools/verify_papers.py | 309 | CODE | |
| LOW | tools/verify_papers.py | 385 | CODE | |
| LOW | tools/verify_papers.py | 434 | CODE | |
| LOW | tools/research_wiki.py | 126 | CODE | |
| LOW | tools/research_wiki.py | 155 | CODE | |
| LOW | tools/research_wiki.py | 224 | CODE | |
| LOW | tools/research_wiki.py | 503 | CODE | |
| LOW | tools/research_wiki.py | 766 | CODE | |
| LOW | tools/research_wiki.py | 949 | CODE | |
| LOW | tools/research_wiki.py | 1167 | CODE | |
| LOW | tools/research_wiki.py | 1338 | CODE | |
| LOW | tools/research_wiki.py | 1515 | CODE | |
| LOW | tools/research_wiki.py | 252 | CODE | |
| LOW | tools/provenance.py | 260 | CODE | |
| LOW | tools/threat_scan.py | 116 | CODE | |
| LOW | tools/arxiv_fetch.py | 122 | CODE | |
| LOW | tools/meta_opt/trigger_eval.py | 116 | CODE | |
| LOW | tools/meta_opt/trigger_eval.py | 216 | CODE | |
| LOW | tests/test_reviewer_pins.py | 54 | CODE | |
| LOW | tests/test_argument_hint_lint.py | 55 | CODE | |
| LOW | tests/test_codex_skill_mirror.py | 49 | CODE | |
| LOW | tests/test_manual_review_integration.py | 136 | CODE | |
| LOW | tests/test_claude_review_overlay.py | 32 | CODE | |
| LOW | tests/_llm_chat_helpers.py | 27 | CODE | |
| LOW | tests/_llm_chat_helpers.py | 76 | CODE | |
| LOW | tests/test_manual_review.py | 318 | CODE | |
| LOW | tests/test_manual_review.py | 389 | CODE | |
| LOW | tests/test_manual_review.py | 541 | CODE | |
| LOW | tests/test_manual_review.py | 605 | CODE | |
| LOW | tests/test_manual_review.py | 684 | CODE | |
| LOW | tests/test_manual_review.py | 741 | CODE | |
| LOW | tests/_minimax_helpers.py | 74 | CODE | |
| LOW | skills/paper-poster-html/scripts/extract_pdf_figures.py | 339 | CODE | |
| LOW | skills/paper-poster-html/scripts/preprocess_figures.py | 153 | CODE | |
| LOW | skills/paper-poster-html/scripts/style_check.py | 274 | CODE | |
| LOW | skills/paper-poster-html/scripts/style_check.py | 337 | CODE | |
| LOW | skills/paper-poster-html/scripts/style_check.py | 427 | CODE | |
| LOW | skills/paper-poster-html/scripts/style_check.py | 1136 | CODE | |
| LOW | skills/paper-poster-html/scripts/style_check.py | 351 | CODE | |
| LOW | skills/paper-poster-html/scripts/_posterly/measure.py | 140 | CODE | |
| LOW | skills/paper-poster-html/scripts/_posterly/polish.py | 261 | CODE | |
| LOW | skills/paper-poster-html/scripts/_posterly/canvas.py | 112 | CODE | |
| LOW | skills/figure-spec/scripts/figure_renderer.py | 115 | CODE | |
| LOW | skills/figure-spec/scripts/figure_renderer.py | 162 | CODE | |
| LOW | skills/figure-spec/scripts/figure_renderer.py | 340 | CODE | |
| LOW | skills/skills-codex/render-html/scripts/render_html.py | 252 | CODE | |
| LOW | skills/skills-codex/render-html/scripts/render_html.py | 489 | CODE | |
| LOW | skills/skills-codex/render-html/scripts/render_html.py | 555 | CODE | |
| 32 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/verify_papers.py | 0 | re-issue a get through ``curl`` after urllib was answered http 406. export.arxiv.org refuses urllib from some networks f | STRING |
| HIGH | tools/research_wiki.py | 0 | re-issue a get through ``curl`` after urllib was answered http 406. export.arxiv.org refuses urllib from some networks f | STRING |
| HIGH | tools/arxiv_fetch.py | 0 | re-issue a get through ``curl`` after urllib was answered http 406. export.arxiv.org refuses urllib from some networks f | STRING |
| HIGH | mcp-servers/gemini-review/server.py | 0 | rebind stdio to raw unbuffered binary streams for mcp framing. deferred into a function (called at the top of main()) so | STRING |
| HIGH | mcp-servers/minimax-chat/server.py | 0 | rebind stdio to raw unbuffered binary streams for mcp framing. deferred into a function (called at the top of main()) so | STRING |
| HIGH | mcp-servers/codex-image2/server.py | 0 | rebind stdio to raw unbuffered binary streams for mcp framing. deferred into a function (called at the top of main()) so | STRING |
| HIGH | mcp-servers/llm-chat/server.py | 0 | rebind stdio to raw unbuffered binary streams for mcp framing. deferred into a function (called at the top of main()) so | STRING |
| HIGH | mcp-servers/antigravity-exec/server.py | 0 | one json-rpc message per line (mcp stdio transport). none on eof, {} on a blank/garbled line. | STRING |
| HIGH | mcp-servers/grok-exec/server.py | 0 | one json-rpc message per line (mcp stdio transport). none on eof, {} on a blank/garbled line. | STRING |
| HIGH | mcp-servers/codex-exec/server.py | 0 | one json-rpc message per line (mcp stdio transport). none on eof, {} on a blank/garbled line. | STRING |
| HIGH | mcp-servers/antigravity-exec/server.py | 0 | answer pings and honor a cancellation while the child runs. | STRING |
| HIGH | mcp-servers/grok-exec/server.py | 0 | answer pings and honor a cancellation while the child runs. | STRING |
| HIGH | mcp-servers/codex-exec/server.py | 0 | answer pings and honor a cancellation while the child runs. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/tutorials/vlm_multimodal_tutorial_en.md | 11 | 4. **LLaVA = projector + 2-stage train**: Liu et al. 2023 (NeurIPS) use a **lightweight MLP projector** to project froze | CODE |
| HIGH | docs/tutorials/vlm_multimodal_tutorial_en.md | 446 | - Use 158K visual instructions generated by GPT-4 (LLaVA-Instruct) | CODE |
| HIGH | docs/tutorials/vlm_multimodal_tutorial_en.md | 1206 | <summary>Q18. Why is much visual instruction-tuning data generated by GPT-4?</summary> | CODE |
| HIGH | docs/tutorials/reasoning_models_tutorial_en.html | 722 | <ul><li>Filtered by three criteria: difficulty, diversity, quality</li><li>Each sample: question + reasoning trace (gene | CODE |
| HIGH | docs/tutorials/vlm_multimodal_tutorial_en.html | 462 | <ol><li><strong>Vision encoder = ViT-dominated</strong>: Dosovitskiy et al. 2021 (ICLR) slice images into $P\times P$ pa | CODE |
| HIGH | docs/tutorials/vlm_multimodal_tutorial_en.html | 703 | <ul><li>Use 158K visual instructions generated by GPT-4 (LLaVA-Instruct)</li><li>Unfreeze projector + LLM; <strong>visio | CODE |
| HIGH | docs/tutorials/vlm_multimodal_tutorial_en.html | 1091 | <summary>Q18. Why is much visual instruction-tuning data generated by GPT-4?</summary> | CODE |
| HIGH | docs/tutorials/reasoning_models_tutorial_en.md | 496 | - Each sample: question + reasoning trace (generated by Gemini Thinking) + answer | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/evidence_check.py | 41 | COMMENT | |
| LOW | tools/install_aris_copilot.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/install_aris_copilot.sh | 21 | # | COMMENT |
| LOW | tools/install_aris_copilot.sh | 41 | # --quiet no prompts; abort on any condition that would prompt | COMMENT |
| LOW | tools/smart_update_copilot.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/smart_update_copilot.sh | 21 | # | COMMENT |
| LOW | tools/overleaf_setup.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/smart_update.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/smart_update.sh | 21 | # must be a relative path | COMMENT |
| LOW | tools/save_trace.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/save_trace.sh | 21 | # --thread-id "019d8fe0-..." \ | COMMENT |
| LOW | tools/install_aris_codex.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/install_aris_codex.sh | 21 | # default install if no manifest, else reconcile | COMMENT |
| LOW | tools/verify_paper_audits.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/verify_paper_audits.sh | 21 | # | COMMENT |
| LOW | tools/verify_wiki_coverage.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/smart_update_codex.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/smart_update_codex.sh | 21 | # one [y/N]; a decline is remembered in | COMMENT |
| LOW | tools/install_aris.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/install_aris.sh | 21 | # --exclude X,Y never install these skills (recorded as declined) | COMMENT |
| LOW | tools/install_aris.sh | 41 | # --replace-link NAME replace an upstream-internal symlink that points to | COMMENT |
| LOW | tools/install_aris.sh | 61 | # S4 Never overwrite an existing path during CREATE — abort by default. | COMMENT |
| LOW | tools/lint_skills_helpers.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/meta_opt/check_ready.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/meta_opt/check_ready.sh | 21 | # comparison. Use `|| true` to absorb the non-zero exit and keep the | COMMENT |
| LOW | tools/meta_opt/log_event.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | aris-monitor/run.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | aris-monitor/focus-tty.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tests/test_research_wiki_helper_resolution.py | 21 | from pathlib import Path | COMMENT |
| LOW | skills/paper-poster-html/scripts/style_check.py | 81 | #: one of these via `var(--fs-N)` (rule 8); the count gate (rule 9) warns | COMMENT |
| LOW | skills/paper-poster-html/scripts/_posterly/measure.py | 301 | # it directly by comparing scroll-size to client-size on the alignment | COMMENT |
| LOW | skills/paper-poster-html/scripts/_posterly/polish.py | 181 | el = el.parentElement; | COMMENT |
| LOW | skills/paper-poster-html/scripts/_posterly/preflight.py | 41 | } | COMMENT |
| LOW | skills/paper-poster-html/scripts/_posterly/preflight.py | 61 | "body": ("poster",), | COMMENT |
| LOW | skills/paper-poster-html/scripts/_posterly/preflight.py | 341 | for pat, desc in LATEX_PATTERNS: | COMMENT |
| LOW | skills/paper-poster-html/scripts/_posterly/preflight.py | 421 | # role per ROLE_PARENTS. The precipitating bug was a misplaced | COMMENT |
| LOW | skills/interview-cheatsheet/SKILL.md | 21 | ### Section skeleton (12-14 sections) | COMMENT |
| LOW | skills/research-wiki/SKILL.md | 381 | COMMENT | |
| LOW | skills/skills-codex/interview-cheatsheet/SKILL.md | 21 | ### Section skeleton (12-14 sections) | COMMENT |
| LOW | skills/skills-codex/research-wiki/SKILL.md | 341 | # index + query_pack, logs. Default skip-on-exist (won't clobber an idea enriched | COMMENT |
| LOW | skills/shared-references/review-tracing.md | 81 | --prompt "<full prompt as sent>" \ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/LLM_API_MIX_MATCH_GUIDE.md | 100 | "LLM_API_KEY": "your-api-key", | CODE |
| HIGH | docs/integrations/VAST_GPU_GUIDE_CN.md | 30 | vastai set api-key YOUR_API_KEY | CODE |
| HIGH | docs/integrations/VAST_GPU_GUIDE.md | 30 | vastai set api-key YOUR_API_KEY | CODE |
| HIGH | skills/vast-gpu/SKILL.md | 21 | vastai set api-key YOUR_API_KEY | CODE |
| HIGH | skills/auto-review-loop-llm/SKILL.md | 45 | "LLM_API_KEY": "your-api-key", | CODE |
| HIGH | skills/skills-codex/vast-gpu/SKILL.md | 21 | vastai set api-key YOUR_API_KEY | CODE |
| HIGH | skills/skills-codex/auto-review-loop-llm/SKILL.md | 33 | "LLM_API_KEY": "your-api-key", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/meta_opt/check_ready.sh | 58 | # Model-delta trigger (harness diet): a model bump makes existing scaffolding a | COMMENT |
| MEDIUM⚡ | tests/test_research_wiki_helper_resolution.py | 211 | # Helper-missing case: chain exits 42 (test harness sentinel) | STRING |
| MEDIUM | …cs/tutorials/multi_agent_long_horizon_tutorial_en.html | 371 | <li><a href="#61-plan-then-execute-paradigm">6.1 Plan-then-execute paradigm</a></li> | CODE |
| MEDIUM | docs/tutorials/rlhf_dpo_grpo_ppo_tutorial_en.html | 342 | <li><a href="#3-rlhf-pipeline-instructgpt-paradigm">§3 RLHF Pipeline (InstructGPT Paradigm)</a> | CODE |
| MEDIUM | docs/tutorials/3d_generation_tutorial_en.html | 382 | <li><a href="#71-zero-1-to-3-paradigm-novel-view-via-diffusion">7.1 Zero-1-to-3 paradigm (novel view via diffusion)</a>< | CODE |
| MEDIUM | docs/tutorials/agent_foundations_tutorial_en.html | 381 | <li><a href="#8-computer-use-paradigm-agent-as-os-user">§8 Computer-Use paradigm: agent as OS-user</a> | CODE |
| MEDIUM | docs/tutorials/reasoning_models_tutorial_en.html | 328 | <li><a href="#1-why-this-is-the-biggest-paradigm-shift-of-2024-2026">§1 Why This Is the Biggest Paradigm Shift of 2024-2 | CODE |
| MEDIUM | docs/tutorials/self_evolving_agents_tutorial_en.html | 335 | <li><a href="#24-three-paradigm-comparison-memorize">2.4 Three-paradigm comparison (memorize)</a></li> | CODE |
| MEDIUM | mcp-servers/minimax-chat/server.py | 2 | """MiniMax Chat MCP Server - A robust MCP server that calls MiniMax Chat Completions API""" | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/install_aris_copilot.sh | 14 | # Usage: | COMMENT |
| LOW⚡ | tools/overleaf_setup.sh | 9 | # Usage: | COMMENT |
| LOW | tools/smart_update.sh | 6 | # Usage: | COMMENT |
| LOW | tools/install_aris_codex.sh | 17 | # Usage: | COMMENT |
| LOW | tools/verify_paper_audits.sh | 8 | # Usage: | COMMENT |
| LOW | tools/verify_wiki_coverage.sh | 14 | # Usage: | COMMENT |
| LOW | tools/install_aris.sh | 10 | # Usage: | COMMENT |
| LOW | aris-monitor/run.sh | 14 | # Usage: | COMMENT |
| LOW | docs/tutorials/vae_vqvae_vqgan_tutorial_en.html | 946 | # Usage example: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/smart_update_copilot.sh | 272 | # Check if local differs from upstream | COMMENT |
| LOW | tools/smart_update_copilot.sh | 388 | # Check if local agent was customized by user | COMMENT |
| LOW | tools/smart_update.sh | 355 | # Check if the LOCAL version has lines matching personal patterns | COMMENT |
| LOW | tools/save_trace.sh | 230 | # Check if this run dir was created in the last 2 hours (same session) | COMMENT |
| LOW | tools/research_wiki.py | 181 | # Check if edge already exists | COMMENT |
| LOW | tools/install_aris.sh | 1323 | # Check if any can be auto-resolved by --adopt-existing (where current target == expected) | COMMENT |
| LOW | mcp-servers/minimax-chat/server.py | 292 | # Check if it's a Content-Length header or direct JSON | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/_llm_chat_helpers.py | 76 | def handle_request(request): | CODE |
| LOW | tests/_minimax_helpers.py | 74 | def handle_request(request): | CODE |
| LOW | mcp-servers/gemini-review/server.py | 1631 | def handle_request(request: dict[str, Any]) -> dict[str, Any] | None: | CODE |
| LOW | mcp-servers/antigravity-exec/server.py | 570 | def handle_request( | CODE |
| LOW | mcp-servers/grok-exec/server.py | 585 | def handle_request( | CODE |
| LOW | mcp-servers/minimax-chat/server.py | 149 | def handle_request(request): | CODE |
| LOW | mcp-servers/codex-image2/server.py | 743 | def handle_request(request: dict[str, Any]) -> dict[str, Any] | None: | CODE |
| LOW | mcp-servers/manual-review/server.py | 716 | def handle_request(request: dict[str, Any]) -> dict[str, Any] | None: | STRING |
| LOW | mcp-servers/claude-review/server.py | 506 | def handle_request(request: dict[str, Any]) -> dict[str, Any] | None: | CODE |
| LOW | mcp-servers/codex-exec/server.py | 419 | def handle_request(request: Dict[str, Any], inbox: "queue.Queue[Dict[str, Any]]", | CODE |
| LOW | mcp-servers/llm-chat/server.py | 473 | def handle_request(request): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_research_wiki_fetch_arxiv_metadata.py | 208 | monkeypatch.setenv("ARIS_VERIFY_EMAIL", "dev@example.org") | CODE |
| LOW⚡ | tests/test_research_wiki_fetch_arxiv_metadata.py | 214 | assert "mailto:dev@example.org" in ua | CODE |
| LOW⚡ | tests/test_exa_search.py | 89 | author="John Doe", | CODE |
| LOW⚡ | tests/test_exa_search.py | 97 | assert entry["author"] == "John Doe" | CODE |
| LOW⚡ | tests/test_arxiv_fetch.py | 230 | monkeypatch.setenv("ARIS_VERIFY_EMAIL", "dev@example.org") | CODE |
| LOW⚡ | tests/test_arxiv_fetch.py | 236 | assert "mailto:dev@example.org" in ua | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/semantic_scholar_fetch.py | 172 | CODE | |
| LOW | tools/semantic_scholar_fetch.py | 215 | CODE | |
| LOW | tools/exa_search.py | 140 | CODE | |
| LOW | tools/research_wiki.py | 766 | CODE | |
| LOW | tools/research_wiki.py | 949 | CODE | |
| LOW | tools/research_wiki.py | 1167 | CODE | |
| LOW | tools/research_wiki.py | 1338 | CODE | |
| LOW | tests/test_install_aris_tools_symlink.py | 49 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_minimax_integration.py | 33 | # Step 1: Initialize | COMMENT |
| LOW⚡ | tests/test_minimax_integration.py | 42 | # Step 2: Notification (no response expected) | COMMENT |
| LOW⚡ | tests/test_minimax_integration.py | 49 | # Step 3: List tools | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/evidence_check.py | 188 | __all__ = ["check_claim", "check_batch"] | CODE |
| LOW | tools/capture_filter.py | 107 | __all__ = ["screen", "reason_detail"] | CODE |
| LOW | tools/provenance.py | 254 | __all__ = [ | CODE |
| LOW | tools/threat_scan.py | 197 | __all__ = ["INVISIBLE_CHARS", "scan_for_threats", "first_threat_message", "quarantine"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_feishu_bridge_server.py | 220 | # Create a handler with mocked request infrastructure | COMMENT |