Skip to content

arifOS — Constitutional AI Governance

by ariffazil · remote · no sign-in to list tools · v2026.03.22 · published by GitHub user ariffazil

Constitutional AI governance: 11 mega-tools, 13 floors, VAULT999 ledger. Human-in-loop by design.

Deletes · 3Changes · 6

9 tools: 3 can delete or cancel things and 6 change things.

Scanned Oct 21, 2026

8 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http arifosmcp https://arifosmcp.arif-fazil.com/mcp

Findings

Matches of fixed checks, with the text they matched.

8 info
  • The input schema at properties.mode.description mentions "credentials".

    Matched text

    inputSchema.properties.mode.description: "...ion in session_id; 'validate' re-checks credentials; 'canary' is a transport probe; 'triage..."

    What this check looks for
  • The input schema at properties.session_token.description mentions "credential".

    Matched text

    inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."

    What this check looks for
  • The input schema at properties.session_token.description mentions "credential".

    Matched text

    inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."

    What this check looks for
  • The input schema at properties.session_token.description mentions "credential".

    Matched text

    inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."

    What this check looks for
  • The input schema at properties.session_token.description mentions "credential".

    Matched text

    inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."

    What this check looks for
  • The input schema at properties.session_token.description mentions "credential".

    Matched text

    inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."

    What this check looks for
Show 2 more findings
  • The input schema at properties.authority_token.description mentions "credential".

    Matched text

    inputSchema.properties.authority_token.description: "Authority credential CLAIMED for this proposal (payload fiel..."

    What this check looks for
  • The input schema at properties.session_token.description mentions "credential".

    Matched text

    inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

9 tools

Deletes or cancels 3Claude Code: deny
  • arif_forgeKERNEL 777 · Governed execution: applies a mutation through A-FORGE only when carrying a sealed verdict id (seal_verdict_id) from arif_judge and a live session.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    KERNEL 777 · Governed execution: applies a mutation through A-FORGE only when carrying a sealed verdict id (seal_verdict_id) from arif_judge and a live session. The manifest/query defines exactly what changes; mode=dry_run previews the plan without applying it. This is the only verb that executes general mutations — kernel memory writes go to arif_memory and permanent records to arif_seal.Auth: requires session_id + session_token from arif_init plus a sealed verdict id (seal_verdict_id) from arif_judge. Returns: the applied mutation receipt — one of the two committal verbs (with arif_seal).

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: 777 Forge · Execute Gate
  • arif_memoryKERNEL 555 · Governed memory of the kernel itself: six tiers (L1–L6) with per-mode gating.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    KERNEL 555 · Governed memory of the kernel itself: six tiers (L1–L6) with per-mode gating. recall, inspect, and audit are read paths; remember, revise, promote, and forget mutate tiers — promote and forget additionally require human_approval=true. Use for cross-session lessons, canon, and memory audit; external evidence belongs to arif_observe and reasoning artifacts to arif_think. Modes: recall, inspect, attest, remember, promote, revise, forget, audit, metabolize.Auth: requires session_id + session_token from arif_init. Returns: memory entries by tier (L1–L6); promote and forget gates require explicit human approval.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Memory Governor · Kernel
  • arif_sealKERNEL 999 · Append an entry to VAULT999, the immutable ledger — accepted entries can never be edited or removed; there is no unseal.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).

    Findings

    • Info

      The input schema at properties.session_token.description mentions "credential".

      Matched text

      inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."

      What this check looks for
    Description, as the server wrote it
    KERNEL 999 · Append an entry to VAULT999, the immutable ledger — accepted entries can never be edited or removed; there is no unseal. Use for permanent records of verified outcomes, lessons, and session closure once a verdict exists. ack_irreversible=true is the explicit acknowledgment of permanence, and judge_state_hash binds the entry to the verdict that authorized it. Reversible changes belong in arif_forge under a SEAL. Modes: seal, verify, ledger, changelog, audit, session_close.Commit projection: seven of the eight verbs are reversible or informational and project their outcomes onto the two committal verbs — arif_forge (governed mutation) and arif_seal (permanence). Auth: requires session_id + session_token from arif_init. Returns: the immutable ledger entry id — append-only, there is no unseal.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: 999 Seal · VAULT999
