Repository navigation
Attune Harness 1.1.0
1.1.0 makes every task verb reachable from a fresh install. A cold
walkthrough of 1.0.1 found that only test completed: plan, review and
fix needed a participant registry that nothing wrote, refusals came in three
shapes, and the Harness skill had no way into Claude Code. Use an isolated
environment:
pipx install 'attune-harness[all]==1.1.0'The v1 compatibility contract holds. Every JSON envelope key, default and
saved-state format is unchanged, and docs/deprecations.json stays empty. New
verbs, options and golden rows are additive. Two behaviours change, and each
is listed under "Behaviour changes" below.
What is new
attune-harness initwrites a starterparticipants.json:demo
(two offline deterministic participants, the default),claudeorcodex
(a lead and a reviewer on different models). It refuses to replace a
registry unless given--force, which keeps a backup. Writing a native
profile authorizes nothing.- Refusals name the next step.
review,fixandplanwithout a
registry nameinit. Every refusal from the task verbs and controls carries
next_action. A rejected option combination forrevieworfixis a JSON
refusal on stdout rather than usage text on stderr, and still exits 2. - Path refusals explain resolution.
--document,--contextand
--corpusresolve against--project, and--configagainst the working
directory. A refusal now says which base it used and what the path resolved
to. - Readable output on request.
--format markdownonplan,build,
review,fix,testandresumeprints the same result for people, with
the same exit code.status --format markdown|htmlworks for every task. - The Claude Code plugin.
/plugin marketplace add Smart-AI-Memory/attune-harness
installs the Harness skill withcross-reviewandsmart-test. The Codex
plugins are unchanged. - Documented journeys run in CI. Blocks tagged in the README and the CLI
guide run as written, from an empty directory, in every installed-wheel
platform job.
Behaviour changes
status --format markdown|htmlon a task other thanfeature-work-v1used
to be refused with exit 2. It now renders the task and exits 0.- A rejected combination of valid options for
revieworfix(for example
fix --goalalone) used to print argparse usage text on stderr. It now
prints a JSON refusal on stdout. The exit code is still 2.
Limits
plan/buildandfixstill have no copy-and-paste example: they need a
frozen effects manifest and a trusted probe that no command writes. The
offline plan, accept, build and review journey inscripts/check_installed.py
covers them in CI.- Markdown
statusfor assessment and repair tasks is the generic envelope
rendering, not a designed per-profile report. - This release adds no model or platform qualification. The named
non-programmer walkthrough (S6) is still to be performed. It is now worth
scheduling, because each verb starts from a fresh install.