fix(awe-builder): align builder action names and dead XSD values with the client contract
Problem to solve
The screen contract has values that no client engine understands:
- The builder enum
Actionemitscheck-records-selectedforCHECK_RECORDS_GENERATED(the contract value ischeck-records-generated), andselect-first-rows/select-last-rowsforSELECT_FIRST_ROW/SELECT_LAST_ROW(the contract values are singular) (awe-builderAction.java:24,60-61). Java code that uses these builders sends actions that neither engine handles. - XSD values with no behaviour in either engine:
forward,check-leaf-selected,check-parent-expanded,get-locals; the elementsframeandjavascript; the criteria componentprogress. - The AngularJS engine has no handler for
toggle-class, which the XSD and the builder offer (the React engine handles it). - The React engine registers
targetMessagewhile the contract name istarget-message.
Goals
- Every value the builders emit is a value of the contract, and every value of the contract is handled by both engines or removed from it (with a deprecation note in the migration guide).
What does success look like, and how can we measure that?
- The builder enum emits the contract values (tests)
- A decision for each dead XSD value: implemented in both engines, or deprecated and removed
-
toggle-classhandled by the AngularJS engine, or removed - A test compares the XSD values, the builder values and the actions handled by each engine (with #810)
Related: #794 (closed) (T6 parity report https://claude.ai/artifact/9ejpnaA5gzxNRHfzyBTCtJ), #810, #763 (closed) (migration guide).