From 3ede543ca2428dee552c50cdbc3d017338dbce7d Mon Sep 17 00:00:00 2001 From: GeneAI Date: Sun, 16 Aug 2026 07:17:49 -0400 Subject: [PATCH] docs: Article A names the plugin/library split (chair-ruled) "instead" dropped and the split stated plainly: the plugin is for forms in your agent's conversations; the library is for building the host. Neither path demoted. Patrick's ruling in the 2026-08-16 voice-review pass. Co-Authored-By: Claude Opus 5 --- docs/tutorial-dynamic-forms.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorial-dynamic-forms.md b/docs/tutorial-dynamic-forms.md index 12917ea..c71f6fe 100644 --- a/docs/tutorial-dynamic-forms.md +++ b/docs/tutorial-dynamic-forms.md @@ -22,7 +22,7 @@ claude plugin marketplace add Smart-AI-Memory/attune-forms claude plugin install attune-forms@attune-forms ``` -This tutorial takes the library path instead, because the point is to show the machinery. By the end you will have built a form that uses every construct in attune-forms — the six those pieces named and the two that 0.6.0 added (§7) — rendered it four ways from the same dict, collected a typed reply from a text-only host, watched the validator refuse a bad answer, and re-asked exactly the field that failed. Everything below runs as written against the published package: +The plugin is for forms in your agent's conversations; the library is for building the host. This tutorial takes the library path, because the point is to show the machinery. By the end you will have built a form that uses every construct in attune-forms — the six those pieces named and the two that 0.6.0 added (§7) — rendered it four ways from the same dict, collected a typed reply from a text-only host, watched the validator refuse a bad answer, and re-asked exactly the field that failed. Everything below runs as written against the published package: ``` pip install attune-forms==0.6.0