Public-safe proof of work · verified 2026-08-02

MADS
Multi-Agent Developer Sandbox

A local-first Electron application where AI agents can propose code and commands, while typed contracts, policy checks, human approval, reversible ChangeSets and durable audit records keep the human in control.

What the product demonstrates

MADS turns agent output into a controlled desktop workflow rather than giving an AI unrestricted access to the host.

Modern application engineering

Electron, React 18, TypeScript, Vite, Tailwind, Zustand, Zod, Vitest and Playwright/Electron in one working desktop product.

Human-in-the-loop change control

File mutations become ChangeSets with a diff, risk signals, explicit approval, atomic application and guarded revert.

Agent safety and accountability

Typed actions, path policy, a bounded command runner, main-process provider secrets and a durable JSONL audit trail.

Agent proposal
Zod schema validation
Policy and risk checks
Human approval
Controlled executor
Durable audit

Synthetic ChangeSet demonstration

The scenario below is fictional and runs only in this browser page. It demonstrates the product contract without exposing a private repository, real prompt, filesystem path, provider response or audit log.

Synthetic fixture: `demo-calculator` and every event below were written specifically for public demonstration. The buttons do not modify any files.
MADS cockpit · fictional workspace `demo-calculator`
Synthetic
ChangeSet

CS-DEMO-0042 · Guard division by zero

Review required
src/calculator.ts1 file · 4 changed lines
- export function divide(a: number, b: number) {
-   return a / b;
- }
+ export function divide(a: number, b: number) {
+   if (b === 0) throw new Error("Division by zero");
+   return a / b;
+ }
Intent
Modify existing file
Policy result
Workspace-confined · approval required

Evidence record

125
Vitest unit and integration tests recorded by the implementation commit
13
Playwright/Electron E2E scenarios recorded by the implementation commit
v1.2
Delivered product increment: ChangeSet hardening
FieldValue
Private source repositoryfbratten/multi-agent-developer-sandbox
Current source pinc84698d91d20bde4771a813029c52e2dfa356827
Implementation-bearing verification pindbd87c532bb01931b980ba2660a7f749b2e8a239
Verification date for this public package2026-08-02
Recorded verification gatetypecheck, lint, 125 Vitest tests, production build and 13 Electron E2E scenarios
Public dataEntirely synthetic fixture and browser-only state transitions
Source availabilityPrivate; this page is a bounded public evidence surface, not the source tree
Evidence precision: the verification counts come from the implementation-bearing commit. The later source merge updated documentation and did not claim a new test execution.

Implemented v1.2 safeguards

Create-over-existing detection

A create action targeting an existing path is classified as an intent mismatch and escalated instead of appearing as a low-risk new-file action.

Newline-only diff visibility

A trailing-newline-only change is shown explicitly rather than being rendered as an empty or invisible diff.

Revert-drift refusal

Revert is refused when subsequent workspace edits would be destroyed by restoring the older state.

Durable ChangeSet audit

ChangeSet lifecycle events are written to the durable audit log, and persistence failure is surfaced rather than represented as success.

Boundaries and non-claims

Why this matters for applied AI engineering

Calling an LLM is the easy part. MADS demonstrates the surrounding engineering needed to turn agent output into a reviewable product workflow: typed contracts, user experience, secret boundaries, controlled execution, reversible change and verifiable state.