A git-native, review-gated knowledge base for AI agents: they propose writes, you approve them. Every claim cites a source, every change is a diff in your repo. MCP + CLI.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · http
verified
reported
listed in the official MCP registry counts 77 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
kb_activity
-
kb_approve
-
kb_archive
-
kb_audit
-
kb_capabilities
-
kb_capture_correction
-
kb_cite
-
kb_clear_claims
-
kb_compile
-
kb_confirm
-
kb_context
-
kb_contradict
-
kb_crystallize
-
kb_dedup_scan
-
kb_detect_themes
-
kb_diff
-
kb_digest
-
kb_doctor
-
kb_effectiveness
-
kb_embeddings_stats
-
kb_eval_embeddings
-
kb_experts
-
kb_expire
-
kb_explain_ranking
-
kb_export
-
kb_export_check
-
kb_get_skill
-
kb_graph_export
-
kb_impact
-
kb_import_check
-
kb_index_rebuild
-
kb_lint
-
kb_list_claims
-
kb_list_entities
-
kb_list_goals
-
kb_list_pages
-
kb_list_pending
-
kb_list_relations
-
kb_list_sessions
-
kb_list_skills
-
kb_list_sources
-
kb_neighbors
-
kb_propose_claim
-
kb_propose_delete
-
kb_propose_entity
-
kb_propose_goal
-
kb_propose_page
-
kb_propose_relation
-
kb_propose_theme
-
kb_provenance_rebuild
-
kb_read_claim
-
kb_read_entity
-
kb_read_evidence
-
kb_read_page
-
kb_read_relation
-
kb_read_source
-
kb_register_source
-
kb_register_source_from_path
-
kb_reindex_embeddings
-
kb_reject
-
kb_reject_extracted
-
kb_search
-
kb_session_end
-
kb_session_start
-
kb_session_transcript
-
kb_set_goal_status
-
kb_source_verify
-
kb_stats
-
kb_status
-
kb_summarize_session
-
kb_supersede
-
kb_synthesize
-
kb_trace
-
kb_triage_pending
-
kb_volunteer_context
-
kb_why
-
kb_wipe_dead_refs
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 0530942 · analyzer v33 · 5d ago
skills & prompt files 22
- agent-rules vouchdev-vouch-0530942/AGENTS.md
- agent-rules vouchdev-vouch-0530942/CLAUDE.md
- agent-rules vouchdev-vouch-0530942/adapters/claude-code/.claude/commands/vouch-ask.md
- agent-rules vouchdev-vouch-0530942/adapters/claude-code/.claude/commands/vouch-followup.md
- agent-rules vouchdev-vouch-0530942/adapters/claude-code/.claude/commands/vouch-propose-from-pr.md
- agent-rules vouchdev-vouch-0530942/adapters/claude-code/.claude/commands/vouch-recall.md
- agent-rules vouchdev-vouch-0530942/adapters/claude-code/.claude/commands/vouch-record.md
- agent-rules vouchdev-vouch-0530942/adapters/claude-code/.claude/commands/vouch-remember.md
- agent-rules vouchdev-vouch-0530942/adapters/claude-code/.claude/commands/vouch-resolve-issue.md
- agent-rules vouchdev-vouch-0530942/adapters/claude-code/.claude/commands/vouch-standup.md
- agent-rules vouchdev-vouch-0530942/adapters/claude-code/.claude/commands/vouch-status.md
- skill vouchdev-vouch-0530942/adapters/openclaw/skills/vouch-ask/SKILL.md
- skill vouchdev-vouch-0530942/adapters/openclaw/skills/vouch-followup/SKILL.md
- skill vouchdev-vouch-0530942/adapters/openclaw/skills/vouch-propose-from-pr/SKILL.md
- skill vouchdev-vouch-0530942/adapters/openclaw/skills/vouch-recall/SKILL.md
- skill vouchdev-vouch-0530942/adapters/openclaw/skills/vouch-record/SKILL.md
- skill vouchdev-vouch-0530942/adapters/openclaw/skills/vouch-remember/SKILL.md
- skill vouchdev-vouch-0530942/adapters/openclaw/skills/vouch-resolve-issue/SKILL.md
- skill vouchdev-vouch-0530942/adapters/openclaw/skills/vouch-standup/SKILL.md
- skill vouchdev-vouch-0530942/adapters/openclaw/skills/vouch-status/SKILL.md
- skill vouchdev-vouch-0530942/skills/auto-pr/SKILL.md
- skill vouchdev-vouch-0530942/skills/pr-precheck/SKILL.md
danger signals2
- dynamic code execution __import__() vouchdev-vouch-0530942/src/vouch/web/__init__.py :44
__import__(name) - suspicious endpoint 169.254.169.254 (cloud metadata) vouchdev-vouch-0530942/tests/test_console.py :213
assert not _target_allowed(urlparse("http://169.254.169.254/x"), frozenset())
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 402
filesystem 190
- fs (weak) vouchdev-vouch-0530942/.github/scripts/koth_score.py :34
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/.github/scripts/promote_champion.py :24
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/.github/scripts/score_strategy.py :22
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/.github/scripts/update_leaderboard.py :24
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/.github/scripts/validate_kit.py :18
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/benchmarks/bench_bundle.py :4
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/benchmarks/bench_search.py :4
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/benchmarks/conftest.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/benchmarks/fixtures/gen_kb.py :18
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/docs/img/examples/render.py :28
import shutil - fs (weak) vouchdev-vouch-0530942/scripts/gen_schemas.py :20
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/scripts/repro_list_pages_crash.py :22
import shutil - fs vouchdev-vouch-0530942/src/vouch/adopt.py :28
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/audit.py :17
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/auto_pr.py :20
import shutil - fs vouchdev-vouch-0530942/src/vouch/bench.py :121
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/bundle.py :25
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/capabilities.py :12
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/capture.py :29
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/chatgpt_import.py :37
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/cli.py :15
import shutil - fs vouchdev-vouch-0530942/src/vouch/codex_rollout.py :31
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/dual_solve.py :13
import shutil - fs vouchdev-vouch-0530942/src/vouch/embeddings/cache.py :7
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/embeddings/dedup.py :6
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/embeddings/migration.py :6
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/embeddings/scorer.py :11
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/eval/recall.py :12
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/fetch.py :117
resp = _opener.open(req, timeout=timeout) - fs vouchdev-vouch-0530942/src/vouch/health.py :13
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/http_server.py :52
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/hub.py :30
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/hub_client.py :26
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/inbox.py :22
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/index_db.py :19
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/install_adapter.py :36
import shutil - fs vouchdev-vouch-0530942/src/vouch/jsonl_server.py :26
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/logging_config.py :118
return _VouchManagedHandler(open(path, "a", encoding="utf-8")) - fs vouchdev-vouch-0530942/src/vouch/media.py :44
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/migrations/journal.py :15
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/migrations/manifest.py :25
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/migrations/rewriter.py :16
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/migrations/runner.py :16
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/migrations/schema.py :9
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/notify.py :37
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/openclaw/context_engine.py :24
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/openclaw/rpc.py :8
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/pins.py :37
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/pr_bot.py :98
with open(path, encoding="utf-8") as fh: - fs vouchdev-vouch-0530942/src/vouch/pr_cache.py :27
import shutil - fs vouchdev-vouch-0530942/src/vouch/retrieval_events.py :138
with path.open("a", encoding="utf-8") as fh: - fs vouchdev-vouch-0530942/src/vouch/sandbox.py :12
import shutil - fs vouchdev-vouch-0530942/src/vouch/scoping.py :13
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/server.py :16
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/session_split.py :16
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/skills.py :37
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/storage.py :33
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/strategy.py :47
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/sync.py :14
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/transcript.py :15
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/vault_sync.py :48
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/web/console.py :19
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/web/dual_solve_api.py :12
from pathlib import Path - fs vouchdev-vouch-0530942/src/vouch/web/server.py :43
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/embeddings/test_cli.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/embeddings/test_dedup.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/embeddings/test_integration.py :9
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/embeddings/test_migration.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/embeddings/test_search.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/embeddings/test_similarity.py :13
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/embeddings/test_storage.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_adopt.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_agents.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_audit.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_audit_scoping.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_auto_pr.py :8
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_bench.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_brain_commands.py :13
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_bundle.py :9
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_capabilities.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_capture.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_capture_answer.py :19
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_capture_correction.py :10
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_capture_scope.py :16
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_cascade_delete.py :10
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_chatgpt_import.py :14
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_clear_claims.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_cli.py :18
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_cli_bundle_and_misc.py :13
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_cli_lifecycle_surface.py :13
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_cli_maintenance.py :12
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_cli_read_list.py :12
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_codex_adapter_load_real.py :26
import shutil - fs (weak) vouchdev-vouch-0530942/tests/test_codex_rollout.py :14
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_compile.py :12
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_console.py :16
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_context.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_contradictions.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_dead_claim_refs.py :12
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_delete.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_diff.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_digest.py :7
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_dual_solve.py :9
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_effectiveness.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_enrich.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_eval_recall.py :7
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_example_screenshots.py :17
import shutil - fs (weak) vouchdev-vouch-0530942/tests/test_experts.py :11
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_expire.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_explain_ranking.py :7
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_extract.py :12
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_extractors_edges.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_fetch.py :7
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_gated_import.py :12
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_goals.py :12
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_graph.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_health.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_hooks.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_hot_memory.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_http_server.py :10
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_http_server_mcp.py :29
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_hub.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_hub_client.py :11
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_inbox.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_index.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_index_db_embeddings.py :14
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_install_adapter.py :21
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_jsonl_server.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_jsonl_server_surface.py :12
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_koth_kit.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_lifecycle.py :10
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_llm_draft.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_media.py :19
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_memory_contract.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_metrics.py :20
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_migrations.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_migrations_rewriter.py :13
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_notify.py :11
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_onboarding.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_openclaw_context_engine.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_openclaw_plugin_load_real.py :17
import shutil - fs (weak) vouchdev-vouch-0530942/tests/test_openclaw_plugin_manifest.py :14
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_operator_profile.py :7
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_page_filters.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_page_kinds.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_pins.py :7
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_pr_bot.py :3
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_pr_bot_diff_coverage.py :15
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_pr_cache.py :12
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_pr_cache_helpers.py :16
import shutil - fs (weak) vouchdev-vouch-0530942/tests/test_pr_labeler_workflow.py :3
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_promote_champion.py :7
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_prompt_gate_live.py :22
import shutil - fs (weak) vouchdev-vouch-0530942/tests/test_propose_similarity.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_read_evidence_source.py :11
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_recall.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_receipt_auto_approve.py :12
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_retrieval_backend.py :10
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_retrieval_events.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_salience.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_sandbox.py :4
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_schema_migrations.py :14
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_scoping.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_server_tool_surface.py :14
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_session_split.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_session_split_renarrate.py :16
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_session_transcript.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_sessions.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_skills.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_stats.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_storage.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_strategy.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_strategy_configured.py :13
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_strategy_sandbox_child.py :28
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_sync.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_synthesize.py :7
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_themes.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_triage.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_trust.py :9
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_trusted_agent_auto_approve.py :13
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_update_leaderboard.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_vault_sync.py :25
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_verify.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_volunteer_context.py :6
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_volunteer_context_paths.py :15
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_web.py :18
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_web_diff_view.py :10
import shutil - fs (weak) vouchdev-vouch-0530942/tests/test_web_dual_solve.py :5
from pathlib import Path - fs (weak) vouchdev-vouch-0530942/tests/test_web_e2e.py :20
from pathlib import Path - fs vouchdev-vouch-0530942/webapp/app.py :25
from pathlib import Path
shell / exec 23
- shell (weak) vouchdev-vouch-0530942/benchmarks/conftest.py :4
import subprocess - shell (weak) vouchdev-vouch-0530942/docs/img/examples/render.py :29
import subprocess - shell vouchdev-vouch-0530942/src/vouch/auto_pr.py :21
import subprocess - shell vouchdev-vouch-0530942/src/vouch/capture.py :25
import subprocess - shell vouchdev-vouch-0530942/src/vouch/llm_draft.py :15
import subprocess - shell vouchdev-vouch-0530942/src/vouch/media.py :40
import subprocess - shell vouchdev-vouch-0530942/src/vouch/pr_cache.py :28
import subprocess - shell vouchdev-vouch-0530942/src/vouch/strategy.py :44
import subprocess - shell (weak) vouchdev-vouch-0530942/tests/test_capture.py :277
import subprocess - shell (weak) vouchdev-vouch-0530942/tests/test_cli.py :16
import subprocess - shell (weak) vouchdev-vouch-0530942/tests/test_codex_adapter_load_real.py :27
import subprocess - shell (weak) vouchdev-vouch-0530942/tests/test_hub.py :55
import subprocess - shell (weak) vouchdev-vouch-0530942/tests/test_install_adapter.py :18
import subprocess - shell (weak) vouchdev-vouch-0530942/tests/test_openclaw_plugin_load_real.py :18
import subprocess - shell (weak) vouchdev-vouch-0530942/tests/test_pr_bot.py :1
import subprocess - shell (weak) vouchdev-vouch-0530942/tests/test_pr_cache.py :10
import subprocess - shell (weak) vouchdev-vouch-0530942/tests/test_pr_cache_helpers.py :17
import subprocess - shell (weak) vouchdev-vouch-0530942/tests/test_prompt_gate_live.py :23
import subprocess - shell (weak) vouchdev-vouch-0530942/tests/test_strategy.py :183
import subprocess - shell (weak) vouchdev-vouch-0530942/tests/test_strategy_sandbox_child.py :26
import subprocess - shell (weak) vouchdev-vouch-0530942/tests/test_trust.py :6
import subprocess - shell (weak) vouchdev-vouch-0530942/tests/test_web_diff_view.py :11
import subprocess - shell (weak) vouchdev-vouch-0530942/tests/test_web_dual_solve.py :4
import subprocess
network 15
- net vouchdev-vouch-0530942/demo/vouch-llm.py :29
import urllib.error - net vouchdev-vouch-0530942/src/vouch/fetch.py :28
import socket - net vouchdev-vouch-0530942/src/vouch/http_server.py :49
import socket - net vouchdev-vouch-0530942/src/vouch/hub_client.py :23
import urllib.error - net vouchdev-vouch-0530942/src/vouch/notify.py :33
import urllib.error - net vouchdev-vouch-0530942/src/vouch/pr_cache.py :30
import urllib.error - net vouchdev-vouch-0530942/src/vouch/web/console.py :16
import urllib.error - net vouchdev-vouch-0530942/src/vouch/web/server.py :45
from urllib.parse import quote - net (weak) vouchdev-vouch-0530942/tests/test_chatgpt_import.py :81
"message": _msg("assistant", ["import requests"], recipient="python"), - net (weak) vouchdev-vouch-0530942/tests/test_console.py :206
from urllib.parse import urlparse - net (weak) vouchdev-vouch-0530942/tests/test_http_server.py :7
import urllib.error - net (weak) vouchdev-vouch-0530942/tests/test_http_server_mcp.py :26
import urllib.error - net (weak) vouchdev-vouch-0530942/tests/test_pr_cache_helpers.py :18
import urllib.error - net (weak) vouchdev-vouch-0530942/tests/test_strategy.py :113
import socket - net vouchdev-vouch-0530942/webapp/app.py :28
import httpx
secrets 5
- secrets vouchdev-vouch-0530942/demo/vouch-llm.py :34
key = os.environ.get("ANTHROPIC_API_KEY", "").strip() - secrets vouchdev-vouch-0530942/src/vouch/cli.py :11
import getpass - secrets vouchdev-vouch-0530942/src/vouch/hub_client.py :96
env = os.environ.get("VOUCH_HUB_TOKEN") - secrets vouchdev-vouch-0530942/src/vouch/pr_cache.py :337
key = os.environ.get("ANTHROPIC_API_KEY") - secrets vouchdev-vouch-0530942/webapp/app.py :35
VOUCH_HTTP_TOKEN = os.environ.get("VOUCH_HTTP_TOKEN", "")
database 10
- db vouchdev-vouch-0530942/src/vouch/cli.py :16
import sqlite3 - db vouchdev-vouch-0530942/src/vouch/context.py :16
import sqlite3 - db vouchdev-vouch-0530942/src/vouch/explain_ranking.py :44
import sqlite3 - db vouchdev-vouch-0530942/src/vouch/index_db.py :16
import sqlite3 - db vouchdev-vouch-0530942/src/vouch/salience.py :24
import sqlite3 - db vouchdev-vouch-0530942/src/vouch/storage.py :30
import sqlite3 - db (weak) vouchdev-vouch-0530942/tests/test_cli.py :15
import sqlite3 - db (weak) vouchdev-vouch-0530942/tests/test_context.py :347
import sqlite3 - db (weak) vouchdev-vouch-0530942/tests/test_explain_ranking.py :6
import sqlite3 - db (weak) vouchdev-vouch-0530942/tests/test_index_db_embeddings.py :12
import sqlite3
tool registrations 77
- kb_capabilities vouchdev-vouch-0530942/src/vouch/server.py :109
- kb_status vouchdev-vouch-0530942/src/vouch/server.py :119
- kb_stats vouchdev-vouch-0530942/src/vouch/server.py :125
- kb_list_skills vouchdev-vouch-0530942/src/vouch/server.py :135
- kb_get_skill vouchdev-vouch-0530942/src/vouch/server.py :152
- kb_activity vouchdev-vouch-0530942/src/vouch/server.py :167
- kb_digest vouchdev-vouch-0530942/src/vouch/server.py :193
- kb_search vouchdev-vouch-0530942/src/vouch/server.py :218
- kb_explain_ranking vouchdev-vouch-0530942/src/vouch/server.py :250
- kb_experts vouchdev-vouch-0530942/src/vouch/server.py :295
- kb_neighbors vouchdev-vouch-0530942/src/vouch/server.py :312
- kb_context vouchdev-vouch-0530942/src/vouch/server.py :330
- kb_synthesize vouchdev-vouch-0530942/src/vouch/server.py :372
- kb_read_page vouchdev-vouch-0530942/src/vouch/server.py :393
- kb_read_claim vouchdev-vouch-0530942/src/vouch/server.py :407
- kb_read_entity vouchdev-vouch-0530942/src/vouch/server.py :421
- kb_read_relation vouchdev-vouch-0530942/src/vouch/server.py :434
- kb_read_evidence vouchdev-vouch-0530942/src/vouch/server.py :447
- kb_read_source vouchdev-vouch-0530942/src/vouch/server.py :461
- kb_diff vouchdev-vouch-0530942/src/vouch/server.py :475
- kb_list_pages vouchdev-vouch-0530942/src/vouch/server.py :487
- kb_list_claims vouchdev-vouch-0530942/src/vouch/server.py :519
- kb_list_entities vouchdev-vouch-0530942/src/vouch/server.py :532
- kb_list_relations vouchdev-vouch-0530942/src/vouch/server.py :544
- kb_list_sources vouchdev-vouch-0530942/src/vouch/server.py :557
- kb_list_pending vouchdev-vouch-0530942/src/vouch/server.py :570
- kb_triage_pending vouchdev-vouch-0530942/src/vouch/server.py :583
- kb_register_source vouchdev-vouch-0530942/src/vouch/server.py :603
- kb_register_source_from_path vouchdev-vouch-0530942/src/vouch/server.py :625
- kb_propose_claim vouchdev-vouch-0530942/src/vouch/server.py :640
- kb_propose_page vouchdev-vouch-0530942/src/vouch/server.py :667
- kb_compile vouchdev-vouch-0530942/src/vouch/server.py :693
- kb_summarize_session vouchdev-vouch-0530942/src/vouch/server.py :716
- kb_list_sessions vouchdev-vouch-0530942/src/vouch/server.py :732
- kb_session_transcript vouchdev-vouch-0530942/src/vouch/server.py :744
- kb_propose_entity vouchdev-vouch-0530942/src/vouch/server.py :760
- kb_propose_relation vouchdev-vouch-0530942/src/vouch/server.py :784
- kb_propose_delete vouchdev-vouch-0530942/src/vouch/server.py :807
- kb_capture_correction vouchdev-vouch-0530942/src/vouch/server.py :832
- kb_propose_goal vouchdev-vouch-0530942/src/vouch/server.py :851
- kb_list_goals vouchdev-vouch-0530942/src/vouch/server.py :882
- kb_set_goal_status vouchdev-vouch-0530942/src/vouch/server.py :896
- kb_approve vouchdev-vouch-0530942/src/vouch/server.py :936
- kb_reject vouchdev-vouch-0530942/src/vouch/server.py :957
- kb_reject_extracted vouchdev-vouch-0530942/src/vouch/server.py :966
- kb_expire vouchdev-vouch-0530942/src/vouch/server.py :985
- kb_supersede vouchdev-vouch-0530942/src/vouch/server.py :1006
- kb_contradict vouchdev-vouch-0530942/src/vouch/server.py :1015
- kb_archive vouchdev-vouch-0530942/src/vouch/server.py :1022
- kb_confirm vouchdev-vouch-0530942/src/vouch/server.py :1028
- kb_clear_claims vouchdev-vouch-0530942/src/vouch/server.py :1034
- kb_wipe_dead_refs vouchdev-vouch-0530942/src/vouch/server.py :1070
- kb_cite vouchdev-vouch-0530942/src/vouch/server.py :1094
- kb_source_verify vouchdev-vouch-0530942/src/vouch/server.py :1106
- kb_session_start vouchdev-vouch-0530942/src/vouch/server.py :1125
- kb_volunteer_context vouchdev-vouch-0530942/src/vouch/server.py :1137
- kb_session_end vouchdev-vouch-0530942/src/vouch/server.py :1144
- kb_crystallize vouchdev-vouch-0530942/src/vouch/server.py :1150
- kb_index_rebuild vouchdev-vouch-0530942/src/vouch/server.py :1163
- kb_lint vouchdev-vouch-0530942/src/vouch/server.py :1169
- kb_doctor vouchdev-vouch-0530942/src/vouch/server.py :1183
- kb_export vouchdev-vouch-0530942/src/vouch/server.py :1197
- kb_export_check vouchdev-vouch-0530942/src/vouch/server.py :1213
- kb_import_check vouchdev-vouch-0530942/src/vouch/server.py :1223
- kb_audit vouchdev-vouch-0530942/src/vouch/server.py :1240
- kb_reindex_embeddings vouchdev-vouch-0530942/src/vouch/server.py :1263
- kb_dedup_scan vouchdev-vouch-0530942/src/vouch/server.py :1277
- kb_eval_embeddings vouchdev-vouch-0530942/src/vouch/server.py :1288
- kb_effectiveness vouchdev-vouch-0530942/src/vouch/server.py :1301
- kb_embeddings_stats vouchdev-vouch-0530942/src/vouch/server.py :1332
- kb_why vouchdev-vouch-0530942/src/vouch/server.py :1357
- kb_trace vouchdev-vouch-0530942/src/vouch/server.py :1367
- kb_impact vouchdev-vouch-0530942/src/vouch/server.py :1374
- kb_graph_export vouchdev-vouch-0530942/src/vouch/server.py :1383
- kb_provenance_rebuild vouchdev-vouch-0530942/src/vouch/server.py :1391
- kb_detect_themes vouchdev-vouch-0530942/src/vouch/server.py :1401
- kb_propose_theme vouchdev-vouch-0530942/src/vouch/server.py :1441
declared dependencies 24
- mcp@>=1.0,<2
- pydantic@>=2.13.4,<3
- click@>=8.4.0,<9
- pyyaml@>=6,<7
- sentence-transformers@>=3,<4
- numpy@>=1.26,<2
- pypdf@>=4,<7
- fastapi@>=0.115,<1
- jinja2@>=3,<4
- python-multipart@>=0.0.9
- uvicorn@>=0.30,<1
- websockets@>=12,<17
- pytest@>=9.0.3,<10
- pytest-benchmark@>=5,<6
- pytest-cov@>=5,<6
- mypy@>=2.1.0
- ruff@>=0.15.13
- types-pyyaml@*
- httpx@>=0.28,<1
- hatchling@>=1.21
- diff-cover@>=9,<10
- fastembed@>=0.3,<1
- onnxruntime@>=1.18,<2
- sqlite-vec@>=0.1,<1