lamina-forms

Solid

Form behavior in contracts — validation timing, field semantics, and recovery UX. Use when data entry blocks workflows or causes scenario gaps.

AI & Automation 65 stars 2 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 84/100

Stars 20%
61
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Forms (agent-native) Specify **how data entry behaves** in the transactional graph — field semantics, validation timing, and recovery — not CSS or component libraries. ## Contract encoding | Concern | Where | |---------|--------| | Fields per screen | `surfaces[].fields[]` or workflow step notes | | Validation timing | scenario `trigger.when: validation_failed` | | Recoverable vs blocking | scenario `category: partial` vs `failure` | | Data immunity vs integrity | `decisions.md` + form policy in `implement.md` | **Data immunity** (default for high-volume entry): accept input, flag uncertainty, audit later — never halt batch flow for recoverable format issues. **Bounded controls**: match widget semantics to data type in screen spec; allow override when domain requires. ## Design checklists 1. Prefer immunity over keystroke-level rejection unless invariant requires hard stop. 2. Batch-review anomalies instead of modal-blocking each error. 3. Preserve entered data on validation failure (scenario + `implement.md`). 4. Required fields only when invariant or workflow depends on them. 5. Map each field to domain entity attribute — not database column names in user-facing copy. 6. Classify date/time fields before choosing a control. A `datetime-local` value has no zone: submit its untouched local components plus the subject/place IANA zone for trusted resolution. Never convert it in the browser and attach another zone afterward. 7. Invalid DST-gap times preserve input and of...

Details

Author
aryaniyaps
Repository
aryaniyaps/lamina
Created
3 weeks ago
Last Updated
today
Language
TypeScript
License
Apache-2.0

Similar Skills

Semantically similar based on skill content — not just same category