@dzhechkov/harness-core 0.8.24 → 0.8.26
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/.dz-manifest.json +153 -33
- package/README.md +150 -4
- package/dist/confirmation-file-gate.d.ts +20 -0
- package/dist/confirmation-file-gate.d.ts.map +1 -0
- package/dist/confirmation-file-gate.js +76 -0
- package/dist/confirmation-file-gate.js.map +1 -0
- package/dist/contract-checklist.d.ts +1 -0
- package/dist/contract-checklist.d.ts.map +1 -1
- package/dist/contract-checklist.js +7 -4
- package/dist/contract-checklist.js.map +1 -1
- package/dist/core-boundary.d.ts +11 -0
- package/dist/core-boundary.d.ts.map +1 -0
- package/dist/core-boundary.js +41 -0
- package/dist/core-boundary.js.map +1 -0
- package/dist/feature-adr-landing.d.ts +4 -2
- package/dist/feature-adr-landing.d.ts.map +1 -1
- package/dist/feature-adr-landing.js +5 -3
- package/dist/feature-adr-landing.js.map +1 -1
- package/dist/feature-tier.d.ts +4 -0
- package/dist/feature-tier.d.ts.map +1 -0
- package/dist/feature-tier.js +55 -0
- package/dist/feature-tier.js.map +1 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/journal.d.ts +27 -0
- package/dist/journal.d.ts.map +1 -0
- package/dist/journal.js +56 -0
- package/dist/journal.js.map +1 -0
- package/dist/loop-blobs.generated.d.ts +1 -1
- package/dist/loop-blobs.generated.d.ts.map +1 -1
- package/dist/loop-blobs.generated.js +10 -1
- package/dist/loop-blobs.generated.js.map +1 -1
- package/dist/patterns.d.ts +5 -0
- package/dist/patterns.d.ts.map +1 -1
- package/dist/patterns.js +16 -0
- package/dist/patterns.js.map +1 -1
- package/dist/publish.d.ts +19 -0
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +38 -16
- package/dist/publish.js.map +1 -1
- package/dist/run-cleanup.d.ts +26 -0
- package/dist/run-cleanup.d.ts.map +1 -0
- package/dist/run-cleanup.js +33 -0
- package/dist/run-cleanup.js.map +1 -0
- package/dist/run-registry.d.ts +61 -0
- package/dist/run-registry.d.ts.map +1 -0
- package/dist/run-registry.js +163 -0
- package/dist/run-registry.js.map +1 -0
- package/package.json +7 -7
- package/sbom.json +332 -32
- package/src/confirmation-file-gate.ts +85 -0
- package/src/contract-checklist.ts +11 -5
- package/src/core-boundary.ts +43 -0
- package/src/feature-adr-landing.ts +8 -4
- package/src/feature-tier.ts +56 -0
- package/src/index.ts +9 -1
- package/src/journal.ts +54 -0
- package/src/loop-blobs.generated.ts +10 -1
- package/src/patterns.ts +18 -0
- package/src/publish.ts +49 -13
- package/src/run-cleanup.ts +38 -0
- package/src/run-registry.ts +153 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
const CONFIRMATION_HEADING = '## Confirmation';
|
|
2
|
+
const TEST_FILE_TOKEN = /[A-Za-z0-9@._*-]+(?:\/[A-Za-z0-9@._*-]+)+\.(?:[cm]?[jt]sx?|py|sh)/g;
|
|
3
|
+
function confirmationSections(text) {
|
|
4
|
+
const lines = text.replace(/\r\n?/g, '\n').split('\n');
|
|
5
|
+
const starts = [];
|
|
6
|
+
for (let index = 0; index < lines.length; index++) {
|
|
7
|
+
const line = lines[index] ?? '';
|
|
8
|
+
if (line === CONFIRMATION_HEADING || line.startsWith(`${CONFIRMATION_HEADING} `)) {
|
|
9
|
+
starts.push(index);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
if (starts.length !== 1)
|
|
13
|
+
return [];
|
|
14
|
+
const start = starts[0];
|
|
15
|
+
let end = lines.length;
|
|
16
|
+
for (let index = start + 1; index < lines.length; index++) {
|
|
17
|
+
if (/^## (?!#)\S/.test(lines[index] ?? '')) {
|
|
18
|
+
end = index;
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return [lines.slice(start + 1, end).join('\n')];
|
|
23
|
+
}
|
|
24
|
+
function testPaths(section) {
|
|
25
|
+
const paths = [];
|
|
26
|
+
for (const match of section.matchAll(TEST_FILE_TOKEN)) {
|
|
27
|
+
const path = match[0];
|
|
28
|
+
const testNamed = /(?:^|\/)(?:test|tests)\//.test(path)
|
|
29
|
+
|| /\.(?:test|spec)\.[cm]?[jt]sx?$/.test(path)
|
|
30
|
+
|| /(?:^|\/)[A-Za-z0-9@._-]+-test\.(?:py|sh)$/.test(path);
|
|
31
|
+
if (testNamed && !paths.includes(path))
|
|
32
|
+
paths.push(path);
|
|
33
|
+
}
|
|
34
|
+
return paths;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Pure Step-8 policy. The caller owns filesystem access and injects a predicate that returns true
|
|
38
|
+
* only for a readable regular file. Throwing is a named refusal, never laundered into a skip.
|
|
39
|
+
*/
|
|
40
|
+
export function checkConfirmationFiles(adrTexts, exists) {
|
|
41
|
+
if (adrTexts.length === 0)
|
|
42
|
+
return { verdict: 'skipped', reason: 'no-adr' };
|
|
43
|
+
const paths = [];
|
|
44
|
+
for (let index = 0; index < adrTexts.length; index++) {
|
|
45
|
+
const sections = confirmationSections(adrTexts[index] ?? '');
|
|
46
|
+
if (sections.length !== 1) {
|
|
47
|
+
return { verdict: 'refused', reason: `ADR ${index + 1} has no unique readable Confirmation section` };
|
|
48
|
+
}
|
|
49
|
+
const parsed = testPaths(sections[0]);
|
|
50
|
+
if (parsed.length === 0) {
|
|
51
|
+
return { verdict: 'refused', reason: `ADR ${index + 1} Confirmation contains no parseable test path` };
|
|
52
|
+
}
|
|
53
|
+
for (const path of parsed) {
|
|
54
|
+
if (path.includes('*')) {
|
|
55
|
+
return { verdict: 'refused', reason: `cannot inspect ${path}: test path is not literal` };
|
|
56
|
+
}
|
|
57
|
+
if (!paths.includes(path))
|
|
58
|
+
paths.push(path);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const missing = [];
|
|
62
|
+
for (const path of paths) {
|
|
63
|
+
try {
|
|
64
|
+
if (!exists(path))
|
|
65
|
+
missing.push(path);
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
69
|
+
return { verdict: 'refused', reason: `cannot inspect ${path}: ${detail}` };
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return missing.length > 0
|
|
73
|
+
? { verdict: 'fail', missing }
|
|
74
|
+
: { verdict: 'pass', checked: paths };
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=confirmation-file-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirmation-file-gate.js","sourceRoot":"","sources":["../src/confirmation-file-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ export interface ContractSourceArtifact {
|
|
|
17
17
|
export interface ContractChecklistSource {
|
|
18
18
|
readonly requirements: ContractSourceArtifact;
|
|
19
19
|
readonly adrs: readonly ContractSourceArtifact[];
|
|
20
|
+
readonly adrsOptional?: boolean;
|
|
20
21
|
}
|
|
21
22
|
export interface ContractItem {
|
|
22
23
|
readonly id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-checklist.d.ts","sourceRoot":"","sources":["../src/contract-checklist.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,yBAAyB,EAAG,sBAA+B,CAAC;AACzE,eAAO,MAAM,uBAAuB,EAAG,8BAAuC,CAAC;AAE/E,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,kBAAkB,CAAC;AAC7E,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,OAAO,GAAG,cAAc,CAAC;AAC/D,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC;AACvE,MAAM,MAAM,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAElD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,SAAS,sBAAsB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"contract-checklist.d.ts","sourceRoot":"","sources":["../src/contract-checklist.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
export const CONTRACT_CHECKLIST_SCHEMA = 'contract-checklist/1';
|
|
8
8
|
export const CONTRACT_VERDICT_SCHEMA = 'contract-checklist-verdict/1';
|
|
9
9
|
const REQUIREMENTS_HEADING = '## Acceptance criteria';
|
|
10
|
+
const REQUIREMENTS_HEADINGS = [REQUIREMENTS_HEADING, '## Критерии приёмки'];
|
|
10
11
|
const CONFIRMATION_HEADING = '## Confirmation';
|
|
11
12
|
const VERDICT_HEADING = '## Contract checklist';
|
|
12
13
|
const REQUIREMENTS_FORMAT_LINE = 'Format: Every acceptance criterion below is exactly one physical line matching `^AC-([1-9][0-9]*): (\\S.*)$`; identifiers are contiguous from `AC-1`, and only the literal H2 `## Acceptance criteria` establishes this source section.';
|
|
@@ -20,7 +21,8 @@ function linesOf(text) {
|
|
|
20
21
|
function h2Indexes(lines, heading) {
|
|
21
22
|
const indexes = [];
|
|
22
23
|
for (let index = 0; index < lines.length; index++) {
|
|
23
|
-
|
|
24
|
+
const line = lines[index] ?? '';
|
|
25
|
+
if (typeof heading === 'string' ? line === heading : heading(line))
|
|
24
26
|
indexes.push(index);
|
|
25
27
|
}
|
|
26
28
|
return indexes;
|
|
@@ -37,7 +39,7 @@ function diagnostic(code, message, fields = {}) {
|
|
|
37
39
|
}
|
|
38
40
|
function acceptanceItems(artifact, diagnostics) {
|
|
39
41
|
const lines = linesOf(artifact.text);
|
|
40
|
-
const headings = h2Indexes(lines,
|
|
42
|
+
const headings = h2Indexes(lines, (line) => REQUIREMENTS_HEADINGS.includes(line));
|
|
41
43
|
if (headings.length !== 1) {
|
|
42
44
|
diagnostics.push(diagnostic(headings.length === 0 ? 'requirements-section-missing' : 'requirements-section-duplicate', `expected exactly one ${REQUIREMENTS_HEADING} section; found ${headings.length}`, { artifact: artifact.path, section: REQUIREMENTS_HEADING, observed: headings.length }));
|
|
43
45
|
return [];
|
|
@@ -100,7 +102,8 @@ function confirmationItem(artifact, diagnostics) {
|
|
|
100
102
|
return null;
|
|
101
103
|
}
|
|
102
104
|
const lines = linesOf(artifact.text);
|
|
103
|
-
const headings = h2Indexes(lines, CONFIRMATION_HEADING
|
|
105
|
+
const headings = h2Indexes(lines, (line) => line === CONFIRMATION_HEADING
|
|
106
|
+
|| line.startsWith(`${CONFIRMATION_HEADING} `));
|
|
104
107
|
if (headings.length !== 1) {
|
|
105
108
|
diagnostics.push(diagnostic(headings.length === 0 ? 'confirmation-section-missing' : 'confirmation-section-duplicate', `expected exactly one ${CONFIRMATION_HEADING} section; found ${headings.length}`, { artifact: artifact.path, section: CONFIRMATION_HEADING, observed: headings.length }));
|
|
106
109
|
return null;
|
|
@@ -160,7 +163,7 @@ export function extractContractChecklist(input) {
|
|
|
160
163
|
const diagnostics = [];
|
|
161
164
|
const requirements = acceptanceItems(input.requirements, diagnostics);
|
|
162
165
|
validateAcceptanceIds(requirements, input.requirements, diagnostics);
|
|
163
|
-
if (input.adrs.length === 0) {
|
|
166
|
+
if (input.adrs.length === 0 && input.adrsOptional !== true) {
|
|
164
167
|
diagnostics.push(diagnostic('adr-input-empty', 'at least one direct canonical ADR Markdown file is required', { section: CONFIRMATION_HEADING, observed: 0 }));
|
|
165
168
|
}
|
|
166
169
|
const adrBasename = (path) => path.replace(/\\/g, '/').split('/').at(-1) ?? '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-checklist.js","sourceRoot":"","sources":["../src/contract-checklist.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contract-checklist.js","sourceRoot":"","sources":["../src/contract-checklist.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Internal test scanner: parsing keeps comments and literal text out of code visits. */
|
|
2
|
+
export declare function findProcessAccessInCode(source: string): Array<{
|
|
3
|
+
line: number;
|
|
4
|
+
kind: string;
|
|
5
|
+
}>;
|
|
6
|
+
/** Count import declarations, import-equals, require and dynamic imports, not mentions. */
|
|
7
|
+
export declare function countIoImports(source: string, modules?: readonly string[]): {
|
|
8
|
+
files: number;
|
|
9
|
+
imports: number;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=core-boundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-boundary.d.ts","sourceRoot":"","sources":["../src/core-boundary.ts"],"names":[],"mappings":"AAEA,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAY7F;AAED,2FAA2F;AAC3F,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,SAAS,MAAM,EAAoF,GAC3G;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAqBpC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
/** Internal test scanner: parsing keeps comments and literal text out of code visits. */
|
|
3
|
+
export function findProcessAccessInCode(source) {
|
|
4
|
+
const file = ts.createSourceFile('boundary.ts', source, ts.ScriptTarget.Latest, true);
|
|
5
|
+
const hits = [];
|
|
6
|
+
function visit(node) {
|
|
7
|
+
if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.expression)
|
|
8
|
+
&& node.expression.text === 'process' && ['argv', 'exit'].includes(node.name.text)) {
|
|
9
|
+
hits.push({ line: file.getLineAndCharacterOfPosition(node.getStart(file)).line + 1, kind: node.name.text });
|
|
10
|
+
}
|
|
11
|
+
ts.forEachChild(node, visit);
|
|
12
|
+
}
|
|
13
|
+
visit(file);
|
|
14
|
+
return hits;
|
|
15
|
+
}
|
|
16
|
+
/** Count import declarations, import-equals, require and dynamic imports, not mentions. */
|
|
17
|
+
export function countIoImports(source, modules = ['node:fs', 'fs', 'node:child_process', 'child_process', 'node:https', 'https']) {
|
|
18
|
+
const file = ts.createSourceFile('boundary.ts', source, ts.ScriptTarget.Latest, true);
|
|
19
|
+
let imports = 0;
|
|
20
|
+
function visit(node) {
|
|
21
|
+
let specifier;
|
|
22
|
+
if (ts.isImportDeclaration(node))
|
|
23
|
+
specifier = node.moduleSpecifier;
|
|
24
|
+
else if (ts.isImportEqualsDeclaration(node) && ts.isExternalModuleReference(node.moduleReference)) {
|
|
25
|
+
specifier = node.moduleReference.expression;
|
|
26
|
+
}
|
|
27
|
+
else if (ts.isCallExpression(node)
|
|
28
|
+
&& (node.expression.kind === ts.SyntaxKind.ImportKeyword
|
|
29
|
+
|| (ts.isIdentifier(node.expression) && node.expression.text === 'require'))) {
|
|
30
|
+
specifier = node.arguments[0];
|
|
31
|
+
}
|
|
32
|
+
if (specifier && ts.isStringLiteralLike(specifier)
|
|
33
|
+
&& modules.some((name) => specifier.text === name || specifier.text.startsWith(`${name}/`))) {
|
|
34
|
+
imports += 1;
|
|
35
|
+
}
|
|
36
|
+
ts.forEachChild(node, visit);
|
|
37
|
+
}
|
|
38
|
+
visit(file);
|
|
39
|
+
return { files: imports > 0 ? 1 : 0, imports };
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=core-boundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-boundary.js","sourceRoot":"","sources":["../src/core-boundary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,yFAAyF;AACzF,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,MAAM,IAAI,GAAG,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtF,MAAM,IAAI,GAA0C,EAAE,CAAC;IACvD,SAAS,KAAK,CAAC,IAAa;QAC1B,IAAI,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;eACtE,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrF,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9G,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,UAA6B,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,CAAC;IAE5G,MAAM,IAAI,GAAG,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtF,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,SAAS,KAAK,CAAC,IAAa;QAC1B,IAAI,SAA8B,CAAC;QACnC,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAAE,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;aAC9D,IAAI,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAClG,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;QAC9C,CAAC;aAAM,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;eAC/B,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa;mBACnD,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC;YACjF,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,SAAS,IAAI,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC;eAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9F,OAAO,IAAI,CAAC,CAAC;QACf,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { probePid } from './run-registry.js';
|
|
1
2
|
/** Pure decisions for the Step-7.5 Codex companion liveness barrier. */
|
|
2
3
|
export declare const DEFAULT_CODE_LANDING_CEILING_MS = 7200000;
|
|
3
4
|
export declare const CODE_LANDING_CEILING_ENV = "DZ_FEATURE_ADR_CODE_LANDING_CEILING_MS";
|
|
@@ -5,7 +6,8 @@ export type CodeLandingLivenessVerdict = 'coder-running' | 'landed' | 'genuinely
|
|
|
5
6
|
export type CodeLandingLivenessReason = 'recorded-pid-alive' | 'recorded-pid-absent' | 'terminal-companion' | 'ceiling-exceeded' | 'companion-probe-error' | 'unparseable-companion-status' | 'recorded-pid-unavailable' | 'git-evidence-unavailable' | 'reported-zero-touched-files';
|
|
6
7
|
export interface CodeLandingLivenessInput {
|
|
7
8
|
readonly companionStatus: unknown;
|
|
8
|
-
readonly recordedPidAlive
|
|
9
|
+
readonly recordedPidAlive?: boolean | null;
|
|
10
|
+
readonly recordedPid?: number;
|
|
9
11
|
readonly targetsChanged: boolean | null;
|
|
10
12
|
readonly elapsedMs: number;
|
|
11
13
|
readonly ceilingMs: number;
|
|
@@ -22,7 +24,7 @@ export interface CodeLandingLivenessDecision {
|
|
|
22
24
|
readonly verdict: CodeLandingLivenessVerdict;
|
|
23
25
|
readonly reason: CodeLandingLivenessReason;
|
|
24
26
|
}
|
|
25
|
-
export declare function decideCodeLandingLiveness(input: CodeLandingLivenessInput): CodeLandingLivenessDecision;
|
|
27
|
+
export declare function decideCodeLandingLiveness(input: CodeLandingLivenessInput, pidProbe?: typeof probePid): CodeLandingLivenessDecision;
|
|
26
28
|
export declare function extractCodexCompanionJobId(text: unknown): string | null;
|
|
27
29
|
export interface CodeLandingLivenessProbe {
|
|
28
30
|
readonly companionStatus: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-adr-landing.d.ts","sourceRoot":"","sources":["../src/feature-adr-landing.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,eAAO,MAAM,+BAA+B,UAAY,CAAC;AACzD,eAAO,MAAM,wBAAwB,2CAA2C,CAAC;AAEjF,MAAM,MAAM,0BAA0B,GAClC,eAAe,GACf,QAAQ,GACR,sBAAsB,GACtB,sBAAsB,GACtB,aAAa,GACb,cAAc,CAAC;AAEnB,MAAM,MAAM,yBAAyB,GACjC,oBAAoB,GACpB,qBAAqB,GACrB,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,GACvB,8BAA8B,GAC9B,0BAA0B,GAC1B,0BAA0B,GAC1B,6BAA6B,CAAC;AAElC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"feature-adr-landing.d.ts","sourceRoot":"","sources":["../src/feature-adr-landing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,wEAAwE;AAExE,eAAO,MAAM,+BAA+B,UAAY,CAAC;AACzD,eAAO,MAAM,wBAAwB,2CAA2C,CAAC;AAEjF,MAAM,MAAM,0BAA0B,GAClC,eAAe,GACf,QAAQ,GACR,sBAAsB,GACtB,sBAAsB,GACtB,aAAa,GACb,cAAc,CAAC;AAEnB,MAAM,MAAM,yBAAyB,GACjC,oBAAoB,GACpB,qBAAqB,GACrB,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,GACvB,8BAA8B,GAC9B,0BAA0B,GAC1B,0BAA0B,GAC1B,6BAA6B,CAAC;AAElC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;CAC5C;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,EAAE,QAAQ,kBAAW,GAAG,2BAA2B,CA8B3H;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGvE;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9C;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,GAAG,wBAAwB,GAAG,IAAI,CAiB7F"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
+
import { probePid } from './run-registry.js';
|
|
1
2
|
/** Pure decisions for the Step-7.5 Codex companion liveness barrier. */
|
|
2
3
|
export const DEFAULT_CODE_LANDING_CEILING_MS = 7_200_000;
|
|
3
4
|
export const CODE_LANDING_CEILING_ENV = 'DZ_FEATURE_ADR_CODE_LANDING_CEILING_MS';
|
|
4
|
-
export function decideCodeLandingLiveness(input) {
|
|
5
|
+
export function decideCodeLandingLiveness(input, pidProbe = probePid) {
|
|
5
6
|
const status = typeof input.companionStatus === 'string' ? input.companionStatus.trim().toLowerCase() : '';
|
|
6
7
|
const elapsedMs = Number.isFinite(input.elapsedMs) ? Math.max(0, input.elapsedMs) : 0;
|
|
7
8
|
const ceilingMs = Number.isFinite(input.ceilingMs) && input.ceilingMs > 0 ? input.ceilingMs : DEFAULT_CODE_LANDING_CEILING_MS;
|
|
9
|
+
const recordedPidAlive = input.recordedPidAlive === undefined ? (input.recordedPid === undefined ? null : pidProbe(input.recordedPid)) : input.recordedPidAlive;
|
|
8
10
|
const live = status === 'running' || status === 'queued';
|
|
9
11
|
const terminal = status === 'completed' || status === 'failed' || status === 'cancelled';
|
|
10
|
-
if (live &&
|
|
12
|
+
if (live && recordedPidAlive === false) {
|
|
11
13
|
return { verdict: 'dead-worker', reason: 'recorded-pid-absent' };
|
|
12
14
|
}
|
|
13
|
-
if (live &&
|
|
15
|
+
if (live && recordedPidAlive === true) {
|
|
14
16
|
if (elapsedMs >= ceilingMs)
|
|
15
17
|
return { verdict: 'inconclusive', reason: 'ceiling-exceeded' };
|
|
16
18
|
return { verdict: 'coder-running', reason: 'recorded-pid-alive' };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-adr-landing.js","sourceRoot":"","sources":["../src/feature-adr-landing.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,MAAM,CAAC,MAAM,+BAA+B,GAAG,SAAS,CAAC;AACzD,MAAM,CAAC,MAAM,wBAAwB,GAAG,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"feature-adr-landing.js","sourceRoot":"","sources":["../src/feature-adr-landing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { FeatureTier } from './guard-volume.js';
|
|
2
|
+
export declare function parseFeatureTier(text: string): FeatureTier | null;
|
|
3
|
+
export declare function readFeatureTier(read: (rel: string) => string | null, slug: string): FeatureTier | null;
|
|
4
|
+
//# sourceMappingURL=feature-tier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-tier.d.ts","sourceRoot":"","sources":["../src/feature-tier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA0BrD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAqBjE;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,EACpC,IAAI,EAAE,MAAM,GACX,WAAW,GAAG,IAAI,CAGpB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
function tiersAfterMarkers(line) {
|
|
2
|
+
if (!/^\s*(?:##\s*)?(?:\*\*)?(?:Tier|Тир)(?=$|[\s:*])/iu.test(line))
|
|
3
|
+
return [];
|
|
4
|
+
const tiers = [];
|
|
5
|
+
for (const marker of line.matchAll(/Tier|Тир/giu)) {
|
|
6
|
+
const markerIndex = marker.index ?? 0;
|
|
7
|
+
const previous = line[markerIndex - 1];
|
|
8
|
+
if (previous !== undefined && /[\p{L}\p{N}_]/u.test(previous))
|
|
9
|
+
continue;
|
|
10
|
+
const tail = line.slice(markerIndex + marker[0].length);
|
|
11
|
+
// A template line lists several tiers after one marker («Tier: S / M / L / XL», «Tier: S|M») — every
|
|
12
|
+
// listed token is a candidate, so the caller sees the ambiguity instead of the first token (QE 08c #1).
|
|
13
|
+
const match = tail.match(/^(?:\s*:\s*|\s+)(?:\*\*)?\s*(XL|[SML])((?:\s*[/|,]\s*(?:XL|[SML]))*)(?=$|[\s.*)—–-])/iu);
|
|
14
|
+
if (match?.[1] !== undefined) {
|
|
15
|
+
tiers.push(match[1].toUpperCase());
|
|
16
|
+
for (const extra of (match[2] ?? '').matchAll(/XL|[SML]/giu))
|
|
17
|
+
tiers.push(extra[0].toUpperCase());
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return tiers;
|
|
21
|
+
}
|
|
22
|
+
function tierAtContinuationStart(line) {
|
|
23
|
+
const match = line.match(/^\s*(?:\*\*)?\s*(XL|[SML])(?=$|[\s:.*)—–-])/iu);
|
|
24
|
+
return match?.[1] === undefined ? null : match[1].toUpperCase();
|
|
25
|
+
}
|
|
26
|
+
export function parseFeatureTier(text) {
|
|
27
|
+
const lines = text.split(/\r?\n/);
|
|
28
|
+
const candidates = new Set();
|
|
29
|
+
for (let index = 0; index < lines.length; index += 1) {
|
|
30
|
+
const line = lines[index];
|
|
31
|
+
for (const inline of tiersAfterMarkers(line))
|
|
32
|
+
candidates.add(inline);
|
|
33
|
+
if (!/^\s*##\s*(?:Tier|Тир)\s*$/iu.test(line))
|
|
34
|
+
continue;
|
|
35
|
+
const continuation = lines.slice(index + 1).find((next) => next.trim() !== '');
|
|
36
|
+
if (continuation === undefined)
|
|
37
|
+
continue;
|
|
38
|
+
const continuedTiers = tiersAfterMarkers(continuation);
|
|
39
|
+
if (continuedTiers.length > 0) {
|
|
40
|
+
for (const nextTier of continuedTiers)
|
|
41
|
+
candidates.add(nextTier);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
const nextTier = tierAtContinuationStart(continuation);
|
|
45
|
+
if (nextTier !== null)
|
|
46
|
+
candidates.add(nextTier);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return candidates.size === 1 ? [...candidates][0] : null;
|
|
50
|
+
}
|
|
51
|
+
export function readFeatureTier(read, slug) {
|
|
52
|
+
const text = read(`features/${slug}/00_complexity_assessment.md`);
|
|
53
|
+
return text === null ? null : parseFeatureTier(text);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=feature-tier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-tier.js","sourceRoot":"","sources":["../src/feature-tier.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -56,7 +56,7 @@ export { tokenize, stemToken, stems } from './stem.js';
|
|
|
56
56
|
export * from './package-skill-layouts.js';
|
|
57
57
|
export { recommend } from './recommend.js';
|
|
58
58
|
export { pretrain } from './pretrain.js';
|
|
59
|
-
export { loadPatterns, loadSessions, computePatternBoost, readLearningConfig, readMemoryLearningConfig, BOOST_CAP, recordPattern, recordLessonForms, loadStorePatternsSync, loadStoreRecords, patternToRecord, recordToPattern, patternRecordId, patternIdentityOf, dreamRecordId, isMirrorableLearning, consolidateSessions, recallPatterns, pruneNoisePatterns, removePatternsByIds, snapshotStore, readReinforcementState, encodeReinforcementState, reinforcePattern, updateReinforcementState, storeStats, lessonDeltaReport, lessonDeltaMap, readQuarantineState, encodeQuarantineState, promotePatterns, quarantineExpiryCandidates, pruneQuarantinePatterns } from './patterns.js';
|
|
59
|
+
export { loadPatterns, loadSessions, computePatternBoost, readLearningConfig, readMemoryLearningConfig, BOOST_CAP, recordPattern, recordLessonForms, loadStorePatternsSync, loadStoreRecords, findExactLesson, patternToRecord, recordToPattern, patternRecordId, patternIdentityOf, dreamRecordId, isMirrorableLearning, consolidateSessions, recallPatterns, pruneNoisePatterns, removePatternsByIds, snapshotStore, readReinforcementState, encodeReinforcementState, reinforcePattern, updateReinforcementState, storeStats, lessonDeltaReport, lessonDeltaMap, readQuarantineState, encodeQuarantineState, promotePatterns, quarantineExpiryCandidates, pruneQuarantinePatterns } from './patterns.js';
|
|
60
60
|
export { normalizeLessonForms, validateClassTemplate, lessonPairIdOf, mergeLessonFormHits, mergeLessonMatchedForms } from './lesson-generalization.js';
|
|
61
61
|
export { withStoreLock, withStoreLockSync, storeLockPath, StoreLockTimeoutError, StoreLockCompromisedError, STALE_LOCK_MS, LOCK_TIMEOUT_MS } from './store-lock.js';
|
|
62
62
|
export type { StoreLockOptions } from './store-lock.js';
|
|
@@ -116,6 +116,7 @@ export type { RecordKind, RecordVerdict, RecordDecision } from './run-records.js
|
|
|
116
116
|
export type { AmendmentAmbiguity, AmendmentRow, AmendmentVerdict, AmendmentResolution, AmendmentOutcome, AmendmentDecision, PlanCoverageGap } from './amendment-trace.js';
|
|
117
117
|
export { extractContractChecklist, renderContractChecklist, parseContractVerdictReport, verifyContractVerdicts, } from './contract-checklist.js';
|
|
118
118
|
export type { ContractSourceKind, ContractVerdict, ContractObservedOutcome, ContractGrade, ContractSourceArtifact, ContractChecklistSource, ContractItem, ContractChecklist, ContractDiagnostic, ContractChecklistResult, ContractVerdictEvidence, ContractVerdictItem, ContractVerdictReport, ContractVerdictParseResult, ContractEvidenceReadResult, ContractEvidenceReader, ContractItemVerification, ContractVerificationCounts, ContractVerification, } from './contract-checklist.js';
|
|
119
|
+
export * from './feature-tier.js';
|
|
119
120
|
export { DOMAIN_LIFT_EXACT, DOMAIN_LIFT_RELATED, normalizeDomain, domainMatch, applyDomainBoost, countDisplacedByCut, renderDomainBoostNote, renderDomainCutNote, } from './recall-domain-boost.js';
|
|
120
121
|
export type { DomainMatch, DomainBoostResult } from './recall-domain-boost.js';
|
|
121
122
|
export { DEFAULT_HELD_OUT_DOMAINS, applyExportHoldout, canonicalDomainKey, heldOutAfterOptIn, renderHoldoutNote, renderSharedStoreAdvice, decideVectorExport, } from './export-holdout.js';
|
|
@@ -230,4 +231,9 @@ export { generateClaudeDestructiveHook, CLAUDE_DESTRUCTIVE_HOOK_COMMAND, CLAUDE_
|
|
|
230
231
|
export type { ClaudeHookAssetOptions } from './claude-hooks-assets.js';
|
|
231
232
|
export { harnessCoreDistDir, harnessCoreModuleDir } from './harness-core-location.js';
|
|
232
233
|
export { maskMarkdown } from './markdown-masker.js';
|
|
234
|
+
export * from './confirmation-file-gate.js';
|
|
235
|
+
export * from './run-registry.js';
|
|
236
|
+
export { JOURNAL_KINDS, formatLine, parseLine, selectWindow, appendWitnessed } from './journal.js';
|
|
237
|
+
export type { JournalKind, JournalEvent, JournalLine, JournalIo } from './journal.js';
|
|
238
|
+
export * from './run-cleanup.js';
|
|
233
239
|
//# sourceMappingURL=index.d.ts.map
|