Skip to content

feat: choose agent harnesses during init and with configure-harnesses - #403

Merged
danielhanold merged 12 commits into
mainfrom
feat/choose-agent-harnesses-during-repository-init
Oct 7, 2026
Merged

danielhanold merged 12 commits into
mainfrom
feat/choose-agent-harnesses-during-repository-init

Conversation

@danielhanold

@danielhanold danielhanold commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

↩ Change 0538 — Choose agent harnesses during init and with configure-harnesses

Summary

docket repository init now asks which coding agents get docket's dispatch instructions, and the new docket repository configure-harnesses changes that choice later. Both write agent_harnesses to the repository config and refresh the instructions in one run.

  • --harnesses claude,cursor / --harnesses none on both commands; bad, repeated, or mixed tokens refused before any write.
  • On a terminal with no flag: a huh checkbox picker (ADR-0146), pre-checked repo value, then global, then detected agents. Cancel writes nothing.
  • No terminal: init warns with the exact line and command; configure-harnesses refuses.
  • configure-harnesses works on a dirty/behind/needs-review checkout (primary must still be on the integration branch).
  • repository check warns harnesses-unset while no repository-level layer declares the key; fixtures and the Bash-upgrade guide now declare it.
  • Pending paths come from git status, so the gitignored Cursor rule is never listed for commit.

Review (deep tier) — dispositions

# Severity Finding State
1 important init listed the gitignored Cursor rule and unchanged surfaces as pending fixed f099de0
2 minor --harnesses none,none accepted fixed ee11acb
3 minor configure-harnesses treated any .gitignore edit as pending fixed c65ad87
4 minor message could end with an empty pending list fixed ee11acb
5 minor multi-line flow list refused by the writer fixed c65ad87 (comment drop kept as documented residual)
6 minor AC12 private non-empty list case untested fixed ee11acb
7 minor upgrade guide ended with agent_harnesses: [] fixed ee11acb
8 minor glossary line order/alignment fixed ee11acb
9 minor guard admitted needs-review off the integration branch fixed c65ad87

…ent harnesses later

Pending paths come from git status filtered to the docket-managed paths,
so a tracked surface removed this run (CLAUDE.md under --harnesses none)
is listed. The Cursor dispatch rule is ignored by the managed .gitignore
block, so its removal is not a reviewable change and is not listed.
…anned targets

Review finding: init told the user to commit the gitignored Cursor rule
and unchanged surface files because it echoed every planned surface
target, so 'git add' on the pending list failed. Init now reads the
surfaces pending review from git status, as configure-harnesses does.
…th check; edit multi-line flow harness lists

Review findings fixed:
- Pending review paths: init and configure-harnesses now derive them through
  the same function repository check uses, so the .gitignore is pending only
  when its managed block is not yet committed. An unrelated uncommitted
  .gitignore edit no longer lists .gitignore or raises a healthy repository
  to needs-review.
- configure-harnesses refuses a needs-review repository whose primary
  checkout is proven off the integration branch, as it already did for an
  otherwise-healthy one; an unknown branch probe still admits.
- The agent_harnesses edit replaces a flow list through its closing ] line,
  so a multi-line flow list is rewritten instead of refused.
- refuse a repeated none in --harnesses as listed more than once
- omit the review-and-commit clause when no paths are pending
- cover configure-harnesses claude clearing harnesses-unset in a private repo
- repeat the configure-harnesses follow-up after the final upgrade step
- move configure-harnesses after configure-tests --command in the glossary
@danielhanold
danielhanold merged commit 029a7e3 into main Oct 7, 2026
7 checks passed
@danielhanold
danielhanold deleted the feat/choose-agent-harnesses-during-repository-init branch October 7, 2026 10:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant