Inspiration
AI agents are becoming capable of changing repositories, managing access, and running business workflows. But an agent can say that a task succeeded without proving that the real system actually changed.
That gap inspired me to build WITNESS.
WITNESS checks authoritative state before the next consequential action is allowed to run. Automation proceeds only when the required outcome is verified, helping agents achieve what they claim instead of merely reporting success.
What I Built
WITNESS is an outcome firewall for agentic workflows.
Before an agent begins, the workflow defines the outcome that must become true. When the agent claims completion, WITNESS checks fresh evidence from the real system and decides whether the workflow can continue.
If the evidence confirms the outcome, WITNESS releases the next action. If the evidence contradicts the claim or cannot be trusted, the action remains held.
The agent does not control the evidence, the decision, or the release.
The project includes a working TypeScript service, GitHub and Keycloak integrations, durable workflow state, recovery behavior, Python and TypeScript clients, examples, tests, and a credential-free local demonstration.
How I Built It
I designed WITNESS around one principle: a claim and an outcome are not the same thing.
I separated the system into three responsibilities:
- The agent attempts the work.
- WITNESS checks the authoritative system.
- A release gate controls whether automation continues.
I kept the final decision deterministic. Models can help explain failures, but they cannot decide whether evidence is valid or whether a protected action should run.
Why I Used Codex and GPT-5.6
I chose Codex because this project required more than generating isolated code snippets.
I needed an engineering agent that could understand an entire repository, modify related files, run commands, execute tests, investigate failures, and continue iterating until the system worked as a whole.
I used Codex with GPT-5.6 throughout architecture exploration, implementation, debugging, test creation, security review, documentation, benchmark analysis, and final repository preparation.
Codex accelerated the work across the codebase, while I remained responsible for the product direction, safety boundaries, experimental standards, and final decisions.
That distinction mattered. I did not want a model to make the important product choices for me. I wanted a coding agent that could help me implement, test, challenge, and refine those choices.
Challenges and What I Learned
The hardest challenge was defining what counts as proof. A confident response from an agent, or even agreement from a second model, is still not authoritative evidence.
I also had to handle situations where evidence was missing or temporarily unavailable without turning uncertainty into permission.
Another challenge was testing the product honestly. When one comparative experiment could not support a superiority claim, I kept the limitation instead of changing the experiment until it produced a favorable result.
The biggest lesson was that reliable agent systems need clear boundaries between claims, evidence, decisions, and consequences.
the witness is watching
Built With
- github
- keycloak
- npm
- react
- t3
- typescript
- vite
Log in or sign up for Devpost to join the conversation.