docs(requirements): split keyed CRUD composition rule

Split oversized canonical_authoring/003 into keyed CRUD and effect-composition/no-selector rows.

req: canonical_authoring/003

req: canonical_authoring/015
This commit is contained in:
slhx agent
2026-06-25 14:09:07 +02:00
parent 8c3a22d720
commit 6ee8e46ac9
2 changed files with 5 additions and 2 deletions
+4 -1
View File
@@ -65,7 +65,10 @@ client app state framework.
014 The partial-swap primitive is generated target plus rendered partial plus swap kind. [north_star]
### req: canonical/003
003 Canonical keyed-row CRUD reads like ordinary Rust intent: create appends a rendered row partial, update/toggle replaces a keyed row partial, delete removes a keyed row, summary/text/form effects compose in tuples, arrays, or `Vec<T: IntoEffect>` for dynamic batches, and no handler chooses a target with a CSS selector. [north_star]
003 Canonical keyed-row CRUD reads like ordinary Rust intent: create appends a rendered row partial, update/toggle replaces a keyed row partial, and delete removes a keyed row. [north_star]
### req: canonical/015
015 Summary, text, and form effects compose in tuples, arrays, or `Vec<T: IntoEffect>` for dynamic batches, and no handler chooses a target with a CSS selector. [north_star]
### req: canonical/004
004 Generated helpers may compose only facts uniquely known from templates and checked Rust types: template, slot, optional key, form/control, class token, explicit island/event marker, and effect kind. If a handler parameter, key, form, target, raw route, or legacy target would require guessing, the user must say it explicitly and diagnostics must point to the Rust and hemplate spans. [north_star]