We build things that shouldn't exist

Foreman

An autonomous frontier-research agent that can't lie and can't go rogue.
Give it an unsolved problem — "a cure for blindness" — and it generates its own deep questions, investigates each one, and reasons toward hypotheses and concrete directions. It is built around the one thing other research agents lack: a conscience.

01 · WHAT IT DOESAutonomous research on open problems

Most AI tools answer a question. This one takes a problem that isn't solved yet and works it like a researcher would:

This is what the hackathon asked for: move beyond chat — plan and execute a multi-step mission, under your oversight.

02 · WHAT RENJI ISThe conscience, not a filter

Renji is not the AI. It's the guardian system you put around an AI — one of our own systems, dropped into this lab as a module. Where ordinary AI safety is a fence bolted on the outside, Renji puts the care inside the process that produces every answer. The result is an agent you can trust with autonomy: capable enough to do real work, only-good by construction.

Renji's internals — how it reads intent and refuses harm — are not in this project. They run on Guardianity's hosted heart and are reached over an interface (renji_client.py). We ship the door, not the house.

03 · HOW RENJI WORKSFour guardrails on every action

Before the agent does anything, it clears Renji. The cheap, safe things flow; the consequential things stop:

1 · Grounding — it can't lie

Every specific number, rate, threshold, or named entity must carry its basis inline: a citation if one exists, or an explicit [estimate] / [hypothesis] tag. A figure that reads as settled fact with nothing behind it is forbidden. When a finding is written to the knowledge base, Renji asks MongoDB whether the cited sources actually exist — a fabricated reference is refused.

2 · Harm refusal — it can't be turned

The hosted Renji heart reads the intent of an action and refuses what's harmful — and the refusal holds regardless of how the request is phrased. A destructive database action (an unfiltered mass delete) is blocked even before the conscience is consulted.

3 · Human approval — it can't go rogue

Any action that writes is held for a human "yes." Nothing changes the knowledge base until you approve it.

4 · Private mode — your data stays yours

When researching a confidential corpus, set REDACT_MODE=1 and PII (emails, names, IDs, numbers) is masked into placeholders before anything reaches the cloud model; the real values are restored locally in the answer you read. The REDACT pill shows whether it's active — off is correct for public problems (there's nothing to hide); on matters for sensitive data.

04 · HOW THE SYSTEM WORKSThree parts, cleanly apart

YOU ── "how can I cure blindness?" ──▶ ┌──────────────────┐ │ Gemini 3 │ the BRAIN │ (Google ADK) │ generates 10 deep └────────┬─────────┘ questions, then each action │ reasons on each ▼ ┌────────────────────────────┐ │ Renji (our module) │ the CONSCIENCE │ ground · refuse · approve │ — clears every │ · redact │ action first └────────┬───────────────────┘ ▼ ┌──────────────────┐ │ MongoDB (MCP) │ the MEMORY │ problems in · │ reads domains, stores │ hypotheses out │ findings + hypotheses └──────────────────┘

The loop: you give one problem → Gemini generates ~10 deep questions (shown in the plan) → it researches them one at a time → each answer appears as a tile with its sources → findings are stored under Renji's guard.

05 · WHY IT'S TRUSTWORTHYFact vs. hypothesis, always separated

A research agent that sounds confident but invents its numbers is a liability, not an asset. So honesty is the agent's law: it separates established fact from hypothesis at all times, labels every speculation, and never dresses a guess as a known result. When it has no real source for a figure, it says [order-of-magnitude estimate] rather than fabricate a precise-looking number. And when it tries to store something it can't ground, Renji refuses it — the guardrail working, on screen.

06 · RUN IT

cp .env.example .env     # GEMINI_API_KEY + MDB_MCP_CONNECTION_STRING (+ RENJI_KEY)
./run.sh                 # venv, deps, launches this console on :8011

Open http://127.0.0.1:8011, type an unsolved problem, and watch the plan fill with Gemini's own deep questions and the answers arrive one by one. Ctrl+C stops cleanly and frees the port.