Skip to main content
Glama

arifOS — Constitutional AI Kernel

111 Observe · Sense Reality

arif_observe
Read-onlyIdempotent

KERNEL 111 · Collect evidence — facts and sources with epistemic tags (OBS) and uncertainty bounds, never conclusions. mode=search queries the open web/literature; mode=fetch retrieves a URL and records its provenance; mode=vitals reads kernel machine telemetry. Reason over what you gathered with arif_think; delegate domain analysis to an organ with arif_route. Modes: search, fetch, hybrid_discovery, ingest, compass, atlas, entropy_dS, vitals.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
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.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.
_envelopeNoReserved for the transport layer — never fill this in.
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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. 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'."
  2. 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'."
  3. 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'."
  4. Changed1 schema field changed
    • addedInput schema / properties / session_token
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  5. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "type": "object"
      -}New value: +null
  6. 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"
      +]
  7. 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"
      -]
  8. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare a safe read-only, idempotent, open-world profile, and the description is consistent with them. Beyond that, it adds a distinctive behavioral contract — 'never conclusions' — telling the agent the tool deliberately withholds conclusions and only emits evidence with epistemic tags and uncertainty bounds, plus provenance recording for fetch. This shapes how an agent must interpret results, which exceeds the annotation coverage; a 5 would require output-format or error-behavior disclosure it doesn't provide.

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?

Well front-loaded: the first sentence delivers the core purpose, and the mode explanations are compressed into one efficient sentence. Punished for the decorative 'KERNEL 111 ·' prefix and the trailing 'Modes: search, fetch, hybrid_discovery, ingest, compass, atlas, entropy_dS, vitals.' enumeration, which largely duplicates the preceding sentence and the schema enum.

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?

For the complexity — 9 parameters, 8 modes, no output schema — the description is only partially complete. It covers the epistemic contract and three modes, while five modes are unexplained in the description (the schema's mode parameter partially compensates by glossing each). With no output schema, the agent must rely on the abstract 'facts and sources with epistemic tags (OBS) and uncertainty bounds' for the return contract; error behavior, result structure, and cross-mode interplay are absent. The rich schema props it up to minimum viable but no higher.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3 per rubric. The description adds value above that baseline by explaining the semantics of three modes in prose (search, fetch, vitals) and framing result output as evidence-with-tags, enriching the mode enum. The other five enum modes (hybrid_discovery, ingest, compass, atlas, entropy_dS) get their semantics only from the schema, so it does not reach 5.

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 states a specific verb+resource — 'Collect evidence — facts and sources with epistemic tags (OBS) and uncertainty bounds, never conclusions' — and differentiates from siblings by explicitly routing downstream work to arif_think and arif_route. It also names three concrete modes (search, fetch, vitals) with behaviors. However, the multi-mode sprawl of 8 modes (compass, atlas, entropy_dS left unexplained) and the poetic 'Observe · Sense Reality' title blur the central purpose slightly, preventing a 5.

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

Usage Guidelines4/5

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

Gives explicit division-of-labor guidance: 'Reason over what you gathered with arif_think; delegate domain analysis to an organ with arif_route,' and ties mode selection to task ('mode=search queries the open web/literature; mode=fetch retrieves a URL...; mode=vitals reads kernel machine telemetry'). Lacks when-not-to-use guidance for the remaining siblings (arif_memory, arif_judge, arif_seal) and for 5 of the 8 modes, so it falls short of fully explicit exclusion guidance.

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.