@sun-asterisk/sungen 3.2.15 → 3.2.16-beta.10
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/delivery.d.ts.map +1 -1
- package/dist/cli/commands/delivery.js +197 -13
- package/dist/cli/commands/delivery.js.map +1 -1
- package/dist/dashboard/templates/index.html +1 -1
- package/dist/exporters/feature-parser.d.ts +16 -1
- package/dist/exporters/feature-parser.d.ts.map +1 -1
- package/dist/exporters/feature-parser.js +21 -2
- package/dist/exporters/feature-parser.js.map +1 -1
- package/dist/exporters/matrix/build.d.ts +61 -0
- package/dist/exporters/matrix/build.d.ts.map +1 -0
- package/dist/exporters/matrix/build.js +497 -0
- package/dist/exporters/matrix/build.js.map +1 -0
- package/dist/exporters/matrix/export.d.ts +50 -0
- package/dist/exporters/matrix/export.d.ts.map +1 -0
- package/dist/exporters/matrix/export.js +152 -0
- package/dist/exporters/matrix/export.js.map +1 -0
- package/dist/exporters/matrix/fingerprint.d.ts +20 -0
- package/dist/exporters/matrix/fingerprint.d.ts.map +1 -0
- package/dist/exporters/matrix/fingerprint.js +83 -0
- package/dist/exporters/matrix/fingerprint.js.map +1 -0
- package/dist/exporters/matrix/gates.d.ts +21 -0
- package/dist/exporters/matrix/gates.d.ts.map +1 -0
- package/dist/exporters/matrix/gates.js +367 -0
- package/dist/exporters/matrix/gates.js.map +1 -0
- package/dist/exporters/matrix/map-loader.d.ts +22 -0
- package/dist/exporters/matrix/map-loader.d.ts.map +1 -0
- package/dist/exporters/matrix/map-loader.js +193 -0
- package/dist/exporters/matrix/map-loader.js.map +1 -0
- package/dist/exporters/matrix/render-csv.d.ts +9 -0
- package/dist/exporters/matrix/render-csv.d.ts.map +1 -0
- package/dist/exporters/matrix/render-csv.js +92 -0
- package/dist/exporters/matrix/render-csv.js.map +1 -0
- package/dist/exporters/matrix/render-xlsx.d.ts +41 -0
- package/dist/exporters/matrix/render-xlsx.d.ts.map +1 -0
- package/dist/exporters/matrix/render-xlsx.js +430 -0
- package/dist/exporters/matrix/render-xlsx.js.map +1 -0
- package/dist/exporters/matrix/types.d.ts +199 -0
- package/dist/exporters/matrix/types.d.ts.map +1 -0
- package/dist/exporters/matrix/types.js +15 -0
- package/dist/exporters/matrix/types.js.map +1 -0
- package/dist/exporters/matrix/wording.d.ts +61 -0
- package/dist/exporters/matrix/wording.d.ts.map +1 -0
- package/dist/exporters/matrix/wording.js +221 -0
- package/dist/exporters/matrix/wording.js.map +1 -0
- package/dist/exporters/scenario-merger.d.ts.map +1 -1
- package/dist/exporters/scenario-merger.js +2 -1
- package/dist/exporters/scenario-merger.js.map +1 -1
- package/dist/exporters/spec-parser.d.ts.map +1 -1
- package/dist/exporters/spec-parser.js +2 -1
- package/dist/exporters/spec-parser.js.map +1 -1
- package/dist/exporters/xlsx-report-builder.d.ts +1 -1
- package/dist/exporters/xlsx-report-builder.d.ts.map +1 -1
- package/dist/exporters/xlsx-report-builder.js +3 -3
- package/dist/exporters/xlsx-report-builder.js.map +1 -1
- package/dist/harness/audit.d.ts.map +1 -1
- package/dist/harness/audit.js +16 -2
- package/dist/harness/audit.js.map +1 -1
- package/dist/harness/blindspot.d.ts.map +1 -1
- package/dist/harness/blindspot.js +2 -1
- package/dist/harness/blindspot.js.map +1 -1
- package/dist/harness/capability-plan.d.ts.map +1 -1
- package/dist/harness/capability-plan.js +3 -2
- package/dist/harness/capability-plan.js.map +1 -1
- package/dist/harness/capability.d.ts +25 -0
- package/dist/harness/capability.d.ts.map +1 -1
- package/dist/harness/capability.js +44 -2
- package/dist/harness/capability.js.map +1 -1
- package/dist/harness/feedback.d.ts.map +1 -1
- package/dist/harness/feedback.js +3 -2
- package/dist/harness/feedback.js.map +1 -1
- package/dist/harness/flow-check.d.ts.map +1 -1
- package/dist/harness/flow-check.js +2 -1
- package/dist/harness/flow-check.js.map +1 -1
- package/dist/harness/flow-plan.d.ts.map +1 -1
- package/dist/harness/flow-plan.js +3 -2
- package/dist/harness/flow-plan.js.map +1 -1
- package/dist/harness/intent.d.ts.map +1 -1
- package/dist/harness/intent.js +2 -1
- package/dist/harness/intent.js.map +1 -1
- package/dist/harness/journey.d.ts.map +1 -1
- package/dist/harness/journey.js +3 -2
- package/dist/harness/journey.js.map +1 -1
- package/dist/harness/ledger.d.ts.map +1 -1
- package/dist/harness/ledger.js +3 -2
- package/dist/harness/ledger.js.map +1 -1
- package/dist/harness/manifest.d.ts.map +1 -1
- package/dist/harness/manifest.js +4 -3
- package/dist/harness/manifest.js.map +1 -1
- package/dist/harness/parse.d.ts.map +1 -1
- package/dist/harness/parse.js +16 -3
- package/dist/harness/parse.js.map +1 -1
- package/dist/harness/quality-gates.d.ts.map +1 -1
- package/dist/harness/quality-gates.js +2 -1
- package/dist/harness/quality-gates.js.map +1 -1
- package/dist/harness/read-text.d.ts +22 -0
- package/dist/harness/read-text.d.ts.map +1 -0
- package/dist/harness/read-text.js +64 -0
- package/dist/harness/read-text.js.map +1 -0
- package/dist/harness/script-check.d.ts.map +1 -1
- package/dist/harness/script-check.js +3 -2
- package/dist/harness/script-check.js.map +1 -1
- package/dist/harness/sensors.d.ts.map +1 -1
- package/dist/harness/sensors.js +2 -10
- package/dist/harness/sensors.js.map +1 -1
- package/dist/harness/spec-coverage.d.ts +5 -0
- package/dist/harness/spec-coverage.d.ts.map +1 -1
- package/dist/harness/spec-coverage.js +17 -7
- package/dist/harness/spec-coverage.js.map +1 -1
- package/dist/harness/trace.d.ts.map +1 -1
- package/dist/harness/trace.js +4 -3
- package/dist/harness/trace.js.map +1 -1
- package/dist/harness/viewpoint-ledger.d.ts.map +1 -1
- package/dist/harness/viewpoint-ledger.js +2 -1
- package/dist/harness/viewpoint-ledger.js.map +1 -1
- package/dist/orchestrator/templates/ai-src/commands/create-test.md +10 -1
- package/dist/orchestrator/templates/ai-src/commands/delivery.md +203 -120
- package/dist/orchestrator/templates/ai-src/config/claude.md +1 -1
- package/dist/orchestrator/templates/ai-src/config/copilot.md +1 -1
- package/dist/orchestrator/templates/ai-src/skills/sungen-delivery/SKILL.md +102 -6
- package/dist/orchestrator/templates/ai-src/skills/sungen-gherkin-syntax/SKILL.md +1 -0
- package/dist/orchestrator/templates/ai-src/skills/sungen-harness-audit/SKILL.md +1 -1
- package/dist/orchestrator/templates/ai-src/skills/sungen-tc-generation/SKILL.md +23 -0
- package/package.json +4 -4
- package/src/cli/commands/delivery.ts +227 -15
- package/src/dashboard/templates/index.html +1 -1
- package/src/exporters/feature-parser.ts +21 -2
- package/src/exporters/matrix/build.ts +532 -0
- package/src/exporters/matrix/export.ts +149 -0
- package/src/exporters/matrix/fingerprint.ts +49 -0
- package/src/exporters/matrix/gates.ts +400 -0
- package/src/exporters/matrix/map-loader.ts +163 -0
- package/src/exporters/matrix/render-csv.ts +94 -0
- package/src/exporters/matrix/render-xlsx.ts +420 -0
- package/src/exporters/matrix/types.ts +226 -0
- package/src/exporters/matrix/wording.ts +221 -0
- package/src/exporters/scenario-merger.ts +2 -1
- package/src/exporters/spec-parser.ts +2 -1
- package/src/exporters/xlsx-report-builder.ts +3 -2
- package/src/harness/audit.ts +17 -3
- package/src/harness/blindspot.ts +2 -1
- package/src/harness/capability-plan.ts +3 -2
- package/src/harness/capability.ts +53 -3
- package/src/harness/feedback.ts +3 -2
- package/src/harness/flow-check.ts +2 -1
- package/src/harness/flow-plan.ts +3 -2
- package/src/harness/intent.ts +2 -1
- package/src/harness/journey.ts +3 -2
- package/src/harness/ledger.ts +3 -2
- package/src/harness/manifest.ts +4 -3
- package/src/harness/parse.ts +17 -3
- package/src/harness/quality-gates.ts +2 -1
- package/src/harness/read-text.ts +28 -0
- package/src/harness/script-check.ts +3 -2
- package/src/harness/sensors.ts +2 -1
- package/src/harness/spec-coverage.ts +22 -7
- package/src/harness/trace.ts +4 -3
- package/src/harness/viewpoint-ledger.ts +2 -1
- package/src/orchestrator/templates/ai-src/commands/create-test.md +10 -1
- package/src/orchestrator/templates/ai-src/commands/delivery.md +203 -120
- package/src/orchestrator/templates/ai-src/config/claude.md +1 -1
- package/src/orchestrator/templates/ai-src/config/copilot.md +1 -1
- package/src/orchestrator/templates/ai-src/skills/sungen-delivery/SKILL.md +102 -6
- package/src/orchestrator/templates/ai-src/skills/sungen-gherkin-syntax/SKILL.md +1 -0
- package/src/orchestrator/templates/ai-src/skills/sungen-harness-audit/SKILL.md +1 -1
- package/src/orchestrator/templates/ai-src/skills/sungen-tc-generation/SKILL.md +23 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/exporters/matrix/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Matrix export orchestration — the piece `sungen delivery` calls.
|
|
3
|
+
*
|
|
4
|
+
* Composes the existing parsing seams (feature-parser, spec-parser, test-data,
|
|
5
|
+
* playwright report) with the map loader, builder, gates, and renderers. All
|
|
6
|
+
* inputs arrive as resolved paths so the CLI's discovery logic stays the single
|
|
7
|
+
* owner of unit-kind layout rules.
|
|
8
|
+
*/
|
|
9
|
+
import { DeliveryMap, MatrixFinding, MatrixModel } from './types';
|
|
10
|
+
export interface MatrixTargetPaths {
|
|
11
|
+
cwd: string;
|
|
12
|
+
/** Feature basename — names the deliverable files. */
|
|
13
|
+
unit: string;
|
|
14
|
+
/** Display label (flow/… prefix for flows). */
|
|
15
|
+
label: string;
|
|
16
|
+
featureFile: string;
|
|
17
|
+
testDataFile: string;
|
|
18
|
+
specFile: string;
|
|
19
|
+
/** requirements/spec.md — the requirement-id inventory for coverage (optional). */
|
|
20
|
+
specMdFile?: string;
|
|
21
|
+
resultsPath: string | null;
|
|
22
|
+
mapFile: string;
|
|
23
|
+
}
|
|
24
|
+
export interface MatrixLoadResult {
|
|
25
|
+
model?: MatrixModel;
|
|
26
|
+
map?: DeliveryMap;
|
|
27
|
+
/** No map file → the caller prints the guidance path (AI proposal or --legacy). */
|
|
28
|
+
mapMissing?: boolean;
|
|
29
|
+
/** Structural map problems (bad YAML/shape) — fix the file before anything else. */
|
|
30
|
+
mapErrors: string[];
|
|
31
|
+
}
|
|
32
|
+
export declare function loadMatrixModel(paths: MatrixTargetPaths): MatrixLoadResult;
|
|
33
|
+
export declare const hasErrors: (f: MatrixFinding[]) => boolean;
|
|
34
|
+
export declare const hasReview: (f: MatrixFinding[]) => boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Stamp fingerprints + flip groups to `approved` (all groups, or just `groupIds`).
|
|
37
|
+
* Refuses when gate ERRORs remain — an invalid map must not be frozen as approved.
|
|
38
|
+
* Returns the findings so the caller reports what blocked or what was approved.
|
|
39
|
+
*/
|
|
40
|
+
export declare function approveMatrix(paths: MatrixTargetPaths, groupIds?: string[]): {
|
|
41
|
+
findings: MatrixFinding[];
|
|
42
|
+
approved: string[];
|
|
43
|
+
};
|
|
44
|
+
export type MatrixFormat = 'xlsx' | 'csv' | 'both';
|
|
45
|
+
/** Render + write the requested format(s). Caller has already enforced the gate policy. */
|
|
46
|
+
export declare function writeMatrixDeliverables(paths: MatrixTargetPaths, model: MatrixModel, format?: MatrixFormat): Promise<{
|
|
47
|
+
csvPath?: string;
|
|
48
|
+
xlsxPath?: string;
|
|
49
|
+
}>;
|
|
50
|
+
//# sourceMappingURL=export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/exporters/matrix/export.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgBH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAQD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,mFAAmF;IACnF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oFAAoF;IACpF,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,gBAAgB,CAuB1E;AAED,eAAO,MAAM,SAAS,GAAI,GAAG,aAAa,EAAE,KAAG,OAAgD,CAAC;AAChG,eAAO,MAAM,SAAS,GAAI,GAAG,aAAa,EAAE,KAAG,OAAiD,CAAC;AAEjG;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG;IAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAyC9H;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAEnD,2FAA2F;AAC3F,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,WAAW,EAClB,MAAM,GAAE,YAAqB,GAC5B,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAUlD"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Matrix export orchestration — the piece `sungen delivery` calls.
|
|
4
|
+
*
|
|
5
|
+
* Composes the existing parsing seams (feature-parser, spec-parser, test-data,
|
|
6
|
+
* playwright report) with the map loader, builder, gates, and renderers. All
|
|
7
|
+
* inputs arrive as resolved paths so the CLI's discovery logic stays the single
|
|
8
|
+
* owner of unit-kind layout rules.
|
|
9
|
+
*/
|
|
10
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
13
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
14
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(o, k2, desc);
|
|
17
|
+
}) : (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
o[k2] = m[k];
|
|
20
|
+
}));
|
|
21
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
22
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
23
|
+
}) : function(o, v) {
|
|
24
|
+
o["default"] = v;
|
|
25
|
+
});
|
|
26
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
27
|
+
var ownKeys = function(o) {
|
|
28
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
29
|
+
var ar = [];
|
|
30
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
31
|
+
return ar;
|
|
32
|
+
};
|
|
33
|
+
return ownKeys(o);
|
|
34
|
+
};
|
|
35
|
+
return function (mod) {
|
|
36
|
+
if (mod && mod.__esModule) return mod;
|
|
37
|
+
var result = {};
|
|
38
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
39
|
+
__setModuleDefault(result, mod);
|
|
40
|
+
return result;
|
|
41
|
+
};
|
|
42
|
+
})();
|
|
43
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
+
exports.hasReview = exports.hasErrors = void 0;
|
|
45
|
+
exports.loadMatrixModel = loadMatrixModel;
|
|
46
|
+
exports.approveMatrix = approveMatrix;
|
|
47
|
+
exports.writeMatrixDeliverables = writeMatrixDeliverables;
|
|
48
|
+
const fs = __importStar(require("fs"));
|
|
49
|
+
const feature_parser_1 = require("../feature-parser");
|
|
50
|
+
const spec_parser_1 = require("../spec-parser");
|
|
51
|
+
const test_data_resolver_1 = require("../test-data-resolver");
|
|
52
|
+
const playwright_report_parser_1 = require("../playwright-report-parser");
|
|
53
|
+
const scenario_merger_1 = require("../scenario-merger");
|
|
54
|
+
const package_info_1 = require("../package-info");
|
|
55
|
+
const csv_exporter_1 = require("../csv-exporter");
|
|
56
|
+
const xlsx_exporter_1 = require("../xlsx-exporter");
|
|
57
|
+
const map_loader_1 = require("./map-loader");
|
|
58
|
+
const fingerprint_1 = require("./fingerprint");
|
|
59
|
+
const build_1 = require("./build");
|
|
60
|
+
const render_xlsx_1 = require("./render-xlsx");
|
|
61
|
+
const render_csv_1 = require("./render-csv");
|
|
62
|
+
function readSpecText(paths) {
|
|
63
|
+
return paths.specMdFile && fs.existsSync(paths.specMdFile)
|
|
64
|
+
? fs.readFileSync(paths.specMdFile, 'utf-8')
|
|
65
|
+
: '';
|
|
66
|
+
}
|
|
67
|
+
function loadMatrixModel(paths) {
|
|
68
|
+
const { map, errors } = (0, map_loader_1.loadDeliveryMap)(paths.mapFile);
|
|
69
|
+
if (!map) {
|
|
70
|
+
return errors.length === 0 ? { mapMissing: true, mapErrors: [] } : { mapErrors: errors };
|
|
71
|
+
}
|
|
72
|
+
const feature = (0, feature_parser_1.parseFeatureMetadata)(paths.featureFile);
|
|
73
|
+
const spec = (0, spec_parser_1.parseSpecFile)(paths.specFile);
|
|
74
|
+
const merged = (0, scenario_merger_1.mergeFeatureAndSpec)(feature, spec);
|
|
75
|
+
const testData = fs.existsSync(paths.testDataFile) ? (0, test_data_resolver_1.loadTestData)(paths.testDataFile, process.env.SUNGEN_ENV ?? null) : null;
|
|
76
|
+
const results = paths.resultsPath ? (0, playwright_report_parser_1.loadPlaywrightReport)(paths.resultsPath) : null;
|
|
77
|
+
const model = (0, build_1.buildMatrix)({
|
|
78
|
+
unit: paths.unit,
|
|
79
|
+
feature,
|
|
80
|
+
merged,
|
|
81
|
+
testData,
|
|
82
|
+
results,
|
|
83
|
+
map,
|
|
84
|
+
transformerVersion: (0, package_info_1.getPackageVersion)(),
|
|
85
|
+
specText: readSpecText(paths),
|
|
86
|
+
});
|
|
87
|
+
return { model, map, mapErrors: [] };
|
|
88
|
+
}
|
|
89
|
+
const hasErrors = (f) => f.some((x) => x.severity === 'error');
|
|
90
|
+
exports.hasErrors = hasErrors;
|
|
91
|
+
const hasReview = (f) => f.some((x) => x.severity === 'review');
|
|
92
|
+
exports.hasReview = hasReview;
|
|
93
|
+
/**
|
|
94
|
+
* Stamp fingerprints + flip groups to `approved` (all groups, or just `groupIds`).
|
|
95
|
+
* Refuses when gate ERRORs remain — an invalid map must not be frozen as approved.
|
|
96
|
+
* Returns the findings so the caller reports what blocked or what was approved.
|
|
97
|
+
*/
|
|
98
|
+
function approveMatrix(paths, groupIds) {
|
|
99
|
+
const { map, errors } = (0, map_loader_1.loadDeliveryMap)(paths.mapFile);
|
|
100
|
+
if (!map)
|
|
101
|
+
throw new Error(errors.length > 0 ? `map is invalid:\n - ${errors.join('\n - ')}` : `no delivery map at ${paths.mapFile}`);
|
|
102
|
+
const feature = (0, feature_parser_1.parseFeatureMetadata)(paths.featureFile);
|
|
103
|
+
const spec = (0, spec_parser_1.parseSpecFile)(paths.specFile);
|
|
104
|
+
const merged = (0, scenario_merger_1.mergeFeatureAndSpec)(feature, spec);
|
|
105
|
+
const testData = fs.existsSync(paths.testDataFile) ? (0, test_data_resolver_1.loadTestData)(paths.testDataFile, process.env.SUNGEN_ENV ?? null) : null;
|
|
106
|
+
const model = (0, build_1.buildMatrix)({
|
|
107
|
+
unit: paths.unit, feature, merged, testData, results: null, map,
|
|
108
|
+
transformerVersion: (0, package_info_1.getPackageVersion)(),
|
|
109
|
+
specText: readSpecText(paths),
|
|
110
|
+
});
|
|
111
|
+
const blocking = model.findings.filter((f) => f.severity === 'error');
|
|
112
|
+
if (blocking.length > 0)
|
|
113
|
+
return { findings: blocking, approved: [] };
|
|
114
|
+
const variants = (0, build_1.deriveVariants)({ feature, merged, testData, results: null });
|
|
115
|
+
const byRef = new Map(variants.map((v) => [v.ref, v]));
|
|
116
|
+
const byVp = new Map();
|
|
117
|
+
for (const v of variants) {
|
|
118
|
+
const list = byVp.get(v.vpId) ?? [];
|
|
119
|
+
list.push(v);
|
|
120
|
+
byVp.set(v.vpId, list);
|
|
121
|
+
}
|
|
122
|
+
const approved = [];
|
|
123
|
+
for (const g of map.groups) {
|
|
124
|
+
if (groupIds && groupIds.length > 0 && !groupIds.includes(g.id))
|
|
125
|
+
continue;
|
|
126
|
+
for (const ref of g.variants) {
|
|
127
|
+
const expanded = ref.includes('#') ? [byRef.get(ref)].filter(Boolean) : (byVp.get(ref) ?? []);
|
|
128
|
+
for (const v of expanded)
|
|
129
|
+
map.fingerprints[v.ref] = v.fingerprint;
|
|
130
|
+
}
|
|
131
|
+
g.review = 'approved';
|
|
132
|
+
approved.push(g.id);
|
|
133
|
+
}
|
|
134
|
+
// Freeze the reviewed map semantics as well (GAP-09) — computed AFTER the
|
|
135
|
+
// review flips so re-running approve on an unchanged map is idempotent.
|
|
136
|
+
map.fingerprints.__map__ = (0, fingerprint_1.mapContentFingerprint)(map.groups, map.dispositions);
|
|
137
|
+
(0, map_loader_1.writeDeliveryMap)(paths.mapFile, map);
|
|
138
|
+
return { findings: model.findings.filter((f) => f.severity !== 'error'), approved };
|
|
139
|
+
}
|
|
140
|
+
/** Render + write the requested format(s). Caller has already enforced the gate policy. */
|
|
141
|
+
async function writeMatrixDeliverables(paths, model, format = 'xlsx') {
|
|
142
|
+
const out = {};
|
|
143
|
+
if (format === 'csv' || format === 'both') {
|
|
144
|
+
out.csvPath = (0, csv_exporter_1.writeCsv)(paths.cwd, paths.unit, (0, render_csv_1.renderMatrixCsv)(model));
|
|
145
|
+
}
|
|
146
|
+
if (format === 'xlsx' || format === 'both') {
|
|
147
|
+
const wb = (0, render_xlsx_1.renderMatrixXlsx)(model, (0, package_info_1.getPackageVersion)());
|
|
148
|
+
out.xlsxPath = await (0, xlsx_exporter_1.writeXlsx)(paths.cwd, paths.unit, wb);
|
|
149
|
+
}
|
|
150
|
+
return out;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/exporters/matrix/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical scenario fingerprints for the Delivery Map drift detector (Gate E).
|
|
3
|
+
*
|
|
4
|
+
* A fingerprint hashes what changes the MEANING of a variant: sorted tags + ordered
|
|
5
|
+
* step text (+ the dataset row for a @cases variant). Formatting, comments, and
|
|
6
|
+
* scenario order do NOT change it. `--approve` stamps these into the map; a later
|
|
7
|
+
* mismatch drops the group back to review (stale grouping).
|
|
8
|
+
*/
|
|
9
|
+
import { ScenarioMetadata } from '../types';
|
|
10
|
+
/**
|
|
11
|
+
* Fingerprint one scenario. Tags are sorted (order is presentation); steps keep
|
|
12
|
+
* their order (order is meaning). Manual scenarios include their procedure
|
|
13
|
+
* comments — for them the comments ARE the test.
|
|
14
|
+
*/
|
|
15
|
+
export declare function scenarioFingerprint(sc: ScenarioMetadata, datasetRow?: Record<string, unknown>): string;
|
|
16
|
+
/** Fingerprint of the whole source (all variants) — manifest `sourceFingerprint`. */
|
|
17
|
+
export declare function combinedFingerprint(parts: string[]): string;
|
|
18
|
+
/** Fingerprint of the map's semantic content (groups + dispositions, not stamps). */
|
|
19
|
+
export declare function mapContentFingerprint(groups: unknown, dispositions: unknown): string;
|
|
20
|
+
//# sourceMappingURL=fingerprint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../../src/exporters/matrix/fingerprint.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAe5C;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAQtG;AAED,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAE3D;AAED,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CAEpF"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Canonical scenario fingerprints for the Delivery Map drift detector (Gate E).
|
|
4
|
+
*
|
|
5
|
+
* A fingerprint hashes what changes the MEANING of a variant: sorted tags + ordered
|
|
6
|
+
* step text (+ the dataset row for a @cases variant). Formatting, comments, and
|
|
7
|
+
* scenario order do NOT change it. `--approve` stamps these into the map; a later
|
|
8
|
+
* mismatch drops the group back to review (stale grouping).
|
|
9
|
+
*/
|
|
10
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
13
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
14
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(o, k2, desc);
|
|
17
|
+
}) : (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
o[k2] = m[k];
|
|
20
|
+
}));
|
|
21
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
22
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
23
|
+
}) : function(o, v) {
|
|
24
|
+
o["default"] = v;
|
|
25
|
+
});
|
|
26
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
27
|
+
var ownKeys = function(o) {
|
|
28
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
29
|
+
var ar = [];
|
|
30
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
31
|
+
return ar;
|
|
32
|
+
};
|
|
33
|
+
return ownKeys(o);
|
|
34
|
+
};
|
|
35
|
+
return function (mod) {
|
|
36
|
+
if (mod && mod.__esModule) return mod;
|
|
37
|
+
var result = {};
|
|
38
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
39
|
+
__setModuleDefault(result, mod);
|
|
40
|
+
return result;
|
|
41
|
+
};
|
|
42
|
+
})();
|
|
43
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
+
exports.scenarioFingerprint = scenarioFingerprint;
|
|
45
|
+
exports.combinedFingerprint = combinedFingerprint;
|
|
46
|
+
exports.mapContentFingerprint = mapContentFingerprint;
|
|
47
|
+
const crypto = __importStar(require("crypto"));
|
|
48
|
+
/** Stable stringify: objects get sorted keys so row column order can't shift the hash. */
|
|
49
|
+
function canonical(value) {
|
|
50
|
+
if (value === null || typeof value !== 'object')
|
|
51
|
+
return JSON.stringify(value);
|
|
52
|
+
if (Array.isArray(value))
|
|
53
|
+
return `[${value.map(canonical).join(',')}]`;
|
|
54
|
+
const obj = value;
|
|
55
|
+
const keys = Object.keys(obj).sort();
|
|
56
|
+
return `{${keys.map((k) => `${JSON.stringify(k)}:${canonical(obj[k])}`).join(',')}}`;
|
|
57
|
+
}
|
|
58
|
+
function sha1(text) {
|
|
59
|
+
return 'sha1:' + crypto.createHash('sha1').update(text, 'utf-8').digest('hex');
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Fingerprint one scenario. Tags are sorted (order is presentation); steps keep
|
|
63
|
+
* their order (order is meaning). Manual scenarios include their procedure
|
|
64
|
+
* comments — for them the comments ARE the test.
|
|
65
|
+
*/
|
|
66
|
+
function scenarioFingerprint(sc, datasetRow) {
|
|
67
|
+
const body = canonical({
|
|
68
|
+
tags: [...sc.tags].sort(),
|
|
69
|
+
steps: sc.orderedSteps.map((s) => `${s.bucket}:${s.text}`),
|
|
70
|
+
comments: sc.tags.some((t) => t === '@manual' || t.startsWith('@manual:')) ? (sc.comments ?? []) : [],
|
|
71
|
+
row: datasetRow ?? null,
|
|
72
|
+
});
|
|
73
|
+
return sha1(body);
|
|
74
|
+
}
|
|
75
|
+
/** Fingerprint of the whole source (all variants) — manifest `sourceFingerprint`. */
|
|
76
|
+
function combinedFingerprint(parts) {
|
|
77
|
+
return sha1(canonical([...parts].sort()));
|
|
78
|
+
}
|
|
79
|
+
/** Fingerprint of the map's semantic content (groups + dispositions, not stamps). */
|
|
80
|
+
function mapContentFingerprint(groups, dispositions) {
|
|
81
|
+
return sha1(canonical({ groups, dispositions }));
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=fingerprint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../../../src/exporters/matrix/fingerprint.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBH,kDAQC;AAGD,kDAEC;AAGD,sDAEC;AAvCD,+CAAiC;AAGjC,0FAA0F;AAC1F,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACvE,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACvF,CAAC;AAED,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjF,CAAC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,EAAoB,EAAE,UAAoC;IAC5F,MAAM,IAAI,GAAG,SAAS,CAAC;QACrB,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;QACzB,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QACrG,GAAG,EAAE,UAAU,IAAI,IAAI;KACxB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAED,qFAAqF;AACrF,SAAgB,mBAAmB,CAAC,KAAe;IACjD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,qFAAqF;AACrF,SAAgB,qBAAqB,CAAC,MAAe,EAAE,YAAqB;IAC1E,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministic quality gates for the Test Case & Coverage Matrix
|
|
3
|
+
* (docs/spec/delivery-coverage-matrix-spec.md §6).
|
|
4
|
+
*
|
|
5
|
+
* Severity behavior:
|
|
6
|
+
* error → blocks any render
|
|
7
|
+
* review → blocks the official render; `--preview` renders with a DRAFT watermark
|
|
8
|
+
* warning → prints + renders
|
|
9
|
+
*
|
|
10
|
+
* The gates recompute every signature part from the .feature — the map is never
|
|
11
|
+
* trusted for derivable facts, only for the semantic fields (target/intent/oracle).
|
|
12
|
+
*/
|
|
13
|
+
import { CoverageVariant, MatrixFinding } from './types';
|
|
14
|
+
import { BuildInputs } from './build';
|
|
15
|
+
export interface GateContext {
|
|
16
|
+
inputs: BuildInputs;
|
|
17
|
+
variants: CoverageVariant[];
|
|
18
|
+
variantsByVp: Map<string, CoverageVariant[]>;
|
|
19
|
+
}
|
|
20
|
+
export declare function runGates(ctx: GateContext): MatrixFinding[];
|
|
21
|
+
//# sourceMappingURL=gates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../../../src/exporters/matrix/gates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAyB,MAAM,SAAS,CAAC;AAChF,OAAO,EAAgB,WAAW,EAAE,MAAM,SAAS,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;CAC9C;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,GAAG,aAAa,EAAE,CAW1D"}
|