Skip to main content
Glama

arifOS — Constitutional AI Kernel

111 Observe · Sense Reality

arif_observe
Read-onlyIdempotent

Collect evidence, reality observations, and operational facts with provenance. Modes: search (web literature queries), fetch (targeted URL retrieval), vitals (system metrics). Requires valid session credentials. Outputs: structured facts, source attribution, and epistemic tags.

Input Schema

NameRequiredDescriptionDefault
uriNoRegistered resource URI to read when mode=resource_read, e.g. 'arifos://vitals' or 'arifos://carry-forward'.
urlNoExact URL to retrieve when mode=fetch, e.g. 'https://example.com/report.pdf'.
modeNo'search' (default) — web/literature query; 'fetch' — retrieve one URL with provenance; 'hybrid_discovery' — combine sources; 'ingest' — absorb a document; 'compass'/'atlas' — guided navigation; 'entropy_dS' — measure system change; 'vitals' — kernel machine telemetry; 'resource_read' — read a registered arifos:// resource by uri; 'resource_search' — search/list registered resources.search
queryNoWhat to look for, in plain language, e.g. 'TDQS scoring rubric MCP'.
layersNoRestrict where to look, e.g. ["web"] or ["canon", "memory"]; omit to search everything available.
actor_idNoYour agent identity, e.g. 'kimi-code/FI-008' or 'claude/sonnet'. Recorded in the audit log so this action is attributed to you.
session_idNoSession id returned by arif_init (looks like 'sess-…'). Pass it on every call after init so the action is attributed to your governed session.
result_limitNoMaximum number of results to return in search modes; default 10.
session_tokenNoSession Continuity Token (SCT) — the credential string arif_init returned alongside session_id. Pass it back on follow-up calls to prove the session is yours; without it the kernel treats you as unauthenticated.

Output Schema

