Governance substrate for AI coding agents — adversarial PR review, drift-detected rules, immutable audit, and closed-loop outcome routing for Claude, Codex, Gemini, and OpenCode
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
tools
-
cancel_job
Mark an async-mode job as cancelled — idempotent (#3042 Stage 1b)
-
ci_health_check
CI infrastructure health — composes GitHub status + recent-runs activity (#3076)
-
compare_data_feeds
Diff two YAML/JSON feeds: coverage + per-field axes
-
consensus_vote
Multi-model consensus voting on proposals
-
create_expert
Create a specialized expert agent
-
delegate_to_model
Pick the best-fit existing model for a task (no registry change)
-
execute_expert
Run a task through a previously-created expert (by expertId)
-
execute_spec
Execute AI software factory spec pipeline
-
extract_symbols
Tree-sitter AST symbols from a SINGLE file (functions/classes/types)
-
get_job_result
Read result of an async-mode dispatch by jobId (#3042 / #2631)
-
improvement_review
Threshold-gated observability loop — surfaces routing/tech-debt/bug/security signals from outcome+fitness data; files candidate issues
-
issue_triage
Triage GitHub issues with trust classification
-
list_experts
Inventory of expert ROLES for create_expert
-
list_jobs
List async-mode jobs across all tools — cross-session discovery (#3046 / #2631)
-
list_workflows
Inventory of multi-step TEMPLATES for run_workflow
-
memory_query
Query across all memory backends
-
memory_stats
Memory system statistics dashboard
-
memory_write
Write to typed memory backends
-
orchestrate
Task orchestration with Orchestrator coordination
-
pr_review
Multi-voter PR review with verification gate (experimental)
-
query_task_state
Query the structured task-state log for a task ID
-
query_trace
Query execution traces for observability
-
registry_import
Draft YAML for a NEW model entry (for picking existing models use delegate_to_model)
-
repo_analyze
Analyze GitHub repository structure
-
repo_security_plan
Generate security scanning pipeline for a repo
-
research_add
Add an arXiv PAPER to the registry (for non-paper sources use research_add_source)
-
research_add_source
Add a NON-PAPER source (repo/tool/blog) — for arXiv papers use research_add
-
research_analyze
Analyze registry for gaps, trends, coverage
-
research_catalog_review
Review auto-cataloged research references
-
research_discover
Discover papers/repos from external sources
-
research_query
Query research registry (status, overlap, stats, search)
-
research_synthesize
Synthesize registry into topic clusters with themes
-
run_dev_pipeline
Full dev pipeline: research, plan, vote, implement, QA
-
run_graph_workflow
Run a DAG workflow with checkpoint + rollback (linear → run_workflow)
-
run_pipeline
Execute a pipeline plugin by name with typed input
-
run_quality_gate
Run the QA quality gate (typecheck/lint/tests/build/security) over a project dir; returns structured pass/fail verdict + feedback
-
run_workflow
Run a linear workflow template (use run_graph_workflow for DAGs)
-
search_codebase
Cross-file ripgrep search for patterns or text (not an AST parser)
-
suggest_research_tasks
SUGGEST-ONLY: candidate pipeline tasks from research_discover findings for review — files/executes nothing (#1715)
-
supply_chain_tradeoff_panel
Per-axis tradeoff vote for build-vs-buy / supply-chain decisions
-
survey_oss_landscape
Transient OSS project search (license, stars, last-commit) via GitHub
-
vendor_publishing_audit
Look up a vendor's signing infrastructure (GPG keys, URL patterns, signature shape)
-
verify_audit_chain
Verify hash chain of a FileAuditStorage audit log directory
-
weather_report
Multi-CLI performance weather report
filesystem 20
- fs package/dist/child-mcp-config-WREL6AH5.js :8
import { writeFile, mkdtemp, rm } from "fs/promises"; - fs package/dist/chunk-2QFUW2SP.js :3032
import { writeFileSync, rmSync, mkdtempSync } from "fs"; - fs package/dist/chunk-3ACDP4E6.js :2
import { readdir } from "fs/promises"; - fs package/dist/chunk-4SNH5EMQ.js :1016
import { appendFileSync, existsSync, mkdirSync } from "fs"; - fs package/dist/chunk-DEL26PXS.js :3859
import * as fs from "fs"; - fs package/dist/chunk-FCPANF6R.js :37
import { writeFileSync, readFileSync, renameSync, unlinkSync, existsSync } from "fs"; - fs package/dist/chunk-HM77WNJG.js :14
import * as fs2 from "fs/promises"; - fs package/dist/chunk-HS3K2B7Q.js :6
import { copyFileSync, existsSync, mkdirSync, writeFileSync } from "fs"; - fs package/dist/chunk-K3CES6CG.js :18
import { readFileSync } from "fs"; - fs package/dist/chunk-KMNAZ5RC.js :27
import { readFile } from "fs/promises"; - fs package/dist/chunk-NINNWQ42.js :33
import * as fs3 from "fs"; - fs package/dist/chunk-PGGSGUO4.js :10
import * as fs from "fs"; - fs package/dist/chunk-PID22PMZ.js :1023
import { readFileSync, existsSync } from "fs"; - fs package/dist/chunk-PQHVC4BD.js :4
import { existsSync, mkdirSync, renameSync, writeFileSync } from "fs"; - fs package/dist/chunk-STIX3VTX.js :35
import { existsSync as existsSync4 } from "fs"; - fs package/dist/chunk-ZGLIHPGJ.js :2
import { mkdirSync as mkdirSync2 } from "fs"; - fs package/dist/cli.js :449
import { existsSync } from "fs"; - fs package/dist/index.js :2420
import * as fs from "fs"; - fs package/dist/init-opencode-6K6QNJWF.js :14
import { existsSync, readFileSync, writeFileSync } from "fs"; - fs package/dist/registry-command-7RRDCDAU.js :18
import { mkdirSync, writeFileSync } from "fs";
shell / exec 10
- shell package/dist/chunk-2QFUW2SP.js :1539
import { spawn } from "child_process"; - shell package/dist/chunk-3TTMRJUQ.js :745
const { execFile } = await import("child_process"); - shell package/dist/chunk-4DJNJGIB.js :8
import { execFile } from "child_process"; - shell package/dist/chunk-DRYU676G.js :21
import { execFile } from "child_process"; - shell package/dist/chunk-FCPANF6R.js :2189
import { execFile } from "child_process"; - shell package/dist/chunk-HFOQKCD2.js :280
const { execFile } = await import("child_process"); - shell package/dist/chunk-KMNAZ5RC.js :26
import { execFile as execFile2 } from "child_process"; - shell package/dist/chunk-STIX3VTX.js :67
import { execSync } from "child_process"; - shell package/dist/chunk-TRTCKEHS.js :96
const { execFile } = await import("child_process"); - shell package/dist/cli.js :3275
import { execSync } from "child_process";
network 4
- net package/dist/chunk-FCPANF6R.js :716
const response = await fetch(url, { - net package/dist/chunk-JTECUWWI.js :31
import { isIPv4, isIPv6 } from "net"; - net package/dist/cli.js :3393
const response = await fetch("https://api.github.com/user", { - net package/dist/setup-custom-api-3JEENEKA.js :57
const res = await fetch(url, { headers: init.headers });
secrets 6
- secrets package/dist/chunk-2QFUW2SP.js :4534
if (process.env["ANTHROPIC_API_KEY"] !== void 0 && process.env["ANTHROPIC_API_KEY"] !== "") { - secrets package/dist/chunk-3TTMRJUQ.js :739
const envToken = process.env["GITHUB_TOKEN"] ?? process.env["GH_TOKEN"]; - secrets package/dist/chunk-FCPANF6R.js :1097
const apiKey = process.env["SEMANTIC_SCHOLAR_API_KEY"]; - secrets package/dist/chunk-K3CES6CG.js :209
const envKey = process.env["NEXUS_OPENAI_COMPAT_KEY"]?.trim(); - secrets package/dist/cli.js :14823
const appPassword = process.env.BLUESKY_APP_PASSWORD; - secrets package/dist/setup-custom-api-3JEENEKA.js :63
const envKey = process.env["NEXUS_CUSTOM_API_KEY"];
database 1
- db package/dist/chunk-PQHVC4BD.js :2
import Database from "better-sqlite3";
install hooks 1
- postinstall package/package.json :127
node scripts/postinstall.js || true
declared dependencies 28
- @anthropic-ai/sdk@^0.102.0
- @google/genai@^1.52.0
- @modelcontextprotocol/sdk@^1.29.0
- better-sqlite3@^12.10.0
- jsonc-parser@^3.3.1
- ollama@^0.6.3
- openai@^6.42.0
- semver@^7.8.2
- tiktoken@^1.0.22
- ts-morph@^27.0.2
- typescript@^6.0.3
- yaml@^2.9.0
- zod@^4.4.3
- @ai-sdk/anthropic@^3.0.81
- @ai-sdk/google@^3.0.80
- @ai-sdk/openai@^3.0.68
- @types/better-sqlite3@^7.6.13
- @types/semver@^7.7.1
- @vitest/coverage-v8@4.1.8
- ai@^6.0.197
- fast-check@^4.8.0
- tsup@^8.5.1
- typedoc@0.28.19
- typedoc-plugin-frontmatter@1.3.1
- typedoc-plugin-markdown@4.12.0
- vitest@4.1.8
- nexus-memory@0.1.2
- @atproto/api@^0.20.9