@substrate-ai/sdlc 0.20.21 → 0.20.23
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-ac-fidelity-check.d.ts","sourceRoot":"","sources":["../../src/verification/source-ac-fidelity-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EAEnB,kBAAkB,EACnB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"source-ac-fidelity-check.d.ts","sourceRoot":"","sources":["../../src/verification/source-ac-fidelity-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EAEnB,kBAAkB,EACnB,MAAM,YAAY,CAAA;AA2PnB,qBAAa,qBAAsB,YAAW,iBAAiB;IAC7D,QAAQ,CAAC,IAAI,wBAAuB;IACpC,QAAQ,CAAC,IAAI,EAAG,GAAG,CAAS;IAEtB,GAAG,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAsIrE"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* No LLM calls, no shell execution — pure in-memory literal substring matching.
|
|
15
15
|
*/
|
|
16
|
-
import { existsSync, readdirSync, statSync } from 'node:fs';
|
|
16
|
+
import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
|
|
17
17
|
import { basename, join } from 'node:path';
|
|
18
18
|
import { renderFindings } from './findings.js';
|
|
19
19
|
// ---------------------------------------------------------------------------
|
|
@@ -100,6 +100,77 @@ function pathSatisfiedByCode(workingDir, pathClause) {
|
|
|
100
100
|
}
|
|
101
101
|
return false;
|
|
102
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Story 60-3 (Sprint 11B): check whether the path clause is referenced from
|
|
105
|
+
* THIS story's modified files. Strata obs_2026-04-25_011 surfaced a case where
|
|
106
|
+
* `pathSatisfiedByCode` returned true (path exists in repo) but the story's
|
|
107
|
+
* own code did not actually use the path — the directory was created earlier
|
|
108
|
+
* by a different story (1-17 in strata's case) and 1-10's `packages/memory-mcp/`
|
|
109
|
+
* code never imported `packages/mesh-agent`. The fidelity check then annotated
|
|
110
|
+
* the missing path as "stylistic drift — code satisfies it", obscuring real
|
|
111
|
+
* under-delivery.
|
|
112
|
+
*
|
|
113
|
+
* This check closes that gap: when path exists in repo AND a list of
|
|
114
|
+
* modified files is available, scan those modified files for an import /
|
|
115
|
+
* require / use reference to the path's basename. If references exist, the
|
|
116
|
+
* story's code does use the path → genuinely stylistic drift. If references
|
|
117
|
+
* are absent, the story's code does not use the path → architectural
|
|
118
|
+
* under-delivery (downgrade severity from warn to error).
|
|
119
|
+
*
|
|
120
|
+
* Conservative behavior: when modifiedFiles is empty (dev didn't report a
|
|
121
|
+
* file list, or a Tier B re-verification context), preserves the existing
|
|
122
|
+
* "code satisfies → warn" behavior. Only TIGHTENS when authoritative
|
|
123
|
+
* file-list signal is present.
|
|
124
|
+
*/
|
|
125
|
+
function pathReferencedInModifiedFiles(workingDir, pathClause, modifiedFiles) {
|
|
126
|
+
if (modifiedFiles.length === 0)
|
|
127
|
+
return true; // no signal → benefit of doubt
|
|
128
|
+
const raw = pathClause.replace(/^`/, '').replace(/`$/, '');
|
|
129
|
+
// Use the final non-extension segment as the lookup token. For
|
|
130
|
+
// `packages/mesh-agent` → token `mesh-agent`. For `path/to/foo.ts` → token `foo`.
|
|
131
|
+
const baseWithExt = basename(raw);
|
|
132
|
+
const token = baseWithExt.replace(/\.[a-z]+$/i, '');
|
|
133
|
+
// Tokens shorter than 3 chars are too generic to be meaningful (e.g., `db`,
|
|
134
|
+
// `ts`) — give benefit of doubt to avoid false negatives.
|
|
135
|
+
if (token.length < 3)
|
|
136
|
+
return true;
|
|
137
|
+
// Build a separator-tolerant regex pattern. Cross-language imports normalize
|
|
138
|
+
// separators differently:
|
|
139
|
+
// TS/JS: `from '@foo/mesh-agent'` (kebab preserved)
|
|
140
|
+
// Python: `from mesh_agent import` (snake — Python identifiers can't have hyphens)
|
|
141
|
+
// Go: `import ".../mesh-agent"` (kebab preserved)
|
|
142
|
+
// Rust: `use mesh_agent::` (snake — Rust identifier rule)
|
|
143
|
+
// Replace `-` and `_` in the token with `[-_]` so kebab tokens match snake imports
|
|
144
|
+
// and vice versa. Escape other regex metacharacters.
|
|
145
|
+
const escapedSeparatorTolerant = token
|
|
146
|
+
.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
|
|
147
|
+
.replace(/[-_]/g, '[-_]');
|
|
148
|
+
// Import-style reference: line begins with import/from/require/use/mod
|
|
149
|
+
// (whitespace tolerated) and contains the token. Anchored to line start
|
|
150
|
+
// to avoid false-positives where the comment text "import" appears
|
|
151
|
+
// alongside a token reference (e.g., a comment like "# does NOT import X").
|
|
152
|
+
const importPattern = new RegExp(`^\\s*(?:import|from|require|use|mod)\\b[^\\n]*\\b${escapedSeparatorTolerant}\\b`, 'mi');
|
|
153
|
+
// Also catch package.json deps and other bare references that aren't
|
|
154
|
+
// imports per se but still indicate the story wired the path in.
|
|
155
|
+
const barePattern = new RegExp(`\\b${escapedSeparatorTolerant}\\b`, 'i');
|
|
156
|
+
for (const filePath of modifiedFiles) {
|
|
157
|
+
let content;
|
|
158
|
+
try {
|
|
159
|
+
content = readFileSync(join(workingDir, filePath), 'utf-8');
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
if (importPattern.test(content))
|
|
165
|
+
return true;
|
|
166
|
+
// For package.json or yaml config files, accept bare reference.
|
|
167
|
+
if (filePath.endsWith('package.json') || filePath.endsWith('.yaml') || filePath.endsWith('.yml') || filePath.endsWith('.toml')) {
|
|
168
|
+
if (barePattern.test(content))
|
|
169
|
+
return true;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
103
174
|
// ---------------------------------------------------------------------------
|
|
104
175
|
// Hard-clause extraction helpers
|
|
105
176
|
// ---------------------------------------------------------------------------
|
|
@@ -245,12 +316,36 @@ export class SourceAcFidelityCheck {
|
|
|
245
316
|
// false-positive-errored on relative paths; this restores the
|
|
246
317
|
// stylistic-vs-architectural distinction across path styles.
|
|
247
318
|
const existsInCode = pathSatisfiedByCode(context.workingDir, clause.text);
|
|
319
|
+
// Story 60-3 (Sprint 11B): tighten "code satisfies → stylistic
|
|
320
|
+
// drift" annotation. Strata obs_2026-04-25_011: path
|
|
321
|
+
// `packages/mesh-agent` existed in repo (created by Story 1.17)
|
|
322
|
+
// but 1-10's code never imported it; the check annotated the
|
|
323
|
+
// miss as stylistic drift, masking real under-delivery. When
|
|
324
|
+
// the dev-story result reports a list of modified files, check
|
|
325
|
+
// whether THIS story's code references the path. References
|
|
326
|
+
// present → genuinely stylistic. References absent → path
|
|
327
|
+
// exists from prior work but this story didn't wire it →
|
|
328
|
+
// architectural under-delivery.
|
|
329
|
+
const modifiedFiles = context.devStoryResult?.files_modified ?? [];
|
|
330
|
+
const referencedByStory = pathReferencedInModifiedFiles(context.workingDir, clause.text, modifiedFiles);
|
|
331
|
+
let severity;
|
|
332
|
+
let driftMessage;
|
|
333
|
+
if (!existsInCode) {
|
|
334
|
+
severity = 'error';
|
|
335
|
+
driftMessage = `${clause.type}: "${truncated}" present in epics source but absent in story artifact AND missing from code (architectural drift)`;
|
|
336
|
+
}
|
|
337
|
+
else if (!referencedByStory) {
|
|
338
|
+
severity = 'error';
|
|
339
|
+
driftMessage = `${clause.type}: "${truncated}" present in epics source but absent in story artifact AND code path exists in repo but THIS story's modified files do not reference it (under-delivery — code path was created by a different story; this story did not wire it in)`;
|
|
340
|
+
}
|
|
341
|
+
else {
|
|
342
|
+
severity = 'warn';
|
|
343
|
+
driftMessage = `${clause.type}: "${truncated}" present in epics source but absent in story artifact (code satisfies it — stylistic drift)`;
|
|
344
|
+
}
|
|
248
345
|
findings.push({
|
|
249
346
|
category: 'source-ac-drift',
|
|
250
|
-
severity
|
|
251
|
-
message:
|
|
252
|
-
? `${clause.type}: "${truncated}" present in epics source but absent in story artifact (code satisfies it — stylistic drift)`
|
|
253
|
-
: `${clause.type}: "${truncated}" present in epics source but absent in story artifact AND missing from code (architectural drift)`,
|
|
347
|
+
severity,
|
|
348
|
+
message: driftMessage,
|
|
254
349
|
});
|
|
255
350
|
}
|
|
256
351
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-ac-fidelity-check.js","sourceRoot":"","sources":["../../src/verification/source-ac-fidelity-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"source-ac-fidelity-check.js","sourceRoot":"","sources":["../../src/verification/source-ac-fidelity-check.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@substrate-ai/sdlc",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.23",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"node": ">=22.0.0"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@substrate-ai/core": "0.20.
|
|
27
|
+
"@substrate-ai/core": "0.20.23",
|
|
28
28
|
"js-yaml": "^4.1.1",
|
|
29
29
|
"zod": "^4.3.6"
|
|
30
30
|
},
|