Skip to content

release: 0.7.0 — library review + architecture review (23 fixes, single-sourcing, drift guards) - #58

Merged
silversurfer562 merged 1 commit into
mainfrom
release/0.7.0
Aug 20, 2026
Merged

release: 0.7.0 — library review + architecture review (23 fixes, single-sourcing, drift guards)#58
silversurfer562 merged 1 commit into
mainfrom
release/0.7.0

Conversation

@silversurfer562

Copy link
Copy Markdown
Member

Prepares the 0.7.0 cut. Not tagged or published — this PR is the prep; the tag + PyPI publish wait for explicit go.

What's in 0.7.0

The output of a four-stage library review (checkpoint-1 sweep → bridge.py pilot → two adversarial confirmation passes) plus a dynamic-forms architecture review — landed across PRs #37#57 and #56. 23 confirmed correctness fixes, cross-surface policy single-sourcing, and drift catchers so the grammar can't silently rot again.

⚠️ Breaking

Three stricter-validation tightenings now raise FormValidationError where 0.6.0 returned clean:

  • Unknown definition keys (typo'd/unrecognized field- or top-level keys) are named; MCP inputSchema gains additionalProperties: false.
  • Unknown answer keys against optional-with-default fields are named instead of silently collecting the default.
  • An expanding answer supplied both canonically and as dotted keys is a named contradiction, not a silent canonical win.

Migration is mechanical (every rejection names the offending key). Called out prominently in the changelog.

This PR contains

  • Version bump 0.6.0 → 0.7.0 in pyproject.toml, plugin/.claude-plugin/plugin.json, and .claude-plugin/marketplace.json (version-sync guard green).
  • Changelog consolidated under a dated ## [0.7.0] heading in Keep-a-Changelog order, with a ⚠️ Breaking banner. Deduped a doubled entry (a both-keep merge artifact) and merged three accumulated ### Changed sections into one.

Downstream mirror (tracked fast-follow — NOT in this release)

attune-ai hand-maintains its own copy of these MCP tool schemas in tool_schemas.py::get_elicitation_tools() (it imports the library surface but re-declares the tool inputSchema). It must re-sync additionalProperties + the typed extras after 0.7.0 is on PyPI. Sequenced as a follow-up because the two packages release independently (attune-ai depends on attune-forms, so forms must publish first).

Verification

  • 789 tests green, ruff check + format clean.
  • 0.7.0 not yet on PyPI; changelog entry present; all three manifests match.

🤖 Generated with Claude Code

Bumps version 0.6.0 → 0.7.0 across pyproject, plugin.json, and the
marketplace manifest (version-sync guard green). Consolidates the 31
[Unreleased] entries under a dated [0.7.0] heading in Keep-a-Changelog
order, dedupes the doubled unknown-definition-keys entry (a both-keep
merge artifact), merges three accumulated ### Changed sections into
one, and adds a BREAKING banner for the three stricter-validation
tightenings (unknown definition keys, unknown answer keys, canonical-
vs-dotted contradiction) that now reject input 0.6.0 accepted.

Records the attune-ai MCP-schema mirror re-sync (additionalProperties)
as a tracked fast-follow. Does NOT tag or publish — that awaits go.

789 tests green, ruff clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@silversurfer562
silversurfer562 merged commit 5405dd3 into main Aug 20, 2026
7 checks passed
@silversurfer562
silversurfer562 deleted the release/0.7.0 branch August 20, 2026 15:02
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