@sun-asterisk/sungen 3.1.2-beta.102 → 3.1.2-beta.103

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -69,6 +69,20 @@ A screen often matches several patterns at once — a login screen is *both* a f
69
69
  - VP-LOGIC = outcome depends on the user's *action* (click, submit, navigate)
70
70
  - VP-SEC = checks access control and malicious input
71
71
 
72
+ ### Domain category codes — required for the coverage-balance gate
73
+
74
+ The 4 viewpoints above are the *generic* axes. On a domain screen, the `VP-<CAT>` code must use the **canonical short code** for what the scenario exercises, so the audit's coverage-balance gate buckets it correctly. Use these exact codes — **never long-form or freeform** (`VP-NAV` not `VP-NAVIGATION`, `VP-SUB` not `VP-SUBSCRIPTION`, `VP-FILTER` not `VP-FILTERING`):
75
+
76
+ | Bucket | Codes | Use for |
77
+ |---|---|---|
78
+ | **business-core** | `LIST` · `CART` · `PRODUCT` · `FILTER` · `CHECKOUT` · `ORDER` | the screen's core domain data/actions (product list, cart, checkout, order, filtered results) |
79
+ | presentation | `UI` | layout / visual state |
80
+ | validation-security | `VAL` · `SEC` · `SUB` | input validation · access/injection · subscribe/newsletter |
81
+ | behavior | `LOGIC` | action-driven state changes |
82
+ | navigation | `NAV` | landing on / moving between pages |
83
+
84
+ **On a business-core page** (product list, cart, checkout, search results), the core data scenarios MUST carry a **business-core** code (`VP-LIST-*`, `VP-CART-*`, `VP-PRODUCT-*`, …) — not a generic `VP-UI`/`VP-LOGIC` or a freeform `VP-<word>`. A freeform/long-form prefix parses as `NONE`, scores **0 on the balance axis**, and drops the audit score (~9.3 → ~7.7 in practice). Keep `VP-UI/VAL/LOGIC/SEC` for the cross-cutting checks; give the domain scenarios their domain code.
85
+
72
86
  ---
73
87
 
74
88
  ## Shared Checks
@@ -69,6 +69,20 @@ A screen often matches several patterns at once — a login screen is *both* a f
69
69
  - VP-LOGIC = outcome depends on the user's *action* (click, submit, navigate)
70
70
  - VP-SEC = checks access control and malicious input
71
71
 
72
+ ### Domain category codes — required for the coverage-balance gate
73
+
74
+ The 4 viewpoints above are the *generic* axes. On a domain screen, the `VP-<CAT>` code must use the **canonical short code** for what the scenario exercises, so the audit's coverage-balance gate buckets it correctly. Use these exact codes — **never long-form or freeform** (`VP-NAV` not `VP-NAVIGATION`, `VP-SUB` not `VP-SUBSCRIPTION`, `VP-FILTER` not `VP-FILTERING`):
75
+
76
+ | Bucket | Codes | Use for |
77
+ |---|---|---|
78
+ | **business-core** | `LIST` · `CART` · `PRODUCT` · `FILTER` · `CHECKOUT` · `ORDER` | the screen's core domain data/actions (product list, cart, checkout, order, filtered results) |
79
+ | presentation | `UI` | layout / visual state |
80
+ | validation-security | `VAL` · `SEC` · `SUB` | input validation · access/injection · subscribe/newsletter |
81
+ | behavior | `LOGIC` | action-driven state changes |
82
+ | navigation | `NAV` | landing on / moving between pages |
83
+
84
+ **On a business-core page** (product list, cart, checkout, search results), the core data scenarios MUST carry a **business-core** code (`VP-LIST-*`, `VP-CART-*`, `VP-PRODUCT-*`, …) — not a generic `VP-UI`/`VP-LOGIC` or a freeform `VP-<word>`. A freeform/long-form prefix parses as `NONE`, scores **0 on the balance axis**, and drops the audit score (~9.3 → ~7.7 in practice). Keep `VP-UI/VAL/LOGIC/SEC` for the cross-cutting checks; give the domain scenarios their domain code.
85
+
72
86
  ---
73
87
 
74
88
  ## Shared Checks
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sun-asterisk/sungen",
3
- "version": "3.1.2-beta.102",
3
+ "version": "3.1.2-beta.103",
4
4
  "description": "Deterministic E2E Test Compiler - Gherkin + Selectors → Playwright tests",
5
5
  "main": "src/index.ts",
6
6
  "types": "src/index.ts",
