docs(requirements): split generated helper intent rule
Split the long canonical helper requirement into separate intent and forbidden-composition rows so redgate no longer reports that row as oversized. req: canonical_authoring/005 req: canonical_authoring/009
This commit is contained in:
@@ -41,6 +41,7 @@ Keep it stable. Prefer pointers to canonical sources over copied structure, file
|
||||
- `redgate list` — show requirements as TSV.
|
||||
- `redgate refs` — show `req:` citations found in the repo.
|
||||
- `redgate health` — show uncited requirements, duplicate IDs, and stale citations.
|
||||
- `redgate lint` — show maintainability warnings such as missing rings and oversized requirement rows.
|
||||
- `redgate health --strict` — fail on hard errors: empty requirements, duplicate IDs, or stale citations.
|
||||
- `redgate agents` — print this starter template; review, shrink, and edit before committing.
|
||||
|
||||
|
||||
+4
-1
@@ -59,7 +59,10 @@ client app state framework.
|
||||
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]
|
||||
|
||||
### req: canonical/005
|
||||
005 Good generated helpers name UI intent without mixing domain work: `ui::content.replace(page)`, `ui::todos.append(todo)`, `ui::todo_row.replace(todo)`, `ui::todo_row.remove(todo_id)`, `ui::summary.set(text)`, `ui::notice.set("Saved")`, `ui::new_todo.clear()`, `ui::new_todo.focus("title")`, `ui::modal.replace(view)`, `ui::errors.set(errors)`, `ui::chart_path.set_attr("d", path)`, and `ui::game.emit(event)`. Helpers such as `refresh`, `save_and_update`, `sync_component`, and generic `rerender` are forbidden because they mix persistence, routing, rendering, target selection, or domain policy. [north_star]
|
||||
005 Generated helpers name UI intent without mixing domain work: target helpers read as UI effects such as `replace`, `append`, `remove`, `set`, `clear`, `focus`, `set_attr`, or `emit` on generated page, slot, form, class, attribute, or island handles. [north_star]
|
||||
|
||||
### req: canonical/009
|
||||
009 Generated helpers must not combine persistence, routing, rendering, target selection, or domain policy into generic commands such as `refresh`, `save_and_update`, `sync_component`, or `rerender`. [north_star]
|
||||
|
||||
### req: canonical/006
|
||||
006 There is no separate beginner API and expert API. The simple generated shape is canonical and should scale: generated slots, partials, forms, class constants, islands/events, and page helpers are normal. Explicit primitives, raw targets, raw HTML, raw effects, manual registries/form parsing, low-level ids/opcodes, wire formats, and raw routes remain named escape hatches or internals around the same render/target/effect/transport model. [north_star]
|
||||
|
||||
Reference in New Issue
Block a user