feat(cli): harness init scaffold, BYOH upstreaming flow, and descriptor PR template#147
Merged
Conversation
…or PR template Closes #138 (descriptor epic #122, step 7): make the bring-your-own-harness path agent-followable end to end. - `eval-magic harness init <name>` scaffolds a commented descriptor template (every field explained inline, VERIFY-don't-guess prompts, lint-clean as written) plus a notes-file skeleton for the per-field verification record, into the project-local layer; `--stdout` prints the template, `--force` overwrites, already-registered names get an overlay note instead of an error. - Templates ship as embedded assets (harnesses/template.toml, harnesses/template-notes.md); drift guards pin that the template mentions every schema field and capability name and that the fully-uncommented examples form one coherent descriptor. - docs/byoh.md gains "Upstreaming your descriptor" (data-vs-code split, the four-file PR shape) and "Verify, don't guess"; progressive-enhancements.md, README, and the --help examples now route through `harness init`. - New .github/PULL_REQUEST_TEMPLATE/harness-descriptor.md scopes data-only descriptor PRs: diff shape, verification evidence, don't-guess attestation. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Closes #138 (part of the descriptor epic #122, step 7 — make the BYOH path agent-followable).
What changed
eval-magic harness init <name>— scaffolds.eval-magic/harnesses/<name>.toml, a fully commented descriptor template (onlylabellive; every optional table a commented-out, inline-explained example with VERIFY-don't-guess prompts) plus<name>-notes.md, the verification-record skeleton. The scaffold is lint-clean as written and registers the name as a baseline harness immediately.--stdoutprints the template for redirection,--forceoverwrites, non-kebab names are rejected, and scaffolding a registered name (e.g.claude-code) prints an overlay note instead of erroring.harnesses/template.toml/harnesses/template-notes.md, packaged with the crate (pinned by the package test). Unit drift-guards enforce that the template mentions every schema field and named-capability value, and that the fully-uncommented examples form one coherent, invariant-clean descriptor.docs/byoh.md: new "Upstreaming your descriptor" section (exactly which capabilities are data vs code, the four-file data-only PR shape, how to open it with the template) and a "Verify, don't guess" section; the five-minute version and workflow now lead withharness init..github/PULL_REQUEST_TEMPLATE/harness-descriptor.mdfor data-only descriptor contributions: scope check (existing named capabilities only, no[guard]), expected diff shape, verification evidence, and the don't-guess attestation. Ordinary PRs stay template-less.--helpexamples.Before / after
Before, the five-minute BYOH flow started from a bare heredoc:
After:
Verification
cargo test— 430 lib + 94 cli + 69 run tests pass (10 new integration tests intests/cli/harness_init.rs, 4 new unit drift-guards; both guards mutation-tested)cargo fmt --checkandcargo clippy --all-targets -- -D warningscleanharness init cool-cli→ lint →harness list(showscool-cli project baseline), overlay note onclaude-code,--stdoutmode,harness init --help, top-level--helpexamples blockNotes for review
harness init) with thorough--help; no schema changes; docs updated across byoh.md / progressive-enhancements.md / README.--probeis still only "planned" everywhere — the template and docs never print it as runnable.🤖 Generated with Claude Code