@@ -33,7 +33,7 @@
33
33
  "node": ">=18.0.0"
34
34
  },
35
35
  "dependencies": {
36
- "@sungen/driver-ui": "3.1.2-beta.102",
36
+ "@sungen/driver-ui": "3.1.2-beta.103",
37
37
  "@anthropic-ai/sdk": "^0.71.0",
38
38
  "@babel/parser": "^7.28.5",
39
39
  "@babel/traverse": "^7.28.5",
@@ -69,6 +69,20 @@ A screen often matches several patterns at once — a login screen is *both* a f
69
69
  - VP-LOGIC = outcome depends on the user's *action* (click, submit, navigate)
70
70
  - VP-SEC = checks access control and malicious input
71
71
 
72
+ ### Domain category codes — required for the coverage-balance gate
73
+
74
+ The 4 viewpoints above are the *generic* axes. On a domain screen, the `VP-<CAT>` code must use the **canonical short code** for what the scenario exercises, so the audit's coverage-balance gate buckets it correctly. Use these exact codes — **never long-form or freeform** (`VP-NAV` not `VP-NAVIGATION`, `VP-SUB` not `VP-SUBSCRIPTION`, `VP-FILTER` not `VP-FILTERING`):
75
+
76
+ | Bucket | Codes | Use for |
77
+ |---|---|---|
78
+ | **business-core** | `LIST` · `CART` · `PRODUCT` · `FILTER` · `CHECKOUT` · `ORDER` | the screen's core domain data/actions (product list, cart, checkout, order, filtered results) |
79
+ | presentation | `UI` | layout / visual state |
80
+ | validation-security | `VAL` · `SEC` · `SUB` | input validation · access/injection · subscribe/newsletter |
81
+ | behavior | `LOGIC` | action-driven state changes |
82
+ | navigation | `NAV` | landing on / moving between pages |
83
+
84
+ **On a business-core page** (product list, cart, checkout, search results), the core data scenarios MUST carry a **business-core** code (`VP-LIST-*`, `VP-CART-*`, `VP-PRODUCT-*`, …) — not a generic `VP-UI`/`VP-LOGIC` or a freeform `VP-<word>`. A freeform/long-form prefix parses as `NONE`, scores **0 on the balance axis**, and drops the audit score (~9.3 → ~7.7 in practice). Keep `VP-UI/VAL/LOGIC/SEC` for the cross-cutting checks; give the domain scenarios their domain code.
85
+
72
86
  ---
73
87
 
74
88
  ## Shared Checks
@@ -69,6 +69,20 @@ A screen often matches several patterns at once — a login screen is *both* a f
69
69
  - VP-LOGIC = outcome depends on the user's *action* (click, submit, navigate)
70
70
  - VP-SEC = checks access control and malicious input
71
71
 
72
+ ### Domain category codes — required for the coverage-balance gate
73
+
74
+ The 4 viewpoints above are the *generic* axes. On a domain screen, the `VP-<CAT>` code must use the **canonical short code** for what the scenario exercises, so the audit's coverage-balance gate buckets it correctly. Use these exact codes — **never long-form or freeform** (`VP-NAV` not `VP-NAVIGATION`, `VP-SUB` not `VP-SUBSCRIPTION`, `VP-FILTER` not `VP-FILTERING`):
75
+
76
+ | Bucket | Codes | Use for |
77
+ |---|---|---|
78
+ | **business-core** | `LIST` · `CART` · `PRODUCT` · `FILTER` · `CHECKOUT` · `ORDER` | the screen's core domain data/actions (product list, cart, checkout, order, filtered results) |
79
+ | presentation | `UI` | layout / visual state |
80
+ | validation-security | `VAL` · `SEC` · `SUB` | input validation · access/injection · subscribe/newsletter |
81
+ | behavior | `LOGIC` | action-driven state changes |
82
+ | navigation | `NAV` | landing on / moving between pages |
83
+
84
+ **On a business-core page** (product list, cart, checkout, search results), the core data scenarios MUST carry a **business-core** code (`VP-LIST-*`, `VP-CART-*`, `VP-PRODUCT-*`, …) — not a generic `VP-UI`/`VP-LOGIC` or a freeform `VP-<word>`. A freeform/long-form prefix parses as `NONE`, scores **0 on the balance axis**, and drops the audit score (~9.3 → ~7.7 in practice). Keep `VP-UI/VAL/LOGIC/SEC` for the cross-cutting checks; give the domain scenarios their domain code.
85
+
72
86
  ---
73
87
 
74
88
  ## Shared Checks