Ask

Ask the documentation

The same 133 chapters, indexed as the docs corpus. Scores, coverage and gaps are computed from the corpus, not decorated, and if the answer is not in here, the page says so instead of guessing.

corpus docs coverage 0.54 no gaps8,340 tokens6 passages

17) | F Trust and verification | FLAG; the dry run is always available | CORECRUXD_FEATURE_SCOPED_FORGET=on | MCP memory_forget, memory_forget_dry_run | 6.11 | | F12 | Session handshake and invocation verify | F Trust and verification | SHIPPED | n/a | MCP cuecrux_session; HTTP POST /session, POST /invocation/verify, GET /v1/sessions/{id}/plan | 6.12 | | F13 | Posture self-audit tools | F Trust and verification | SHIPPED, unflagged | n/a (execplan_gate requires token_budget) | MCP route_access_matrix, auth_posture_audit, egress_policy_check, execplan_gate | 6.13 | | G1 | Four auth modes, with a fail-closed start | G Identity and access | SHIPPED, and required: there is no default | CORECRUXD_AUTH_MODE must be set to off, dev_scopes, jwt_hs256 or jwt_jwks | env; every HTTP route | 7.1 | | G2 | Deny-by-default route authorization | G Identity and access | FLAG, and the default logs rather than blocks | CORECRUXD_ROUTE_AUTH=shadow | env; all HTTP routes | 7.2 | | G3 | The scope vocabulary | G Identity and access | SHIPPED | n/a | HTTP headers, JWT claims, MCP tokens | 7.3 | | G4 | Passport identity records, presence and principal resolution | G Identity and access | SHIPPED as records; per-request cryptographic enforcement is NOT WIRED | n/a | MCP issue_passport, get_passport, get_agent_identity, resolve_principal; HTTP /v1/passports*, /v1/principal/resolve; Console Trust › Passport | 7.4 | | G5 | Passport revocation | G Identity and access | FLAG; enforced on the MCP dispatcher only, and fails open on a read failure | CRUX_PASSPORT_REVOCATION=on (only 1 and true enable it) | MCP revoke_passport | 7.5 | | G6 | Passport mint requests | G Identity and access | FLAG; the one flag that changes MCP catalogue membership | CORECRUXD_FEATURE_PASSPORT_MINT_REQUESTS=off | MCP request_passport_mint; HTTP /v1/passport/mint-requests/pending and .../approve, .../reject; Console Trust › Pending mints | 7.6 | | G7 | Identity continuity across identifiers | G Identity and access | FLAG | CORECRUXD_FEATURE_IDENTITY_CONTINUITY=off; CORECRUXD_IDENTITY_LINKS=off | MCP passport_split, passport_merge, passport_link_device; HTTP /v1/identity/links*, /v1/identity/candidates*; Console Trust › Identity | 7.7 | | G8 | Credential rails | G Identity and access | SHIPPED; the MCP token registry is fail-closed at startup | dev override CRUX_MCP_ALLOW_EMPTY_AGENT_REGISTRY=1 | HTTP /v1/auth/device/*, /v1/auth/tailscale/token, /v1/auth/whoami; MCP bearer tokens; CLI corecruxctl login | 7.8 | | G9 | RCX capability tokens | G Identity and access | SHIPPED as crate and router; inert when no token is configured | n/a | MCP tools/list filter and tools/call gate (-32030); HTTP /v1/rcx/publish/* | 7.9 | | G10 | Agent passports and scope aliasing | G Identity and access | FLAG | CORECRUXD_AGENT_PASSPORTS=off | MCP, on every fact write | 7.10 | | H1 | Session cost lens | H Cost and metering | Analyser and CLI SHIPPED; daemon storage and read FLAG | CORECRUXD_FEATURE_COST_LENS=off | CLI corecruxctl session cost; HTTP /v1/cost/report; Console Meters › Token Burn | 8.1 | | H2 | Cost attributed to work and plans | H Cost and metering | SHIPPED as a read-time join, not a binding | n/a | HTTP GET /v1/work (token_burn); Console Work › ExecPlans | 8.2 | | H3 | Per-passport token accounting and usage reporting | H Cost and metering | SHIPPED, advisory only; nothing enforces the limit | limit via CORECRUXD_SESSION_TOKEN_BUDGET | MCP session_token_usage; HTTP /v1/agents/{passport}/usage, /v1/mcp/tools/usage; Console Meters | 8.3 | | H4 | Token-savings holdout | H Cost and metering | FLAG; not present in config.example.env | CRUX_OUTPUT_HOLDOUT=0.0 (off) | MCP token_savings | 8.4 | | H5 | Quota buckets and the credit meter | H Cost and metering | FLAG | CORECRUXD_QUOTA=off (with CORECRUXD_QUOTA_HOSTED_SURFACES empty); CORECRUXD_CREDIT_METER=off | HTTP GET /v1/quota, POST /v1/credits/spend; quota middleware on every route | 8.5 | | H6 | Agent Workbench (Pro surfaces) | H Cost and metering | FLAG; an unlisted capability returns 402 pro_service_not_enabled | CORECRUXD_ENABLED_PRO_SERVICES=empty | HTTP /v1/workbench/* (12 surfaces); Console System › Workbench | 8.6 | | I1 | .cruxpack signed memory export | I Portability and custody | Build, sign and verify SHIPPED; the entities and receipts sections are STUBBED and always empty | n/a | CLI corecruxctl memory pack | 9.1 | | I2 | Pack verification and import planning | I Portability and custody | Verify and plan SHIPPED; HTTP import FLAG | CRUX_MEMORY_IMPORT=off | CLI corecruxctl memory import; HTTP POST /v1/memory/import | 9.2 | | I3 | Composed context export, verified offline | I Portability and custody | SHIPPED, unflagged | n/a | CLI corecruxctl context export, corecruxctl context verify | 9.3 | | I4 | Streaming fact export and envelope import | I Portability and custody | SHIPPED | n/a | HTTP GET /v1/facts/export, POST /v1/result-envelope/import | 9.4 | | I5 | Custody scorecard | I Portability and custody | FLAG, and largely constant when on | CRUX_CONTEXT_CUSTODY_AUDIT=off | MCP context_custody_audit | 9.5 | | I6 | Crypto-shred envelope and destroy marker | I Portability and custody | STUBBED, explicitly non-destructive | n/a | library only, no surface | 9.6 | | J1 | Peer-to-peer tenant sync | J Sync and connectors | SHIPPED; mutual auth and delegation FLAG | CORECRUXD_SYNC_MUTUAL_AUTH=off; CORECRUXD_SYNC_DELEGATION_ENFORCE=off (fail-closed when off) | HTTP /v1/sync/handshake/nonce, /v1/sync/tenants/{id}/manifest, .../collections/{c}, .../promotions/preview, .../promotions/confirm, .../offboard | 10.1 | | J2 | Background fact sync, and the sharing posture | J Sync and connectors | SHIPPED when a remote is configured; posture and backfill SHIPPED | CORECRUXD_SYNC_REMOTE_URL plus CORECRUXD_SYNC_REMOTE_API_KEY | MCP sync_pull, sync_push, sync_status; HTTP GET /v1/admin/sharing/posture, POST /v1/admin/sharing/backfill | 10.2 | | J3 | Scheduled connector jobs | J Sync and connectors | SHIPPED, always spawned; jobs self-skip | n/a | HTTP GET /v1/facts?entity_prefix=__sync__:: | 10.3 | | J4 | Markdown vault watcher | J Sync and connectors | SHIPPED, double-gated | CORECRUXD_VAULT_WATCH_ROOTS must be set and a file-watcher pack must be installed and granted | env CORECRUXD_VAULT_WATCH_*; status fact __sync__::vault-watcher | 10.4 | | J5 | GitHub connector and indexed corpus | J Sync and connectors | SHIPPED | CORECRUXD_INTEGRATIONS_ENABLED=on; CORECRUXD_GITHUB_SYNC_INTERVAL_SECS=900 | MCP github_search, github_recent_commits, github_open_prs, github_open_issues, github_comments_since; HTTP /v1/integrations/github/*; Console Studio › Integrations | 10.5 | | J6 | OpenAI-compatible connector and function-calling shim | J Sync and connectors | Connector SHIPPED; shim FLAG | CORECRUXD_OPENAI_SHIM=off | HTTP /v1/integrations/openai/*, GET /v1/openai/tools.json, POST /v1/openai/invoke | 10.6 | | J7 | Repository and workspace intelligence | J Sync and connectors | SHIPPED; active watch is feature-gated | n/a | MCP register_repo, list_repos, get_workspace_storyline; HTTP /v1/repos*, /v1/workspace/scan, /v1/workspace/storyline | 10.7 | | J8 | Daemon-to-daemon embedding provider | J Sync and connectors | FLAG; the route stays mounted and returns capability-disabled | CORECRUXD_COMPUTE_PROVIDER=off; consumer side CORECRUXD_EMBED_DELEGATE_URL | HTTP POST /v1/compute/embed (scope compute:embed) | 10.8 | | K1 | Integration packs | K Extensibility | SHIPPED | n/a | HTTP POST /v1/extensions/register, GET /v1/extensions, DELETE /v1/extensions/{id}; Console System › Extensions | 11.1 | | K2 | Capability grants | K Extensibility | SHIPPED | n/a | HTTP /v1/extensions/{id}/grants, /v1/console/integrations/{packId}/install, .../grant, .../disable | 11.2 | | K3 | Signed distribution: keyring, trust tiers and the two registries | K Extensibility | SHIPPED; documented development bypasses are enumerated | n/a | HTTP /v1/extensions/keys, /v1/extensions/registry, POST /v1/extensions/install-from-registry; CLI corecruxctl extensions sync, review, install | 11.3 | | K4 | External tools over HTTPS | K Extensibility | SHIPPED | n/a | MCP ext.*; HTTP POST /v1/extensions/{id}/tools/{name}/invoke | 11.4 | | K5 | WASM extension host | K Extensibility | FEATURE, compiled out by default; kind: wasm dispatch returns 501 without it | FEATURE wasm-extensions=off | HTTP the same invoke route as K4 | 11.5 | | K6 | Extension tools in the agent's tool list | K Extensibility | SHIPPED | n/a | MCP tools/list, tools/call | 11.6 | | K7 | Studio packs and the signed template library | K Extensibility | SHIPPED; required_tier is advisory | n/a | HTTP POST /v1/studio/pack/build, /verify, GET /v1/studio/library, POST /v1/studio/library/{id}/install; CLI corecruxctl studio sync; Console Studio | 11.7 | | K8 | The substrate: entities, edges, kinds and the relations graph | K Extensibility | SHIPPED | n/a | MCP entity_upsert, entity_get, entity_list, entity_delete, entity_history, edge_*, kind_*; HTTP /v1/entities, /v1/edges, /v1/kinds, /v1/relations; Console Canvas › Graph | 11.8 | | K9 | Lenses, and the Feature Registry as the reference lens | K Extensibility | SHIPPED | n/a | MCP feature_file_search, feature_coverage_report, feature_trigger_audit, feature_suggest_next, get_gaps; HTTP /v1/features/capabilities* | 11.9 | | K10 | Projection read models | K Extensibility | SHIPPED for entity projections; several artifact projections return 501 in the Community Edition | n/a | HTTP /v1/projections/*, /v1/admin/projections/* | 11.10 | | K11 | Typed action traces and session mining | K Extensibility | FLAG, one flag for both the trace ring and learn | CORECRUXD_FEATURE_TOOL_TRACES=on (0 or empty disables) | MCP tool_trace_recent, learn | 11.11 | | L1 | One process, three listeners, and a lifecycle that refuses rather than degrades | L Operating the daemon | SHIPPED | port and host variables per listener; CORECRUXD_MCP_ENABLED; CORECRUXD_SHUTDOWN_DRAIN_SECS | HTTP 14800, MCP 14801, gRPC 4007, all loopback by default | 12.1 | | L2 | Configuration that resolves predictably | L Operating the daemon | SHIPPED | 393 environment variables plus config.yaml; nine mutually incompatible boolean dialects | env and config file | 12.2 | | L3 | The agent config wizard | L Operating the daemon | SHIPPED | n/a | CLI crux-config-wizard init, regenerate, check, list, add, remove, diff; .crux/agent-profile.toml | 12.3 | | L4 | Agent config audit and drift warning | L Operating the daemon | SHIPPED, advisory, warn-only, and fails open | opt-out is the literal string CRUX_HOOK_CONFIG_AUDIT=off | MCP audit_config, check_config_audit; SessionStart hook | 12.4 | | L5 | Ingress hardening | L Operating the daemon | SHIPPED; all four knobs accept 0 to disable | CORECRUXD_MAX_REQUEST_BODY_BYTES=16 MiB; _MAX_INFLIGHT=1024; _RATE_LIMIT_RPS=300; _RATE_LIMIT_BURST=600 | applied to the HTTP and MCP listeners | 12.5 | | L6 | Health, readiness and the capacity guard | L Operating the daemon | SHIPPED | CORECRUXD_PUBLIC_PROBES_MINIMAL=off; capacity threshold CORECRUXD_CAPACITY_EMERGENCY_FREE_RATIO=0.10 | HTTP GET /healthz, GET /readyz, GET /v1/version | 12.6 | | L7 | Prometheus metrics | L Operating the daemon | SHIPPED; the endpoint is unauthenticated and public | n/a | HTTP GET /metrics | 12.7 | | L8 | Logging, redaction and tracing | L Operating the daemon | Redaction SHIPPED; OpenTelemetry export is a compile-time FEATURE | FEATURE otel=off; RUST_LOG; OTEL_EXPORTER_OTLP_ENDPOINT; note CORECRUX_LOG_FORMAT is read by no code | stderr, JSON log output, ops-fact path, MCP parse-error echo | 12.8 | | L9 | Admin actions, valves and the operator queue | L Operating the daemon | SHIPPED | CORECRUXD_ADMIN_FORCE_SEAL=off; CORECRUXD_OPERATOR_ACTION_MAX_PENDING; _TIMEOUT_SECS | HTTP POST /v1/admin/actions, POST /v1/admin/valves, POST /v1/admin/restart, GET /v1/admin/control, GET /v1/admin/ops-log; Console System › Settings | 12.9 | | L10 | Update and drift posture | L Operating the daemon | SHIPPED | CORECRUXD_UPDATE_CHECK_ENABLED (containers should set 0) | MCP update_status; HTTP GET /v1/version (update block); Console System › Settings | 12.10 | | L11 | Live event stream | L Operating the daemon | SHIPPED | n/a | HTTP GET /v1/events/stream | 12.11 | | L12 | The operator console | L Operating the daemon | FLAG; the upstream proxies are unset by default | CORECRUXD_CONSOLE_ENABLED=on; CORECRUXD_CORECRUX_BASE_URL; CORECRUXD_ENGINE_BASE_URL | HTTP /console, /console-assets/*, /console-v2/*, /console-3d/*, /activate, /v1/console/* | 12.12 | | L13 | Context injection bundle | L Operating the daemon | FLAG | CORECRUXD_CONTEXT_SURFACE=off; cache CORECRUXD_ASSEMBLY_CACHE=off | HTTP GET /v1/context, POST /v1/context | 12.13 | | L14 | Storage hygiene | L Operating the daemon | Ephemeral GC FLAG, read once at boot; the session TTL reaper is always on at 60s | CORECRUXD_EPHEMERAL_GC=off; CORECRUXD_OBS_RETENTION_DAYS unset means retain forever | env | 12.14 | | M1 | The HTTP API | M Surfaces and tooling | SHIPPED; /v1/openapi.json carries schemas for about 7% of the surface | n/a | 303 paths across 347 registrations; GET /v1/openapi.json | 13.1 | | M2 | The MCP server | M Surfaces and tooling | SHIPPED; four JSON-RPC methods only, and no resources/* or prompts/* | card CRUX_AGENT_CARD=on; resource metadata 404s unless CRUX_MCP_RESOURCE_URL is set | MCP POST /mcp, GET /mcp, /.well-known/agent-card, /.well-known/oauth-protected-resource; CLI corecruxd mcp-stdio | 13.2 | | M3 | Tool-surface shaping | M Surfaces and tooling | FLAG; shaped-out tools remain callable by name | CORECRUXD_TOOL_SURFACE=full (full, minimal, dynamic) | MCP tools/list; intent from cuecrux_session(intent) | 13.3 | | M4 | The gRPC data plane | M Surfaces and tooling | DECLARED-NOT-IMPLEMENTED in this edition: all 10 registered RPCs return unimplemented, and a third compiled service with 5 operations is never registered | n/a | gRPC port 4007, services CoreCruxDataPlaneV1 and CoreCruxExportV1 | 13.4 | | M5 | corecruxctl, the operator CLI | M Surfaces and tooling | SHIPPED; corecruxctl ops append is compiled but wired to no subcommand | n/a | CLI, 50 modules; on-ramps are corecruxctl start and corecruxctl deploy-audit | 13.5 | | M5a | Uncovered corecruxctl capability set | M Surfaces and tooling | SHIPPED, and documented nowhere in the 82 reference chapters | n/a | CLI parity, reconcile, snapshot, stage1-import, machine, config, session, observe ingest, compaction-sync, tooling-env, audit-pack, openclaw | 13.6 | | M6 | Claude Code hooks | M Surfaces and tooling | SHIPPED | installed by crux-config-wizard init or corecruxctl hooks install | CLI crux-hook: SessionStart banner, config-audit advisory, PreToolUse punchcard check | 13.7 | | M7 | crux-llm-shim | M Surfaces and tooling | SHIPPED, experimental v1, and documented nowhere else | CRUX_LLM_SHIM must be 1; default off | CLI crux-llm-shim, shipped in releases | 13.8 | | M8 | Official SDKs | M Surfaces and tooling | SHIPPED, with a dated defect register: 6 blocking, 5 staleness | n/a | npm @cuecrux/client; PyPI corecrux-client | 13.9 | | M9 | The desktop shell | M Surfaces and tooling | NOT IN THE DEFAULT BUILD: two crates excluded from the workspace, compile-gated in CI only | n/a | no runtime surface | 13.10 | | N1 | The no-phone-home guarantee, and its one exception | N Assurance and release | CI gate SHIPPED; the startup passport claim is FLAG | CORECRUXD_PASSPORT_CLAIM_ON_STARTUP=true | scripts/assert-no-phone-home.sh; the egress-probe workflow | 14.1 | | N2 | Required checks and the merge queue | N Assurance and release | SHIPPED | n/a | eleven required checks on main; licence-header gate, typos gate, unwrap ratchet, twelve coverage floors; unsafe_code = "forbid" workspace-wide | 14.2 | | N3 | Test depth: five tiers | N Assurance and release | SHIPPED | n/a | cargo test, cargo fuzz, cargo mutants; 5,969 test attributes measured 2026-07-27 | 14.3 | | N4 | Signed, SBOM'd releases | N Assurance and release | SHIPPED | n/a | GitHub releases with cosign signatures, a CycloneDX SBOM and SLSA provenance; ghcr image; Helm chart | 14.4 | | N5 | Contract-drift tests (three-place wiring) | N Assurance and release | SHIPPED | n/a | cargo test -p corecruxd; route manifest plus auth classification plus registration | 14.5 | | N6 | The licence, and the open-closed line | N Assurance and release | SHIPPED | n/a | LICENSE, NOTICE, SECURITY.md, TRUST-CONTRACT.md, CITATION.cff | 14.6 |[1]| Command | Does | |---|---| | corecruxctl start | The on-ramp: detect the daemon, sort out auth, wire MCP and Claude Code hooks, round-trip a fact | | corecruxctl verify-store --strict | Per-segment BLAKE3 re-derivation plus a chain walk | | corecruxctl replay --strict | Recompute and compare | | corecruxctl inspect-receipt <file> | Human-readable CROWN receipt breakdown | | corecruxctl explain <receipt> | The retrieval decision path for a receipt | | corecruxctl gaps | Low-coverage report | | corecruxctl context export | Export the custody bundle | | corecruxctl context verify --json | Verify that bundle offline | | corecruxctl audit-verify | Verify a bring-your-own audit bundle offline, with no daemon running | | corecruxctl code-health | Dead-code, stub and unused-dependency harvester |[3]It finds, basenames, sorts and requires uniq -d to be empty | | assert-context-custody.sh | The custody **exit test**: seed a receipt, export, verify ok=true with a zero exit, tamper one byte inside memory.cruxpack, then require ok=false with a hash mismatch and a non-zero exit.[5]

  1. [1]Capabilities · 15. Status appendix| # | Capability | Family | Status | Flag and default | Reached through | Explainer | |---|---|---|---|---|---|---| | A1 | Durable fact memory | A Memory that persists | SHIPPED | n/a | MCP store_fact, query_facts, delete_fact, list_entities, fact_history; HTTP /v1/facts; Cons… 0.73docs · 6642 tokopen chapter →
  2. [2]Crux Daemon · 13. Receipts and proof1. **These exact bytes were signed by the holder of that key.** BLAKE3 over the stored bytes compared against the header hash, plus verify_strict (verify_v1.rs:536), which additionally forecloses signature malleability and torsion-key ambiguity. 2. **The bytes have not changed… 0.71docs · 445 tokopen chapter →
  3. [3]Contributing · 3. Running locally| Command | Does | |---|---| | corecruxctl start | The on-ramp: detect the daemon, sort out auth, wire MCP and Claude Code hooks, round-trip a fact | | corecruxctl verify-store --strict | Per-segment BLAKE3 re-derivation plus a chain walk | | corecruxctl replay --strict | Reco… 0.66docs · 200 tokopen chapter →
  4. [4]Crux Daemon · 13. Receipts and proof1. **tools/verify_audit_bundle_v1.py**, the real third-party artefact, 463 lines. Run as python3 tools/verify_audit_bundle_v1.py <dir-or-bundle.tar.zst> [--json] [--rekor-pubkey <path>] (:438). It depends only on cryptography and **reimplements** the domain tags and canonical … 0.54docs · 418 tokopen chapter →
  5. [5]Contributing · 9. Releases and packaging| Script | Asserts | |---|---| | assert-no-phone-home.sh | No non-loopback network egress on a default boot. Section 9.4 | | assert-daemon-release-boundary.sh | Thirteen required distribution files exist; the CUDA and GPU exclusion boundary holds; the package-script artifact m… 0.50docs · 327 tokopen chapter →
  6. [6]Capabilities · 6. EvidenceObservation chain: observations.rs:228, canonical_body_bytes, read_chain_tip, validate_chain Mediation and usage receipts: mint_stream_receipt, mint_usage_receipt, mint_consolidation_receipt Verification: verify_receipt_v1, verify_strict, error codes, receipts.rs:466, get_rece… 0.49docs · 308 tokopen chapter →

Retrieval runs in your browser over the bundled corpus. Reading and questions stay on this machine. Read the document · follow a trail.