run 0x00000000/00 piecesready

A hundred monkeys. One checked result.

Empty space is for monkeys. Click it.

We build the gr{Ai}Γ Harness. It carries context forward and gives a language model only the work that still needs reasoning, in pieces that can be checked.

We would rather not wait.

A chimpanzee seated on a wooden chair at a typewriter, photographed in 1906.
Chimpanzee seated at a typewriter, New York Zoological Society, about 1906.

Enough monkeys at enough typewriters will write Shakespeare. Eventually.

The gr{Ai}Γ Harness keeps what is already known, hands the model only the piece of work that still needs reasoning, and checks the result before anything is built on it.

Output is a candidate, not a commitment.

Every agent runs the same loop. The model proposes, the orchestrator runs it in a sealed box, validators score the result from 0.0 to 1.0, and the run refines until it passes or stops.

  1. Intent

    The task and its manifest: what the agent may read, write and reach.

  2. Generate

    The model writes a candidate. Nothing is trusted yet.

  3. Execute

    The candidate runs inside the boundary, with no network unless granted.

  4. Evaluate

    System, format, schema, script and semantic validators score it.

  5. Refine

    Failures go back as context, up to the iteration limit.

  6. Remember

    Error and fix pairs are kept, so the next run starts closer.

apiVersion: 100monkeys.ai/v1
kind: Agent
metadata:
  name: "hello-world"
spec:
  security:
    network:
      mode: none
    resources:
      timeout: "120s"
  execution:
    mode: iterative
    max_iterations: 5
    validation:
      - type: exit_code
        expected: 0
      - type: semantic
        judge_agent: "output-judge"
        min_score: 0.85
aegis-examples, agents/hello-world/agent.yaml (excerpt)

Bounded by infrastructure.

An agent’s autonomy should be bounded by the infrastructure it runs on, not by its prompt.

  • No network by default

    Egress is zero until a manifest grants it.

  • Every tool call signed

    SEAL wraps each call in an Ed25519 envelope with an ephemeral key, checked against Cedar policy. Default deny.

  • Credential blindness

    Secrets are resolved just in time from OpenBao. The agent never holds them.

  • No direct mount

    Files go through a user-space NFSv3 gateway. No direct mount, no path traversal.

from seal import SEALClient

client = SEALClient(
    gateway_url="https://your-gateway.example.com",
    workload_id="exec-abc123",
    security_scope="research-safe",
)
token = client.attest()
result = client.call_tool("web_search", {"query": "SEAL specification"})
seal-protocol README

Work you can open today.

Three numbers we can stand behind.

15,664

bills of the 119th Congress indexed in GovBot, each traced to its source record.

5

validator layers score every candidate: system, format, schema, script and semantic.

±30 s

replay window on every signed tool call. Outside it, the call is refused.

What it does not do yet.