Skip to content

Releases: Smart-AI-Memory/attune-forms

attune-forms 0.10.0

Choose a tag to compare

@silversurfer562 silversurfer562 released this 30 Aug 04:25
55b71cf

What's new

  • MCP Apps-capable hosts can discover and render Attune forms and command workspaces inline from one shared ui:// resource.
  • Interactive actions pass through the existing server-side collectors before validated results reach model context.
  • Native, structured-text, and Markdown fallbacks remain available, with visible partial-host degradation instead of dead controls.
  • The README now documents the new transport and its host capability boundaries.

Verification

  • 882 tests passed locally.
  • Seven CI jobs passed on Linux, macOS, and Windows for merge SHA 55b71cf.
  • Wheel and source distribution built and were inspected before release.
  • Antigravity cross-reviewed the complete eight-file transport diff; verified compatibility findings were fixed before merge.

v0.9.1

Choose a tag to compare

@silversurfer562 silversurfer562 released this 29 Aug 23:59
v0.9.1
83501ae

attune-forms 0.9.1

  • Adds strict workspace dictionary parsing and non-executable widget/Markdown projections.
  • Binds returned workspace actions to host-generated id, revision, contract hash, and one-render nonce.
  • Adds elicitation_render_workspace and elicitation_collect_workspace_action MCP tools.

The collector validates action envelopes only; authorization, nonce consumption, and execution remain host responsibilities.

v0.6.0

Choose a tag to compare

@silversurfer562 silversurfer562 released this 16 Aug 07:21
9dccd91

The backlog-constructs release: the communication grammar grows from six constructs to eight — ranking and assumption_review — each spec-driven (D1 intake → D2 ratified forks → D3 execution → D4 live AC-4 receipt), shipped on all four surfaces with validated round-trips, and hardened by a five-lens adversarial review per construct BEFORE the cut, every finding fixed with a pinned regression. 611 tests.

Added

  • ranking construct (grammar member #7): order the options, all or only the top top_n; the answer is the ordered list itself; a suggested order renders visibly as a proposal (submit IS the confirmation), default rejected. Widget: ranked list + pool moved by buttons; flat surfaces expand to one pick per rank slot and fold back on collection; elicitation schema is a bounded unique array. ranking_slot_count exported.
  • assumption_review construct (grammar member #8): the agent lists its inferred assumptions; the user rules each accept / edit / reject, an edit carrying replacement text. suggested may pre-mark accept only; default and dispositions rejected. ASSUMPTION_RULINGS exported.
  • Reference form + example answers cover both; round-trip, CSS-family, needs-widget, markdown-conformance and ingestion guards extended.

Changed

  • Form theme budget 8 KB → 10 KB (10,064 B measured; the cap is not a ratchet).
  • Dotted answer namespace guard covers every expanding type.
  • form_response_summary renders an assumption edit as key: edit → <text>.
  • problems_to_markdown attributes by the FIRST quoted field id only (assumption-review five-lens review, 5 findings pinned).

Fixed

  • Seven ranking-ingestion findings from the 2026-08-16 five-lens review, all pinned in TestReviewFindings: option-aware ordinal stripping ("3.12" ingests exactly), ASCII-only slot-key parsing (decimal_key_number — no more raw ValueError on prio.²), the fold keeps zero/out-of-range slots so the validator names the length, typed-beats-quoted held for dotted slots, the widget gate blocks a partial OPTIONAL ranking, the round-trip simulator models the real submit script, docstrings corrected.
  • Docs state the construct count as six pre-0.6.0 (the plain batched form is the substrate, not a construct).

Full changelog: https://github.com/Smart-AI-Memory/attune-forms/blob/main/CHANGELOG.md

v0.5.0

Choose a tag to compare

@silversurfer562 silversurfer562 released this 15 Aug 02:46
7d720ee

The grammar-expansion release: seven constructs on four surfaces, every one with a validated round-trip.

Added

  • deliberation construct — multi-voice endorsements per option rendered as chips, synthesis pick badged (never the answer), the user chairs the pick
  • triage construct — a ruling per item over a reviewed list; answer = {item id: disposition} on stable ids; expands to per-item questions on flat surfaces and folds back at collection
  • confirm construct — consequences preview with severity tags + a two-way approve/abort gate; default/recommended are rejected by the validator (a pre-selected approval defeats the gate)
  • Portable markdown surface (form_to_markdown) for text-only hosts, emitting the widget's JSON answer skeleton as the reply format
  • Tolerant ingestion (markdown_to_answers / problems_to_markdown) — deterministic parsing of pasted skeletons and line shorthand; unknown ids and stray lines are named problems, never guesses; failures re-ask only the offending fields

Fixed

  • Twelve post-merge review findings (8-angle in-session review + cloud ultrareview), each regression-locked — including typed-beats-quoted answer precedence and the dotted triage namespace guard
  • CSS class-uniqueness guard (no class styled by two family blocks)

Changed

  • Form theme budget 6 KB → 8 KB (8,158 B measured); MCP field schema documents the new types (tool names/shapes unchanged)

Full detail: CHANGELOG.md. Deliberated by the multi-LLM round table (thread q-forms-grammar-expansion-001); receipt chains in the attune-ai spec tree.

v0.4.0

Choose a tag to compare

@silversurfer562 silversurfer562 released this 14 Aug 12:19
92da5c4

The plugin release: attune-forms becomes installable as a Claude Code plugin, and the communication-grammar article ships in-repo as its verified master.

Added

  • Claude Code plugin wrapper: generic forms skill + marketplace scaffold, installable via claude plugin marketplace add Smart-AI-Memory/attune-forms (#4)
  • "A Communication Grammar for AI Agents" — the article introducing the grammar, kept in docs/ as its verified master (#6, #7, #8)
  • Widget-preview dev lane: .claude/launch.json renders the reference form through the real widget pipeline (#9)
  • Version-sync drift guard test: README install snippets can't silently diverge from pyproject.toml (#5)

Fixed

  • Test suite pins imports to the checkout's own src/, so a stale editable install can no longer swap in another worktree's code (#10)

Full changelog: v0.3.0...v0.4.0