REPO-NATIVE PRODUCT LOOP

hornero Meeting notes in. Specs, code, and an audit trail out — with a human gate in the middle. Everything lives in your git repo: no server, no SaaS, no database.

LAYER BY LAYER

THE LOOP — signal to shipped, traceable end to end

Signals in

Drop meeting notes, docs, or ideas into an inbox folder. Opt-in: commits themselves become signals, so code and specs never silently drift apart.

.hornero/inbox/ · GitSource

Evidence-verified deltas

An LLM proposes what's new, changed, or obsolete. Every delta must quote its source verbatim — mechanically checked. No evidence, no delta. Hallucinations are dropped, not fixed.

VERBATIM OR IT DIES

Human gate

Approve, reject, edit, or skip — interactively, in your terminal. No TTY means no writes: the gate fails closed. Past rejections resurface before you approve a repeat.

FAIL-CLOSED HITL

Specs are the tracker

Approved deltas become markdown specs versioned in git — status lives in the frontmatter, decisions become ADRs, half-formed ideas become brainstorm proposals. Nothing external to sync.

sdd/specs/ · git-versioned

Dispatch to coding agents

Approved specs render into build briefs and dispatch to a backend. Every run leaves a flight-recorder trace; a scribe distills it into a decision record whose every claim cites verified events.

TRACE ⇒ DR, CITATIONS CHECKED

Write-back & reports

Code, the updated spec, regenerated reports, and the decision record land in the same PR. Traceability shows signal → delta → spec → task → run → PR → merge, gaps included.

ONE ATOMIC PR

GUARDRAILS — violations are bugs, never “acceptable for now”

Evidence is verbatim or the delta dies. Excerpts are mechanically verified substrings of the source; mismatches are logged and discarded.

Human-in-the-loop fails closed. No approval channel ⇒ no spec mutation, no dispatch. Dry-run always leaves git clean.

No billed backend by surprise. A paid API runs only as an explicit, deliberate first choice — never as a fallback.

Diverged files are never auto-merged. Prompts sync like dependencies with a lockfile; conflicts block until a human picks --theirs or --ours.

Secrets never reach disk. Every generated surface — reports, wiki, traces, digests — passes through a redaction layer.

BY THE NUMBERS

234
deterministic tests
(zero network, zero keys)
4
specs built —
self-hosted SDD
11
phase gates,
all green verbatim
1
runtime dependency
(pyyaml)
0
servers, daemons,
or SaaS required

THREE MEMORY LAYERS — the repo remembers

wiki/ — for agents

Living docs written for the next agent run: mandatory quickstart, link-checked, updated surgically per git change window. A quiet repo costs one hash comparison — scheduled runs no-op.

toolkit sync — prompts as deps

Agent commands, rules, and templates sync across repos from one upstream with a committed lockfile and a three-way drift model. Improvements promote back via secret-scanned PRs.

flight recorder — process truth

The action stream is the ground truth; narrative is just an index over it. Audit any line of code: wiki → decision record → event range → raw trace, each hop adding resolution.

github.com/jelitox/hornero · MIT · Python ≥ 3.11 el hornero builds its own house — so does this tool