@sun-asterisk/sungen 3.2.21-beta.1 → 3.2.21
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.
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +0 -8
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/delivery.d.ts.map +1 -1
- package/dist/cli/commands/delivery.js +0 -7
- package/dist/cli/commands/delivery.js.map +1 -1
- package/dist/cli/commands/trace.d.ts.map +1 -1
- package/dist/cli/commands/trace.js +0 -9
- package/dist/cli/commands/trace.js.map +1 -1
- package/dist/exporters/matrix/export.d.ts.map +1 -1
- package/dist/exporters/matrix/export.js +0 -11
- package/dist/exporters/matrix/export.js.map +1 -1
- package/dist/exporters/matrix/render-xlsx.d.ts.map +1 -1
- package/dist/exporters/matrix/render-xlsx.js +0 -15
- package/dist/exporters/matrix/render-xlsx.js.map +1 -1
- package/dist/exporters/matrix/types.d.ts +0 -2
- package/dist/exporters/matrix/types.d.ts.map +1 -1
- package/dist/exporters/matrix/types.js.map +1 -1
- package/dist/exporters/playwright-report-parser.d.ts.map +1 -1
- package/dist/exporters/playwright-report-parser.js +0 -1
- package/dist/exporters/playwright-report-parser.js.map +1 -1
- package/dist/exporters/types.d.ts +0 -2
- package/dist/exporters/types.d.ts.map +1 -1
- package/dist/generators/test-generator/diagnostics.d.ts +1 -6
- package/dist/generators/test-generator/diagnostics.d.ts.map +1 -1
- package/dist/generators/test-generator/diagnostics.js +0 -5
- package/dist/generators/test-generator/diagnostics.js.map +1 -1
- package/dist/generators/test-generator/patterns/index.d.ts.map +1 -1
- package/dist/generators/test-generator/patterns/index.js +19 -27
- package/dist/generators/test-generator/patterns/index.js.map +1 -1
- package/dist/generators/test-generator/step-mapper.d.ts.map +1 -1
- package/dist/generators/test-generator/step-mapper.js +0 -22
- package/dist/generators/test-generator/step-mapper.js.map +1 -1
- package/dist/harness/audit.d.ts +0 -2
- package/dist/harness/audit.d.ts.map +1 -1
- package/dist/harness/audit.js +9 -79
- package/dist/harness/audit.js.map +1 -1
- package/dist/harness/flow-plan.d.ts +0 -3
- package/dist/harness/flow-plan.d.ts.map +1 -1
- package/dist/harness/flow-plan.js +2 -6
- package/dist/harness/flow-plan.js.map +1 -1
- package/dist/harness/parse.d.ts +0 -5
- package/dist/harness/parse.d.ts.map +1 -1
- package/dist/harness/parse.js +1 -29
- package/dist/harness/parse.js.map +1 -1
- package/dist/harness/sensors.d.ts.map +1 -1
- package/dist/harness/sensors.js +1 -13
- package/dist/harness/sensors.js.map +1 -1
- package/dist/harness/spec-coverage.d.ts.map +1 -1
- package/dist/harness/spec-coverage.js +5 -29
- package/dist/harness/spec-coverage.js.map +1 -1
- package/dist/orchestrator/templates/ai-src/commands/add-flow.md +3 -41
- package/dist/orchestrator/templates/ai-src/commands/create-test.md +0 -10
- package/dist/orchestrator/templates/ai-src/skills/sungen-tc-generation/SKILL.md +16 -35
- package/dist/orchestrator/templates/qa-context.md +1 -14
- package/package.json +3 -3
- package/src/cli/commands/audit.ts +0 -8
- package/src/cli/commands/delivery.ts +0 -6
- package/src/cli/commands/trace.ts +0 -9
- package/src/exporters/matrix/export.ts +0 -11
- package/src/exporters/matrix/render-xlsx.ts +0 -15
- package/src/exporters/matrix/types.ts +0 -2
- package/src/exporters/playwright-report-parser.ts +0 -2
- package/src/exporters/types.ts +0 -2
- package/src/generators/test-generator/diagnostics.ts +1 -6
- package/src/generators/test-generator/patterns/index.ts +24 -30
- package/src/generators/test-generator/step-mapper.ts +0 -22
- package/src/harness/audit.ts +10 -82
- package/src/harness/flow-plan.ts +3 -10
- package/src/harness/parse.ts +1 -31
- package/src/harness/sensors.ts +1 -13
- package/src/harness/spec-coverage.ts +4 -26
- package/src/orchestrator/templates/ai-src/commands/add-flow.md +3 -41
- package/src/orchestrator/templates/ai-src/commands/create-test.md +0 -10
- package/src/orchestrator/templates/ai-src/skills/sungen-tc-generation/SKILL.md +16 -35
- package/src/orchestrator/templates/qa-context.md +1 -14
- package/dist/harness/flow-contract.d.ts +0 -71
- package/dist/harness/flow-contract.d.ts.map +0 -1
- package/dist/harness/flow-contract.js +0 -235
- package/dist/harness/flow-contract.js.map +0 -1
- package/dist/harness/perf.d.ts +0 -40
- package/dist/harness/perf.d.ts.map +0 -1
- package/dist/harness/perf.js +0 -136
- package/dist/harness/perf.js.map +0 -1
- package/src/harness/flow-contract.ts +0 -229
- package/src/harness/perf.ts +0 -112
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwright-report-parser.js","sourceRoot":"","sources":["../../src/exporters/playwright-report-parser.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBH,gDAWC;
|
|
1
|
+
{"version":3,"file":"playwright-report-parser.js","sourceRoot":"","sources":["../../src/exporters/playwright-report-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -112,8 +112,6 @@ export interface SpecFileData {
|
|
|
112
112
|
export interface PlaywrightResult {
|
|
113
113
|
testTitle: string;
|
|
114
114
|
status: 'passed' | 'failed' | 'skipped' | 'timedOut' | 'interrupted' | 'unknown';
|
|
115
|
-
/** Wall-clock run time in ms (from Playwright's results[].duration) — perf budgets (#569). */
|
|
116
|
-
duration?: number;
|
|
117
115
|
startTime?: string;
|
|
118
116
|
error?: string;
|
|
119
117
|
tracePath?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/exporters/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/exporters/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,16 +35,11 @@
|
|
|
35
35
|
* nothing for the query half to assert, so the step checks the PATH only. Not an
|
|
36
36
|
* error (the value may legitimately vary per environment), but the step asserts
|
|
37
37
|
* strictly less than it appears to
|
|
38
|
-
* SG-W015 — `see [X] card/item with {{n}}` where the value is a bare number: this compiles
|
|
39
|
-
* to a TEXT assertion (toHaveText('3')), NOT a count — an author reaching for
|
|
40
|
-
* "3 cards are shown" gets an assertion that can only pass if the card's text
|
|
41
|
-
* IS the digit. Count semantics exist on row/table ("see [T] table with {{n}}",
|
|
42
|
-
* "see [Ref] row with {{n}}") and lists ("should have count") only
|
|
43
38
|
*
|
|
44
39
|
* Diagnostics never block generation by themselves; `sungen generate --strict`
|
|
45
40
|
* turns any collected diagnostic into a non-zero exit.
|
|
46
41
|
*/
|
|
47
|
-
export type DiagnosticCode = 'SG-W001' | 'SG-W002' | 'SG-W003' | 'SG-W005' | 'SG-W006' | 'SG-W007' | 'SG-W008' | 'SG-W009' | 'SG-W010' | 'SG-W011' | 'SG-W012' | 'SG-W013' | 'SG-W014'
|
|
42
|
+
export type DiagnosticCode = 'SG-W001' | 'SG-W002' | 'SG-W003' | 'SG-W005' | 'SG-W006' | 'SG-W007' | 'SG-W008' | 'SG-W009' | 'SG-W010' | 'SG-W011' | 'SG-W012' | 'SG-W013' | 'SG-W014';
|
|
48
43
|
export interface Diagnostic {
|
|
49
44
|
code: DiagnosticCode;
|
|
50
45
|
message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/generators/test-generator/diagnostics.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/generators/test-generator/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAEvL,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,KAAK,CAAoB;IAEjC,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,IAAI;IAInG,GAAG,IAAI,UAAU,EAAE;IAInB,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,qDAAqD;IACrD,WAAW,IAAI,MAAM,EAAE;CAOxB"}
|
|
@@ -36,11 +36,6 @@
|
|
|
36
36
|
* nothing for the query half to assert, so the step checks the PATH only. Not an
|
|
37
37
|
* error (the value may legitimately vary per environment), but the step asserts
|
|
38
38
|
* strictly less than it appears to
|
|
39
|
-
* SG-W015 — `see [X] card/item with {{n}}` where the value is a bare number: this compiles
|
|
40
|
-
* to a TEXT assertion (toHaveText('3')), NOT a count — an author reaching for
|
|
41
|
-
* "3 cards are shown" gets an assertion that can only pass if the card's text
|
|
42
|
-
* IS the digit. Count semantics exist on row/table ("see [T] table with {{n}}",
|
|
43
|
-
* "see [Ref] row with {{n}}") and lists ("should have count") only
|
|
44
39
|
*
|
|
45
40
|
* Diagnostics never block generation by themselves; `sungen generate --strict`
|
|
46
41
|
* turns any collected diagnostic into a non-zero exit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/generators/test-generator/diagnostics.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/generators/test-generator/diagnostics.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;;;AAWH,MAAa,oBAAoB;IAAjC;QACU,UAAK,GAAiB,EAAE,CAAC;IAsBnC,CAAC;IApBC,GAAG,CAAC,IAAoB,EAAE,OAAe,EAAE,UAA+C,EAAE;QAC1F,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,qDAAqD;IACrD,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAvBD,oDAuBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAItD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAqB;;IAMrC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAK3C;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;IAYjD;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAItD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAqB;;IAMrC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAK3C;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;IAYjD;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI;IAgC1E;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAyBnC;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,WAAW,IAAI,WAAW,EAAE;IAI5B;;OAEG;IACH,eAAe,IAAI,MAAM;CAG1B;AAID,cAAc,SAAS,CAAC"}
|
|
@@ -80,35 +80,27 @@ class PatternRegistry {
|
|
|
80
80
|
* Prefers resolver (returns template data) over generator (renders directly).
|
|
81
81
|
*/
|
|
82
82
|
generateStep(step, context) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
// null to say "not mine after all" — the search continues with the next matching
|
|
86
|
-
// pattern in priority order instead of crashing or silently dropping the step.
|
|
87
|
-
const matchStep = { ...step, text: maskRefsForMatching(step.text) };
|
|
88
|
-
for (const pattern of this.patterns) {
|
|
89
|
-
if (!this.matchesPattern(matchStep, pattern.matcher))
|
|
90
|
-
continue;
|
|
91
|
-
// Prefer resolver (framework-agnostic) over generator (legacy)
|
|
92
|
-
if (pattern.resolver) {
|
|
93
|
-
const resolved = pattern.resolver(step, context);
|
|
94
|
-
if (!resolved)
|
|
95
|
-
continue; // resolver declined — fall through
|
|
96
|
-
// Auto-inject parent scoping if step has parentRef
|
|
97
|
-
// Skip for table-* patterns — they resolve the table name internally from step text
|
|
98
|
-
if (step.parentRef && step.parentType && !pattern.name.startsWith('table-')) {
|
|
99
|
-
resolved.data.parentLocator = PatternRegistry.resolveParentLocator(step.parentRef, step.parentType, context);
|
|
100
|
-
}
|
|
101
|
-
const code = context.templateEngine.renderStep(resolved.templateName, resolved.data);
|
|
102
|
-
return {
|
|
103
|
-
code,
|
|
104
|
-
comment: resolved.comment,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
if (pattern.generator) {
|
|
108
|
-
return pattern.generator(step, context);
|
|
109
|
-
}
|
|
83
|
+
const pattern = this.findPattern(step);
|
|
84
|
+
if (!pattern) {
|
|
110
85
|
return null;
|
|
111
86
|
}
|
|
87
|
+
// Prefer resolver (framework-agnostic) over generator (legacy)
|
|
88
|
+
if (pattern.resolver) {
|
|
89
|
+
const resolved = pattern.resolver(step, context);
|
|
90
|
+
// Auto-inject parent scoping if step has parentRef
|
|
91
|
+
// Skip for table-* patterns — they resolve the table name internally from step text
|
|
92
|
+
if (step.parentRef && step.parentType && !pattern.name.startsWith('table-')) {
|
|
93
|
+
resolved.data.parentLocator = PatternRegistry.resolveParentLocator(step.parentRef, step.parentType, context);
|
|
94
|
+
}
|
|
95
|
+
const code = context.templateEngine.renderStep(resolved.templateName, resolved.data);
|
|
96
|
+
return {
|
|
97
|
+
code,
|
|
98
|
+
comment: resolved.comment,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
if (pattern.generator) {
|
|
102
|
+
return pattern.generator(step, context);
|
|
103
|
+
}
|
|
112
104
|
return null;
|
|
113
105
|
}
|
|
114
106
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAiBA,kDAIC;AAlBD,6DAAoE;AACpE,6DAAiF;AAEjF;;;;;;;;;;GAUG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI;SACR,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC;SAClC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAa,eAAe;IAG1B;QAFQ,aAAQ,GAAkB,EAAE,CAAC;QAGnC,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,uBAAuB;QAC7B,uFAAuF;QACvF,0FAA0F;QAC1F,4FAA4F;QAC5F,IAAA,0CAA+B,GAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,6BAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAErD,kCAAkC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAAoB;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAgB;QAC1B,+FAA+F;QAC/F,iGAAiG;QACjG,MAAM,SAAS,GAAe,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpD,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,IAAgB,EAAE,OAAuB;QACpD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-mapper.d.ts","sourceRoot":"","sources":["../../../src/generators/test-generator/step-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAM/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAIrD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,oBAAoB,CAAC,CAAe;IAC5C,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,YAAY,CAAkB;IACtC,8EAA8E;IAC9E,OAAO,CAAC,kBAAkB,CAAmB;IAC7C,uEAAuE;IACvE,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,aAAa,CAAc;IACnC;uFACmF;IACnF,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,6GAA6G;IAC7G,OAAO,CAAC,aAAa,CAAkB;IACvC,4GAA4G;IAC5G,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,kGAAkG;IAClG,OAAO,CAAC,WAAW,CAAC,CAAuB;IAC3C,8FAA8F;IAC9F,OAAO,CAAC,UAAU,CAAqB;gBAE3B,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO;IA4B7K,wEAAwE;IACxE,cAAc,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI;IAOrD;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAclE;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAM1C;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKnC;;OAEG;IACH,qGAAqG;IACrG,OAAO,CAAC,mBAAmB;IAK3B,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI;IAwB7C;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"step-mapper.d.ts","sourceRoot":"","sources":["../../../src/generators/test-generator/step-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAM/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAIrD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,oBAAoB,CAAC,CAAe;IAC5C,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,YAAY,CAAkB;IACtC,8EAA8E;IAC9E,OAAO,CAAC,kBAAkB,CAAmB;IAC7C,uEAAuE;IACvE,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,aAAa,CAAc;IACnC;uFACmF;IACnF,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,6GAA6G;IAC7G,OAAO,CAAC,aAAa,CAAkB;IACvC,4GAA4G;IAC5G,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,kGAAkG;IAClG,OAAO,CAAC,WAAW,CAAC,CAAuB;IAC3C,8FAA8F;IAC9F,OAAO,CAAC,UAAU,CAAqB;gBAE3B,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO;IA4B7K,wEAAwE;IACxE,cAAc,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI;IAOrD;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAclE;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAM1C;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKnC;;OAEG;IACH,qGAAqG;IACrG,OAAO,CAAC,mBAAmB;IAK3B,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI;IAwB7C;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAkM3D;iFAC6E;IAC7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAuE;IAErH;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IA2BxB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,0BAA0B;IAkBlC;;;;;;;;;OASG;IACH,OAAO,CAAC,0BAA0B;IAYlC;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gCAAgC;IA8CxC;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAqB7B"}
|
|
@@ -144,28 +144,6 @@ class StepMapper {
|
|
|
144
144
|
if (keyword === 'Given' || keyword === 'When' || keyword === 'Then') {
|
|
145
145
|
this.lastPrimaryKeyword = keyword;
|
|
146
146
|
}
|
|
147
|
-
// SG-W015 — `see [X] card with {{n}}` where n is a bare number compiles to a TEXT
|
|
148
|
-
// assertion (toHaveText('3')), not a count. An author reaching for "3 cards are shown"
|
|
149
|
-
// gets an assertion that can only pass if the card's TEXT is the digit — a wrong test
|
|
150
|
-
// with no error. Count semantics live on row/table ("see [T] table with {{n}}",
|
|
151
|
-
// "see [Ref] row with {{n}}") and lists ("should have count"); on the container types
|
|
152
|
-
// below, a bare-number text expectation is almost never what the author meant. A text
|
|
153
|
-
// element asserting a numeric readout ("[Row Quantity] text with 4") stays silent.
|
|
154
|
-
const COUNT_MISREAD_TYPES = new Set(['card', 'item', 'items', 'cards', 'option', 'options']);
|
|
155
|
-
if (this.diagnostics && step.dataRef && step.selectorRef &&
|
|
156
|
-
COUNT_MISREAD_TYPES.has((step.elementType || '').toLowerCase()) &&
|
|
157
|
-
/\bsees?\s+\[/.test(step.text) && /\bwith\b/.test(step.text)) {
|
|
158
|
-
// peekBaseValue reads the literal from test-data even in runtime-data mode,
|
|
159
|
-
// where resolveData returns an opaque marker (never numeric-looking).
|
|
160
|
-
let resolvedValue;
|
|
161
|
-
try {
|
|
162
|
-
resolvedValue = this.dataResolver.peekBaseValue(step.dataRef, this.featureName);
|
|
163
|
-
}
|
|
164
|
-
catch { /* unresolved at compile time → cannot judge */ }
|
|
165
|
-
if (resolvedValue !== undefined && /^\d+$/.test(resolvedValue.trim())) {
|
|
166
|
-
this.diagnostics.add('SG-W015', `\`see [${step.selectorRef}] ${step.elementType} with {{${step.dataRef}}}\` compiles to a TEXT assertion toHaveText('${resolvedValue.trim()}'), NOT a count of ${step.elementType}s. For a count use \`see [Ref] row with {{n}}\` / \`see [T] table with {{n}}\` (or a list "should have count"); if '${resolvedValue.trim()}' really is the ${step.elementType}'s text, assert it on a text/label element instead`, { feature: this.featureName, step: step.text });
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
147
|
// SG-W007 — a two-step-form browser-alert handler (`click [OK] alert`) written AFTER
|
|
170
148
|
// an action step registers its page.once('dialog') listener too late: a dialog
|
|
171
149
|
// triggered by the earlier action auto-dismisses with no error (issue #472).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-mapper.js","sourceRoot":"","sources":["../../../src/generators/test-generator/step-mapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"step-mapper.js","sourceRoot":"","sources":["../../../src/generators/test-generator/step-mapper.ts"],"names":[],"mappings":"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"}
|
package/dist/harness/audit.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ViewpointBaseline } from './viewpoint-baseline';
|
|
2
|
-
import { FlowQualityResult } from './flow-contract';
|
|
3
2
|
import { GateResult, DepthResult, BalanceResult, DuplicateResult, TraceResult, ClaimProofResult, TaxonomyResult, AutomatableManualResult, FlowDepthResult, OracleStrengthResult } from './sensors';
|
|
4
3
|
import { IntentProfile } from './intent';
|
|
5
4
|
import { Provenance } from './provenance';
|
|
@@ -24,7 +23,6 @@ export interface AuditReport {
|
|
|
24
23
|
oracle: OracleStrengthResult;
|
|
25
24
|
ledger: LedgerResult;
|
|
26
25
|
viewpointBaseline: ViewpointBaseline;
|
|
27
|
-
flowQuality?: FlowQualityResult;
|
|
28
26
|
calibration: {
|
|
29
27
|
axes: Record<string, number>;
|
|
30
28
|
weakest: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/harness/audit.ts"],"names":[],"mappings":"AAWA,OAAO,EAA0B,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/harness/audit.ts"],"names":[],"mappings":"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"}
|
package/dist/harness/audit.js
CHANGED
|
@@ -49,7 +49,6 @@ const path = __importStar(require("path"));
|
|
|
49
49
|
const fs = __importStar(require("fs"));
|
|
50
50
|
const parse_1 = require("./parse");
|
|
51
51
|
const viewpoint_baseline_1 = require("./viewpoint-baseline");
|
|
52
|
-
const flow_contract_1 = require("./flow-contract");
|
|
53
52
|
const unit_paths_1 = require("./unit-paths");
|
|
54
53
|
const sensors_1 = require("./sensors");
|
|
55
54
|
const flow_check_1 = require("./flow-check");
|
|
@@ -140,26 +139,13 @@ function runAudit(screenDir, screenName) {
|
|
|
140
139
|
// back to the in-core functions if the capability provides none.
|
|
141
140
|
// A capability gate may need project context (the API gate resolves endpoint methods from the
|
|
142
141
|
// catalog) + the focus depth threshold (so it scores depth with the SAME bar as the UI gate).
|
|
142
|
+
const capGate = scoringCap?.gateProvider;
|
|
143
|
+
const provided = capGate?.({ scenarios, viewpoints, catalog, focus: intent.focus, cwd: (0, intent_1.projectRootFromScreenDir)(screenDir), screenName: catalogScreenName, threshold: (0, sensors_1.depthThresholdFor)(intent.focus), businessCriticalMethods: intent.businessCriticalMethods });
|
|
143
144
|
// Is the declaration this suite is measured against still the one a human accepted?
|
|
144
145
|
const viewpointBaseline = (0, viewpoint_baseline_1.checkViewpointBaseline)((0, intent_1.projectRootFromScreenDir)(screenDir), catalogScreenName, viewpointPath);
|
|
145
146
|
const viewpointText = fs.existsSync(viewpointPath) ? (0, read_text_1.readTextFile)(viewpointPath) : '';
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
// flow judged as a `form` screen scored coverage 0%), so for contract-holding flows the
|
|
149
|
-
// page-type machinery only applies when the project DECLARED a page type explicitly.
|
|
150
|
-
// The stripped catalog feeds the CAPABILITY gate too — driver-ui provides the gate on
|
|
151
|
-
// real projects, and handing it the unstripped catalog re-introduced the force-fit.
|
|
152
|
-
const isUiFlowUnit = /^flows\//.test(catalogScreenName);
|
|
153
|
-
const flowQ = isUiFlowUnit
|
|
154
|
-
? (0, flow_contract_1.flowQuality)(screenDir, scenarios)
|
|
155
|
-
: { hasContract: false, errors: [], outcomeProven: false, outcomeManualOnly: false, offGoal: [], offGoalRatio: 0, offGoalCategories: [], phases: [], phaseRatio: 1, handoffs: { total: 0, asserted: 0, ratio: 1 } };
|
|
156
|
-
const gateCatalog = (flowQ.hasContract && !(0, sensors_1.declaredPageType)(viewpointText, catalog))
|
|
157
|
-
? { ...catalog, page_types: {} }
|
|
158
|
-
: catalog;
|
|
159
|
-
const capGate = scoringCap?.gateProvider;
|
|
160
|
-
const provided = capGate?.({ scenarios, viewpoints, catalog: gateCatalog, focus: intent.focus, cwd: (0, intent_1.projectRootFromScreenDir)(screenDir), screenName: catalogScreenName, threshold: (0, sensors_1.depthThresholdFor)(intent.focus), businessCriticalMethods: intent.businessCriticalMethods });
|
|
161
|
-
const gate = provided?.gate ?? (0, sensors_1.viewpointGate)(scenarios, viewpoints, gateCatalog, platform === 'mobile', viewpointText);
|
|
162
|
-
const depth = provided?.depth ?? (0, sensors_1.assertionDepth)(scenarios, (0, sensors_1.dataThemesFor)(gateCatalog, gate.pageType), intent.focus);
|
|
147
|
+
const gate = provided?.gate ?? (0, sensors_1.viewpointGate)(scenarios, viewpoints, catalog, platform === 'mobile', viewpointText);
|
|
148
|
+
const depth = provided?.depth ?? (0, sensors_1.assertionDepth)(scenarios, (0, sensors_1.dataThemesFor)(catalog, gate.pageType), intent.focus);
|
|
163
149
|
// TQ-4 — deferral-aware coverage credit: an inherently cross-screen theme (cart / detail /
|
|
164
150
|
// filter correctness) belongs in a FLOW, not on the screen. When a flow deeply covers a screen
|
|
165
151
|
// gate gap, credit it to the flow instead of double-counting it as a screen gap. Screens only
|
|
@@ -199,15 +185,8 @@ function runAudit(screenDir, screenName) {
|
|
|
199
185
|
// collection, the regression dimensions (count/quantity proof · teardown · multi-source) cap the
|
|
200
186
|
// businessDepth headroom: it can reach 1.0 only when all three are exercised, so a present-but-
|
|
201
187
|
// shallow flow can't claim a perfect score (floor 0.5 — assertion depth still dominates).
|
|
202
|
-
const isUiFlow =
|
|
203
|
-
|
|
204
|
-
// Contract-declared statefulness generalizes the cart-hardcoded vocabulary: a flow that
|
|
205
|
-
// mutates ANY named collection (order, application, submission …) gets the same three
|
|
206
|
-
// regression dims. The legacy cart detection stays for contract-less flows (snapshots).
|
|
207
|
-
if (isUiFlow && !flowDepth.stateful && flowQ.contract?.stateful) {
|
|
208
|
-
const d = (0, flow_contract_1.statefulDepthFor)(flowQ.contract.stateful, scenarios);
|
|
209
|
-
flowDepth = { stateful: true, countProof: d.countProof, teardown: d.teardown, multiSource: d.multiSource, ratio: d.ratio, missing: d.missing };
|
|
210
|
-
}
|
|
188
|
+
const isUiFlow = /^flows\//.test(catalogScreenName);
|
|
189
|
+
const flowDepth = isUiFlow ? (0, sensors_1.flowRegressionDepth)(scenarios) : { stateful: false, countProof: false, teardown: false, multiSource: false, ratio: 1, missing: [] };
|
|
211
190
|
const FLOW_DEPTH_FLOOR = 0.5;
|
|
212
191
|
// H4 — oracle strength: a weak facet oracle (name-substring "proves" category/brand membership)
|
|
213
192
|
// caps businessDepth the same way (floor 0.5). A suite with no facet claim, or a strong oracle, is
|
|
@@ -216,10 +195,7 @@ function runAudit(screenDir, screenName) {
|
|
|
216
195
|
const ORACLE_FLOOR = 0.5;
|
|
217
196
|
// Sub-scores
|
|
218
197
|
const coverage = gate.coverageRatio;
|
|
219
|
-
|
|
220
|
-
// is followed by an assertion on the carried state (same floor discipline as the other caps).
|
|
221
|
-
const HANDOFF_FLOOR = 0.5;
|
|
222
|
-
const businessDepth = Math.min(depth.bcDepthRatio, flowDepth.stateful ? FLOW_DEPTH_FLOOR + (1 - FLOW_DEPTH_FLOOR) * flowDepth.ratio : 1, oracle.weak.length ? ORACLE_FLOOR + (1 - ORACLE_FLOOR) * oracle.ratio : 1, flowQ.hasContract && flowQ.handoffs.total > 0 ? HANDOFF_FLOOR + (1 - HANDOFF_FLOOR) * flowQ.handoffs.ratio : 1);
|
|
198
|
+
const businessDepth = Math.min(depth.bcDepthRatio, flowDepth.stateful ? FLOW_DEPTH_FLOOR + (1 - FLOW_DEPTH_FLOOR) * flowDepth.ratio : 1, oracle.weak.length ? ORACLE_FLOOR + (1 - ORACLE_FLOOR) * oracle.ratio : 1);
|
|
223
199
|
// When the taxonomy drifted (most scenarios unclassified), the balance axis is unreliable — cap it
|
|
224
200
|
// at 0.5 instead of awarding a vacuous 1.0 so a stale taxonomy fails loudly, not silently (H1).
|
|
225
201
|
const balanceScore = balance.unclassifiedRatio > 0.4
|
|
@@ -249,15 +225,8 @@ function runAudit(screenDir, screenName) {
|
|
|
249
225
|
// what a create-test run did, silently dropping the performance viewpoint on
|
|
250
226
|
// the way. While the declaration is unconfirmed, neither axis is evidence.
|
|
251
227
|
const viewpointMoved = viewpointBaseline.status === 'changed';
|
|
252
|
-
// 4. A flow with a contract is measured on ITS coverage: journey phases (HP/ER/EH
|
|
253
|
-
// automated) — not a screen's page-type themes. Same weight, same criticality,
|
|
254
|
-
// so a flow can finally EARN the coverage axis instead of always losing it to
|
|
255
|
-
// PAGE-TYPE-UNDETERMINED (or worse, being judged against a form checklist).
|
|
256
|
-
const flowScored = flowQ.hasContract;
|
|
257
228
|
const axisDefs = [
|
|
258
|
-
|
|
259
|
-
? { key: 'flowCoverage', value: flowQ.phaseRatio, weight: 0.22, applicable: true, critical: true }
|
|
260
|
-
: { key: 'coverage', value: coverage, weight: 0.22, applicable: !!gate.pageType && gate.themesTotal > 0, critical: true },
|
|
229
|
+
{ key: 'coverage', value: coverage, weight: 0.22, applicable: !!gate.pageType && gate.themesTotal > 0, critical: true },
|
|
261
230
|
{ key: 'specFR', value: specRatio, weight: 0.15, applicable: spec.hasSpec && spec.frTotal > 0, critical: true },
|
|
262
231
|
{ key: 'atomicLedger', value: ledger.ratio, weight: 0.13, applicable: ledger.hasViewpoint && ledger.total > 0 && !viewpointMoved, critical: true },
|
|
263
232
|
{ key: 'businessDepth', value: businessDepth, weight: 0.20, applicable: true, critical: true },
|
|
@@ -308,40 +277,9 @@ function runAudit(screenDir, screenName) {
|
|
|
308
277
|
].filter(Boolean).join(', ');
|
|
309
278
|
findings.push(`VIEWPOINT-BASELINE-CHANGED: test-viewpoint.md no longer declares what it did when this unit was last accepted — ${moved || 'the declared ids were reordered or replaced'}. atomicLedger + traceability measure the suite AGAINST this file, so they are excluded from the score until the change is confirmed: a generator that rewrites the declaration scores both 100% by construction, and a viewpoint dropped from the file stops being missing from anything. Review the diff (a removed id means that coverage is now unclaimed), then run \`sungen audit --screen ${screenName} --accept-viewpoint\`.`);
|
|
310
279
|
}
|
|
311
|
-
|
|
312
|
-
if (gate.pageTypeSource === 'undetermined' && !flowScored) {
|
|
280
|
+
if (gate.pageTypeSource === 'undetermined') {
|
|
313
281
|
findings.push(`PAGE-TYPE-UNDETERMINED: no page type fits this screen with enough confidence (best ${gate.pageTypeEvidence?.hits ?? 0} keyword hit(s)), so NO critical themes were demanded and the coverage axis is excluded from the score — declare it in test-viewpoint.md (\`page-type: <id>\`) to have the theme checklist applied.`);
|
|
314
282
|
}
|
|
315
|
-
// ---- #569: flow-quality findings -----------------------------------------
|
|
316
|
-
if (isUiFlow && !flowQ.hasContract) {
|
|
317
|
-
const why = flowQ.errors.length ? ` (${flowQ.errors.join('; ')})` : '';
|
|
318
|
-
findings.push(`FLOW-CONTRACT-MISSING: this flow declares no contract${why} — without \`requirements/flow-contract.yaml\` (goal · trigger · outcome.screen · phases) the flow cannot be scored on ITS coverage (journey phases) and falls back to screen machinery. Author it with the boundary checklist: one business goal, a clear trigger, ONE observable outcome valuable to the actor, name = "Verb + outcome"; split anything that forms an independently valuable flow.`);
|
|
319
|
-
}
|
|
320
|
-
if (flowQ.hasContract) {
|
|
321
|
-
if (!flowQ.outcomeProven) {
|
|
322
|
-
findings.push(flowQ.outcomeManualOnly
|
|
323
|
-
? `FLOW-OUTCOME-UNPROVEN: the goal "${flowQ.contract.goal}" is covered only by @manual scenarios — the flow's own outcome (\`${flowQ.contract.outcome.screen}\`) has no AUTOMATED data assertion, so a regression run cannot prove the journey still works. Automate the happy-path proof first; it is the reason this flow exists.`
|
|
324
|
-
: `FLOW-OUTCOME-UNPROVEN: no scenario asserts data on the outcome screen \`${flowQ.contract.outcome.screen}\` — the flow never proves its own goal ("${flowQ.contract.goal}"). Add the happy-path scenario that ends in the declared final assertion.`);
|
|
325
|
-
}
|
|
326
|
-
if (flowQ.offGoalRatio > 0.35) {
|
|
327
|
-
findings.push(`FLOW-SCOPE-CREEP: ${flowQ.offGoal.length}/${scenarios.length} scenarios never touch the outcome screen \`${flowQ.contract.outcome.screen}\` and are not guards/error-recovery (categories: ${flowQ.offGoalCategories.join(', ')}) — evidence of a SECOND business goal in this flow. Split them into their own flow (one flow = one goal, one observable outcome).`);
|
|
328
|
-
}
|
|
329
|
-
for (const ph of flowQ.phases.filter((p) => !p.covered || !p.automated)) {
|
|
330
|
-
findings.push(`FLOW-PHASE-${ph.phase}-MISSING: journey phase ${ph.phase} (${ph.phase === 'HP' ? 'happy path proving the outcome' : ph.phase === 'ER' ? 'error recovery — validation must not trap the journey' : 'guards — direct access / back / refresh'}) is ${ph.covered ? 'covered only by @manual' : 'not covered'} → it does not count toward flowCoverage until automated.`);
|
|
331
|
-
}
|
|
332
|
-
if (flowQ.handoffs.total > 0 && flowQ.handoffs.ratio < 0.7) {
|
|
333
|
-
findings.push(`FLOW-HANDOFF-SHALLOW: only ${flowQ.handoffs.asserted}/${flowQ.handoffs.total} cross-screen transitions are followed by an assertion in the new screen — carried state (the thing a flow exists to verify) is unproven at the handoff. businessDepth is capped until asserted.`);
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
if (isUiFlow) {
|
|
337
|
-
// Flows defer more than screens, so an UNCODED @manual is costlier here: the capability
|
|
338
|
-
// planner cannot route it to the driver that would automate it (password-reset: 11/22
|
|
339
|
-
// manual, most of them M5-inbox — invisible while tagged bare).
|
|
340
|
-
const bareManual = (featureText.match(/@manual(?![:\w])/g) || []).length;
|
|
341
|
-
if (bareManual > 0) {
|
|
342
|
-
findings.push(`MANUAL-CODE-MISSING: ${bareManual} @manual tag(s) carry no reason code — tag @manual:M1..M9 (M5 = external dependency e.g. inbox, M3 = mock/network, M7 = environment) so the capability planner can route what a driver would automate.`);
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
283
|
for (const c of flowCredits) {
|
|
346
284
|
findings.push(`COVERED-VIA-FLOW: critical theme "${c.theme}" is not covered on this screen but is deeply covered by flow "${c.flow}" — cross-screen depth correctly owned by the flow, so it is credited (not a screen gap). Verify with \`sungen flow-check\`.`);
|
|
347
285
|
}
|
|
@@ -418,13 +356,6 @@ function runAudit(screenDir, screenName) {
|
|
|
418
356
|
const shown = spec.inferredOnly.slice(0, 8).join(', ');
|
|
419
357
|
findings.push(`SPEC-TRACE-IMPLICIT: ${spec.inferredOnly.length} requirement(s) are covered by keyword inference only (${shown}${spec.inferredOnly.length > 8 ? ', …' : ''}) — add \`@spec:<id>\` to the scenario that proves each so the trace survives edits and delivery can report it.`);
|
|
420
358
|
}
|
|
421
|
-
// Safety net for the parser (#572): the feature CITES requirement ids the spec parser
|
|
422
|
-
// could not find a declaration for. Silence here would repeat the original failure —
|
|
423
|
-
// "nothing found" quietly excluding the specFR axis while the evidence sits in the file.
|
|
424
|
-
if (spec.hasSpec && spec.frTotal === 0 && /@spec:/i.test(featureText)) {
|
|
425
|
-
const cited = [...new Set([...featureText.matchAll(/@spec:([A-Za-z0-9.-]+)/g)].map((m) => m[1].toUpperCase()))];
|
|
426
|
-
findings.push(`SPEC-IDS-UNPARSED: the feature cites ${cited.length} requirement id(s) via @spec: (${cited.slice(0, 5).join(', ')}${cited.length > 5 ? ', …' : ''}) but requirements/spec.md yielded ZERO parseable requirement declarations — the spec likely declares ids in a scheme the parser cannot read. Declare each requirement on its own line as \`<ID>: <clause>\` (bullet/bold/backtick all fine; the id must end in a number) so the MUST-coverage gate and the specFR axis can run.`);
|
|
427
|
-
}
|
|
428
359
|
if (taxonomyMismatch) {
|
|
429
360
|
findings.push(`VP-TAXONOMY-MISMATCH: only ${(trace.mappedRatio * 100).toFixed(0)}% of scenarios use the viewpoint IDs declared in test-viewpoint.md — scenarios invented a generic VP-<CAT> scheme. Re-tag to the project's viewpoint IDs so the coverage matrix is accurate.`);
|
|
430
361
|
}
|
|
@@ -530,7 +461,6 @@ function runAudit(screenDir, screenName) {
|
|
|
530
461
|
scenarioCount: scenarios.length,
|
|
531
462
|
gate, depth, claim, taxonomy, balance, duplicates, trace, spec,
|
|
532
463
|
taxonomyMismatch, downstream, manualOracle: manualOracleResult, automatableManual: autoManual, flowDepth, oracle, ledger, viewpointBaseline, calibration,
|
|
533
|
-
...(isUiFlow ? { flowQuality: flowQ } : {}),
|
|
534
464
|
score: {
|
|
535
465
|
overall: Math.round(overall * 10) / 10,
|
|
536
466
|
coverage: Math.round(coverage * 100) / 100,
|