Status of Loom's surfaces
This page counts each op group's stable ops, names its experimental ones, and lists every
boolean setting that loads false, so a caller can tell, before relying on an op or a switch,
whether it is stable and whether it is on by default. Both tables are generated from the
code: each op's maturity in the operation registry, and the boolean settings of
server/settings/catalog.py as they load.
Operations
- Stable ops not hidden from MCP are
listed under the MCP
alltoolset (thecode.*ops also needLOOM_MCP_CODE_TOOLS=true); one hidden from MCP must have another reach path (server/operations/reach.pylists the kinds; the reach census fails it otherwise). They are meant to have production callers. - Experimental ops may have no production callers yet. One not hidden from MCP is still
callable by name, and one a toolset names is listed on it (on core or atomic, also under
all; MCP toolsets).
The label is set by hand from what the 30-day reach census reports. What it decides is in the operations reference, and which ops each MCP toolset serves is in the MCP reference.
361 operations, 247 of them experimental.
Settings that are off by default
This table lists the boolean settings that load false with a real LLM provider and
nothing else set; a setting resolved at load, such as
LOOM_MEMORY_CONFLICT_RESOLVER_ENABLED, is listed only when it resolves to false. Each
row is the first sentence of the setting's description, cut at 200 characters; read its
full entry in the configuration reference before turning it on.
Settings that are not boolean (LOOM_POLICY_MODE, LOOM_SELF_SIGNUP and others whose
default is off) are not listed here.
45 boolean settings load false.
| Setting | Meaning |
|---|---|
LOOM_ALLOW_INSECURE |
True lets a non-loopback bind start with auth off, MCP open mode, open self-signup outside trust-network, the dev signing secret or a weak root, gateway or end-user key. |
LOOM_CH_LOG_COMMENT_STATEMENT_DIGEST |
Append sql:<shape12> <first 200 chars> of each statement to its log_comment (" |
LOOM_CODE_COVERAGE_IMPORT_ENABLED |
Import per-test line coverage from an instrumented CI run into the test map (method='coverage') and the per-file executed lines (code_coverage_files). |
LOOM_CODE_EMBED_RECOVERY_ENABLED |
Embedding recovery for code_chunks/code_summaries stubs (dim=0). |
LOOM_CODE_GRAPH_STATS_ENABLED |
Weekly graph statistics: PageRank, degrees, test_map rebuild. |
LOOM_CODE_HOST_ISLANDS |
Shell inside CI/build files (Actions run:, GitLab script:, Dockerfile RUN, Makefile recipes, Jenkinsfile sh) is parsed for facets, script includes edges and SQL; jobs, targets and stages… |
LOOM_CODE_INGEST_DENYLIST_BUILTIN |
True applies the built-in generated, minified and vendored ingest rules (code/app/index/denylist.py), which match 0.19% of rows. |
LOOM_CODE_INGEST_ENABLED |
Per-merge fast tier: git-poll → diff → re-chunk/re-embed changed files → tree-sitter symbols/edges → context pack → advance watermark. |
LOOM_CODE_ORG_READABLE |
True lets every authenticated principal of the org read every configured code namespace (right for public or org-internal repos); false leaves reads to the namespace's own visibility and grants. |
LOOM_CODE_PR_HISTORY_ENABLED |
Merged-PR history sync (GitHub REST, cursor-resumable). |
LOOM_CODE_PY_SQL_ISLANDS |
SQL a Python file runs (database-client call arguments and SQL-looking literals) becomes statement symbols, facets (confidence 0.7 with a format hole) and table edges. |
LOOM_CODE_REPO_PUBLIC |
The scalar repo entry is public: its namespace registers join_policy=open and discoverable. |
LOOM_CODE_SANDBOX_REQUIRED |
Set by deployments that ship the sandbox profiles: a repository job refuses to run rather than run unsandboxed, and /v1/health reports the missing sandbox as an error. |
LOOM_CODE_SCIP_APPLY_ENABLED |
SCIP delta apply (compiler-grade tier uploaded via code.scip_ingest). |
LOOM_CODE_SEARCH_CARD_LEG |
The card leg: file cards are searched by cosine and the top files' chunks join fusion as a capped RRF list (the history leg's shape). |
LOOM_CODE_SHELL_ISLANDS |
A shell test's SQL strings ($CLICKHOUSE_CLIENT -q, heredocs, echo \|) become statement symbols with facets; leftover chunks coalesce up to code_shell_chunk_target_chars, never across a… |
LOOM_CODE_SQL_COLUMN_LINEAGE |
Column-level SQL lineage: <table>.<column> symbols, column_read / column_write facets and statement → column edges, for .sql and Python SQL islands. |
LOOM_CODE_SQL_STATEMENT_RECORDS |
SQL tests as statement records: one statement symbol per record, chunks packed by whole statements, facet rows in loom.code_test_facets. |
LOOM_CODE_SUMMARY_ENABLED |
Weekly LLM file/module summary cards (inputs_hash-gated). |
LOOM_DEPLOYMENT |
True marks this process as the deployment itself: its compose files set LOOM_DEPLOYMENT=1, and every other process sets LOOM_INSTANCE_LABEL instead (e.g. iso:<worktree>:<port>, ci:integration). |
LOOM_EMBEDDING_SEND_DIMENSIONS |
Send the optional dimensions request parameter to a compatible endpoint. |
LOOM_ENTITY_COMMUNITIES_ENABLED |
Label-propagation communities over the entity co-occurrence graph, per namespace, into loom.entity_communities (read by namespace.taxonomy and graph-mode expansion). |
LOOM_INFERENCE_CUSTOMER_REQUIRED |
True (a cell serving several customers): refuse to start without inference_customer_header, so no model call goes out unattributed. |
LOOM_INFERENCE_GATEWAY_REQUIRED |
True: model calls and memory content go only to inference_gateway_hosts; on whenever a workload token is sent (inference_token_url, or the bearer mode). |
LOOM_KNOWLEDGE_SOURCE_SYNC_ENABLED |
The knowledge_source_sync worker: pulls each registered document source's changed files into its namespace's documents. |
LOOM_MCP_CODE_TOOLS |
List code.* tools on the MCP surface (core toolset union). |
LOOM_MEMORY_ASK_CONSISTENCY_CHECK |
After synthesis one judge call (the cheap client when the cascade is on, else the synth client) labels the answer entailed / neutral / contradicted against the memories it cites (consistency… |
LOOM_MEMORY_ASK_PRECEDENTS |
Serve the earlier synthesized answer to the same question and shape, with no LLM call, when the synthesis window is byte-identical (same keys, same content_sha256 per key); otherwise synthesize and… |
LOOM_MEMORY_ASK_PREMISE_CHECK |
When the window holds a pinned or human-verified memory, one judge call asks whether the question presupposes something it contradicts; if so the synthesizer holds the trusted fact and corrects the… |
LOOM_MEMORY_EXTRACT_AGENT_LEARNINGS |
Whether extraction files an assistant's rules about itself as learnings to review; a request can only turn it off. |
LOOM_MEMORY_EXTRACT_VALUE_UPDATES |
Value-update supersession on the extraction write path (memory.app.value_updates): a fresh memory restating an existing one with a different value token marks the older one superseded. |
LOOM_MEMORY_QUERY_NODES_ENABLED |
Past queries as nodes: one loom.query_nodes row per memory.search (normalised text, embedding, returned keys), gated on the namespace's capture consent; the erasure saga deletes the table. |
LOOM_MEMORY_WEBHOOK_ALLOW_HTTP |
True lets a memory webhook use plain http (a local receiver in development); false: https only. |
LOOM_OAUTH_ENABLED |
MCP one-click connect: dynamic client registration and /oauth/authorize on top of the sign-in routes (device grant, token, revoke) every auth-on deployment serves. |
LOOM_OBSERVE_EXTRACT_ENABLED |
Deferred-extraction worker for the observe plane: distills READY rows (observe.record/crystallize) into durable memories through the memory.set_from_messages pipeline. |
LOOM_OIDC_JIT_PROVISION |
JIT provisioning: a first OIDC sign-in with no account creates a personal namespace in oidc_jit_org instead of being rejected. |
LOOM_OTEL_METRICS_DELTA_TEMPORALITY |
Delta temporality for counters and histograms (an idle synchronous series writes no row). |
LOOM_PG_PAYLOAD_CLEAR_ENABLED |
The pg_payload_clear worker: clears a revision's payload once every usable ClickHouse backup holds it. |
LOOM_PROFILE_CONSOLIDATION_ENABLED |
Fold a user's durable preference/decision memories into a versioned profile section (memory_type='profile') for profile.render / context.pack; skipped when refreshed within the cooldown. |
LOOM_READS_LLM_FREE |
True: reads call no LLM (ask synthesis: 409), skip the spelling-fix and set-expansion embeddings, and rerank only as named, since a reranker is a model call. |
LOOM_READY_REQUIRES_MIRRORS |
True: /v1/health/ready also waits until the mirror warm-up has queued its clones and while a clone of this host's git mirrors is running or queued (a failed clone does not hold it). |
LOOM_REFLECTION_DISTILL_ENABLED |
Reflection distillation: label recent sessions that carry no outcome (positive / negative / unclear into loom.session_outcomes_by_user), pair each confidently failed session with its nearest… |
LOOM_REQUIRE_REAL_PROVIDERS |
A fake or key-less provider is a warn in /v1/health problems; true (production) makes it an error and status: degraded, which preflight and monitors catch. |
LOOM_SEARCH_TRACE_LOG_ENABLED |
Per-query recall telemetry into loom.search_trace_log (query, returned keys+scores, abstain, latency), fire-and-forget. |
LOOM_TRACKER_SELF_SERVICE_ALLOW_PRIVATE_HOSTS |
A registered host must resolve to a public address (no loopback, RFC 1918, link-local, CGNAT 100.64/10 or multicast); True lets a dev stack point at a local ClickHouse. |