Crash anywhere, resume exactly
Everything is an event in an append-only log and a Markdown artifact, committed to git inside the project. karigor resume replays it to the exact state; karigor explain turns it into a story.
How it works
The kernel is small and deterministic. Agents do the thinking and the typing; the kernel decides what happens next, and only on evidence.
A judged verdict fails only on blocking objections. Minor suggestions are recorded, not enforced, and a verdict with no citations is a fail.
| Gate | Kind | What it proves |
|---|---|---|
| schema-valid | mechanical | Every artifact an agent produced matches its schema. |
| budget-ok | mechanical | The work so far fits the tier you chose. |
| spec-complete | judged | A reviewer finds the spec complete enough to design and build from. |
| architecture-sound | judged | The design names the roles and modules and fits the spec. |
| tests-pass | mechanical | The project’s real tests run green. |
| lint-clean | mechanical | The code passes the linter. |
| build-succeeds | mechanical | The production build completes. |
| security-scan-clean | mechanical | No leaked secrets and no vulnerable dependencies. |
| diff-matches-spec | judged | The change does what its backlog item and the spec say. |
| skeptic-review | judged | A skeptic, who can only object, finds no blocking problem. |
| journeys-pass | mechanical | Each kind of user’s main jobs work in a browser, at phone and desktop size. |
| preview-healthy | mechanical | The preview serves the new build, not a login page or the old one. |
| rollback-verified | mechanical | Going back to the previous release actually works. |
When something fails
A retried role is shown exactly why it failed and what it produced last time. Dropped or parked work is reverted, so it never ships.
Process templates
Each template is a YAML file: which phases exist, which roles run in each, which gates guard each transition, and what to do on failure. You can write your own.
Writing a process templateShort sprints with phase gates. The default for most products.
Most ideas: built a few backlog items at a time, each sprint gated.
Waterfall. One pass through specify, design, plan, build, verify, release.
Small, well-understood ideas, like the family shopping list.
Resolve one risky unknown with a throwaway spike, then build iteratively.
Ideas that hinge on one thing nobody is sure will work.
Builds the next stage of a released product on top of what is live.
Run by karigor grow, once stage 1 is live.
Entered from a production signal. Triage, fix, verify, release.
App errors, downtime, a vulnerable library or your feedback.
Everything is an event in an append-only log and a Markdown artifact, committed to git inside the project. karigor resume replays it to the exact state; karigor explain turns it into a story.
Karigor makes secrets like a signing key itself and asks in plain words for what only you can provide. Values go only to the host’s sensitive settings or a private file; Karigor’s own records keep names, never values.
Nobody is asked a technical question, but every assumption is recorded. Change any of them in your own words; once the app is live, the change becomes a work item and a fix round.
Run the chat UI from Docker to reach it from your phone. It refuses to listen beyond localhost without a token.