Repository navigation
Attune Harness 1.3.0
Attune Harness 1.3.0 release notes
Published on PyPI October 7, 2026. This GitHub Release records the existing
1.3.0 package at signed tag v1.3.0, commit
0ecf8e6058cee9ed6f9b9510e043e3af3cbe1da0. It contains no later changes from main.
1.3.0 lets plan and fix start from a command. Until now, both verbs
needed a file nobody wrote for you: plan --request needed a work request
with a frozen effects manifest, and fix needed a trusted probe. init --for
writes each one, checked by the verb that reads it (O-70). Use an isolated
environment:
pipx install 'attune-harness[all]==1.3.0'The v1 compatibility contract holds. Envelope keys only grow: init adds
files. Existing defaults and exit codes are unchanged, and
docs/deprecations.json stays empty. One argparse effect is new: init --f,
--fo and --t are now ambiguous abbreviations. Spell --force, --tests
or --task-dir.
What is new
init --for fixwritesprobe.json, the trusted probefixreads. It
runs the named tests with pytest. Before writing,initruns the same freeze
fixruns, as a dry run, so anythingfixwould refuse is refused first, in
the same words. It runs nothing. Itsnext_actionis thefixpreview.init --for planwrites a work requestplan --requestaccepts as
written: the goal, the scope, the named tests as acceptance, one task,
distinct worker and reviewer, and an effects manifest frozen over the
checkout. It goes beside the task directory, as<task-dir>.work.json,
outside the checkout the manifest freezes. Writing it accepts nothing: the
preview and--acceptstay separate steps. A refusedinitremoves what it
wrote.- Example participants in
examples/starter/participants.jsonfinish both
journeys with no model call. They are example code, not a profile:lead
applies one declared replacement andreviewerapproves without judging.
They needpythonon PATH. - The Claude Code plugin comes from a release tag. The 1.3.0 plugin uses
v1.3.0and its verified release commit, rather than unreleasedmain. buildsays when its participants cannot build. Every profileinit
writes is for review, sobuildrefuses a plan made with one. The refusal
now names those participants, comes before any dispatch flag is asked for,
and says to plan again with participants that can propose files;
init --for plansays so up front (O-77). The starter journeys run from a
checkout of this repository with a virtual environment activated, because
examples/is not in the package.- Symlink refusals name the path to use. On macOS,
/tmpand/varare
symlinks, so a task directory under them is refused. The refusal now says
which link and what to use instead (O-76).
Additional changes included in 1.3.0
- Shared source review and roundtable: bounded preparation, explicit dispatch,
inspection and abandonment over immutable selected source bytes. Retained
evidence distinguishes requested and reported model identities and preserves
unresolved outcomes. These tools do not authorize their own model calls. - Consultation evidence and Antigravity: inspect frozen cited lines and retain
checkpoint-bound citation judgments. Explicit Antigravity seats record model,
effort and correlated process evidence; Codex seats can specify reasoning
effort. This does not establish tool isolation or native plan/build parity. - Browser intake and intent approval: register existing feature-work drafts,
save partial answers, inspect the current preview and explicitly accept intent.
Existing CLI/agent forms remain supported. The loopback server retains session,
origin, checkpoint and single-use decision checks. Browser build grants,
dispatch, resume and broader GUI navigation are deferred to 1.4.0; neither
launch flags nor direct HTTP execution routes enable them. M2 completion is
not required for this bounded forms release. Confirmed saves and intent
acceptance show inline success; unsuccessful submissions remain explicitly
unconfirmed, with copyable answers and disabled controls. Accepted cards show
intent acceptance. Cards lead with “Draft saved — ready for review” or
“Intent accepted”, with the work goal beneath. Partial drafts say more answers
are needed. The “Saved work” list includes both states, and confirmed retained
forms update their headings while staying read-only.
Browser storage refusals no longer abort startup or disable Refresh. The
private launcher link works for the current page; if session storage is
unavailable, reopen that complete link after reloading the page.
Saved answers name the next step in Saved work. Editable cards show a bold Tip
and a Continue form or Review your answers button, selected from the saved owner
state. Accepted cards explain that intake and review are complete; execution
stays separate.
Reopened intake forms show Saved answers above the remaining questions.
The full owner record stays below the form under Technical details (optional).
Saved answers remain evidence, never prefilled into a newly issued field;
the explicit approval boundary remains unchanged.
Approval previews show questions with their saved answers in plain language.
Full owner markdown, action definitions, checkpoint metadata and file-effects
JSON stay in a collapsed Technical details disclosure. Owner readiness
blockers remain visible outside it, with no unavailable action enabled.
Open in browser is available in editable and read-only forms views. Panels
at most 600 pixels wide recommend it; opening requires a click. The launcher
requests the same private workspace in the system browser, which decides
whether to use a tab or window. Copy unsaved answers before switching views;
they remain read-only in the original view and are never transferred or saved
automatically. This does not resize host panels or choose a monitor. - Reliability: malformed native-memory content entries now retain structured
refusal evidence. Starter failures clean up their own partial writes, forced
probe backups count toward the entry bound, and Claude refusal classification
distinguishes completed refusals from uncertain supervision failures.
Native-root recall, refresh and document resolve retain generated status,
staleness and provenance, including recorded WRONG verdicts; tombstones remain
inspectable. Source and sidecar changes invalidate existing handles. Nonfinite
raw-memory timestamps expire instead of bypassing the age check. - Packaging and diagnostics: Codex onboarding no longer assumes unbundled
helper scripts; qualification retains timing and slow-stack evidence. Windows
supplemental coverage has temporary measurement headroom, not broader platform
qualification. The Windows-traps guide and compact Shepherd reference are added.
Installed qualification rejects editable or copied-source imports and optimized
Python before effects, and its receipt records the final aggregate exit as well
as the pytest exit.
See model consultation, the GUI specification,
Windows guidance and Shepherd.
The two journeys
The CLI guide's plan and fix sections open with blocks that CI runs as
printed on the installed wheel. The fix block runs on POSIX only, as fix
is qualified.
attune-harness init --for fix --project /path/to/repo --scope calc.py \
--interpreter /path/to/venv/bin/python --tests tests/test_calc.pySee Plan and build and
Scoped repair.
Known limits
--test-root .is still refused (O-76).- Windows native-memory,
fixandtestlimits remain as documented; isolated
backend checks do not broaden the supported command surface. - Native-memory SDK/live model quality is not established by offline tests.
- Fresh-session memory observations (S3), a qualifying non-programmer walkthrough
(S6), and installed migration observations (S9) remain open. - The Claude marketplace explicitly lists Harness,
cross-reviewandsmart-test.
The bundledroundtableskill is included in Codex packaging but is not selected
by that marketplace entry. A tag-pointer update alone does not add it. - GUI browser, embedded-host, accessibility and real-user observations remain
open acceptance gaps. Published library qualification does not close those
observations; broader GUI remains deferred to 1.4.0.
Retained research/opportunity prototypes are not installed-product qualification.
Evidence
The released source is commit 0ecf8e6058cee9ed6f9b9510e043e3af3cbe1da0 (#228),
signed tag v1.3.0. The successful Library qualification
and PyPI publishing run
both target that exact commit. The attached files are the original publishing
run's distributions, independently matched to PyPI by size and SHA-256:
7b6f40a41f5017aa0f96c3f83aee21f7eef2af8d38c951d76c363c3512fdd18a attune_harness-1.3.0-py3-none-any.whl
c7c564e07b011c6eaad2617c8368819f8241c278e61d3d18c887951edc2a5e36 attune_harness-1.3.0.tar.gz
Merged intake/approval implementation and recovery changes support the bounded
browser forms slice. Broader GUI execution remains deferred and unreachable from
the 1.3.0 release server. Software qualification does not establish live model
quality or close the observation gaps listed above. The
project plan retains the 1.2.0
baseline and explicitly open observation gaps.