NameRequiredDescriptionDefault
metaYes
toolYes
resultYes
statusYes
delta_SNo
reasonsYes
actor_idNo
timestampYes
session_idNo
nine_signalYes
output_policyNo
stage_progressionNo
philosophical_anchorNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / mode / description
      Previous value: -"'search' (default) — web/literature query; 'fetch' — retrieve one URL with provenance; 'hybrid_discovery' — combine sources; 'ingest' — absorb a document; 'compass'/'atlas' — guided navigation; 'entropy_dS' — measure system change; 'vitals' — kernel machine telemetry."New value: +"'search' (default) — web/literature query; 'fetch' — retrieve one URL with provenance; 'hybrid_discovery' — combine sources; 'ingest' — absorb a document; 'compass'/'atlas' — guided navigation; 'entropy_dS' — measure system change; 'vitals' — kernel machine telemetry; 'resource_read' — read a registered arifos:// resource by uri; 'resource_search' — search/list registered resources."
    • changedInput schema / properties / mode / enum
      Previous value: -[
      -  "search",
      -  "fetch",
      -  "hybrid_discovery",
      -  "ingest",
      -  "compass",
      -  "atlas",
      -  "entropy_dS",
      -  "vitals"
      -]New value: +[
      +  "search",
      +  "fetch",
      +  "hybrid_discovery",
      +  "ingest",
      +  "compass",
      +  "atlas",
      +  "entropy_dS",
      +  "vitals",
      +  "resource_read",
      +  "resource_search"
      +]
    • addedInput schema / properties / uri
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Registered resource URI to read when mode=resource_read, e.g. 'arifos://vitals' or 'arifos://carry-forward'."
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "actor_id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "delta_S": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "meta": {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    "nine_signal": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "delta": {
      +          "properties": {
      +            "en": {
      +              "type": "string"
      +            },
      +            "plane": {
      +              "type": "string"
      +            },
      +            "state": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "state",
      +            "en"
      +          ],
      +          "type": "object"
      +        },
      +        "omega": {
      +          "properties": {
      +            "en": {
      +              "type": "string"
      +            },
      +            "plane": {
      +              "type": "string"
      +            },
      +            "state": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "state",
      +            "en"
      +          ],
      +          "type": "object"
      +        },
      +        "overall": {
      +          "properties": {
      +            "en": {
      +              "type": "string"
      +            },
      +            "state": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "psi": {
      +          "properties": {
      +            "en": {
      +              "type": "string"
      +            },
      +            "plane": {
      +              "type": "string"
      +            },
      +            "state": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "state",
      +            "en"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "output_policy": {
      +      "type": "string"
      +    },
      +    "philosophical_anchor": {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    "reasons": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "result": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "a_rif": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": true,
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "delta_S": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "mode": {
      +          "type": "string"
      +        },
      +        "nine_signal": {
      +          "additionalProperties": true,
      +          "type": "object"
      +        },
      +        "omega_0": {
      +          "type": "number"
      +        },
      +        "reasons": {
      +          "anyOf": [
      +            {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "results": {
      +          "anyOf": [
      +            {
      +              "items": {
      +                "additionalProperties": true,
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "verdict": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "session_id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "stage_progression": {
      +      "anyOf": [
      +        {
      +          "type": "null"
      +        },
      +        {
      +          "properties": {
      +            "current_stage": {
      +              "type": "string"
      +            },
      +            "next_prompt": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "next_stage": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "next_tool": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        }
      +      ]
      +    },
      +    "status": {
      +      "type": "string"
      +    },
      +    "timestamp": {
      +      "type": "string"
      +    },
      +    "tool": {
      +      "const": "arif_observe"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "tool",
      +    "result",
      +    "meta",
      +    "timestamp",
      +    "nine_signal",
      +    "reasons"
      +  ],
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • removedInput schema / properties / _envelope
      Removed value: -{
      -  "default": null,
      -  "description": "Reserved for the transport layer — never fill this in.",
      -  "title": "Envelope"
      -}
  4. Changed9 schema fields changed
    • addedInput schema / properties / _envelope / description
      Added value: +"Reserved for the transport layer — never fill this in."
    • addedInput schema / properties / actor_id / description
      Added value: +"Your agent identity, e.g. 'kimi-code/FI-008' or 'claude/sonnet'. Recorded in the audit log so this action is attributed to you."
    • addedInput schema / properties / layers / description
      Added value: +"Restrict where to look, e.g. [\"web\"] or [\"canon\", \"memory\"]; omit to search everything available."
    • addedInput schema / properties / mode / description
      Added value: +"'search' (default) — web/literature query; 'fetch' — retrieve one URL with provenance; 'hybrid_discovery' — combine sources; 'ingest' — absorb a document; 'compass'/'atlas' — guided navigation; 'entropy_dS' — measure system change; 'vitals' — kernel machine telemetry."
    • addedInput schema / properties / query / description
      Added value: +"What to look for, in plain language, e.g. 'TDQS scoring rubric MCP'."
    • addedInput schema / properties / result_limit / description
      Added value: +"Maximum number of results to return in search modes; default 10."
    • addedInput schema / properties / session_id / description
      Added value: +"Session id returned by arif_init (looks like 'sess-…'). Pass it on every call after init so the action is attributed to your governed session."
    • addedInput schema / properties / session_token / description
      Added value: +"Session Continuity Token (SCT) — the credential string arif_init returned alongside session_id. Pass it back on follow-up calls to prove the session is yours; without it the kernel treats you as unauthenticated."
    • addedInput schema / properties / url / description
      Added value: +"Exact URL to retrieve when mode=fetch, e.g. 'https://example.com/report.pdf'."
  5. Changed9 schema fields changed
    • removedInput schema / properties / _envelope / description
      Removed value: -"Reserved for the transport layer — never fill this in."
    • removedInput schema / properties / actor_id / description
      Removed value: -"Your agent identity, e.g. 'kimi-code/FI-008' or 'claude/sonnet'. Recorded in the audit log so this action is attributed to you."
    • removedInput schema / properties / layers / description
      Removed value: -"Restrict where to look, e.g. [\"web\"] or [\"canon\", \"memory\"]; omit to search everything available."
    • removedInput schema / properties / mode / description
      Removed value: -"'search' (default) — web/literature query; 'fetch' — retrieve one URL with provenance; 'hybrid_discovery' — combine sources; 'ingest' — absorb a document; 'compass'/'atlas' — guided navigation; 'entropy_dS' — measure system change; 'vitals' — kernel machine telemetry."
    • removedInput schema / properties / query / description
      Removed value: -"What to look for, in plain language, e.g. 'TDQS scoring rubric MCP'."
    • removedInput schema / properties / result_limit / description
      Removed value: -"Maximum number of results to return in search modes; default 10."
    • removedInput schema / properties / session_id / description
      Removed value: -"Session id returned by arif_init (looks like 'sess-…'). Pass it on every call after init so the action is attributed to your governed session."
    • removedInput schema / properties / session_token / description
      Removed value: -"Session Continuity Token (SCT) — the credential string arif_init returned alongside session_id. Pass it back on follow-up calls to prove the session is yours; without it the kernel treats you as unauthenticated."
    • removedInput schema / properties / url / description
      Removed value: -"Exact URL to retrieve when mode=fetch, e.g. 'https://example.com/report.pdf'."
  6. Changed9 schema fields changed
    • addedInput schema / properties / _envelope / description
      Added value: +"Reserved for the transport layer — never fill this in."
    • addedInput schema / properties / actor_id / description
      Added value: +"Your agent identity, e.g. 'kimi-code/FI-008' or 'claude/sonnet'. Recorded in the audit log so this action is attributed to you."
    • addedInput schema / properties / layers / description
      Added value: +"Restrict where to look, e.g. [\"web\"] or [\"canon\", \"memory\"]; omit to search everything available."
    • addedInput schema / properties / mode / description
      Added value: +"'search' (default) — web/literature query; 'fetch' — retrieve one URL with provenance; 'hybrid_discovery' — combine sources; 'ingest' — absorb a document; 'compass'/'atlas' — guided navigation; 'entropy_dS' — measure system change; 'vitals' — kernel machine telemetry."
    • addedInput schema / properties / query / description
      Added value: +"What to look for, in plain language, e.g. 'TDQS scoring rubric MCP'."
    • addedInput schema / properties / result_limit / description
      Added value: +"Maximum number of results to return in search modes; default 10."
    • addedInput schema / properties / session_id / description
      Added value: +"Session id returned by arif_init (looks like 'sess-…'). Pass it on every call after init so the action is attributed to your governed session."
    • addedInput schema / properties / session_token / description
      Added value: +"Session Continuity Token (SCT) — the credential string arif_init returned alongside session_id. Pass it back on follow-up calls to prove the session is yours; without it the kernel treats you as unauthenticated."
    • addedInput schema / properties / url / description
      Added value: +"Exact URL to retrieve when mode=fetch, e.g. 'https://example.com/report.pdf'."
  7. Changed1 schema field changed
    • addedInput schema / properties / session_token
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  8. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "type": "object"
      -}New value: +null
  9. Changed1 schema field changed
    • changedInput schema / properties / mode / enum
      Previous value: -[
      -  "search",
      -  "hybrid_discovery",
      -  "ingest",
      -  "compass",
      -  "atlas",
      -  "entropy_dS",
      -  "vitals"
      -]New value: +[
      +  "search",
      +  "fetch",
      +  "hybrid_discovery",
      +  "ingest",
      +  "compass",
      +  "atlas",
      +  "entropy_dS",
      +  "vitals"
      +]
  10. Changed3 schema fields changed
    • addedOutput schema / additionalProperties
      Added value: +true
    • removedOutput schema / properties
      Removed value: -{
      -  "_nine_signal_compliant": {
      -    "description": "Internal compliance flag",
      -    "type": "boolean"
      -  },
      -  "_violations": {
      -    "description": "Non-compliance audit trail",
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "actor_id": {
      -    "description": "Sovereign or agent actor ID",
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "delta_S": {
      -    "description": "Thermodynamic entropy change",
      -    "type": "number"
      -  },
      -  "meta": {
      -    "description": "Metadata including actor_id, mode, circuit",
      -    "type": "object"
      -  },
      -  "nine_signal": {
      -    "description": "F2 addendum nine-signal block",
      -    "type": "object"
      -  },
      -  "output_policy": {
      -    "description": "Policy constraints: DOMAIN_SEAL, DOMAIN_HOLD, DOMAIN_VOID, SIMULATION_ONLY",
      -    "type": "string"
      -  },
      -  "reasons": {
      -    "description": "Human-readable justification list",
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "result": {
      -    "description": "Tool-specific payload",
      -    "type": "object"
      -  },
      -  "session_id": {
      -    "description": "Active session identifier",
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "stage_progression": {
      -    "description": "Next stage auto-chain hint",
      -    "type": [
      -      "object",
      -      "null"
      -    ]
      -  },
      -  "status": {
      -    "description": "Execution status: OK, ERROR, TIMEOUT, DRY_RUN",
      -    "type": "string"
      -  },
      -  "timestamp": {
      -    "description": "ISO-8601 timestamp",
      -    "type": "string"
      -  },
      -  "tool": {
      -    "description": "Canonical tool name that produced this response",
      -    "type": "string"
      -  },
      -  "verdict": {
      -    "description": "Constitutional verdict: SEAL, HOLD, VOID, SABAR, PROVISIONAL, PARTIAL",
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / required
      Removed value: -[
      -  "status",
      -  "tool",
      -  "verdict",
      -  "result",
      -  "nine_signal",
      -  "reasons"
      -]
  11. First observed

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish the safety profile (readOnly, idempotent, openWorld, non-destructive), and the description adds real value beyond them: an authentication requirement and the shape of what is returned (structured facts, source attribution, epistemic tags). It does not disclose rate limits, side effects of the 'ingest' mode, or failure behavior, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences with the purpose front-loaded and no filler. It is efficient, but the mode list is selective (3 of 10) rather than signaled as partial, which mildly misleads about scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be explained, and credential requirements are covered. However, for a 10-parameter, 10-mode tool, seven modes (hybrid_discovery, ingest, compass, atlas, entropy_dS, resource_read, resource_search) go unmentioned, leaving a significant capability gap for correct mode selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, including a fully documented mode enum, so the schema already carries parameter meaning and baseline 3 applies. The description reinforces the provenance/credentials framing but adds no syntax or format detail beyond what the schema states, and it omits any mention of actor_id, session_id, session_token, or layers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a clear verb+resource ("collect evidence, reality observations, and operational facts with provenance") and enumerates three concrete modes (search, fetch, vitals), so the agent knows the tool is a sensing/retrieval surface. It stops short of distinguishing itself from siblings like arif_memory or arif_think, so an agent must infer whether memory lookup belongs here or there.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only usage guidance is the prerequisite "Requires valid session credentials"; there is no statement of when to choose arif_observe over arif_memory, arif_route, or arif_think, and no exclusions. The mode list is a taxonomy of capabilities, not a decision rule for selecting among them, so the agent must reverse-engineer intent from the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.