Independent project / Evalgate
Keep the failure evidence.
Markdown work contracts connect acceptance criteria to executable checks and visible results.

The problem
An agent reporting completion does not establish that a task met its acceptance criteria. The result needs an inspectable check.
What I built
I built Evalgate to connect Markdown work contracts to executable checks, record their results, and leave failed checks unresolved for inspection and an explicit retry.
Decision & tradeoff
Define a verifier alongside the task and use its result to update completion. Shell and HTTP checks test explicit conditions; model-based judgment carries different uncertainty.
A passing check proves only the property it tested. Retries are explicit and the declared retry count is advisory. JSON checks cover a limited shape; file-pattern checks are not a semantic-diff engine.
Completion follows the verifier
- Constraint: An agent report is not acceptance evidence.
- Decision: Run an explicit verifier and retain its output.
- Result: Passing contracts update; failures remain pending for inspection and explicit retry.
Source-verified implementation pattern; sample outcomes are illustrative. A pass covers only the checked property. Retry counts are advisory; model judgments differ from deterministic checks.
Explore the implementation
Real local sample execution · two passed · one deliberate failure · synthetic checks.
1. Passed checks
Two synthetic checks passed in the real local sample run. These are illustrative results, not a performance benchmark.
2. Missing evidence
The deliberately missing source-evidence check failed. Its contract stays pending instead of claiming completion.
3. Review and retry
Read the failure output before an explicit retry. A plausible answer does not replace missing evidence.
Result & limits
The CLI parses pending contracts, runs their verifiers, prints failure output and updates the Markdown using the results. In the sample run, the failed source-evidence contract remains pending.
Sample results are demonstration evidence, not product performance metrics. Passing checks do not prove unchecked properties.
Inspect Evalgate on GitHub ↗More engineering stories