github Python re-analysis due

no-human-ai/no_human

github

From ticket to reviewed pull request. Free and open-source, on your machine.

maintainer
no-human-ai
licence
MIT
first seen
2026-08-19
last seen
2026-09-17
releases · 30d
15
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 2 tools
transport stdio · http verified reported listed in the official MCP registry counts 2 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • task_add
  • task_status
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 36d7bf9 · analyzer v33 · 4h ago

skills & prompt files 3

danger signals18

code evidence vv0.2.4 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 1338

filesystem 321

  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/adoption/adoption_run.py :76 import shutil
  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/adoption/personas.py :36 import shutil
  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/board_e2e.py :21 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/_freeze_probe.py :29 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/_probe_rects.py :14 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/captions.py :32 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/cli_frames.py :24 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/compose.py :46 import shutil
  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/encode.py :28 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/gui_frames.py :31 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/record.py :20 import shutil
  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/sprint_cli.py :30 from pathlib import Path
show 28 more
  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/sprint_gui.py :38 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/verify_sync.py :111 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/voiceover.py :41 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/lane_model.py :25 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/e2e/serve_demo.py :18 from pathlib import Path
  • fs no-human-ai-no_human-36d7bf9/eval/commit0_corpus/build.py :55 import shutil
  • fs no-human-ai-no_human-36d7bf9/eval/commit0_corpus/report.py :20 from pathlib import Path
  • fs no-human-ai-no_human-36d7bf9/eval/parcelo_corpus/build.py :30 import shutil
  • fs no-human-ai-no_human-36d7bf9/eval/parcelo_corpus/build_large.py :34 import shutil
  • fs no-human-ai-no_human-36d7bf9/eval/parcelo_corpus/build_multirepo.py :26 import shutil
  • fs no-human-ai-no_human-36d7bf9/eval/parcelo_corpus/report.py :17 from pathlib import Path
  • fs no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-bench-baseline/base/src/no_human/api/app.py :27 from pathlib import Path
  • fs no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-bench-baseline/base/src/no_human/cli/commands.py :16 from pathlib import Path
  • fs no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-bench-baseline/base/src/no_human/eval/northstar_card.py :19 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-bench-baseline/base/tests/test_bench_publish.py :17 from pathlib import Path
  • fs no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-cli-budgets/base/src/no_human/cli/commands.py :16 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-cli-budgets/base/tests/test_task_lifecycle.py :9 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-demo-caption-anchor/base/tests/test_narrated_demo.py :25 import shutil
  • fs no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-gate-excerpts/base/src/no_human/core/orchestrator.py :24 import shutil
  • fs (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-gate-excerpts/base/src/no_human/testing/runner.py :17 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-gate-excerpts/base/tests/test_runner.py :3 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-gate-excerpts/base/tests/test_vcs.py :4 from pathlib import Path
  • fs (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-prbody-renderer-proof/base/tests/test_pr_body_truthfulness.py :14 import shutil
  • fs no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-split-generator/base/src/no_human/core/orchestrator.py :24 import shutil
  • fs no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/logic-chip-claims-sync-parity/base/src/no_human/api/app.py :27 from pathlib import Path
  • fs no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/logic-default-clobbers-explicit-cap/base/src/no_human/api/app.py :27 from pathlib import Path
  • fs no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/logic-default-clobbers-explicit-cap/base/src/no_human/cli/commands.py :16 from pathlib import Path
  • fs no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/logic-default-clobbers-explicit-cap/base/src/no_human/profile.py :17 from pathlib import Path

281 more not shown — this panel samples each group; the count above is the real total.

shell / exec 278

  • shell (weak) no-human-ai-no_human-36d7bf9/e2e/adoption/adoption_run.py :77 import subprocess
  • shell (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/_freeze_probe.py :28 import subprocess
  • shell (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/compose.py :47 import subprocess
  • shell (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/encode.py :27 import subprocess
  • shell (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/verify_sync.py :108 import subprocess
  • shell (weak) no-human-ai-no_human-36d7bf9/e2e/demo_video/voiceover.py :39 import subprocess
  • shell (weak) no-human-ai-no_human-36d7bf9/e2e/serve_demo.py :15 import subprocess
  • shell no-human-ai-no_human-36d7bf9/eval/commit0_corpus/build.py :56 import subprocess
  • shell no-human-ai-no_human-36d7bf9/eval/parcelo_corpus/build.py :31 import subprocess
  • shell no-human-ai-no_human-36d7bf9/eval/parcelo_corpus/build_large.py :35 import subprocess
  • shell no-human-ai-no_human-36d7bf9/eval/parcelo_corpus/build_multirepo.py :27 import subprocess
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-bench-baseline/base/src/no_human/api/app.py :22 import subprocess
show 28 more
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-bench-baseline/base/src/no_human/cli/commands.py :1100 import subprocess as _sp
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-cli-budgets/base/src/no_human/cli/commands.py :1100 import subprocess as _sp
  • shell (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-demo-caption-anchor/base/tests/test_narrated_demo.py :26 import subprocess
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-gate-excerpts/base/src/no_human/core/orchestrator.py :1860 import subprocess as _sp_fetch
  • shell (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-gate-excerpts/base/src/no_human/testing/runner.py :14 import subprocess
  • shell (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-gate-excerpts/base/tests/test_vcs.py :3 import subprocess
  • shell (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-prbody-renderer-proof/base/tests/test_pr_body_truthfulness.py :15 import subprocess
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-split-generator/base/src/no_human/core/orchestrator.py :1763 import subprocess as _sp_fetch
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/logic-chip-claims-sync-parity/base/src/no_human/api/app.py :22 import subprocess
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/logic-default-clobbers-explicit-cap/base/src/no_human/api/app.py :22 import subprocess
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/logic-default-clobbers-explicit-cap/base/src/no_human/cli/commands.py :1032 import subprocess as _sp
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-full-exc-logged/base/src/no_human/api/app.py :22 import subprocess
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-payload-logged/base/src/no_human/api/app.py :22 import subprocess
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-shell-interp-symlink/base/src/no_human/core/orchestrator.py :1763 import subprocess as _sp_fetch
  • shell (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-shell-interp-symlink/base/src/no_human/testing/runner.py :14 import subprocess
  • shell (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-shell-interp-symlink/base/tests/test_base_tree_gate.py :13 import subprocess
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/specmiss-advisory-not-persisted/base/src/no_human/core/orchestrator.py :1748 import subprocess as _sp_fetch
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/specmiss-credential-load-outside-gate/base/src/no_human/cli/commands.py :1100 import subprocess as _sp
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/specmiss-unclaimed-pulse/base/src/no_human/api/app.py :22 import subprocess
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/tamper-instrument-pin-tautology/base/src/no_human/cli/commands.py :1100 import subprocess as _sp
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/tamper-instrument-pin-tautology/base/src/no_human/eval/bench_task.py :21 import subprocess
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/tamper-unbounded-retry-assertion/base/src/no_human/core/orchestrator.py :1799 import subprocess as _sp_fetch
  • shell (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/tamper-unbounded-retry-assertion/base/src/no_human/testing/runner.py :14 import subprocess
  • shell (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/wiring-demo-verify-sync/base/e2e/demo_video/compose.py :37 import subprocess
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/materialize_base.py :43 import subprocess
  • shell no-human-ai-no_human-36d7bf9/eval/reviewer_recall/runner.py :24 import subprocess
  • shell no-human-ai-no_human-36d7bf9/hatch_build.py :30 import subprocess
  • shell no-human-ai-no_human-36d7bf9/packaging/mcp_handshake_probe.py :40 import subprocess

238 more not shown — this panel samples each group; the count above is the real total.

network 143

  • net (weak) no-human-ai-no_human-36d7bf9/e2e/adoption/backlog.py :275 "All three call sites go through ApiClient; no direct httpx.get remains outside skyline/net/.",
  • net (weak) no-human-ai-no_human-36d7bf9/e2e/adoption/fakes.py :39 from urllib.parse import parse_qs, urlparse
  • net (weak) no-human-ai-no_human-36d7bf9/e2e/board_e2e.py :20 import urllib.request
  • net no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-bench-baseline/base/src/no_human/api/app.py :29 from urllib.parse import urlsplit
  • net no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-bench-baseline/base/src/no_human/cli/commands.py :51 import urllib.error
  • net (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-bench-baseline/base/tests/test_bench_api.py :16 from httpx import ASGITransport, AsyncClient
  • net no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-cli-budgets/base/src/no_human/cli/commands.py :51 import urllib.error
  • net no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/logic-chip-claims-sync-parity/base/src/no_human/api/app.py :29 from urllib.parse import urlsplit
  • net no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/logic-default-clobbers-explicit-cap/base/src/no_human/api/app.py :29 from urllib.parse import urlsplit
  • net no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/logic-default-clobbers-explicit-cap/base/src/no_human/cli/commands.py :51 import urllib.error
  • net (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/logic-default-clobbers-explicit-cap/base/tests/test_api.py :7 from httpx import AsyncClient, ASGITransport
  • net (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/logic-default-clobbers-explicit-cap/base/tests/test_jira_intake.py :62 monkeypatch.setattr("no_human.intake.jira.httpx.get", fake_get)
show 28 more
  • net no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-full-exc-logged/base/src/no_human/api/app.py :29 from urllib.parse import urlsplit
  • net no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-full-exc-logged/base/src/no_human/intake/jira.py :27 import httpx
  • net (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-full-exc-logged/base/tests/test_jira_intake.py :63 monkeypatch.setattr("no_human.intake.jira.httpx.get", fake_get)
  • net (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-full-exc-logged/base/tests/test_jira_issues_endpoint.py :3 Mirrors tests/test_jira_intake.py's mocking style (httpx.get monkeypatched on
  • net no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-payload-logged/base/src/no_human/api/app.py :29 from urllib.parse import urlsplit
  • net (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-payload-logged/base/tests/test_api.py :7 from httpx import AsyncClient, ASGITransport
  • net (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-payload-logged/base/tests/test_jira_intake.py :62 monkeypatch.setattr("no_human.intake.jira.httpx.get", fake_get)
  • net no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-status-check-logs-exc/base/src/no_human/intake/jira.py :26 from urllib.parse import quote
  • net (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-status-check-logs-exc/base/tests/test_jira_intake.py :63 monkeypatch.setattr("no_human.intake.jira.httpx.get", fake_get)
  • net no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/specmiss-credential-load-outside-gate/base/src/no_human/cli/commands.py :51 import urllib.error
  • net no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/specmiss-fetch-error-skips-comment/base/src/no_human/intake/jira.py :26 from urllib.parse import quote
  • net (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/specmiss-fetch-error-skips-comment/base/tests/test_jira_intake.py :63 monkeypatch.setattr("no_human.intake.jira.httpx.get", fake_get)
  • net no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/specmiss-unclaimed-pulse/base/src/no_human/api/app.py :29 from urllib.parse import urlsplit
  • net (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/specmiss-unclaimed-pulse/base/tests/test_api.py :7 from httpx import AsyncClient, ASGITransport
  • net no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/tamper-instrument-pin-tautology/base/src/no_human/cli/commands.py :51 import urllib.error
  • net (weak) no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/tamper-relaxed-sync-assertions/base/tests/test_jira_intake.py :62 monkeypatch.setattr("no_human.intake.jira.httpx.get", fake_get)
  • net (weak) no-human-ai-no_human-36d7bf9/scripts/measure_worker_status.py :33 import urllib.error
  • net no-human-ai-no_human-36d7bf9/src/no_human/agent/guard.py :60 from urllib.parse import unquote
  • net no-human-ai-no_human-36d7bf9/src/no_human/api/app.py :36 import httpx
  • net no-human-ai-no_human-36d7bf9/src/no_human/api/local_boundary.py :41 from urllib.parse import urlsplit
  • net no-human-ai-no_human-36d7bf9/src/no_human/brain/client.py :87 from urllib.parse import urlsplit
  • net no-human-ai-no_human-36d7bf9/src/no_human/brain/credentials.py :53 import urllib.parse
  • net no-human-ai-no_human-36d7bf9/src/no_human/ci/circleci.py :19 from urllib.parse import quote
  • net no-human-ai-no_human-36d7bf9/src/no_human/ci/gitlab.py :26 import urllib.parse
  • net no-human-ai-no_human-36d7bf9/src/no_human/ci/jenkins_session.py :26 from urllib.parse import urlparse
  • net no-human-ai-no_human-36d7bf9/src/no_human/ci_action/github.py :28 import httpx
  • net no-human-ai-no_human-36d7bf9/src/no_human/cli/api_client.py :20 import httpx
  • net no-human-ai-no_human-36d7bf9/src/no_human/cli/commands.py :107 import urllib.error

103 more not shown — this panel samples each group; the count above is the real total.

secrets 22

  • secrets (weak) no-human-ai-no_human-36d7bf9/e2e/adoption/adoption_run.py :507 os.environ["JENKINS_API_TOKEN"] = "fake-token"
  • secrets no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/control-bench-baseline/base/src/no_human/api/app.py :1225 os.environ.get("ANTHROPIC_API_KEY")
  • secrets no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/logic-chip-claims-sync-parity/base/src/no_human/api/app.py :1226 os.environ.get("ANTHROPIC_API_KEY")
  • secrets no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/logic-default-clobbers-explicit-cap/base/src/no_human/api/app.py :1215 os.environ.get("ANTHROPIC_API_KEY")
  • secrets no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-full-exc-logged/base/src/no_human/api/app.py :1225 os.environ.get("ANTHROPIC_API_KEY")
  • secrets no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-full-exc-logged/base/src/no_human/intake/jira.py :83 self.token = os.environ.get("JIRA_API_TOKEN")
  • secrets no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-payload-logged/base/src/no_human/api/app.py :1205 os.environ.get("ANTHROPIC_API_KEY")
  • secrets no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/security-status-check-logs-exc/base/src/no_human/intake/jira.py :84 self.token = os.environ.get("JIRA_API_TOKEN")
  • secrets no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/specmiss-fetch-error-skips-comment/base/src/no_human/intake/jira.py :84 self.token = os.environ.get("JIRA_API_TOKEN")
  • secrets no-human-ai-no_human-36d7bf9/eval/reviewer_recall/cases/specmiss-unclaimed-pulse/base/src/no_human/api/app.py :1211 os.environ.get("ANTHROPIC_API_KEY")
  • secrets no-human-ai-no_human-36d7bf9/src/no_human/api/app.py :3002 os.environ.get("ANTHROPIC_API_KEY")
  • secrets no-human-ai-no_human-36d7bf9/src/no_human/ci/circleci.py :82 self.token = os.environ.get("CIRCLECI_TOKEN")
show 10 more
  • secrets no-human-ai-no_human-36d7bf9/src/no_human/ci_action/run.py :540 github_token = _input("github_token") or os.environ.get("GITHUB_TOKEN", "")
  • secrets no-human-ai-no_human-36d7bf9/src/no_human/intake/jira.py :84 self.token = os.environ.get("JIRA_API_TOKEN")
  • secrets no-human-ai-no_human-36d7bf9/src/no_human/intake/linear.py :293 self.api_key = os.environ.get("LINEAR_API_KEY")
  • secrets no-human-ai-no_human-36d7bf9/src/no_human/intake/monday.py :292 self.api_token = os.environ.get("MONDAY_API_TOKEN")
  • secrets no-human-ai-no_human-36d7bf9/src/no_human/integrations/__init__.py :1229 token = os.environ.get("JIRA_API_TOKEN")
  • secrets (weak) no-human-ai-no_human-36d7bf9/tests/test_api_key_auth_mode.py :55 assert os.environ["ANTHROPIC_API_KEY"] == "sk-ant-friend-key"
  • secrets (weak) no-human-ai-no_human-36d7bf9/tests/test_auth_api.py :89 assert os.environ.get("ANTHROPIC_API_KEY") == "sk-ant-api03-whatever"
  • secrets (weak) no-human-ai-no_human-36d7bf9/tests/test_ci.py :1664 assert os.environ["GITLAB_TOKEN"] == "glpat-LIVE-from-the-shell"
  • secrets (weak) no-human-ai-no_human-36d7bf9/tests/test_codex_backend.py :1608 assert os.environ["OPENAI_API_KEY"] == "placeholder-not-a-real-key"
  • secrets (weak) no-human-ai-no_human-36d7bf9/tests/test_config.py :67 assert os.environ["CLAUDE_CODE_OAUTH_TOKEN"] == "file-token"

database 22

  • db (weak) no-human-ai-no_human-36d7bf9/scripts/measure_cache_burn.py :42 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/scripts/memory_triage_runbook.py :95 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/scripts/navigation_value.py :198 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/scripts/recount_readme_metrics.py :135 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/scripts/review_round_value.py :82 import sqlite3
  • db no-human-ai-no_human-36d7bf9/src/no_human/brain/store.py :37 import sqlite3
  • db no-human-ai-no_human-36d7bf9/src/no_human/core/db.py :241 import sqlite3
  • db no-human-ai-no_human-36d7bf9/src/no_human/core/scheduler.py :29 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/tests/_memory_triage_fixture.py :60 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/tests/test_brain_invariants.py :293 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/tests/test_db_concurrency.py :757 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/tests/test_first_run_does_not_hang.py :437 import sqlite3
show 10 more
  • db (weak) no-human-ai-no_human-36d7bf9/tests/test_frozen_snapshot_guard.py :34 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/tests/test_history_privacy.py :448 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/tests/test_memory_triage_runbook.py :25 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/tests/test_navigation_value.py :49 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/tests/test_northstar.py :345 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/tests/test_readme_claims.py :31 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/tests/test_review_round_value.py :26 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/tests/test_scheduler_lease_write_retry.py :59 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/tests/test_task_show_preserves_brackets.py :77 import sqlite3
  • db (weak) no-human-ai-no_human-36d7bf9/tests/test_token_split_schema.py :33 import sqlite3

tool registrations 2

  • task_add no-human-ai-no_human-36d7bf9/src/no_human/intake/mcp_bridge.py :103
  • task_status no-human-ai-no_human-36d7bf9/src/no_human/intake/mcp_bridge.py :126

declared dependencies 13

  • mcp@>=2,<3
  • aiosqlite@>=0.22.1
  • claude-agent-sdk@>=0.2.120
  • click@>=8.4.1
  • fastapi@>=0.138.0
  • httpx@>=0.28.1
  • psutil@>=7.0.0
  • pyyaml@>=6.0.3
  • rich@>=15.0.0
  • slack-sdk@>=3.43.0
  • textual@>=8.2.7
  • s@# live-update WS. Plain uvicorn can
show 1 more
  • uvicorn@>=0.49.0