MCP Tools Reference¶
This is the full searchable reference for Cruxible MCP tools. MCP is a curated agent connector, not full CLI parity. The HTTP API/client remain the broader remote product surface; CLI keeps shell-only utilities such as context, config views --update-readme, export edges, and local receipt explain.
Permission Modes¶
| Mode | Env value | Meaning |
|---|---|---|
| READ_ONLY | read_only |
Query, inspect, receipts, samples, evaluation, lint, snapshots listing. |
| GOVERNED_WRITE | governed_write |
READ_ONLY plus workflow and procedure runs, procedure/group proposals, claim attestations, outcomes, decision records, snapshot creation, and source artifact registration. Reaching the feedback tools is permitted at this tier, but every feedback ACTION now requires GRAPH_WRITE — see below. |
| GRAPH_WRITE | graph_write |
GOVERNED_WRITE plus raw graph mutation, canonical workflow apply, group resolution/trust updates, procedure resolution/retirement, attestation dispositions, and feedback adjudication (approve / reject / correct). |
| ADMIN | admin |
Full lifecycle, config reload, locks, snapshots, clone, state publication/pull, ingest, constraints, and policies. |
tools/list advertises only tools allowed by the active CRUXIBLE_MODE; call-time permission checks still enforce the same tiers as a backstop.
The Permission line on each tool below is the tier needed to call it, which
is not always enough to succeed. Two surfaces additionally gate on the payload:
the feedback tools require GRAPH_WRITE for the adjudication actions approve /
reject / correct — which is all of them, so their GOVERNED_WRITE call floor
admits no completable action — and the direct-write tools honor a type's
config-declared write_tier.
Tool Catalog Curation¶
Set CRUXIBLE_MCP_PROFILE to shrink the advertised catalog for focused clients:
| Profile | Meaning |
|---|---|
full |
Default. Advertise every tool allowed by the active permission mode. |
state_authoring |
Tools for creating, inspecting, querying, and directly loading state. |
review |
Tools for queries, receipts, feedback, attestations, outcomes, and proposal-group review. |
Set CRUXIBLE_MCP_TOOLS or CRUXIBLE_MCP_TOOL_ALLOWLIST to a comma-separated list of exact tool names for an explicit allowlist. Profile and allowlist curation are both intersected with CRUXIBLE_MODE.
Tool Prompt Style¶
Tool descriptions are written for non-coding MCP clients. Each description starts with when to use the tool, uses kit-user vocabulary, and avoids implementation details that do not help with tool choice.
Self-Describing Tool Descriptions¶
Where the loaded kit answers a question a tool leaves open, the served description also names it, so an agent can discover the config's vocabulary from the tool surface instead of being told it out of band:
| Tool | Kit facts appended |
|---|---|
cruxible_query, cruxible_list_queries, cruxible_describe_query |
Named query names |
cruxible_lock_workflow, cruxible_plan_workflow |
Registered provider names |
cruxible_run_workflow, cruxible_propose_procedure |
Registered provider names and contract names with a short field preview |
The Purpose lines documented below are the reviewed static descriptions; kit facts are appended to them and are never part of a tool's SCHEMA, which does not vary by kit. Long lists are truncated with a total.
The kit is resolved from local state only, so tools/list keeps answering when no daemon is reachable: the config named by CRUXIBLE_MCP_KIT_CONFIG, otherwise — in local mode only — the sole locally registered instance. A server pointed at a remote daemon (CRUXIBLE_SERVER_URL or CRUXIBLE_SERVER_SOCKET) describes only what CRUXIBLE_MCP_KIT_CONFIG names: a local registry record on that host belongs to some unrelated instance and says nothing about the kit the daemon serves. With no local instance, more than one, a remote transport and no explicit config, or an unreadable config, the static descriptions are served unchanged.
Working-Set Capture¶
Set CRUXIBLE_WORKING_SET_DIR to a directory path to opt the MCP server into agent-local working-set capture: entity/edge-shaped results returned by the read tools (cruxible_query, cruxible_query_inline, cruxible_get_entity, cruxible_inspect_entity, cruxible_list, cruxible_sample, cruxible_get_relationship) are ALSO recorded as revision-stamped working-set records rooted at that directory — the same record format, dedupe, and credential-scoped instance keys as the CLI's --ws capture (see the cruxible ws section of docs/cli-reference.md). Capture happens in the MCP server process, which is a client co-located with the agent; the daemon stays blind to it, and tool results are never changed by it.
When the variable is unset, capture is a hard no-op — zero behavior or performance change. Precedence for the cache root everywhere (including the cruxible ws verbs): explicit CRUXIBLE_WORKING_SET_DIR > the default ~/.cruxible/working-set.
The cache is NON-AUTHORITATIVE and its files are same-user-writable by design: any same-user process can rewrite records undetected. Directory/file permission hygiene (0700/0600) and symlink refusal reduce accidents, not adversaries; verify records with cruxible ws verify before trusting them.
cruxible_version¶
Permission: READ_ONLY
Purpose: Use when you need to confirm which cruxible build this MCP server is running.
Arguments: none.
Returns: Returns a JSON object with dynamic keys.
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_server_info¶
Permission: READ_ONLY
Purpose: Use when you need live daemon details such as state directory, version, and how many instances are loaded.
Arguments: none.
Returns: Top-level fields: server_required, state_dir, version, instance_count, auth_enabled, auth_required
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_init¶
Permission: READ_ONLY
Purpose: Use when you need to create a governed instance from a config or reconnect to an existing instance after a daemon restart.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
root_dir |
yes | string | |
config_path |
no | string | null |
config_yaml |
no | string | null |
data_dir |
no | string | null |
kits |
no | array | null |
bare |
no | boolean | Skip the configured default base kit on kit init. |
Returns: Top-level fields: instance_id, status, warnings
Side Effects: Creates a new instance or reloads an existing one.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_instance_backup¶
Permission: ADMIN
Purpose: Use when you need a portable same-identity backup of an instance, including its authoritative state database.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
artifact_path |
yes | string | |
label |
no | string | null |
Returns: The backup artifact path and the instance identity it captured.
Side Effects: Writes a portable backup artifact to disk; does not mutate instance state.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_instance_restore¶
Permission: ADMIN
Purpose: Use when you need to restore a daemon-backed instance from a same-identity backup artifact.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
artifact_path |
yes | string | |
root_dir |
no | string | null |
Returns: The restored instance id and status.
Side Effects: Creates an instance directory from the artifact and registers it with the daemon.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_instance_relocate¶
Permission: ADMIN
Purpose: Use when you need to move a healthy daemon-backed instance to a new directory while preserving its identity; the registry is repointed to the new location.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
to_dir |
yes | string | |
remove_source |
no | boolean |
Returns: The instance id and its new on-disk location.
Side Effects: Moves the instance directory and repoints the registry to the new location.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_validate¶
Permission: READ_ONLY
Purpose: Use when you need to check whether a Cruxible config is valid before creating or reloading an instance.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
config_path |
no | string | null |
config_yaml |
no | string | null |
Returns: Top-level fields: valid, name, entity_types, relationships, named_queries, warnings
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_state_create_overlay¶
Permission: ADMIN
Purpose: Use when you need a local overlay instance based on a published upstream state release.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
root_dir |
yes | string | |
transport_ref |
no | string | null |
state_ref |
no | string | null |
kit |
no | string | null |
no_kit |
no | boolean |
Returns: Top-level fields: instance_id, manifest
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_lock_workflow¶
Permission: ADMIN
Purpose: Use when workflow inputs, providers, or artifacts changed and you need to refresh the workflow lock before running it.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
force |
no | boolean |
Returns: Top-level fields: lock_path, config_digest, providers_locked, artifacts_locked
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_plan_workflow¶
Permission: READ_ONLY
Purpose: Use when you need to preview the concrete steps a configured workflow would run without executing those steps.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
workflow_name |
yes | string | |
input_payload |
no | object | null |
Returns: Top-level fields: plan
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_run_workflow¶
Permission: GOVERNED_WRITE
Purpose: Use when you need to execute a configured workflow and receive its output, receipts, traces, and apply instructions if it is a preview.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
workflow_name |
yes | string | |
input_payload |
no | object | null |
decision_record_id |
no | string | null |
Returns: Top-level fields: workflow, output, receipt_id, mode, workflow_type, canonical, apply_digest, head_snapshot_id, committed_snapshot_id, apply_previews, query_receipt_ids, read_metadata, trace_ids, receipt, traces
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_apply_workflow¶
Permission: GRAPH_WRITE
Purpose: Use when a workflow preview returned an apply digest and you are ready to commit that exact workflow result.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
workflow_name |
yes | string | |
expected_apply_digest |
yes | string | |
expected_head_snapshot_id |
no | string | null |
input_payload |
no | object | null |
decision_record_id |
no | string | null |
Returns: Top-level fields: workflow, output, receipt_id, mode, workflow_type, canonical, apply_digest, head_snapshot_id, committed_snapshot_id, apply_previews, query_receipt_ids, read_metadata, trace_ids, receipt, traces
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_test_workflow¶
Permission: GOVERNED_WRITE
Purpose: Use when you need to run workflow tests declared by the active config.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
name |
no | string | null |
Returns: Top-level fields: total, passed, failed, cases
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_query¶
Permission: READ_ONLY
Purpose: Use when you need to run a named query from the active config and receive matching items plus a receipt. First call cruxible_list_queries or cruxible_describe_query when you do not know the query name, required params, result shape, or examples. For traversal queries, params must include the entry_point primary-key field, such as {'vehicle_id': 'V-123'} when the entry point is Vehicle and its primary key is vehicle_id; cruxible_schema shows entity primary keys. Items default to the compact output profile; ask for profile='standard' or 'full' when you need provenance or actor context. Pass layout='graph' for multi-row traversal reads: it returns each entity and relationship once as nodes/edges with results as ordered references, instead of duplicating them per row.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
query_name |
yes | string | |
params |
no | object | null |
limit |
no | integer | null |
offset |
no | integer | Number of results to skip before the returned window. |
relationship_state |
no | string | null |
lifecycle_status |
no | string | null |
decision_record_id |
no | string | null |
profile |
no | string | null |
layout |
no | string | Transport layout: rows (default, per-row items) or graph (normalized transport: nodes/edges carry each unique entity and relationship once, results preserves row order as index references, paths holds step-ref sequences; compact graph also interns repeated non-empty include maps in include_sets, referenced by integer includes values). |
Returns: An object-rooted envelope {"result": ...} (MCP output schemas must be object-rooted; this result is a union of shapes). Inside result: items, receipt_id, receipt, total, limit, offset, truncated, limit_truncated, path_truncated, truncation_reasons, max_paths, max_paths_per_result, total_path_count, retained_path_count, steps_executed, result_shape, dedupe, relationship_state, lifecycle_status, param_hints, policy_summary (rows layout). With layout='graph' the items field is replaced by layout, nodes, edges, results, and paths; compact graph with retained includes also returns include_sets. Every other field is unchanged.
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_query_inline¶
Permission: READ_ONLY
Purpose: Use when you need a one-off bounded graph query without adding it to the config. Inline definitions use the configured named-query JSON shape plus a required name; promote repeated or workflow-critical queries into config. Items default to the compact output profile; ask for profile='standard' or 'full' when you need provenance or actor context. Pass layout='graph' to receive deduplicated nodes/edges with results as ordered references instead of per-row items.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
definition |
yes | InlineQueryDefinition | Inline query definition object: same JSON shape as a configured named query (mode, returns, traversal, where, select, order_by, include, limit, max_paths, max_paths_per_result, ...) plus a required name. |
params |
no | object | null |
limit |
no | integer | null |
relationship_state |
no | string | null |
lifecycle_status |
no | string | null |
decision_record_id |
no | string | null |
profile |
no | string | null |
layout |
no | string | Transport layout: rows (default, per-row items) or graph (normalized transport: nodes/edges carry each unique entity and relationship once, results preserves row order as index references, paths holds step-ref sequences; compact graph also interns repeated non-empty include maps in include_sets, referenced by integer includes values). |
Returns: An object-rooted envelope {"result": ...} (MCP output schemas must be object-rooted; this result is a union of shapes). Inside result: items, receipt_id, receipt, total, limit, offset, truncated, limit_truncated, path_truncated, truncation_reasons, max_paths, max_paths_per_result, total_path_count, retained_path_count, steps_executed, result_shape, dedupe, relationship_state, lifecycle_status, param_hints, policy_summary (rows layout). With layout='graph' the items field is replaced by layout, nodes, edges, results, and paths; compact graph with retained includes also returns include_sets. Every other field is unchanged.
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_list_queries¶
Permission: READ_ONLY
Purpose: Use when you need to discover the named queries available in the active config. Returns bounded summaries (name, entry point, required params); call cruxible_describe_query for one query's full definition. Pass detail='full' only when you truly need every definition expanded. If truncated is true, pass the returned continuation_token back as continuation to fetch the next page.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
detail |
no | string | summary (default) returns bounded discovery cards; full returns complete definitions. |
limit |
no | integer | |
offset |
no | integer | |
continuation |
no | string | null |
Returns: An object-rooted envelope {"result": ...} (MCP output schemas must be object-rooted; this result is a union of shapes). Inside result: items, total, limit, offset, truncated, read_revision, continuation_token
read_revision is the instance's monotonic state revision at read time — the
freshness marker for pagination and caching. Receipts prove a computation
happened; they never prove its inputs are still current.
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Stale continuation token after a mutation (409) or malformed token (422).
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_describe_query¶
Permission: READ_ONLY
Purpose: Use when you need the purpose, parameters, and result shape for one named query.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
query_name |
yes | string |
Returns: Top-level fields: name, mode, entry_point, required_params, returns, result_shape, dedupe, relationship_state, allow_relationship_state_override, select, order_by, include, limit, max_paths, max_paths_per_result, description, example_ids
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_receipt¶
Permission: READ_ONLY
Purpose: Use when you need to inspect the proof record for a previous query, write, workflow, feedback, or outcome.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
receipt_id |
yes | string |
Returns: Returns a JSON object with dynamic keys.
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_get_trace¶
Permission: READ_ONLY
Purpose: Use when you need the execution trace for one provider or workflow step.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID or local instance root. |
trace_id |
yes | string | Provider execution trace ID, usually returned by workflow run/apply/propose results. |
Returns: Returns the persisted trace with provider metadata, retained input/output payload fields, payload digest/size metadata, status, timings, and error details when present. Payload fields follow the instance config's runtime.trace_payloads retention policy.
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Trace ID not found.
- Permission mode too low for this tool.
cruxible_list_traces¶
Permission: READ_ONLY
Purpose: Use when you need to browse execution traces by workflow, provider, or page.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID or local instance root. |
workflow_name |
no | string | null |
provider_name |
no | string | null |
limit |
no | integer | Maximum trace summaries to return. |
offset |
no | integer | Number of summaries to skip. |
Returns: Top-level fields: items, total, limit, offset, truncated
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Invalid limit or offset.
cruxible_feedback¶
Permission: GOVERNED_WRITE
Purpose: Use when a person or reviewer agent adjudicated one explicit relationship and you need to record support, rejection, or a correction. To record a DOUBT without adjudicating, use cruxible_attest with stance 'contradict' instead. Use edge_key only to disambiguate multiple stored edges with the same relationship tuple; receipt_id is optional for explicit-coordinate feedback.
Action tier: every live action this tool accepts — accept / reject / correct — adjudicates a claim and requires GRAPH_WRITE, so a GOVERNED_WRITE caller cannot successfully complete any of them (the tool's own GOVERNED_WRITE floor is the first gate, not a sufficient one; a refused adjudication also rolls back the FeedbackRecord it would have written). Deprecated approve delegates to accept with a structured warning; deprecated flag is accepted only to return its structured refusal and never mutates state. While CRUXIBLE_REFUSE_DIRECT_WRITES is set, accept / correct are refused too. correct requires a non-empty corrections object. To record a doubt at GOVERNED_WRITE without adjudicating, use cruxible_attest with stance contradict.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
receipt_id |
no | string | |
action |
yes | enum: accept, reject, correct, approve, flag | Deprecated approve delegates to accept; deprecated flag is a refused compatibility alias. |
from_type |
yes | string | |
from_id |
yes | string | |
relationship_type |
yes | string | |
to_type |
yes | string | |
to_id |
yes | string | |
edge_key |
no | integer | null |
reason |
no | string | |
reason_code |
no | string | null |
scope_hints |
no | object | null |
corrections |
no | object | null |
group_override |
no | boolean | Deprecated compatibility write; use force_review. |
claim_id |
no | string | null |
source |
no | string | null |
Returns: Top-level fields: feedback_id, applied, receipt_id, deprecation_warnings
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_feedback_from_query¶
Permission: GOVERNED_WRITE
Purpose: Use when a query receipt and result index identify the relationship that needs feedback. This path requires receipt_id because the receipt/result selection is the target selector.
Action tier: every live action this tool accepts — accept / reject / correct — adjudicates a claim and requires GRAPH_WRITE, so a GOVERNED_WRITE caller cannot successfully complete any of them (the tool's own GOVERNED_WRITE floor is the first gate, not a sufficient one; a refused adjudication also rolls back the FeedbackRecord it would have written). Deprecated approve delegates to accept with a structured warning; deprecated flag is accepted only to return its structured refusal and never mutates state. While CRUXIBLE_REFUSE_DIRECT_WRITES is set, accept / correct are refused too. correct requires a non-empty corrections object. To record a doubt at GOVERNED_WRITE without adjudicating, use cruxible_attest with stance contradict.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID or local instance root. |
receipt_id |
yes | string | Query receipt ID. |
result_index |
yes | integer | Zero-based query result row index. |
action |
yes | enum: accept, reject, correct, approve, flag | Deprecated approve delegates to accept; deprecated flag is a refused compatibility alias. |
reason |
no | string | Reason for feedback. |
reason_code |
no | string | Structured feedback reason code. |
scope_hints |
no | object | Structured feedback scope hints. |
corrections |
no | object | Edge property corrections for action="correct". |
group_override |
no | boolean | Deprecated compatibility write; use force_review. |
path_index |
no | integer | Zero-based path segment index for path rows. |
path_alias |
no | string | Traversal alias for the selected path segment. |
source |
no | string | Deprecated and ignored; actor kind is derived from actor_context. |
Returns: Top-level fields: feedback_id, applied, receipt_id, deprecation_warnings
Side Effects: Creates normal feedback records and feedback receipts through the existing edge-feedback path.
Common Errors:
- Receipt is missing, not a query receipt, or result index is out of range.
- Entity-shaped query rows do not contain relationship evidence.
- Multi-hop path rows require exactly one of path_index or path_alias.
- Selected path alias is missing or duplicated, or selected edge is no longer in the graph.
cruxible_feedback_batch¶
Permission: GOVERNED_WRITE
Purpose: Use when you need to record several relationship feedback decisions from the same review session.
Action tier: every live action this tool accepts — accept / reject / correct — adjudicates a claim and requires GRAPH_WRITE, so a GOVERNED_WRITE caller cannot successfully complete any of them (the tool's own GOVERNED_WRITE floor is the first gate, not a sufficient one; a refused adjudication also rolls back the FeedbackRecord it would have written). Deprecated approve in any item delegates to accept with a structured warning; deprecated flag is accepted only to return its structured refusal and never mutates state. While CRUXIBLE_REFUSE_DIRECT_WRITES is set, accept / correct are refused too. correct requires a non-empty corrections object. To record a doubt at GOVERNED_WRITE without adjudicating, use cruxible_attest with stance contradict.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
items |
yes | array |
Returns: Top-level fields: feedback_ids, applied_count, total, receipt_id, deprecation_warnings
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_outcome¶
Permission: GOVERNED_WRITE
Purpose: Use when you need to record what happened after a decision, query, workflow, or reviewed relationship.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
outcome |
yes | enum: correct, incorrect, partial, unknown | |
receipt_id |
no | string | null |
anchor_type |
no | enum: resolution, receipt | |
anchor_id |
no | string | null |
outcome_code |
no | string | null |
scope_hints |
no | object | null |
outcome_profile_key |
no | string | null |
detail |
no | object | null |
source |
no | string | null |
Returns: Top-level fields: outcome_id, deprecation_warnings
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_list¶
Permission: READ_ONLY
Purpose: Use when you need a paged list of entities, relationships, receipts, feedback, or outcomes with optional filters. Use resource_type='entities' with entity_type and optional fields to reduce payload size; use where for bounded property predicates such as {'status': {'eq': 'active'}}. Entity and edge items default to the compact output profile; ask for profile='standard' or 'full' when you need provenance or actor context. Always check truncated: when true, pass the returned continuation_token back as continuation (same filters) to fetch the next page; a stale-continuation error means state changed - restart from the first page. read_revision on the envelope is the state freshness marker; receipts prove computation, never freshness.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
resource_type |
yes | enum: entities, edges, receipts, feedback, outcomes | |
entity_type |
no | string | null |
relationship_type |
no | string | null |
query_name |
no | string | null |
receipt_id |
no | string | null |
limit |
no | integer | |
offset |
no | integer | |
property_filter |
no | object | null |
where |
no | object | null |
operation_type |
no | string | null |
fields |
no | array[string] | null |
relationship_state |
no | string | null |
lifecycle_status |
no | string | null |
profile |
no | string | null |
continuation |
no | string | null |
Returns: Top-level fields: items, total, limit, offset, truncated, read_revision, continuation_token
continuation_token is present iff the page is truncated and resumable —
the pagination loop is: check truncated, pass continuation_token back as
continuation with the same filters. read_revision is the instance's
monotonic state revision at read time; receipts prove computation, never
freshness.
Side Effects: Read-only.
For entity lists, fields is an opt-in projection that reduces payload size
after the caller has selected an entity type. It trims entity properties but
always keeps entity_type and entity_id; it is not topic search.
Use where for bounded property predicates on entity or edge lists, for
example {"status": {"eq": "active"}} or
{"dependency_basis": {"contains": "schema"}}. This is not semantic search.
For resource_type="edges", this is a stored-relationship inspection surface:
it may return pending, rejected, or otherwise non-live stored edges. Named
queries are logical-state reads and apply relationship_state filtering, so
use cruxible_query when you need live/reviewable truth rather than store
inspection.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_evaluate¶
Permission: READ_ONLY
Purpose: Use when you need graph quality findings such as orphaned entities, coverage gaps, constraint issues, or candidate opportunities.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
max_findings |
no | integer | |
exclude_orphan_types |
no | array or null | |
severity_filter |
no | array | Optional list of error, warning, or info severities to return. |
category_filter |
no | array | Optional list of evaluate categories to return. |
Returns: Top-level fields: entity_count, edge_count, findings, summary, constraint_summary, quality_summary
Filtered calls still return full pre-filter summary, constraint_summary,
and quality_summary counts. Agent triage example: request
severity_filter=["error"] with max_findings=1 to check whether any
error-level finding exists.
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_stats¶
Permission: READ_ONLY
Purpose: Use when you need quick counts of entity and relationship types in an instance.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string |
Returns: Top-level fields: entity_count, edge_count, entity_counts, relationship_counts, head_snapshot_id
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_lint¶
Permission: READ_ONLY
Purpose: Use when you need a combined quality report for config, graph state, feedback, and outcome coverage.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
max_findings |
no | integer | |
analysis_limit |
no | integer | |
min_support |
no | integer | |
exclude_orphan_types |
no | array | null |
Returns: Top-level fields: config_name, config_warnings, compatibility_warnings, evaluation, feedback_reports, outcome_reports, summary, has_issues
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_get_feedback_profile¶
Permission: READ_ONLY
Purpose: Use when you need the allowed feedback codes and guidance for a relationship type.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
relationship_type |
yes | string |
Returns: Top-level fields: found, relationship_type, profile
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_analyze_feedback¶
Permission: READ_ONLY
Purpose: Use when you need patterns from recorded feedback, such as common corrections or recurring review issues.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
relationship_type |
yes | string | |
limit |
no | integer | |
min_support |
no | integer | |
decision_surface_type |
no | string | null |
decision_surface_name |
no | string | null |
property_pairs |
no | array | null |
Returns: Top-level fields: relationship_type, feedback_count, action_counts, source_counts, reason_code_counts, coded_groups, uncoded_feedback_count, uncoded_examples, constraint_suggestions, decision_policy_suggestions, quality_check_candidates, provider_fix_candidates, warnings
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_get_outcome_profile¶
Permission: READ_ONLY
Purpose: Use when you need the allowed outcome codes and guidance for a decision surface.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
anchor_type |
yes | enum: resolution, receipt | |
relationship_type |
no | string | null |
workflow_name |
no | string | null |
surface_type |
no | string | null |
surface_name |
no | string | null |
Returns: Top-level fields: found, profile_key, anchor_type, profile, deprecation_warnings
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_analyze_outcomes¶
Permission: READ_ONLY
Purpose: Use when you need patterns from recorded outcomes for a query, workflow, relationship, or decision surface.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
anchor_type |
yes | enum: resolution, receipt | |
relationship_type |
no | string | null |
workflow_name |
no | string | null |
query_name |
no | string | null |
surface_type |
no | string | null |
surface_name |
no | string | null |
limit |
no | integer | |
min_support |
no | integer |
Returns: Top-level fields: anchor_type, outcome_count, outcome_counts, outcome_code_counts, coded_groups, uncoded_outcome_count, uncoded_examples, trust_adjustment_suggestions, workflow_review_policy_suggestions, query_policy_suggestions, provider_fix_candidates, debug_packages, workflow_debug_packages, warnings
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_schema¶
Permission: READ_ONLY
Purpose: Use when you need the active entity types, relationships, queries, workflows, and governance settings.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string |
Returns: Returns a JSON object with dynamic keys.
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_sample¶
Permission: READ_ONLY
Purpose: Use when you need example entities of one type before writing a query or review. Items default to the compact output profile; ask for profile='standard' or 'full' for complete property bags and metadata.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
entity_type |
yes | string | |
limit |
no | integer | |
fields |
no | array[string] | null |
profile |
no | string | null |
Returns: Top-level fields: items, total, limit, offset, truncated, entity_type
Side Effects: Read-only.
fields is an opt-in projection for compact samples. It trims entity
properties but always keeps entity_type and entity_id.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_inspect_entity¶
Permission: READ_ONLY
Purpose: Use when you need everything relevant about one entity within a bounded number of hops — the generic neighborhood read beneath named queries. Anchor on the entity, then expand: depth (1-4) sets the hop horizon; max_nodes and max_edges are explicit budgets and the response reports truncated with truncation_reasons instead of silently clipping. Filter with relationship_types and target_types; state selects relationship visibility exactly like query traversal (default all — every stored edge with its review/lifecycle markers, so pending edges in governed overlays are visible by default; an explicit state filters like traversal and edges_hidden_by_state counts edges at the explored frontier hidden by state alone). projection trims neighbor properties; payloads default to the compact output profile — ask for profile='standard' or 'full' when you need provenance or actor context. When the expanded read reports truncated on a budget, pass the returned continuation_token back as continuation (same parameters) to resume the expansion where it stopped; a stale-continuation error means state changed - restart the read.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
entity_type |
yes | string | |
entity_id |
yes | string | |
direction |
no | string | incoming, outgoing, or both (default). |
relationship_type |
no | string | null |
limit |
no | integer | null |
depth |
no | integer | null |
relationship_types |
no | array | null |
target_types |
no | array | null |
state |
no | string | null |
projection |
no | array | null |
max_nodes |
no | integer | null |
max_edges |
no | integer | null |
profile |
no | string | null |
continuation |
no | string | null |
Returns: An object-rooted envelope {"result": ...} (MCP output schemas must be object-rooted; this result is a union of shapes). Inside result: Legacy calls (no neighborhood argument): found, entity_type, entity_id, properties, metadata, neighbors, total_neighbors, read_revision. Expanded calls: found, entity_type, entity_id, properties, metadata (the anchor card), depth, state, nodes (each with depth and lifecycle markers), edges (each with review/lifecycle markers), truncated, truncation_reasons (node_budget/edge_budget/depth), nodes_returned, edges_returned, edges_hidden_by_state (edges at the explored frontier that passed every other filter but were excluded solely by an explicit state; always present, 0 under state=all), read_revision, continuation_token (present iff truncated on a budget — depth-horizon truncation is a different read, not a resumable page; the resumed pages are disjoint and their union is exactly the untruncated result set). read_revision marks state freshness; receipts prove computation, never freshness.
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_inspect_entity_history¶
Permission: READ_ONLY
Purpose: Use when you need receipt-derived property changes for one entity type or entity.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
entity_type |
yes | string | |
entity_id |
no | string | null |
limit |
no | integer | |
offset |
no | integer |
Returns: Top-level fields: entity_type, entity_id, items, total, legacy_entity_write_count, warnings
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_inspect_ontology¶
Permission: READ_ONLY
Purpose: Use when orienting before a query or a write: compact entity and relationship property contracts, enum vocabularies, topology, and configured write policies.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string |
Returns: Top-level fields: view, payload
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_inspect_workflows¶
Permission: READ_ONLY
Purpose: Use when you need to understand the workflows declared by the active config.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string |
Returns: Top-level fields: view, payload
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_inspect_queries¶
Permission: READ_ONLY
Purpose: Use when you need to understand configured queries and their parameters.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string |
Returns: Top-level fields: view, payload
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_inspect_governance¶
Permission: READ_ONLY
Purpose: Use when you need to review feedback, outcome, group, and policy settings.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
limit |
no | integer |
Returns: Top-level fields: view, payload
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_inspect_overview¶
Permission: READ_ONLY
Purpose: Use when you need a single high-level summary of the instance.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
limit |
no | integer |
Returns: Top-level fields: view, payload
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_add_relationship¶
Permission: GRAPH_WRITE
Purpose: Use when you need to add or update a small number of explicit relationships and the endpoint entities already exist. Set pending=true when the edge should enter relationship review state instead of immediately becoming live.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
relationships |
yes | array | |
dry_run |
no | boolean | false |
Each relationship may pass citation_handles beside the unchanged
source_evidence locators. Handles are resolved to canonical revision-pinned
source evidence before mutation guards run.
Returns: Top-level fields: added, updated, pending_conflicts, updated_group_backed_edges, receipt_id
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_add_entity¶
Permission: GRAPH_WRITE
Purpose: Use when you need to add or update a small number of explicit entities.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
entities |
yes | array | |
dry_run |
no | boolean | false |
Returns: Top-level fields: entities_added, entities_updated, identity_warnings, receipt_id. A config-declared identity_hint match leaves the write successful and adds identity_warnings[].similar_existing_entity with the existing entity ID and matched properties. Config-declared unique_by and id_pattern violations are typed DataValidationError failures instead.
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_batch_direct_write¶
Permission: GRAPH_WRITE
Purpose: Use when you need to validate or apply one coherent batch of explicit entities and relationships; set dry_run first.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
payload |
yes | BatchDirectWritePayload | Object with entities (entity inputs), relationships (relationship inputs, each optionally carrying citation_handles and referencing shared_evidence_keys), and shared_evidence (map of key to shared evidence refs, source evidence, or citation handles). |
dry_run |
no | boolean | Validate the payload without mutating graph state. |
Returns: Top-level fields: dry_run, valid, entities_added, entities_updated, relationships_added, relationships_updated, validation_errors, validation_warnings, identity_warnings, evidence_sources_used, pending_conflicts, updated_group_backed_edges, receipt_id. A config-declared identity_hint match leaves the batch valid and adds identity_warnings[].similar_existing_entity; unique_by and id_pattern remain hard typed validation failures.
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_supersede_claim¶
Permission: GRAPH_WRITE
Purpose: Use when the settled, receipted adjudication replaces one claim with an already-existing live same-type successor.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
claim_id |
yes | string | Predecessor claim; must be lifecycle-active with review not pending/rejected. |
successor_claim_id |
yes | string | Existing live claim of the SAME relationship type. This verb links, it never creates the successor. |
reason |
yes | string | Required. A settled transition with no reason is refused — the corpus would be starving itself. |
evidence_ref |
no | EvidenceRef | null |
Returns: Top-level fields: action, claim, reason, successor, receipt_id
Side Effects: A settled adjudication. Writes typed claim_id supersession pointers in BOTH directions (successor.supersedes, predecessor.superseded_by), moves the predecessor to superseded, stamps closed_at/closed_by, and records one mutation receipt naming the subject, transition, reason, and successor. The predecessor stays resolvable by claim_id afterwards. Properties are carried verbatim from the exact addressed edge; parallel siblings on the same tuple are untouched.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Empty reason; self-supersession; successor missing, not live, of a different relationship type, or already superseding another claim; predecessor not lifecycle-active or under pending/rejected review.
cruxible_retract_claim¶
Permission: GRAPH_WRITE
Purpose: Use when the settled, receipted adjudication withdraws a claim without a successor.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
claim_id |
yes | string | Claim to retract; must be lifecycle-active with review not pending/rejected. |
reason |
yes | string | Required. |
evidence_ref |
no | EvidenceRef | null |
Returns: Top-level fields: action, claim, reason, receipt_id
Side Effects: A settled adjudication. Moves the claim to retracted, stamps closed_at/closed_by, and records one mutation receipt. Content is carried verbatim — a retraction never rewrites properties, and it succeeds even when the type's schema has since grown a required property. The claim_id stays resolvable with its settled state.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Empty reason; the claim is already settled, or its review is pending/rejected.
cruxible_supersede_entity¶
Permission: GRAPH_WRITE
Purpose: Use when the settled, receipted adjudication replaces one entity with an already-existing live same-type successor; edges do not migrate.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
entity_type |
yes | string | Predecessor entity type. |
entity_id |
yes | string | Predecessor entity ID; must be live. |
successor_entity_type |
yes | string | Must equal entity_type — cross-type supersession is a modeling error. |
successor_entity_id |
yes | string | Existing live entity. May be a DIFFERENT id from the predecessor (rename-via-supersession). |
reason |
yes | string | Required. |
evidence_ref |
no | EvidenceRef | null |
Returns: Top-level fields: action, entity, reason, successor, stranded_live_edge_count, receipt_id
Side Effects: A settled adjudication. Writes typed entity_type/entity_id supersession pointers in BOTH directions, moves the predecessor to superseded, stamps closed_at/closed_by, and records one mutation receipt. Inbound edges do NOT migrate: a renamed successor starts with zero edges and re-pointing is the caller's job, so a rename can look "broken" until you re-point.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Empty reason; self-supersession; successor missing, not live, of a different entity type, or already superseding another entity; predecessor not live.
cruxible_retire_entity¶
Permission: GRAPH_WRITE
Purpose: Use when the settled, receipted adjudication retires an entity without cascading edges.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
entity_type |
yes | string | Entity type. |
entity_id |
yes | string | Entity ID; must be live. |
reason |
yes | string | Required. |
evidence_ref |
no | EvidenceRef | null |
Returns: Top-level fields: action, entity, reason, stranded_live_edge_count, receipt_id
Side Effects: A settled adjudication. Moves the entity to retired, stamps closed_at/closed_by, and records one mutation receipt. Reports stranded_live_edge_count — still-live attached edges, which stay visible in edge-level reads but drop out of traversals; cascade is deliberately not performed. The retired entity_id is preserved rather than freed: a later DIRECT add/update of that id is refused instead of minting a doppelganger with none of the history, while governed sources (workflow apply, group resolve) still reach it pending the deferred reinstate verb.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Empty reason; the entity is already retired or superseded.
cruxible_add_constraint¶
Permission: ADMIN
Purpose: Use when you need to add a graph quality rule that future evaluations should check.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
name |
yes | string | |
rule |
yes | string | |
severity |
no | enum: warning, error | |
description |
no | string | null |
Returns: Top-level fields: name, added, config_updated, warnings
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_add_decision_policy¶
Permission: ADMIN
Purpose: Use when you need to record a policy that affects how a decision surface should be handled.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
name |
yes | string | |
applies_to |
yes | enum: query, workflow | |
relationship_type |
yes | string | |
effect |
yes | enum: suppress, require_review | |
match |
no | DecisionPolicyMatchInput | null |
description |
no | string | null |
rationale |
no | string | |
query_name |
no | string | null |
workflow_name |
no | string | null |
expires_at |
no | string | null |
Returns: Top-level fields: name, added, config_updated, warnings
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_reload_config¶
Permission: ADMIN
Purpose: Use when you need to replace or reload the active config for an instance.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
config_path |
no | string | null |
config_yaml |
no | string | null |
allow_orphans |
no | boolean | Allow stored graph types absent from the incoming config (default false: strandings refuse the reload with per-type counts). |
config_source_manifest |
no | object | Source paths and digests for uploaded composed YAML. File-based handlers build this automatically. |
Returns: Top-level fields: config_path, updated, warnings, type_delta, strandings
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_config_status¶
Permission: READ_ONLY
Purpose: Use when you need to check source drift or active config integrity.
Arguments: instance_id is required. current_source_manifest is optional;
without it, only the active materialized digest is checked.
Returns: status, config_path, materialized_matches, sources_checked,
composed_matches, changed_sources, and recorded provenance.
cruxible_propose_workflow¶
Permission: GOVERNED_WRITE
Purpose: Use when a workflow proposes reviewable relationship changes instead of writing them directly.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
workflow_name |
yes | string | |
input_payload |
no | object | null |
decision_record_id |
no | string | null |
Returns: Top-level fields: workflow, output, receipt_id, mode, workflow_type, canonical, group_id, group_status, review_priority, suppressed, suppressed_members, query_receipt_ids, read_metadata, trace_ids, prior_resolution, policy_summary, receipt, traces
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_create_decision_record¶
Permission: GOVERNED_WRITE
Purpose: Use when you need to open a tracked decision before gathering evidence, running workflows, or recording outcomes.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
question |
yes | string | |
subject_type |
no | string | null |
subject_id |
no | string | null |
opened_by |
no | string | null |
Returns: Top-level fields: record, events, receipt_id, deprecation_warnings
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_get_decision_record¶
Permission: READ_ONLY
Purpose: Use when you need the current state and optional event history for one decision.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
decision_record_id |
yes | string | |
include_events |
no | boolean |
Returns: Top-level fields: record, events, receipt_id
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_list_decision_records¶
Permission: READ_ONLY
Purpose: Use when you need to find decision records by status, subject, class, or page.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
status |
no | string | null |
subject_type |
no | string | null |
subject_id |
no | string | null |
decision_class |
no | string | null |
limit |
no | integer | |
offset |
no | integer |
Returns: Top-level fields: items, total, limit, offset, truncated
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_list_decision_events¶
Permission: READ_ONLY
Purpose: Use when you need the event timeline for decisions, optionally filtered by receipt.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
decision_record_id |
no | string | null |
receipt_id |
no | string | null |
trace_id |
no | string | null |
status |
no | string | null |
limit |
no | integer | |
offset |
no | integer |
Returns: Top-level fields: items, total, limit, offset, truncated
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_finalize_decision_record¶
Permission: GOVERNED_WRITE
Purpose: Use when a tracked decision has a final answer and rationale.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
decision_record_id |
yes | string | |
final_decision |
yes | string | |
decision_class |
yes | enum: recommended, rejected, deferred, escalated | |
rationale |
no | string |
Returns: Top-level fields: record, events, receipt_id
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_abandon_decision_record¶
Permission: GOVERNED_WRITE
Purpose: Use when a tracked decision should be closed without a final decision.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
decision_record_id |
yes | string | |
reason |
no | string |
Returns: Top-level fields: record, events, receipt_id
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_attest¶
Permission: GOVERNED_WRITE
Purpose: Use when you observed evidence supporting, contradicting, or leaving you unsure about one relationship claim. Supply evidence for support or contradict; a note is optional but encouraged for unsure. If the claim does not exist yet, a 'support' stance CREATES it as a pending (unreviewed) claim from 'properties' — 'contradict' and 'unsure' are refused on an absent claim.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
relationship_type |
yes | string | Relationship type of the target claim. |
from_type |
yes | string | Source endpoint entity type. |
from_id |
yes | string | Source endpoint entity ID. |
to_type |
yes | string | Target endpoint entity type. |
to_id |
yes | string | Target endpoint entity ID. |
stance |
yes | string | support, contradict, or unsure. |
observed_at |
yes | string | ISO-8601 time when the world was observed; it cannot be in the future. |
evidence_refs |
no | array or null | Evidence pointers; at least one is required for support and contradict. |
edge_key |
no | integer or null | Unstable disambiguation hint; tuple coordinates remain authoritative. |
claim_id |
no | string or null | Stable claim identity; the preferred disambiguator, taking precedence over edge_key. Supplying both with disagreeing values is refused. |
properties |
no | object or null | Required relationship properties when absent support creates a pending claim; ignored on attach. |
note |
no | string or null | Optional observation note, encouraged for unsure. |
idempotency_key |
no | string or null | Retry-safe key scoped to the claim tuple and resolved actor. |
Returns: The immutable attestation, pending-claim creation marker, warnings, replay marker, and receipt ID.
Side Effects: Appends an attestation and receipt; absent support may also create one pending claim.
cruxible_list_attestations¶
Permission: READ_ONLY
Purpose: Use when you need immutable observation history for one claim tuple or stance.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
relationship_type |
no | string or null | Relationship type; provide all five claim coordinates together. |
from_type |
no | string or null | Source endpoint type; provide all five claim coordinates together. |
from_id |
no | string or null | Source endpoint ID; provide all five claim coordinates together. |
to_type |
no | string or null | Target endpoint type; provide all five claim coordinates together. |
to_id |
no | string or null | Target endpoint ID; provide all five claim coordinates together. |
stance |
no | string or null | Optional support, contradict, or unsure filter. |
limit |
no | integer | Maximum records. |
offset |
no | integer | Records to skip. |
Returns: Standard list envelope with immutable records, latest dispositions, and tuple-resolution markers.
Side Effects: Read-only.
cruxible_attestation_queue¶
Permission: READ_ONLY
Purpose: Use when a reviewer needs live claims with open current-content contradictions, aggregated per claim.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
limit |
no | integer | Maximum per-claim entries. |
offset |
no | integer | Entries to skip. |
Returns: Standard list envelope with per-claim contradiction counts, a distinct_actor_count (the plain number of distinct attesting actors — it is not weighted, discounted, or otherwise scored), and latest observation time.
Side Effects: Read-only.
cruxible_resolve_attestation¶
Permission: GRAPH_WRITE
Purpose: Use when a reviewer needs to uphold, correct, or invalidate an attestation without changing its immutable history.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
attestation_id |
yes | string | Immutable attestation being reviewed. |
verdict |
yes | string | upheld, corrected, or invalidated. |
note |
no | string or null | Optional reviewer explanation. |
follow_up_receipt_id |
no | string or null | Receipt for a follow-up correction or re-adjudication. |
Returns: The appended disposition and receipt ID.
Side Effects: Appends a disposition and receipt; never mutates the target claim or attestation.
cruxible_open_outcome_contract¶
Permission: GOVERNED_WRITE
Purpose: Use when a decision is about to be accepted and you need to state in advance what result counts as success, how it will be measured, when to check it, and when the commitment expires.
Preconditions: The subject already exists, and its entity type is covered by
a requires_resolution_contract mutation guard on the accepting transition;
otherwise opening is refused. See the
outcome_tracking adoption convention.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
entity_type |
yes | string | Subject entity type; the subject must already exist. |
entity_id |
yes | string | Subject entity ID. |
description |
yes | string | Free-text success criterion that survives mechanical rot. |
check_at |
yes | string | ISO-8601 time when the outcome is first checked; must precede expires_at. |
expires_at |
yes | string | ISO-8601 time when an unresolved contract ages into overdue. |
measurement |
yes | object | {kind: query, query_name, params, expect} or {kind: attestation, relationship_type, from_type, from_id, to_type, to_id}; validated against the live config at open. |
idempotency_key |
no | string or null | Retry-safe key scoped to the subject and resolved actor. |
Returns: The prepared contract, the idempotent-replay marker, and the receipt ID.
Side Effects: Appends a contract and receipt; never mutates the subject. Multiple open contracts on one subject are legal. A query measurement pins both the query definition digest and the effective execution options, so a later run under a different relationship_state cannot resolve it.
cruxible_resolve_outcome¶
Permission: GOVERNED_WRITE
Purpose: Use when you checked an outcome contract and need to record what reality said: satisfied, contradicted, or indeterminate.
Preconditions: The contract was activated by a successful
requires_resolution_contract-guarded acceptance. A prepared contract that was
never activated has nothing to resolve and simply expires.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
contract_id |
yes | string | Activated contract being answered. |
verdict |
yes | string | satisfied, contradicted, or indeterminate. |
observed_at |
yes | string | ISO-8601 observation time; satisfied requires it at or after check_at. It is recorded, but the cited evidence's own timestamps are what bind the verdict. |
evidence_refs |
no | array or null | Evidence pointers; at least one is required for satisfied and contradicted. |
note |
no | string or null | Observation note; required for contradicted. |
resolving_query_receipt_id |
no | string or null | Receipt of the query run that observed a query-measured outcome. |
resolving_attestation_ids |
no | array or null | Attestation ids backing an attestation-measured outcome. |
Returns: The immutable resolution and receipt ID.
Side Effects: Appends one resolution and receipt; never mutates the subject. A contract accepts exactly one standing resolution until a reviewer overturns it. Cited evidence must postdate the contract's opening by its own clock (and, for satisfied, the declared check time); a query receipt must carry a read_revision stamp and match the pinned execution options, and an attestation invalidated by a reviewer cannot be cited.
cruxible_list_outcome_contracts¶
Permission: READ_ONLY
Purpose: Use when you need the outcome contracts on a subject with their status, activation, and standing answer.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
entity_type |
no | string or null | Filter to one subject entity type. |
entity_id |
no | string or null | Filter to one subject entity ID. |
status |
no | string or null | Filter the returned page by derived status: prepared, open, or resolved. |
limit |
no | integer | Maximum contracts per page. |
offset |
no | integer | Contracts to skip. |
Returns: Standard list envelope with per-contract status, activation, standing resolution, disposition, expiry, and subject-drift markers.
Side Effects: Read-only.
cruxible_outcome_due¶
Permission: READ_ONLY
Purpose: Use when you need the outcome work list: contracts due for checking, overdue contracts, or contradicted outcomes awaiting a reviewer.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
queue |
no | string | due (past check_at), overdue (past expires_at), or contradicted (undisposed). |
limit |
no | integer | Maximum entries. |
offset |
no | integer | Entries to skip. |
Returns: Standard list envelope of activated contracts on live subjects, oldest check time first.
Side Effects: Read-only.
cruxible_dispose_outcome_resolution¶
Permission: GRAPH_WRITE
Purpose: Use when a reviewer needs to uphold or overturn a recorded outcome; an overturn re-opens the contract for one new answer.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
resolution_id |
yes | string | Immutable resolution being reviewed. |
verdict |
yes | string | upheld or overturned. |
note |
no | string or null | Optional reviewer explanation. |
Returns: The appended disposition and receipt ID.
Side Effects: Appends a disposition and receipt; an overturned verdict re-opens the contract for exactly one further resolution. Dispositions are latest-wins: a further disposition on the same resolution supersedes the previous one (unless that one was an overturn a later resolution already answered). Never mutates the subject.
cruxible_propose_procedure¶
Permission: GOVERNED_WRITE
Purpose: Use when you need to propose a bounded composition of procedure-exported actions for independent review.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
definition |
yes | object | Restricted procedure definition. |
supersedes_procedure_id |
no | string or null | Immutable procedure being replaced. |
evidence_refs |
no | array or null | Distillation evidence refs. |
Returns: The pending procedure record, transition receipt ID, and warnings: non-blocking authoring lint findings (declared-but-unused contract_in fields, read-implying names backed by side-effecting providers, stringified JSON-object step inputs, a declared string field passed whole into an arguments parameter, read steps bundled with side-effecting ones or more than five provider steps in one procedure, and provider-call budget headroom the run can never reach). Statically impossible definitions are refused rather than warned about.
Side Effects: Persists a pending procedure and receipt.
cruxible_list_procedures¶
Permission: READ_ONLY
Purpose: Use when you need to find governed procedures by lifecycle status or page and compare their run-ledger track records before choosing one.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
status |
no | string or null | pending, live, rejected, or retired. |
limit |
no | integer | Maximum records. |
offset |
no | integer | Records to skip. |
Returns: Standard list envelope with procedure records. Each record carries
a track_record block summarizing its run ledger: runs, the exhaustive
verdict buckets succeeded, failed, refused, budget_exceeded, and
in_flight (started but not yet finalized, so runs always equals their sum),
last_succeeded_at, the most frequent top_refusal_reason, and
linked_outcomes (reserved, always null). top_refusal_reason is null when a
procedure has never been refused and for refusals recorded before the reason
was tracked. These buckets are read state, so running a procedure advances
read_revision (once at start, once at finalization, refusals included) and a
truncated page cannot be resumed across an invocation.
Side Effects: Read-only.
cruxible_get_procedure¶
Permission: READ_ONLY
Purpose: Use when you need one procedure's definition, resolved input field schema, budget, precondition, lifecycle, and run-ledger track record.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
procedure_id |
yes | string | Procedure ID. |
Returns: A procedure object envelope carrying the same track_record
block as the list surface, plus contract_in_schema, the contract_in shape resolved against the active config: the contract description, fields (each with name, type, required, and any default, enum, enum_ref, description, and the nested json_schema a json-typed field is validated against), allow_extra, and input_example — a worked payload carrying every key the caller must supply, filled with type-appropriate values (an enum's first value, a declared default, a literal the field description quotes, else a placeholder for the type). A field carrying a default is reported as not required and is absent from input_example. input_example is {} for a contract that declares no fields but accepts extras (cruxible.JsonObject) and is omitted for one that accepts no payload at all (cruxible.EmptyInput). contract_in_schema is null when the definition's contract_in no longer resolves in the active config.
Side Effects: Read-only.
cruxible_resolve_procedure¶
Permission: GRAPH_WRITE
Purpose: Use when an independent reviewer needs to accept or reject a pending procedure.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
procedure_id |
yes | string | Procedure ID. |
action |
yes | string | accept or reject. |
expected_version |
yes | integer | Optimistic lifecycle version. |
reason |
no | string or null | Required when rejecting. |
Returns: The transitioned procedure and receipt ID.
Side Effects: Accepts or rejects a pending procedure and writes a receipt.
cruxible_withdraw_procedure¶
Permission: GOVERNED_WRITE
Purpose: Use when you changed your mind about a procedure YOU proposed and it is still pending: withdraw it instead of proposing a renamed variant. The name is immediately free to re-propose.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
procedure_id |
yes | string | Procedure ID. |
expected_version |
yes | integer | Optimistic lifecycle version. |
reason |
no | string or null | Optional note on why it was withdrawn. |
Returns: The withdrawn procedure and receipt ID.
Side Effects: Moves a pending proposal to withdrawn and writes a receipt.
Withdrawing your own proposal needs only this tool's GOVERNED_WRITE floor;
withdrawing another actor's pending proposal is refused below GRAPH_WRITE.
cruxible_retire_procedure¶
Permission: GRAPH_WRITE
Purpose: Use when a reviewer needs to retire a live immutable procedure.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
procedure_id |
yes | string | Procedure ID. |
expected_version |
yes | integer | Optimistic lifecycle version. |
reason |
yes | string | Non-empty retirement reason. |
Returns: The retired procedure and receipt ID.
Side Effects: Retires a live procedure and writes a receipt.
cruxible_run_procedure¶
Permission: GOVERNED_WRITE
Purpose: Use when you need to execute one live procedure through the generic receipted runner.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
procedure_id |
yes | string | Procedure ID. |
input_payload |
yes | object | Input validated against the procedure contract. |
Returns: Procedure, run, output, receipt, and step-output fields.
Side Effects: Writes a crash-safe run record, provider traces where applicable, and a receipt.
cruxible_list_procedure_runs¶
Permission: READ_ONLY
Purpose: Use when you need invocation history or crash-visible started tombstones for one procedure.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID. |
procedure_id |
yes | string | Procedure ID. |
limit |
no | integer | Maximum records. |
offset |
no | integer | Records to skip. |
Returns: Standard list envelope containing finalized runs and
status: started/verdict: null tombstones. A refused run also carries the
refusal_reason classification that the procedure's top_refusal_reason
counts; it is null on every other verdict and on refusals recorded before the
reason was tracked.
Side Effects: Read-only.
cruxible_propose_group¶
Permission: GOVERNED_WRITE
Purpose: Use when you need to create a review group for candidate relationship changes.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
relationship_type |
yes | string | |
members |
yes | array | |
thesis_text |
no | string | |
thesis_facts |
no | object | null |
analysis_state |
no | object | null |
signal_sources_used |
no | array | null |
suggested_priority |
no | string | null |
expected_pending_version |
no | integer | null |
proposed_by |
no | string | null |
Each member and each nested signal may pass citation_handles beside the
unchanged source_evidence locators.
Returns: Top-level fields: group_id, signature, status, review_priority, member_count, prior_resolution, suppressed, suppressed_members, policy_summary, receipt_id, deprecation_warnings
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_resolve_group¶
Permission: GRAPH_WRITE
Purpose: Use when a reviewer approves, rejects, or otherwise resolves a pending group.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
group_id |
yes | string | |
action |
yes | enum: approve, reject | |
expected_pending_version |
yes | integer | |
rationale |
no | string | |
stamp_existing |
no | boolean | On approve, bless each surviving pre-existing edge (member tuple already live) with this group's review status and provenance instead of skipping it. |
resolved_by |
no | string | null |
Returns: Top-level fields: group_id, action, edges_created, edges_skipped, resolution_id, receipt_id, skipped_members (per-member skip explanations: identity plus skip_kind, reason, stamped), edges_stamped, deprecation_warnings
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_update_trust_status¶
Permission: GRAPH_WRITE
Purpose: Use when you need to mark a prior group resolution as trusted, invalidated, or otherwise updated.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
resolution_id |
yes | string | |
trust_status |
yes | enum: trusted, watch, invalidated | |
reason |
no | string |
Returns: Top-level fields: resolution_id, trust_status, receipt_id
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_get_group¶
Permission: READ_ONLY
Purpose: Use when you need the details and members for one candidate relationship group.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
group_id |
yes | string |
Returns: Top-level fields: group, members, resolution, bucket_status, member_review
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_list_groups¶
Permission: READ_ONLY
Purpose: Use when you need to find candidate relationship groups by type, status, or page.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
relationship_type |
no | string | null |
status |
no | enum: pending_review, applying, resolved, withdrawn, auto_resolved | null |
limit |
no | integer | |
offset |
no | integer |
Returns: Top-level fields: items, total, limit, offset, truncated
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_list_resolutions¶
Permission: READ_ONLY
Purpose: Use when you need to review past group decisions by relationship type or action.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
relationship_type |
no | string | null |
action |
no | enum: approve, reject | null |
limit |
no | integer | |
offset |
no | integer |
Returns: Top-level fields: items, total, limit, offset, truncated
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_group_status¶
Permission: READ_ONLY
Purpose: Use when you need the latest status for a group or for a known group signature.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
group_id |
no | string | null |
signature |
no | string | null |
Returns: Top-level fields: signature, relationship_type, thesis_text, thesis_facts, latest_trust_status, accepted_tuple_count, pending_delta_count, pending_group_id, pending_version, latest_approved_resolution_id, approved_history
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_state_publish¶
Permission: ADMIN
Purpose: Use when you need to publish the current instance state as an immutable release.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
transport_ref |
yes | string | |
state_id |
yes | string | |
release_id |
yes | string | |
compatibility |
yes | enum: data_only, additive_schema, breaking |
Returns: Top-level fields: manifest
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_create_snapshot¶
Permission: GRAPH_WRITE
Purpose: Use when you need to mark the current state with a named snapshot.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
label |
no | string | null |
Returns: Top-level fields: snapshot
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_list_snapshots¶
Permission: READ_ONLY
Purpose: Use when you need to browse available snapshots for an instance.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
limit |
no | integer | |
offset |
no | integer |
Returns: Top-level fields: items, total, limit, offset, truncated
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_register_source_artifact¶
Permission: GOVERNED_WRITE
Purpose: Use when you need to register a source document so relationship evidence can cite stable chunks from it.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
source_path |
yes | string | Path to the local source document. |
source_artifact_id |
no | string | null |
source_kind |
no | enum: markdown | Only markdown is currently supported. |
source_retention |
no | enum: manifest_only, archive | manifest_only stores chunk hashes only; archive also stores the document content. |
original_uri |
no | string | null |
label |
no | string | null |
Returns: Top-level fields: source_artifact_id, artifact_revision_id, revision_handle, revision, source_kind, source_retention, original_uri, label, content_hash, byte_count, parser_version, archived, archive_content_hash, chunks (each chunk includes citation_handle)
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Invalid or duplicate caller-supplied source_artifact_id.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_dereference_source_evidence¶
Permission: READ_ONLY
Purpose: Use when you need to read back a registered source evidence chunk and verify its expected content hash.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
source_artifact_id |
yes | string | Artifact ID returned by cruxible_register_source_artifact. |
artifact_revision_id |
no | string | null |
chunk_id |
no | string | null |
heading_path |
no | array | null |
block_selector |
no | string | null |
expected_content_hash |
no | string | null |
Returns: Top-level fields: status (one of available, drifted, unavailable, revision_bytes_not_retained — a pinned read of a superseded revision whose bytes were never archived, which is not drift), source_artifact_id, chunk_id, content_hash, expected_artifact_hash, current_artifact_hash, body_origin, body, reason, chunk, artifact_revision_id, revision_unpinned
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_clone_snapshot¶
Permission: ADMIN
Purpose: Use when you need a new local instance created from an existing snapshot. On auth-enabled daemons the result carries a one-time admin_credential token for the new instance - save it immediately; it is never shown again.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
snapshot_id |
yes | string | |
root_dir |
yes | string |
Returns: Top-level fields: instance_id, snapshot, admin_credential (auth-enabled daemons only: a one-time ADMIN token for the new instance — deliver it to the operator immediately; it is never shown again)
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_state_status¶
Permission: READ_ONLY
Purpose: Use when you need to see whether an overlay is connected to an upstream state and whether pulls are available.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string |
Returns: Top-level fields: upstream
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_state_diff¶
Permission: READ_ONLY
Purpose: Use when you need the structured difference between two state coordinates - a snapshot vs current, current vs the materialized upstream release, or two snapshots. The complete body is persisted and content-addressed by diff_digest; treat the result as a reviewable plan only when artifact_complete is true, and re-read the whole body with artifact_digest.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
from_coordinate |
no | string | current, a snap_ id, upstream, or origin; defaults to the parent of the head snapshot. |
to_coordinate |
no | string | Defaults to current. added means present here only. |
sections |
no | array | Restrict to entities / edges / procedures. |
entity_types |
no | array | Restrict entities to these types. |
relationship_types |
no | array | Restrict edges to these relationship types. |
buckets |
no | array | Report only these buckets; counts stay whole. |
changed_only |
no | boolean | Suppress added/removed items. |
max_items_per_bucket |
no | integer | Per-bucket cap for the returned view (default 500, minimum 1); the persisted artifact is never capped. |
artifact_digest |
no | string | Re-read a persisted artifact by content address instead of computing a diff. |
Returns: Top-level fields: diff_digest, view_digest, artifact_complete, artifact_ref, diff_engine_version, artifact_schema_version, artifact_trust, normalizations, liveness, selector, from_coordinate, to_coordinate, omitted_sections, context, sections, summary, view, default_basis, receipt_id
Side Effects: Reads are not side-effect-free: persists a state_diff receipt and a content-addressed artifact under .cruxible/diffs/. Neither touches graph state or advances read_revision. Both persistence failures fail the read.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_state_pull_preview¶
Permission: READ_ONLY
Purpose: Use when you need to preview upstream state changes before applying them.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string |
Returns: Top-level fields: current_release_id, target_release_id, compatibility, apply_digest, warnings, conflicts, lock_changed, upstream_entity_delta, upstream_edge_delta
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_state_pull_apply¶
Permission: ADMIN
Purpose: Use when a pull preview returned an apply digest and you are ready to apply it.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
expected_apply_digest |
yes | string |
Returns: Top-level fields: release_id, apply_digest, pre_pull_snapshot_id, receipt_id
Side Effects: May create governed state, graph state, config changes, snapshots, or audit records according to its permission tier.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_get_entity¶
Permission: READ_ONLY
Purpose: Use when you need to fetch one entity by type and ID. The payload defaults to the compact output profile; ask for profile='standard' or 'full' for the complete property bag and metadata.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
entity_type |
yes | string | |
entity_id |
yes | string | |
profile |
no | string | null |
Returns: Top-level fields: found, entity_type, entity_id, properties, metadata
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_get_relationship¶
Permission: READ_ONLY
Purpose: Use when you need to fetch one relationship by endpoints and relationship type.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | |
from_type |
yes | string | |
from_id |
yes | string | |
relationship_type |
yes | string | |
to_type |
yes | string | |
to_id |
yes | string | |
edge_key |
no | integer | null |
Returns: Top-level fields: found, from_type, from_id, relationship_type, to_type, to_id, edge_key, properties, metadata
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Missing config names, stale locks, invalid workflow/query/group identifiers, or invalid request shape where applicable.
cruxible_relationship_lineage¶
Permission: READ_ONLY
Purpose: Use when you need the provenance, review state, feedback, and receipts for one relationship.
Arguments:
| Name | Required | Type | Description |
|---|---|---|---|
instance_id |
yes | string | Governed instance ID or local instance root. |
from_type |
yes | string | Source entity type. |
from_id |
yes | string | Source entity ID. |
relationship_type |
yes | string | Relationship type. |
to_type |
yes | string | Target entity type. |
to_id |
yes | string | Target entity ID. |
edge_key |
no | integer | null |
Returns: Top-level fields: found, relationship, provenance, group, resolution, source_workflow_receipt_id, source_trace_ids, warnings
Side Effects: Read-only.
Common Errors:
- Unknown instance_id or missing daemon configuration.
- Permission mode too low for this tool.
- Ambiguous relationship tuple without edge_key.