Move the templates out of gauntlet.md into templates.md - #10
Draft
drmikecrowe wants to merge 2 commits into
Draft
Conversation
…r's tree Two things this skill relies on but never wrote down: where per-repo settings live, and how work is kept out of the user's working tree. `references/setup.md` (new) documents an optional `.old-coder.toml`: `isolation`, `install`, `commit`, `commit_args`, `tracker`, `artifacts`, and `[commands]`. Nothing blocks on it -- absent, everything defaults to `propose` and `isolation = "auto"`. The part worth arguing about is the restrict-only asymmetry. A TRACKED config may tighten permissions and never loosen them: `install = "allow"` in a committed file is ignored, because otherwise cloning a repo would hand its config authority over the machine that cloned it. Grants live only in a gitignored or absolute-path config, where they are the machine owner's statement rather than the repo author's. Alongside it, the permission rule stated once: an operation proceeds if policy permits it AND (it is reversible OR an approver is present). Policy can grant standing permission; it cannot manufacture a human. The consequence matters for unattended runs -- with `propose` and nobody present, skip the operation, record the consequence, and continue. A run that halts on configuration produces neither code nor evidence. Isolation is stated as an invariant rather than a mechanism: do not mutate the user's working tree to do your work. The trap is worth the paragraph it gets -- a fresh worktree contains no gitignored content, so the gauntlet frequently cannot run there until dependencies are rebuilt, and the tempting move is to report green from a tree that never ran the suite. That trap has a second half: an isolated tree and the tree the change lands in can differ by ignored content, so a green worktree run is not automatically evidence about the main tree. That gets one sentence here, and EVIDENCE says when it applies. An executable layer for it is a heavier proposition and is deliberately not in this PR. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
gauntlet.md had become two documents: how to run each layer, and the fill-in forms for SPEC and EVIDENCE. They are read at different moments -- the layer guidance while building the gauntlet, the templates while writing the two artifacts the human actually reads -- and the file is loaded in full either way. So `references/templates.md` now holds the Gherkin scenario template, the SPEC.md template, the EVIDENCE.md template, and the tracker roll-up. gauntlet.md keeps a two-line pointer and drops 70 lines, and SKILL.md's EVIDENCE step points at the new location. The templates gained the fields this fork found it needed while running the loop: a Revisions section in SPEC (spec drift is supposed to be visible, which needs somewhere to write it), a Config line and per-layer wall-clock in the EVIDENCE header, a split of "layers not run" into N-A / UNAVAILABLE / SUBSTITUTED because those mean different things to a reader, a Dismissed-findings section (fixes are self-evidencing, dismissals are not), and a Structural-blind-spot line naming the layer this project cannot run at all. Depends on the config/isolation PR: the templates reference `setup.md` for the artifact directory layout and the `tracker` setting. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
drmikecrowe
force-pushed
the
contrib/templates
branch
from
August 12, 2026 15:44
c188608 to
1ad2280
Compare
Owner
|
Taking you up on your own offer: yes to the fields-only re-cut, independent of #9. Take
The templates split itself is fine by me if it comes independent of #9 — you are right that Leave out
One caution on the whole directionEvery field added to the EVIDENCE template is paid for by every future report, and the human reading it has a fixed attention budget. The four above earn it because each one lets a reader distinguish two states they would otherwise conflate. I would hold that as the bar for anything further: a field earns its place if its absence would let a reader believe something false, not if its presence would be nice to have. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
gauntlet.mdhad become two documents: how to run each layer, and the fill-in forms for SPEC and EVIDENCE. They're read at different moments — the layer guidance while building the gauntlet, the templates while writing the two artifacts the human actually reads — and the file gets loaded in full either way.So
references/templates.mdnow holds the Gherkin scenario template, the SPEC template, the EVIDENCE template, and the tracker roll-up.gauntlet.mdkeeps a two-line pointer and drops ~70 lines; SKILL.md's EVIDENCE step points at the new location.The templates also gained the fields this fork found it needed while running the loop:
file:linethat disproves the finding.Your Independent-verification EVIDENCE fields from #5 move across intact, with a note that they're prose and get no row in the layer table.
If you'd rather keep the templates inline in
gauntlet.md, the added fields are separable — say the word and I'll re-cut this as a fields-only PR.Part of a series from a fork that has been running this skill daily (drmikecrowe/old-coder).
🤖 Generated with Claude Code