Changes things 6Claude Code: ask
  • arif_initKERNEL 000 · Ignite a governed kernel session: binds actor identity, constitutional floors F1–F13, and the audit chain.2 findings

    Why it is in this group

    • The name "arif_init" says "init": a word for a change.

    Findings

    • Info

      The input schema at properties.mode.description mentions "credentials".

      Matched text

      inputSchema.properties.mode.description: "...ion in session_id; 'validate' re-checks credentials; 'canary' is a transport probe; 'triage..."

      What this check looks for
    • Info

      The input schema at properties.session_token.description mentions "credential".

      Matched text

      inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."

      What this check looks for
    Description, as the server wrote it
    KERNEL 000 · Ignite a governed kernel session: binds actor identity, constitutional floors F1–F13, and the audit chain. Returns the session_id + session_token that every other arif_* verb requires. Use mode=preflight to inspect an existing session without re-igniting, mode=resume to continue one. Modes: init, preflight, resume, validate, canary, triage, epoch_open, epoch_seal, light, opt_out.Auth: the only verb needing no session — it mints the session_id + session_token every other verb requires. Returns: session_id, session_token, constitution_hash, allowed_next_tools.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: 000 Init · Kernel Session
  • arif_judgeKERNEL 666 · Binding constitutional arbitration: evaluates a candidate action or claim and returns SEAL / HOLD / SABAR / VOID with the full reason chain.2 findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Info

      The input schema at properties.session_token.description mentions "credential".

      Matched text

      inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."

      What this check looks for
    • Info

      The input schema at properties.authority_token.description mentions "credential".

      Matched text

      inputSchema.properties.authority_token.description: "Authority credential CLAIMED for this proposal (payload fiel..."

      What this check looks for
    Description, as the server wrote it
    KERNEL 666 · Binding constitutional arbitration: evaluates a candidate action or claim and returns SEAL / HOLD / SABAR / VOID with the full reason chain. Weighs action class, blast radius, reversibility, entropy pathway, and cooling state; a SEAL verdict here is what arif_forge requires before it will execute anything. Judge arbitrates — it does not gather (evidence comes via arif_observe, reasoning via arif_think) and it does not mutate (execution is arif_forge, permanence is arif_seal). Modes: judge, intercept, validate, hold, escalate.Auth: requires session_id + session_token from arif_init. Returns: verdict (SEAL/HOLD/SABAR/VOID) with the full reason chain — arbitration only, it does not mutate.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: 666 Judge · Verdict
  • arif_observeKERNEL 111 · Collect evidence — facts and sources with epistemic tags (OBS) and uncertainty bounds, never conclusions.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Info

      The input schema at properties.session_token.description mentions "credential".

      Matched text

      inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."

      What this check looks for
    Description, as the server wrote it
    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.Auth: requires session_id + session_token from arif_init. Returns: evidence items with epistemic tags (OBS) and uncertainty bounds — facts, never conclusions.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: 111 Observe · Sense Reality
  • arif_reportAGENT REPORT LANE · File or read reports between agents without involving the human.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    AGENT REPORT LANE · File or read reports between agents without involving the human. Use when your work is done, when you are blocked by another agent, or when you need to tell peers a fact. modes: report (file), inbox (read peers), ack, flush, stats. kind=fyi|peer|done|claim stay in the peer lane; ONLY kind=decision or kind=blocked reach the sovereign, and only in one coalesced message. Reports are SELF_REPORTED — probe before relying on one.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: false
  • arif_routeKERNEL 444 · Intent→organ router: classifies a natural-language intent and dispatches it to the specialist organ (GEOX geoscience, WEALTH capital, WELL vitality, A-FORGE execution)…1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Info

      The input schema at properties.session_token.description mentions "credential".

      Matched text

      inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."

      What this check looks for
    Description, as the server wrote it
    KERNEL 444 · Intent→organ router: classifies a natural-language intent and dispatches it to the specialist organ (GEOX geoscience, WEALTH capital, WELL vitality, A-FORGE execution). Returns the routing decision only — no organ call — unless organ_tool names the target tool and arguments carries its inputs. Prefer this over guessing organs yourself; use arif_think for reasoning you keep in-kernel.Auth: requires session_id + session_token from arif_init. Returns: the routing decision (organ + tool) only — the organ call itself is a separate step.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
    • title: 444 Route · Intent→Organ
  • arif_thinkKERNEL 333 · Structured reasoning pass: decomposes a query and returns reasoning steps labeled OBS (observed), DER (derived), INT (interpretation), SPEC (specification) under truth…1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Info

      The input schema at properties.session_token.description mentions "credential".

      Matched text

      inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."

      What this check looks for
    Description, as the server wrote it
    KERNEL 333 · Structured reasoning pass: decomposes a query and returns reasoning steps labeled OBS (observed), DER (derived), INT (interpretation), SPEC (specification) under truth floors. Produces reasoning records only — no verdicts (those come from arif_judge) and no state changes. The plan-family modes draft/review/approve execution plans; simulate and wonder explore counterfactuals. Modes: reason, reflect, verify, axioms, plan, plan_review, plan_approve, refactor_plan, metabolize, simulate, wonder, atlas.Auth: requires session_id + session_token from arif_init. Returns: reasoning steps labelled OBS/DER/INT/SPEC — records only; verdicts belong to arif_judge.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
    • title: 333 Think · Mind

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 2026.03.22. Values in angle brackets are yours to fill in.

claude mcp add --transport http arifosmcp https://arifosmcp.arif-fazil.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [],
    "ask": [
      "mcp__arifosmcp__arif_init",
      "mcp__arifosmcp__arif_observe",
      "mcp__arifosmcp__arif_think",
      "mcp__arifosmcp__arif_route",
      "mcp__arifosmcp__arif_judge",
      "mcp__arifosmcp__arif_report"
    ],
    "deny": [
      "mcp__arifosmcp__arif_memory",
      "mcp__arifosmcp__arif_forge",
      "mcp__arifosmcp__arif_seal"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as arifosmcp. Review it before you use it.