This is a research repo: deep source-grounded comparison of eight agentic coding harnesses, plus an interactive loop visualizer.
- Every loop claim traces to source. Each node in a loop spec (
site/src/data/loops/<harness>.json) carries asourceRefof the formpath:linepointing at the real harness source. If you can't cite it, don't claim it. - Harness sources are analyzed in place, never vendored. They live in
sources/(gitignored), pinned to the SHAs recorded indocs/methodology.md. Re-clone with the SHAs there to reproduce. - The loop spec is the single source of truth. Both the prose docs and the visualizer read from it. Update the JSON first, then the prose.
- Keep the node vocabulary fixed (
input | llm | tool | approval | execute | decision | terminal). If a harness genuinely doesn't fit, extend the schema deliberately and note it — don't overload an existing kind. - Scenario IDs must stay in parity across all eight harnesses (
edit-file,denied-tool,multi-tool,plain-answer). The side-by-side comparison depends on it, andnpm run validateenforces it. - Anchor scan-words in
note/titleprose with**…**. The visualizer renders**bolded**spans in loop-specnoteandtitlestrings as Artificer anchor words — bold 3–5 per note so the bolded path reads on its own. Only paired**is parsed; no other Markdown. The marker is the only formatting allowed in these fields, so the prose stays byte-identical with the markers stripped.
- Pin/refresh a source in
sources/and record its SHA indocs/methodology.md. - Read the loop, write/update
site/src/data/loops/<harness>.json(validate againstschema.json). - Update the matching
docs/harnesses/<harness>.mdprofile. - Run the visualizer (
cd site && npm run dev) and the schema validation before opening a PR.
Bump the SHA in docs/methodology.md, re-read the loop, and reconcile the spec + profile. Note version-specific behavior rather than silently overwriting.