github Python re-analysis due

drexthealpha/Knos

github

One shared memory for every coding agent on your machine. It refuses to answer about work another agent has taken, and refuses the edit before the write lands.

maintainer
drexthealpha
licence
MIT
first seen
2026-09-02
last seen
2026-09-18
releases · 30d
7
short id

Drift inferred · capture-to-capture

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

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

No tools enumerated yet for this server.

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

analyzed commit 8ef3b37 · analyzer v33 · 3d ago

skills & prompt files 1

danger signals1

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

code files: 100

filesystem 64

  • fs drexthealpha-Knos-8ef3b37/action/knos_pr_check.py :28 from pathlib import Path
  • fs (weak) drexthealpha-Knos-8ef3b37/scripts/ablation.py :40 from pathlib import Path
  • fs (weak) drexthealpha-Knos-8ef3b37/scripts/budget.py :34 from pathlib import Path
  • fs (weak) drexthealpha-Knos-8ef3b37/scripts/collide.py :37 from pathlib import Path
  • fs (weak) drexthealpha-Knos-8ef3b37/scripts/concurrency.py :41 from pathlib import Path
  • fs (weak) drexthealpha-Knos-8ef3b37/scripts/contention.py :28 import shutil
  • fs (weak) drexthealpha-Knos-8ef3b37/scripts/duplicated.py :45 from pathlib import Path
  • fs (weak) drexthealpha-Knos-8ef3b37/scripts/live_gate.py :36 from pathlib import Path
  • fs (weak) drexthealpha-Knos-8ef3b37/scripts/live_series.py :45 from pathlib import Path
  • fs (weak) drexthealpha-Knos-8ef3b37/scripts/promotion_bench.py :41 from pathlib import Path
  • fs (weak) drexthealpha-Knos-8ef3b37/scripts/refresh_citations.py :19 from pathlib import Path
  • fs (weak) drexthealpha-Knos-8ef3b37/scripts/spend.py :46 from pathlib import Path
show 28 more
  • fs (weak) drexthealpha-Knos-8ef3b37/scripts/verify_receipts.py :8 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/answer.py :15 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/builtin_reader.py :20 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/buy402.py :37 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/cli.py :13 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/code.py :18 import shutil
  • fs drexthealpha-Knos-8ef3b37/src/knos/core.py :44 from pathlib import Path
  • fs (weak) drexthealpha-Knos-8ef3b37/src/knos/demo.py :20 import shutil
  • fs drexthealpha-Knos-8ef3b37/src/knos/errors.py :16 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/gate.py :45 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/git.py :11 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/guard.py :44 import shutil
  • fs drexthealpha-Knos-8ef3b37/src/knos/link.py :17 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/mcp.py :14 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/memory.py :22 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/paths.py :9 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/pay.py :19 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/private.py :14 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/receipts.py :83 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/rules.py :19 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/sessions.py :16 import shutil
  • fs drexthealpha-Knos-8ef3b37/src/knos/share.py :24 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/team.py :22 from pathlib import Path
  • fs drexthealpha-Knos-8ef3b37/src/knos/why.py :31 from pathlib import Path
  • fs (weak) drexthealpha-Knos-8ef3b37/tests/conftest.py :6 from pathlib import Path
  • fs (weak) drexthealpha-Knos-8ef3b37/tests/test_ablation.py :19 from pathlib import Path
  • fs (weak) drexthealpha-Knos-8ef3b37/tests/test_bot.py :17 from pathlib import Path
  • fs (weak) drexthealpha-Knos-8ef3b37/tests/test_cap_share.py :23 from pathlib import Path

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

shell / exec 38

  • shell (weak) drexthealpha-Knos-8ef3b37/scripts/ablation.py :36 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/scripts/budget.py :30 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/scripts/collide.py :32 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/scripts/contention.py :29 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/scripts/duplicated.py :40 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/scripts/live_gate.py :32 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/scripts/live_series.py :41 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/scripts/spend.py :42 import subprocess
  • shell drexthealpha-Knos-8ef3b37/src/knos/cli.py :289 import subprocess
  • shell drexthealpha-Knos-8ef3b37/src/knos/code.py :19 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/src/knos/demo.py :22 import subprocess
  • shell drexthealpha-Knos-8ef3b37/src/knos/git.py :9 import subprocess
show 26 more
  • shell drexthealpha-Knos-8ef3b37/src/knos/guard.py :45 import subprocess
  • shell drexthealpha-Knos-8ef3b37/src/knos/paths.py :7 import subprocess
  • shell drexthealpha-Knos-8ef3b37/src/knos/rules.py :17 import subprocess
  • shell drexthealpha-Knos-8ef3b37/src/knos/team.py :20 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/conftest.py :5 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_ablation.py :16 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_cap_share.py :22 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_cli.py :6 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_collide.py :23 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_demo.py :17 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_failures.py :7 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_first_read.py :22 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_fresh_code.py :17 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_fresh_rules.py :21 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_guard.py :18 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_held_answers.py :21 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_intent.py :550 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_open_race.py :16 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_precision.py :13 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_recall.py :11 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_rename_bypass.py :19 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_rules.py :10 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_shared_repo.py :17 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_start_hook.py :22 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_twohop.py :6 import subprocess
  • shell (weak) drexthealpha-Knos-8ef3b37/tests/test_worktrees.py :11 import subprocess

network 6

  • net drexthealpha-Knos-8ef3b37/action/knos_pr_check.py :26 import urllib.error
  • net drexthealpha-Knos-8ef3b37/src/knos/buy402.py :34 import httpx
  • net drexthealpha-Knos-8ef3b37/src/knos/receipts.py :30 import urllib.request
  • net drexthealpha-Knos-8ef3b37/src/knos/sessions.py :23 from urllib.parse import urlparse
  • net (weak) drexthealpha-Knos-8ef3b37/tests/test_no_network.py :21 import socket
  • net (weak) drexthealpha-Knos-8ef3b37/tests/test_receipts.py :61 monkeypatch.setattr(receipts.urllib.request, "urlopen", fake)

secrets 1

  • secrets drexthealpha-Knos-8ef3b37/action/knos_pr_check.py :120 token = os.environ.get("GITHUB_TOKEN", "")

database 7

  • db drexthealpha-Knos-8ef3b37/src/knos/memory.py :19 import sqlite3
  • db drexthealpha-Knos-8ef3b37/src/knos/sessions.py :17 import sqlite3
  • db (weak) drexthealpha-Knos-8ef3b37/tests/test_decide.py :101 import sqlite3
  • db (weak) drexthealpha-Knos-8ef3b37/tests/test_memory.py :6 import sqlite3
  • db (weak) drexthealpha-Knos-8ef3b37/tests/test_seal.py :17 import sqlite3
  • db (weak) drexthealpha-Knos-8ef3b37/tests/test_sessions.py :7 import sqlite3
  • db (weak) drexthealpha-Knos-8ef3b37/tests/test_sibyl_is_load_bearing.py :12 import sqlite3

declared dependencies 8

  • mcp@>=2.0
  • typer@>=0.12
  • rich@>=13
  • sibyl-memory-client@>=0.7.0
  • pytest@>=7
  • flask@>=3
  • x402@>=2.21
  • httpx@>=0.27