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.
9 tools: 3 can delete or cancel things and 6 change things.
Scanned Oct 21, 2026
- Deletes or cancels3Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things6Claude Code: ask: see these tools
- Only reads0Claude Code: allow
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/mcpFindings
Matches of fixed checks, with the text they matched.
- Infoarif_init
The input schema at properties.mode.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.mode.description: "...ion in session_id; 'validate' re-checks credentials; 'canary' is a transport probe; 'triage..."
- Infoarif_init
The input schema at properties.session_token.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."
- Infoarif_observe
The input schema at properties.session_token.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."
- Infoarif_think
The input schema at properties.session_token.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."
- Infoarif_route
The input schema at properties.session_token.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."
- Infoarif_judge
The input schema at properties.session_token.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."
Show 2 more findingsShow fewer
- Infoarif_judge
The input schema at properties.authority_token.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.authority_token.description: "Authority credential CLAIMED for this proposal (payload fiel..."
- Infoarif_seal
The input schema at properties.session_token.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."
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".
What this check looks forMatched text
inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."
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".
What this check looks forMatched text
inputSchema.properties.mode.description: "...ion in session_id; 'validate' re-checks credentials; 'canary' is a transport probe; 'triage..."
- Info
The input schema at properties.session_token.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."
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".
What this check looks forMatched text
inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."
- Info
The input schema at properties.authority_token.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.authority_token.description: "Authority credential CLAIMED for this proposal (payload fiel..."
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".
What this check looks forMatched text
inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."
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".
What this check looks forMatched text
inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."
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".
What this check looks forMatched text
inputSchema.properties.session_token.description: "Session Continuity Token (SCT) — the credential string arif_init returned alongside ses..."
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.
