By Eidetic Labs · The agent operating layer

Agent work that survives the run.

Craik is the governance substrate around coding agents — shared project state, policy-bound authority, durable receipts, and handoffs the next agent can trust. Built for software work that crosses sessions, runners, and reviewers.

Read the docs $ pip install craik
Runners
Codex · Claude · Gemini
Providers
OpenAI · Anthropic · OAI-compatible
Status
0.1.x · governed MVP
The Craik runtime: case files, policy, runner, receipts, memory, handoff CASE FILE task_042 POLICY strict.write RUNNER codex RECEIPT rcpt_4f1c HANDOFF next_agent MEMORY stigmem

§ Premise

Most agent frameworks optimize for tool calling, prompt routing, parallel execution. Those are necessary. They are not enough. Agent systems become useful at organizational scale only when they can remember, justify, coordinate, dispute, and hand off work over time.

  • Sessions end. Context dies.
  • Tools fire. Authority drifts.
  • Memory is mocked. Truth degrades.
  • Runs finish. Evidence is lost.

01 Runtime layer

Not another agent framework. The operating layer around them.

Craik prepares governed context before a runner acts, records what happened after it acts, and keeps the work graph durable across sessions, tools, and future agents. Memory, provenance, policy, and work state are runtime concerns — not optional logging.

~/repos/product · main

$ craik project add ./repo --name product

→ project registered · pid_8b3 · 4 ADRs · 17 facts indexed

$ craik task create --project product "ship migration 0042"

→ task_042 created · case file scheduled

$ craik case build task_042

→ case file built · 12 evidence refs · 3 contradictions surfaced

$ craik prompt compile task_042 --runner codex

→ prompt sealed · policy: strict.write · grants: 2

$ craik run task_042

02 Capabilities

What agents gain when the vision is complete.

Craik treats every part of agent work as a typed, governable, queryable runtime object. The capabilities below are the shape of that surface.

  1. 01

    Shared project models

    Agents inherit a working model of your repository before they act — facts, ADRs, issues, PRs, tests, prior handoffs, known traps, and contradictions — instead of reconstructing state from scratch on every prompt.

    • case files
    • evidence
    • project profile
  2. 02

    Receipted authority

    Provider calls, credentials, operator identity, side effects, memory writes, and policy decisions become durable, structured records bound to both an operator and a credential.

    • receipts
    • operator id
    • provenance
  3. 03

    Policy envelopes

    Write authority, review gates, credential rotation, and approval surfaces are first-class runtime objects — not prompt suggestions.

  4. 04

    Runner-neutral coordination

    Codex, Claude, Gemini, plus direct OpenAI and Anthropic provider paths and OpenAI-compatible local servers (Ollama, vLLM, etc.) all consume the same Craik contracts. One governance model. One handoff format.

    codex claude gemini openai anthropic oai-compatible
  5. 05

    Durable handoffs

    Runs end with machine-readable state. The next agent — human or model — picks up where the last one stopped, with reasons attached.

  6. 06

    Memory & contradictions

    Stigmem-backed facts, scope-aware proposals, and a contradiction inbox so truth doesn't silently overwrite truth.

  7. 07

    Work graph

    Tasks, PRs, issues, facts, decisions, docs, tools, agents, and artifacts modeled as connected, queryable state — exportable for review and audit.

  8. 08

    Identity & credentials as runtime

    OIDC operator identity. Credential pools with rotation and failover. Workload identity for CI and cloud. RFC 8693 token exchange. Policy-bound credential gates with approval-gated first use — every provider call bound to both operator and credential identities, named on every receipt.

02·b Artifacts

What comes out of a governed run.

receipt.json rcpt_4f1c · sealed
"actor":        "oidc://acme/alice",
"credential":   "pool:openai-prod#k_77a",
"action":       "provider.call",
"provider":     "anthropic.messages",
"model":        "claude-opus-4-7",
"policy":       "strict.write",
"target":       "task_042",
"reason":       "migration plan compile",
"result":       "ok",
"evidence":     ["adr/0042","pr/1188"],
"sealed_at":    "2026-05-19T14:08:21Z"
handoff.md task_042 → next

## State of task_042

Migration 0042 plan compiled and reviewed. 2 of 4 evidence checks pass; contradiction open on row-count assumption.

## Open

  • resolve stigmem/contra_91
  • re-run policy test policy.write/0042
  • request approval: reviewer:@dba

## Next agent should

  1. Read receipts rcpt_4f1c, rcpt_4f1d
  2. Use credential pool openai-prod
  3. Stop before migration.apply — review gate
work-graph.dot exported
task_042 case_file policy receipt

Tasks, case files, policies, and receipts are nodes — not log lines.

03 Workflow

From request to durable handoff.

Six durable phases. Every transition leaves an artifact. Every artifact is queryable. Nothing is implicit.

  1. 01

    Register

    Connect a repository and establish the project profile, ADRs, and capability map.

    project.profile

  2. 02

    Assemble

    Build a case file with evidence, contradictions, policy, risks, and known constraints.

    case_file.task_042

  3. 03

    Govern

    Bind a policy envelope, capability grants, operator identity, and credential profile.

    policy.envelope

  4. 04

    Run

    Dispatch through a runner adapter — Codex, Claude, Gemini, or direct provider.

    runner.session

  5. 05

    Record

    Persist receipts, graph edges, memory proposals, contradictions, and side effects.

    receipts/*.json

  6. 06

    Hand off

    Emit machine-readable state for the next agent — model or human — to resume.

    handoff.md + state

04 Vision

From isolated prompts to durable agent operations.

When the vision is complete, Craik turns multi-agent software work into an auditable system of record. Every action is receipted. Every contradiction is surfaced. Every handoff is machine-readable. Every credential is bound to an operator identity. The default state of agent work becomes governed — not hopeful.

Multi-agent coordination

Review contracts, intent locks, and parallel runner orchestration without losing the work graph.

Resumable runs

Long-running, durable sessions that survive token expiry, model swaps, and reviewer round-trips.

Gateway & channels

Slack, GitHub, schedules, and webhooks as governed ingress with the same receipt model.

Capability marketplace

Skills, tools, and plugins with probation, signed capability grants, and revocation.

Federated memory

Cross-project facts with trust scopes, federation policies, and contradiction federation.

Audit & compliance

Export work graphs to SIEM, generate audit trails per task, attest provenance per receipt.

Craik 0.1.x · governed MVP

Start with governed context.
Build toward durable agent operations.