AIは審理する。人間が判断する。
OVERRIDE is a human-in-the-loop decision system where 8 AI agents with different biases deliberate on the same case, reach a consensus, and a human holds the final OVERRIDE (veto) power. Every deliberation, vote, and human override is recorded in a tamper-evident SHA-256 hash-chain audit ledger — the same design as a blockchain.
Built for the AWS "Agents for Humans" Hackathon with the Strands Agents SDK philosophy: agents work in the background, surface only when a real decision is needed, and the human stays in control.
"AI answers. But only humans decide."
Most AI systems say "AI is a tool." That's a lie — tools don't answer, they don't influence. AI has authority. OVERRIDE asks: who supervises that authority? The answer: humans are the judges of AI, not the other way around.
| Criterion | OVERRIDE |
|---|---|
| Technical | 8-agent adversarial jury + SHA-256 hash-chain ledger + tamper detection. Real, non-trivial implementation. |
| Design | The "Override" philosophy threads through tech, UI, and story. |
| Impact | Solves Good Neighbor problems (disaster relief, volunteer allocation) while redefining accountable AI. |
| Creativity | Inverts the "AI works for humans" trope — AI deliberates, humans decide. |
| Presentation | Theater: AI argues → human clicks Override → tamper-proof record. |
- 8-Agent Adversarial Jury (
lib/jury.js) — Careful, Optimist, Legal, Human, Technical, Liquidity, Community, Contrarian. Each votes ENTER / CAREFUL / AVOID. Majority = consensus. - Tamper-Evident Audit Ledger (
lib/ledger.js) — SHA-256 hash-chain. Edit one row → the whole chain breaks → TAMPERED. - Launch Radar (
lib/radar.js) — Deployer history rings (green/red) to avoid rug-pullers. - Black Box (
lib/blackbox.js) — Session recording + 20x replay. - Override UI (
web/index.html) — Human clicks Approve / Reject / Override. Every decision is sealed in the ledger.
┌─────────────────────────────────────────────────────────┐
│ OVERRIDE UI │
│ (web/index.html · browser) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 8-Agent │ │ Consensus │ │ Override │ │ Ledger │ │
│ │ Jury │ │ Display │ │ Button │ │ View │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
└───────┼────────────┼────────────┼────────────┼────────┘
│ │ │ │
┌───────▼────────────▼────────────▼────────────▼────────┐
│ Core Engine (lib/) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ jury.js │ │ledger.js │ │ radar.js │ │blackbox.js│ │
│ │ 8-bias │ │ SHA-256 │ │deployer │ │ session │ │
│ │ voting │ │ hash-chain│ │ history │ │ replay │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└────────────────────────────────────────────────────────┘
# Run tests (Node.js)
node test/ledger.test.js
node test/jury.test.js
node test/radar.test.js
node test/blackbox.test.js
# Open the demo UI
# Serve web/ over HTTP (file:// may block module loading)
python -m http.server 8080 --directory web
# → http://localhost:8080- 8 AI agents argue over a disaster-relief allocation.
- They split — no consensus on their own.
- You click Override.
- The SHA-256 ledger seals your decision. Tamper with it → TAMPERED.
MIT