Let conformance contracts stack, and rename them (#454) master
* Let conformance contracts stack as a list. Replace the single-choice conformance tier with a `conformance` list of `dom` and `field` contracts, so field components can also prove className, id, data-*, and ref forwarding. The shared helper now reads the manifest instead of exposing two guarded entrypoints. Co-authored-by: Luke Bennett <hello@lukebennett.com.au> * Keep field components on the field contract only. Field roots cannot satisfy the DOM contract: they take inputRef instead of a plain ref, and React Aria moves id onto the control. --args now scaffolds without prompting so the generator can be proven non-interactively. Co-authored-by: Luke Bennett <hello@lukebennett.com.au> * Restore the generate:component Turbo pass-through. `--args` already reaches turbo gen. Parsing it in the wrapper skipped the remaining prompts and bypassed Plop, which is out of scope for stacking contracts. Co-authored-by: Luke Bennett <hello@lukebennett.com.au> * Assert the conformance generator prompt is a checkbox. The prompt type changed from list to checkbox, and its default from a string to an array. The existing defaults-object assertion did not catch either. Co-authored-by: Luke Bennett <hello@lukebennett.com.au> * Wrap the checkbox prompt default assertion to 100 columns. Co-authored-by: Luke Bennett <hello@lukebennett.com.au> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>