REPO-NATIVE PRODUCT LOOP
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/ · GitSourceAn 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 DIESApprove, 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 HITLApproved 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-versionedApproved 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 CHECKEDCode, 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 PREvidence 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.
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.
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.
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.