open-wiki-spec 0.2.4 → 0.3.0
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/CHANGELOG.md +54 -0
- package/README.md +50 -3
- package/dist/cli/commands/apply.d.ts.map +1 -1
- package/dist/cli/commands/apply.js +96 -4
- package/dist/cli/commands/apply.js.map +1 -1
- package/dist/cli/commands/archive.d.ts.map +1 -1
- package/dist/cli/commands/archive.js +19 -5
- package/dist/cli/commands/archive.js.map +1 -1
- package/dist/cli/commands/bulk-archive.d.ts +15 -0
- package/dist/cli/commands/bulk-archive.d.ts.map +1 -0
- package/dist/cli/commands/bulk-archive.js +97 -0
- package/dist/cli/commands/bulk-archive.js.map +1 -0
- package/dist/cli/commands/continue.d.ts.map +1 -1
- package/dist/cli/commands/continue.js +15 -2
- package/dist/cli/commands/continue.js.map +1 -1
- package/dist/cli/commands/error-handler.d.ts +1 -5
- package/dist/cli/commands/error-handler.d.ts.map +1 -1
- package/dist/cli/commands/error-handler.js +48 -3
- package/dist/cli/commands/error-handler.js.map +1 -1
- package/dist/cli/commands/init.d.ts +0 -3
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +22 -4
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/list.d.ts +2 -17
- package/dist/cli/commands/list.d.ts.map +1 -1
- package/dist/cli/commands/list.js +15 -3
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/migrate.d.ts.map +1 -1
- package/dist/cli/commands/migrate.js +6 -9
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/propose.d.ts.map +1 -1
- package/dist/cli/commands/propose.js +46 -6
- package/dist/cli/commands/propose.js.map +1 -1
- package/dist/cli/commands/query.d.ts.map +1 -1
- package/dist/cli/commands/query.js +99 -4
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/cli/commands/retrieve.d.ts +7 -0
- package/dist/cli/commands/retrieve.d.ts.map +1 -0
- package/dist/cli/commands/retrieve.js +70 -0
- package/dist/cli/commands/retrieve.js.map +1 -0
- package/dist/cli/commands/revert.d.ts +18 -0
- package/dist/cli/commands/revert.d.ts.map +1 -0
- package/dist/cli/commands/revert.js +109 -0
- package/dist/cli/commands/revert.js.map +1 -0
- package/dist/cli/commands/status.d.ts +2 -19
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +42 -3
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/verify.d.ts.map +1 -1
- package/dist/cli/commands/verify.js +12 -1
- package/dist/cli/commands/verify.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +68 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/init-engine.d.ts.map +1 -1
- package/dist/cli/init/init-engine.js +19 -6
- package/dist/cli/init/init-engine.js.map +1 -1
- package/dist/cli/init/meta-files.d.ts +2 -1
- package/dist/cli/init/meta-files.d.ts.map +1 -1
- package/dist/cli/init/meta-files.js +167 -8
- package/dist/cli/init/meta-files.js.map +1 -1
- package/dist/cli/init/skill-generator.d.ts +3 -0
- package/dist/cli/init/skill-generator.d.ts.map +1 -1
- package/dist/cli/init/skill-generator.js +184 -3
- package/dist/cli/init/skill-generator.js.map +1 -1
- package/dist/cli/json-envelope.d.ts +15 -0
- package/dist/cli/json-envelope.d.ts.map +1 -0
- package/dist/cli/json-envelope.js +86 -0
- package/dist/cli/json-envelope.js.map +1 -0
- package/dist/cli/schema-check.d.ts +27 -0
- package/dist/cli/schema-check.d.ts.map +1 -0
- package/dist/cli/schema-check.js +33 -0
- package/dist/cli/schema-check.js.map +1 -0
- package/dist/cli/vault-discovery.d.ts.map +1 -1
- package/dist/cli/vault-discovery.js +16 -2
- package/dist/cli/vault-discovery.js.map +1 -1
- package/dist/core/embedding/cache.d.ts +12 -3
- package/dist/core/embedding/cache.d.ts.map +1 -1
- package/dist/core/embedding/cache.js +42 -5
- package/dist/core/embedding/cache.js.map +1 -1
- package/dist/core/embedding/embedder.d.ts.map +1 -1
- package/dist/core/embedding/embedder.js +73 -6
- package/dist/core/embedding/embedder.js.map +1 -1
- package/dist/core/index/build.d.ts.map +1 -1
- package/dist/core/index/build.js +54 -6
- package/dist/core/index/build.js.map +1 -1
- package/dist/core/index/resolve.d.ts.map +1 -1
- package/dist/core/index/resolve.js +27 -12
- package/dist/core/index/resolve.js.map +1 -1
- package/dist/core/index/scan.d.ts +10 -1
- package/dist/core/index/scan.d.ts.map +1 -1
- package/dist/core/index/scan.js +59 -10
- package/dist/core/index/scan.js.map +1 -1
- package/dist/core/index/schema-version.d.ts +28 -0
- package/dist/core/index/schema-version.d.ts.map +1 -1
- package/dist/core/index/schema-version.js +47 -0
- package/dist/core/index/schema-version.js.map +1 -1
- package/dist/core/migrate/change-converter.d.ts.map +1 -1
- package/dist/core/migrate/change-converter.js +52 -5
- package/dist/core/migrate/change-converter.js.map +1 -1
- package/dist/core/migrate/migrate.d.ts.map +1 -1
- package/dist/core/migrate/migrate.js +115 -1
- package/dist/core/migrate/migrate.js.map +1 -1
- package/dist/core/migrate/spec-converter.js +5 -0
- package/dist/core/migrate/spec-converter.js.map +1 -1
- package/dist/core/migrate/types.d.ts +9 -0
- package/dist/core/migrate/types.d.ts.map +1 -1
- package/dist/core/parser/frontmatter-parser.d.ts +0 -6
- package/dist/core/parser/frontmatter-parser.d.ts.map +1 -1
- package/dist/core/parser/frontmatter-parser.js +59 -2
- package/dist/core/parser/frontmatter-parser.js.map +1 -1
- package/dist/core/parser/requirement-parser.js +4 -0
- package/dist/core/parser/requirement-parser.js.map +1 -1
- package/dist/core/parser/task-parser.d.ts.map +1 -1
- package/dist/core/parser/task-parser.js +19 -0
- package/dist/core/parser/task-parser.js.map +1 -1
- package/dist/core/parser/wikilink-parser.d.ts.map +1 -1
- package/dist/core/parser/wikilink-parser.js +21 -5
- package/dist/core/parser/wikilink-parser.js.map +1 -1
- package/dist/core/retrieval/classify.d.ts +11 -4
- package/dist/core/retrieval/classify.d.ts.map +1 -1
- package/dist/core/retrieval/classify.js +76 -14
- package/dist/core/retrieval/classify.js.map +1 -1
- package/dist/core/retrieval/lexical.d.ts.map +1 -1
- package/dist/core/retrieval/lexical.js +31 -12
- package/dist/core/retrieval/lexical.js.map +1 -1
- package/dist/core/retrieval/retrieve.d.ts.map +1 -1
- package/dist/core/retrieval/retrieve.js +45 -5
- package/dist/core/retrieval/retrieve.js.map +1 -1
- package/dist/core/retrieval/scoring.d.ts.map +1 -1
- package/dist/core/retrieval/scoring.js +37 -12
- package/dist/core/retrieval/scoring.js.map +1 -1
- package/dist/core/schema/change.schema.d.ts.map +1 -1
- package/dist/core/schema/change.schema.js +6 -1
- package/dist/core/schema/change.schema.js.map +1 -1
- package/dist/core/schema/feature.schema.d.ts +1 -1
- package/dist/core/schema/feature.schema.d.ts.map +1 -1
- package/dist/core/schema/feature.schema.js +1 -0
- package/dist/core/schema/feature.schema.js.map +1 -1
- package/dist/core/schema/frontmatter.d.ts +15 -0
- package/dist/core/schema/frontmatter.d.ts.map +1 -1
- package/dist/core/schema/index.d.ts +15 -0
- package/dist/core/schema/index.d.ts.map +1 -1
- package/dist/core/schema/query.schema.d.ts +15 -0
- package/dist/core/schema/query.schema.d.ts.map +1 -1
- package/dist/core/schema/query.schema.js +5 -0
- package/dist/core/schema/query.schema.js.map +1 -1
- package/dist/core/schema/templates.d.ts +0 -4
- package/dist/core/schema/templates.d.ts.map +1 -1
- package/dist/core/schema/templates.js +25 -7
- package/dist/core/schema/templates.js.map +1 -1
- package/dist/core/sequencing/analyze.d.ts.map +1 -1
- package/dist/core/sequencing/analyze.js +3 -1
- package/dist/core/sequencing/analyze.js.map +1 -1
- package/dist/core/sequencing/priority-queue.d.ts +9 -3
- package/dist/core/sequencing/priority-queue.d.ts.map +1 -1
- package/dist/core/sequencing/priority-queue.js +10 -4
- package/dist/core/sequencing/priority-queue.js.map +1 -1
- package/dist/core/sequencing/stale-detector.d.ts.map +1 -1
- package/dist/core/sequencing/stale-detector.js +5 -0
- package/dist/core/sequencing/stale-detector.js.map +1 -1
- package/dist/core/workflow/apply/apply.d.ts.map +1 -1
- package/dist/core/workflow/apply/apply.js +429 -25
- package/dist/core/workflow/apply/apply.js.map +1 -1
- package/dist/core/workflow/apply/delta-parser.d.ts.map +1 -1
- package/dist/core/workflow/apply/delta-parser.js +43 -9
- package/dist/core/workflow/apply/delta-parser.js.map +1 -1
- package/dist/core/workflow/apply/feature-updater.d.ts.map +1 -1
- package/dist/core/workflow/apply/feature-updater.js +27 -11
- package/dist/core/workflow/apply/feature-updater.js.map +1 -1
- package/dist/core/workflow/apply/types.d.ts +9 -0
- package/dist/core/workflow/apply/types.d.ts.map +1 -1
- package/dist/core/workflow/continue/continue.d.ts +18 -0
- package/dist/core/workflow/continue/continue.d.ts.map +1 -1
- package/dist/core/workflow/continue/continue.js +134 -15
- package/dist/core/workflow/continue/continue.js.map +1 -1
- package/dist/core/workflow/continue/next-action.d.ts.map +1 -1
- package/dist/core/workflow/continue/next-action.js +16 -3
- package/dist/core/workflow/continue/next-action.js.map +1 -1
- package/dist/core/workflow/continue/types.d.ts +12 -0
- package/dist/core/workflow/continue/types.d.ts.map +1 -1
- package/dist/core/workflow/propose/note-creator.d.ts +2 -2
- package/dist/core/workflow/propose/note-creator.d.ts.map +1 -1
- package/dist/core/workflow/propose/note-creator.js +89 -12
- package/dist/core/workflow/propose/note-creator.js.map +1 -1
- package/dist/core/workflow/propose/propose.d.ts.map +1 -1
- package/dist/core/workflow/propose/propose.js +189 -47
- package/dist/core/workflow/propose/propose.js.map +1 -1
- package/dist/core/workflow/propose/query-normalizer.d.ts.map +1 -1
- package/dist/core/workflow/propose/query-normalizer.js +37 -5
- package/dist/core/workflow/propose/query-normalizer.js.map +1 -1
- package/dist/core/workflow/propose/types.d.ts +15 -0
- package/dist/core/workflow/propose/types.d.ts.map +1 -1
- package/dist/core/workflow/propose/types.js +6 -1
- package/dist/core/workflow/propose/types.js.map +1 -1
- package/dist/core/workflow/query/query-note-creator.js +4 -0
- package/dist/core/workflow/query/query-note-creator.js.map +1 -1
- package/dist/core/workflow/verify/coherence.d.ts +10 -0
- package/dist/core/workflow/verify/coherence.d.ts.map +1 -1
- package/dist/core/workflow/verify/coherence.js +91 -4
- package/dist/core/workflow/verify/coherence.js.map +1 -1
- package/dist/core/workflow/verify/completeness.d.ts +1 -1
- package/dist/core/workflow/verify/completeness.d.ts.map +1 -1
- package/dist/core/workflow/verify/completeness.js +53 -10
- package/dist/core/workflow/verify/completeness.js.map +1 -1
- package/dist/core/workflow/verify/correctness.d.ts +1 -1
- package/dist/core/workflow/verify/correctness.d.ts.map +1 -1
- package/dist/core/workflow/verify/correctness.js +95 -14
- package/dist/core/workflow/verify/correctness.js.map +1 -1
- package/dist/core/workflow/verify/vault-integrity.d.ts +11 -0
- package/dist/core/workflow/verify/vault-integrity.d.ts.map +1 -1
- package/dist/core/workflow/verify/vault-integrity.js +80 -3
- package/dist/core/workflow/verify/vault-integrity.js.map +1 -1
- package/dist/core/workflow/verify/verify.d.ts +0 -5
- package/dist/core/workflow/verify/verify.d.ts.map +1 -1
- package/dist/core/workflow/verify/verify.js +54 -3
- package/dist/core/workflow/verify/verify.js.map +1 -1
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -1
- package/dist/types/cli-contracts.d.ts +78 -0
- package/dist/types/cli-contracts.d.ts.map +1 -0
- package/dist/types/cli-contracts.js +2 -0
- package/dist/types/cli-contracts.js.map +1 -0
- package/dist/types/error-codes.d.ts +25 -0
- package/dist/types/error-codes.d.ts.map +1 -0
- package/dist/types/error-codes.js +27 -0
- package/dist/types/error-codes.js.map +1 -0
- package/dist/types/frontmatter.d.ts +9 -2
- package/dist/types/frontmatter.d.ts.map +1 -1
- package/dist/types/next-action.d.ts +21 -0
- package/dist/types/next-action.d.ts.map +1 -1
- package/dist/types/retrieval.d.ts +17 -0
- package/dist/types/retrieval.d.ts.map +1 -1
- package/dist/types/verify.d.ts +58 -1
- package/dist/types/verify.d.ts.map +1 -1
- package/dist/types/verify.js +58 -1
- package/dist/types/verify.js.map +1 -1
- package/dist/utils/conventions.d.ts +9 -0
- package/dist/utils/conventions.d.ts.map +1 -0
- package/dist/utils/conventions.js +22 -0
- package/dist/utils/conventions.js.map +1 -0
- package/dist/utils/id-generator.d.ts.map +1 -1
- package/dist/utils/id-generator.js +8 -0
- package/dist/utils/id-generator.js.map +1 -1
- package/dist/utils/normalize.d.ts +7 -4
- package/dist/utils/normalize.d.ts.map +1 -1
- package/dist/utils/normalize.js +43 -6
- package/dist/utils/normalize.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coherence.d.ts","sourceRoot":"","sources":["../../../../src/core/workflow/verify/coherence.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,WAAW,EAAE,EAC5B,KAAK,EAAE,UAAU,GAChB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"coherence.d.ts","sourceRoot":"","sources":["../../../../src/core/workflow/verify/coherence.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,WAAW,EAAE,EAC5B,KAAK,EAAE,UAAU,GAChB,WAAW,EAAE,CA0Gf;AAID;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAiDlF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,WAAW,EAAE,EAC3B,WAAW,EAAE,WAAW,EAAE,GACzB,WAAW,EAAE,CAuDf;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,WAAW,EAAE,GACxB,WAAW,EAAE,CAuCf;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,WAAW,EAAE,EAC5B,KAAK,EAAE,UAAU,GAChB,WAAW,EAAE,CA+Bf"}
|
|
@@ -8,6 +8,21 @@ export function checkConflictsViaSequencing(activeChanges, index) {
|
|
|
8
8
|
const issues = [];
|
|
9
9
|
// Delegate to sequencing engine (expects Map<string, IndexRecord>)
|
|
10
10
|
const result = analyzeSequencing(index.records);
|
|
11
|
+
// Build a set of change-pair keys that have an actual requirement-level
|
|
12
|
+
// conflict so Feature-level `conflict_candidate` pairs that DON'T also
|
|
13
|
+
// hit a requirement collision can be surfaced as warnings instead of
|
|
14
|
+
// errors. Two Changes that touch the same Feature but modify disjoint
|
|
15
|
+
// requirements are serialization-unsafe (whoever applies second needs
|
|
16
|
+
// a rebase of base_fingerprint) but they do not step on each other's
|
|
17
|
+
// content — an error-level verdict was overly strict and caused
|
|
18
|
+
// false-positive CI failures.
|
|
19
|
+
const hasRequirementConflict = new Set();
|
|
20
|
+
for (const c of result.requirement_conflicts) {
|
|
21
|
+
const a = c.change_a;
|
|
22
|
+
const b = c.change_b;
|
|
23
|
+
const key = a < b ? `${a}|${b}` : `${b}|${a}`;
|
|
24
|
+
hasRequirementConflict.add(key);
|
|
25
|
+
}
|
|
11
26
|
// Map pairwise touches severities to VerifyIssue
|
|
12
27
|
for (const pair of result.pairwise_severities) {
|
|
13
28
|
if (pair.severity === 'blocked') {
|
|
@@ -21,13 +36,26 @@ export function checkConflictsViaSequencing(activeChanges, index) {
|
|
|
21
36
|
});
|
|
22
37
|
}
|
|
23
38
|
else if (pair.severity === 'conflict_candidate') {
|
|
39
|
+
const pairKey = pair.change_a < pair.change_b
|
|
40
|
+
? `${pair.change_a}|${pair.change_b}`
|
|
41
|
+
: `${pair.change_b}|${pair.change_a}`;
|
|
42
|
+
const alsoRequirementLevel = hasRequirementConflict.has(pairKey);
|
|
24
43
|
issues.push({
|
|
25
44
|
dimension: 'coherence',
|
|
26
|
-
|
|
45
|
+
// Downgrade to warning when the Feature-level overlap does NOT
|
|
46
|
+
// coincide with a requirement-level collision. The pair is still
|
|
47
|
+
// worth surfacing because serialization order matters, but it
|
|
48
|
+
// shouldn't block a pass.
|
|
49
|
+
severity: alsoRequirementLevel ? 'error' : 'warning',
|
|
27
50
|
code: 'TOUCHES_OVERLAP_CONFLICT',
|
|
28
|
-
message: `Changes "${pair.change_a}" and "${pair.change_b}" both touch Feature(s): ${pair.overlapping_features.join(', ')}
|
|
51
|
+
message: `Changes "${pair.change_a}" and "${pair.change_b}" both touch Feature(s): ${pair.overlapping_features.join(', ')}` +
|
|
52
|
+
(alsoRequirementLevel
|
|
53
|
+
? ' — with overlapping requirement(s); apply order must be resolved.'
|
|
54
|
+
: ' — at Feature level only; apply in order and rebase base_fingerprint if needed.'),
|
|
29
55
|
note_id: pair.change_a,
|
|
30
|
-
suggestion:
|
|
56
|
+
suggestion: alsoRequirementLevel
|
|
57
|
+
? 'Resolve the requirement collision manually; auto-apply is blocked.'
|
|
58
|
+
: 'Apply one change, then rebase the other\'s Delta Summary base_fingerprint against the new Feature content.',
|
|
31
59
|
});
|
|
32
60
|
}
|
|
33
61
|
else if (pair.severity === 'needs_review') {
|
|
@@ -181,6 +209,53 @@ export function checkDecisionConsistency(allDecisions, allFeatures) {
|
|
|
181
209
|
}
|
|
182
210
|
return issues;
|
|
183
211
|
}
|
|
212
|
+
/**
|
|
213
|
+
* Check Feature ↔ Change bidirectional backlink consistency.
|
|
214
|
+
*
|
|
215
|
+
* When `propose` creates a Change targeting a Feature, it updates the
|
|
216
|
+
* Feature's `changes:` frontmatter field via `updateFeatureChangesField`.
|
|
217
|
+
* If that step fails (or if the user manually creates a Change), the
|
|
218
|
+
* backlink is missing. This check detects the mismatch so users can fix
|
|
219
|
+
* either side.
|
|
220
|
+
*/
|
|
221
|
+
export function checkFeatureChangeBacklinks(allRecords) {
|
|
222
|
+
const issues = [];
|
|
223
|
+
const features = new Map();
|
|
224
|
+
const changes = [];
|
|
225
|
+
for (const r of allRecords) {
|
|
226
|
+
if (r.type === 'feature')
|
|
227
|
+
features.set(r.id, r);
|
|
228
|
+
if (r.type === 'change')
|
|
229
|
+
changes.push(r);
|
|
230
|
+
}
|
|
231
|
+
for (const change of changes) {
|
|
232
|
+
const featureIds = [];
|
|
233
|
+
if (change.feature)
|
|
234
|
+
featureIds.push(change.feature);
|
|
235
|
+
if (change.features)
|
|
236
|
+
featureIds.push(...change.features);
|
|
237
|
+
for (const fId of featureIds) {
|
|
238
|
+
const feature = features.get(fId);
|
|
239
|
+
if (!feature)
|
|
240
|
+
continue; // Caught by INVALID_FRONTMATTER_REF
|
|
241
|
+
// Feature.changes should contain a reference to this Change
|
|
242
|
+
const featureLinksBack = feature.changes?.includes(change.id) ?? false;
|
|
243
|
+
if (!featureLinksBack) {
|
|
244
|
+
issues.push({
|
|
245
|
+
dimension: 'coherence',
|
|
246
|
+
severity: 'warning',
|
|
247
|
+
code: 'MISSING_LINK',
|
|
248
|
+
message: `Change "${change.id}" declares feature "${fId}" but the Feature's ` +
|
|
249
|
+
`\`changes\` frontmatter does not link back to this Change.`,
|
|
250
|
+
note_id: change.id,
|
|
251
|
+
note_path: change.path,
|
|
252
|
+
suggestion: `Add "[[${change.title}]]" to the \`changes:\` list in Feature "${fId}" frontmatter.`,
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
return issues;
|
|
258
|
+
}
|
|
184
259
|
/**
|
|
185
260
|
* Check that all depends_on targets actually exist in the index.
|
|
186
261
|
*/
|
|
@@ -188,7 +263,8 @@ export function checkDependsOnConsistency(activeChanges, index) {
|
|
|
188
263
|
const issues = [];
|
|
189
264
|
for (const change of activeChanges) {
|
|
190
265
|
for (const dep of change.depends_on) {
|
|
191
|
-
|
|
266
|
+
const depRecord = index.records.get(dep);
|
|
267
|
+
if (!depRecord) {
|
|
192
268
|
issues.push({
|
|
193
269
|
dimension: 'coherence',
|
|
194
270
|
severity: 'error',
|
|
@@ -199,6 +275,17 @@ export function checkDependsOnConsistency(activeChanges, index) {
|
|
|
199
275
|
suggestion: 'Fix the depends_on entry or create the missing Change note.',
|
|
200
276
|
});
|
|
201
277
|
}
|
|
278
|
+
else if (depRecord.type !== 'change') {
|
|
279
|
+
issues.push({
|
|
280
|
+
dimension: 'coherence',
|
|
281
|
+
severity: 'warning',
|
|
282
|
+
code: 'INVALID_DEPENDS_ON_TYPE',
|
|
283
|
+
message: `Change "${change.id}" depends_on "${dep}" which is a ${depRecord.type}, not a change`,
|
|
284
|
+
note_id: change.id,
|
|
285
|
+
note_path: change.path,
|
|
286
|
+
suggestion: 'depends_on should reference Change notes only.',
|
|
287
|
+
});
|
|
288
|
+
}
|
|
202
289
|
}
|
|
203
290
|
}
|
|
204
291
|
return issues;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coherence.js","sourceRoot":"","sources":["../../../../src/core/workflow/verify/coherence.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,aAA4B,EAC5B,KAAiB;IAEjB,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,mEAAmE;IACnE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEhD,iDAAiD;IACjD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,WAAW;gBACtB,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE,WAAW,IAAI,CAAC,QAAQ,oBAAoB,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACjG,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,UAAU,EAAE,2CAA2C;aACxD,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,WAAW;gBACtB,QAAQ,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"coherence.js","sourceRoot":"","sources":["../../../../src/core/workflow/verify/coherence.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import type { VaultIndex, IndexRecord } from '../../../types/index.js';
|
|
|
6
6
|
import type { VerifyIssue } from '../../../types/verify.js';
|
|
7
7
|
/**
|
|
8
8
|
* Check completeness of a Feature note.
|
|
9
|
-
* Required: Purpose, Current Behavior, Requirements sections.
|
|
9
|
+
* Required: Purpose, Current Behavior, Constraints, Known Gaps, Requirements sections.
|
|
10
10
|
* Requirements must have SHALL/MUST and at least one scenario.
|
|
11
11
|
*/
|
|
12
12
|
export declare function checkFeatureCompleteness(feature: IndexRecord, _index: VaultIndex): VerifyIssue[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completeness.d.ts","sourceRoot":"","sources":["../../../../src/core/workflow/verify/completeness.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"completeness.d.ts","sourceRoot":"","sources":["../../../../src/core/workflow/verify/completeness.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAY5D;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,WAAW,EAAE,CA+FhG;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,WAAW,EAAE,CA2H9F;AAsCD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,EAAE,CA8CrE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { FEATURE_REQUIRED_SECTIONS } from '../../schema/feature.schema.js';
|
|
2
2
|
const CHANGE_REQUIRED_SECTIONS = ['Why'];
|
|
3
3
|
/** Sections whose body must contain meaningful content (not just a heading). */
|
|
4
4
|
const CHANGE_CONTENT_REQUIRED_SECTIONS = ['Why', 'Delta Summary', 'Tasks', 'Validation'];
|
|
@@ -8,7 +8,7 @@ const MIN_SECTION_CONTENT_LENGTH = 10;
|
|
|
8
8
|
const COMPLEX_CHANGE_DELTA_THRESHOLD = 3;
|
|
9
9
|
/**
|
|
10
10
|
* Check completeness of a Feature note.
|
|
11
|
-
* Required: Purpose, Current Behavior, Requirements sections.
|
|
11
|
+
* Required: Purpose, Current Behavior, Constraints, Known Gaps, Requirements sections.
|
|
12
12
|
* Requirements must have SHALL/MUST and at least one scenario.
|
|
13
13
|
*/
|
|
14
14
|
export function checkFeatureCompleteness(feature, _index) {
|
|
@@ -39,28 +39,64 @@ export function checkFeatureCompleteness(feature, _index) {
|
|
|
39
39
|
suggestion: 'Add at least one "### Requirement: <name>" under the Requirements section.',
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
|
-
//
|
|
42
|
+
// Duplicate requirement name check: the parser skips the second
|
|
43
|
+
// occurrence and records a parse error, but that error doesn't make
|
|
44
|
+
// it into the verify report on its own. Surface duplicates here so
|
|
45
|
+
// users see a clear completeness error instead of silently losing a
|
|
46
|
+
// requirement entry. Note: seen is built from parser output, which
|
|
47
|
+
// already deduped — so duplicates show up as "parser skipped N".
|
|
48
|
+
// We detect via raw headings instead: count `### Requirement: X`
|
|
49
|
+
// occurrences across the Feature's headings list.
|
|
50
|
+
const requirementHeadingCounts = new Map();
|
|
51
|
+
for (const heading of feature.headings) {
|
|
52
|
+
const match = heading.match(/^Requirement:\s*(.+)$/i);
|
|
53
|
+
if (match) {
|
|
54
|
+
const name = match[1].trim();
|
|
55
|
+
requirementHeadingCounts.set(name, (requirementHeadingCounts.get(name) ?? 0) + 1);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
for (const [name, count] of requirementHeadingCounts) {
|
|
59
|
+
if (count > 1) {
|
|
60
|
+
issues.push({
|
|
61
|
+
dimension: 'completeness',
|
|
62
|
+
severity: 'error',
|
|
63
|
+
code: 'MISSING_REQUIREMENTS',
|
|
64
|
+
message: `Requirement "${name}" in Feature "${feature.id}" appears ${count} times — each name must be unique within the Feature.`,
|
|
65
|
+
note_id: feature.id,
|
|
66
|
+
note_path: feature.path,
|
|
67
|
+
suggestion: `Rename the duplicate headings (e.g., "${name} (auth flow)", "${name} (legacy)") or merge them into one requirement.`,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// Each requirement must have SHALL/MUST and at least one scenario.
|
|
72
|
+
// Migrated notes (from OpenSpec) may not follow this convention — downgrade to warning.
|
|
73
|
+
const isMigrated = feature.tags?.includes('migrated') ?? false;
|
|
74
|
+
const reqSeverity = isMigrated ? 'warning' : 'error';
|
|
43
75
|
for (const req of feature.requirements) {
|
|
44
76
|
if (!/\b(SHALL|MUST)\b/.test(req.normative)) {
|
|
45
77
|
issues.push({
|
|
46
78
|
dimension: 'completeness',
|
|
47
|
-
severity:
|
|
79
|
+
severity: reqSeverity,
|
|
48
80
|
code: 'MISSING_REQUIREMENTS',
|
|
49
81
|
message: `Requirement "${req.name}" in Feature "${feature.id}" lacks SHALL or MUST keyword`,
|
|
50
82
|
note_id: feature.id,
|
|
51
83
|
note_path: feature.path,
|
|
52
|
-
suggestion:
|
|
84
|
+
suggestion: isMigrated
|
|
85
|
+
? 'Migrated requirement — consider adding SHALL/MUST when updating this Feature.'
|
|
86
|
+
: 'Normative statements must contain SHALL or MUST.',
|
|
53
87
|
});
|
|
54
88
|
}
|
|
55
89
|
if (req.scenarios.length === 0) {
|
|
56
90
|
issues.push({
|
|
57
91
|
dimension: 'completeness',
|
|
58
|
-
severity:
|
|
92
|
+
severity: reqSeverity,
|
|
59
93
|
code: 'MISSING_REQUIREMENTS',
|
|
60
94
|
message: `Requirement "${req.name}" in Feature "${feature.id}" has no scenario defined`,
|
|
61
95
|
note_id: feature.id,
|
|
62
96
|
note_path: feature.path,
|
|
63
|
-
suggestion:
|
|
97
|
+
suggestion: isMigrated
|
|
98
|
+
? 'Migrated requirement — consider adding WHEN/THEN scenarios when updating.'
|
|
99
|
+
: 'Add at least one "#### Scenario:" with WHEN/THEN format.',
|
|
64
100
|
});
|
|
65
101
|
}
|
|
66
102
|
}
|
|
@@ -87,16 +123,23 @@ export function checkChangeCompleteness(change, _index) {
|
|
|
87
123
|
});
|
|
88
124
|
}
|
|
89
125
|
}
|
|
90
|
-
// Delta Summary check
|
|
126
|
+
// Delta Summary check. Migrated changes (OpenSpec's free-form
|
|
127
|
+
// "What Changes" doesn't map cleanly to canonical delta_summary) get
|
|
128
|
+
// a warning instead of an error so a fresh migration doesn't fail
|
|
129
|
+
// verify out of the gate. Authors still need to fill in canonical
|
|
130
|
+
// delta_summary before `ows apply` can run.
|
|
131
|
+
const isMigratedChange = change.tags?.includes('migrated') ?? false;
|
|
91
132
|
if (change.delta_summary.length === 0) {
|
|
92
133
|
issues.push({
|
|
93
134
|
dimension: 'completeness',
|
|
94
|
-
severity: 'error',
|
|
135
|
+
severity: isMigratedChange ? 'warning' : 'error',
|
|
95
136
|
code: 'MISSING_DELTA_SUMMARY',
|
|
96
137
|
message: `Change "${change.id}" has no Delta Summary entries`,
|
|
97
138
|
note_id: change.id,
|
|
98
139
|
note_path: change.path,
|
|
99
|
-
suggestion:
|
|
140
|
+
suggestion: isMigratedChange
|
|
141
|
+
? 'Migrated from OpenSpec — fill in canonical Delta Summary (ADDED/MODIFIED/REMOVED/RENAMED) before applying.'
|
|
142
|
+
: 'Add a Delta Summary with ADDED/MODIFIED/REMOVED/RENAMED operations.',
|
|
100
143
|
});
|
|
101
144
|
}
|
|
102
145
|
// Tasks check
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completeness.js","sourceRoot":"","sources":["../../../../src/core/workflow/verify/completeness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"completeness.js","sourceRoot":"","sources":["../../../../src/core/workflow/verify/completeness.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ export declare function checkStatusTransition(change: IndexRecord, index: VaultI
|
|
|
29
29
|
* so per-record comparison is always a no-op. Instead, we surface index-level
|
|
30
30
|
* schema_mismatch warnings (e.g., missing schema.md).
|
|
31
31
|
*/
|
|
32
|
-
export declare function checkSchemaVersionMatch(_note: IndexRecord,
|
|
32
|
+
export declare function checkSchemaVersionMatch(_note: IndexRecord, declaredVersion: string, index?: VaultIndex): VerifyIssue[];
|
|
33
33
|
/**
|
|
34
34
|
* Check drift between Delta Summary and current Feature state based on Change status.
|
|
35
35
|
* Drift is acceptable during active work but is an error for applied Changes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correctness.d.ts","sourceRoot":"","sources":["../../../../src/core/workflow/verify/correctness.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"correctness.d.ts","sourceRoot":"","sources":["../../../../src/core/workflow/verify/correctness.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAQ5D;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAkKlG;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAuDpF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAiF3F;AAED;;GAEG;AACH;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,WAAW,EAAE,CA+CtH;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,UAAU,EACjB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC5B,WAAW,EAAE,CAiEf;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAgC/F"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isSchemaVersionSupported, SUPPORTED_SCHEMA_VERSIONS, computeSchemaFingerprint, BASELINE_SCHEMA_FINGERPRINT, } from '../../index/schema-version.js';
|
|
1
2
|
/**
|
|
2
3
|
* Run the operation validation matrix for a Change's Delta Summary.
|
|
3
4
|
* Pre-apply: checks preconditions (requirement must/must not exist).
|
|
@@ -200,10 +201,19 @@ export function checkStaleBase(change, index) {
|
|
|
200
201
|
dimension: 'correctness',
|
|
201
202
|
severity: 'error',
|
|
202
203
|
code: 'STALE_BASE',
|
|
203
|
-
|
|
204
|
+
// Surface both possible causes explicitly — we can't distinguish
|
|
205
|
+
// "legitimately stale because another Change applied first" from
|
|
206
|
+
// "the author copy-pasted or mistyped the hash and it was never a
|
|
207
|
+
// real prior value" without traversing git history. Giving users
|
|
208
|
+
// both diagnoses up front saves a confused debugging round-trip.
|
|
209
|
+
message: `${entry.op} "${entry.target_name}": base_fingerprint mismatch. ` +
|
|
210
|
+
`Expected ${entry.base_fingerprint}, current is ${currentReq.content_hash}. ` +
|
|
211
|
+
`Either another Change was applied since this Delta Summary was written, ` +
|
|
212
|
+
`or the base_fingerprint was typed/copied incorrectly and never matched the Feature.`,
|
|
204
213
|
note_id: change.id,
|
|
205
214
|
note_path: change.path,
|
|
206
|
-
suggestion: 'Re-read the current Feature requirement and
|
|
215
|
+
suggestion: 'Re-read the current Feature requirement and paste its actual content_hash into the Delta Summary base_fingerprint. ' +
|
|
216
|
+
'If you believe your hash is correct, check `git log -p` on the Feature file to see which Change last modified it.',
|
|
207
217
|
});
|
|
208
218
|
}
|
|
209
219
|
}
|
|
@@ -230,6 +240,19 @@ export function checkStatusTransition(change, index) {
|
|
|
230
240
|
}
|
|
231
241
|
}
|
|
232
242
|
if (change.status === 'in_progress') {
|
|
243
|
+
// Must have all prerequisites met (planned-level checks)
|
|
244
|
+
const missing = checkPlannedPrerequisites(change);
|
|
245
|
+
if (missing.length > 0) {
|
|
246
|
+
issues.push({
|
|
247
|
+
dimension: 'correctness',
|
|
248
|
+
severity: 'error',
|
|
249
|
+
code: 'INVALID_STATUS_TRANSITION',
|
|
250
|
+
message: `Change "${change.id}" is "in_progress" but missing planned-level prerequisites: ${missing.join(', ')}`,
|
|
251
|
+
note_id: change.id,
|
|
252
|
+
note_path: change.path,
|
|
253
|
+
suggestion: 'Status cannot skip from proposed directly to in_progress. Fill sections first.',
|
|
254
|
+
});
|
|
255
|
+
}
|
|
233
256
|
for (const dep of change.depends_on) {
|
|
234
257
|
const depRecord = index.records.get(dep);
|
|
235
258
|
if (depRecord && depRecord.status !== 'applied') {
|
|
@@ -245,6 +268,35 @@ export function checkStatusTransition(change, index) {
|
|
|
245
268
|
}
|
|
246
269
|
}
|
|
247
270
|
}
|
|
271
|
+
if (change.status === 'applied') {
|
|
272
|
+
// Applied changes must have all prerequisites met and all tasks done
|
|
273
|
+
const missing = checkPlannedPrerequisites(change);
|
|
274
|
+
if (missing.length > 0) {
|
|
275
|
+
issues.push({
|
|
276
|
+
dimension: 'correctness',
|
|
277
|
+
severity: 'error',
|
|
278
|
+
code: 'INVALID_STATUS_TRANSITION',
|
|
279
|
+
message: `Change "${change.id}" is "applied" but missing prerequisites: ${missing.join(', ')}. ` +
|
|
280
|
+
`Status may have been set manually (e.g., proposed → applied via file edit), bypassing the apply workflow.`,
|
|
281
|
+
note_id: change.id,
|
|
282
|
+
note_path: change.path,
|
|
283
|
+
suggestion: 'Run the apply workflow instead of editing the status field directly.',
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
const unfinishedTasks = change.tasks.filter((t) => !t.done);
|
|
287
|
+
if (unfinishedTasks.length > 0) {
|
|
288
|
+
issues.push({
|
|
289
|
+
dimension: 'correctness',
|
|
290
|
+
severity: 'error',
|
|
291
|
+
code: 'INVALID_STATUS_TRANSITION',
|
|
292
|
+
message: `Change "${change.id}" is "applied" but has ${unfinishedTasks.length} unchecked task(s). ` +
|
|
293
|
+
`The apply workflow requires all tasks to be checked before transitioning.`,
|
|
294
|
+
note_id: change.id,
|
|
295
|
+
note_path: change.path,
|
|
296
|
+
suggestion: 'Either complete the remaining tasks, or revert the status field to "in_progress".',
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
}
|
|
248
300
|
return issues;
|
|
249
301
|
}
|
|
250
302
|
/**
|
|
@@ -256,19 +308,48 @@ export function checkStatusTransition(change, index) {
|
|
|
256
308
|
* so per-record comparison is always a no-op. Instead, we surface index-level
|
|
257
309
|
* schema_mismatch warnings (e.g., missing schema.md).
|
|
258
310
|
*/
|
|
259
|
-
export function checkSchemaVersionMatch(_note,
|
|
311
|
+
export function checkSchemaVersionMatch(_note, declaredVersion, index) {
|
|
312
|
+
const issues = [];
|
|
260
313
|
if (!index)
|
|
261
|
-
return
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
314
|
+
return issues;
|
|
315
|
+
// Add index-level schema_mismatch warnings
|
|
316
|
+
for (const w of index.warnings) {
|
|
317
|
+
if (w.type === 'schema_mismatch') {
|
|
318
|
+
issues.push({
|
|
319
|
+
dimension: 'correctness',
|
|
320
|
+
severity: 'error',
|
|
321
|
+
code: 'SCHEMA_MISMATCH',
|
|
322
|
+
message: w.message,
|
|
323
|
+
note_path: w.note_path,
|
|
324
|
+
suggestion: 'Create or fix wiki/00-meta/schema.md with a valid schema_version field.',
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
// Gate: unsupported schema version
|
|
329
|
+
if (declaredVersion && declaredVersion !== 'unknown' && !isSchemaVersionSupported(declaredVersion)) {
|
|
330
|
+
issues.push({
|
|
331
|
+
dimension: 'correctness',
|
|
332
|
+
severity: 'error',
|
|
333
|
+
code: 'UNSUPPORTED_SCHEMA_VERSION',
|
|
334
|
+
message: `Vault schema version "${declaredVersion}" is not supported by this ows version. Supported: ${SUPPORTED_SCHEMA_VERSIONS.join(', ')}`,
|
|
335
|
+
suggestion: 'Upgrade the vault schema or use a matching ows version.',
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
// Tripwire: schema shape changed without bumping CURRENT_SCHEMA_VERSION.
|
|
339
|
+
// Warns developers (not end users) that required/optional sections diverged
|
|
340
|
+
// from the baseline — a silent breaking change.
|
|
341
|
+
const runtimeFingerprint = computeSchemaFingerprint();
|
|
342
|
+
if (runtimeFingerprint !== BASELINE_SCHEMA_FINGERPRINT) {
|
|
343
|
+
issues.push({
|
|
344
|
+
dimension: 'correctness',
|
|
345
|
+
severity: 'warning',
|
|
346
|
+
code: 'BREAKING_CHANGE_WITHOUT_VERSION_BUMP',
|
|
347
|
+
message: `ows schema shape changed (fingerprint ${runtimeFingerprint}) but CURRENT_SCHEMA_VERSION was not bumped. ` +
|
|
348
|
+
`Baseline: ${BASELINE_SCHEMA_FINGERPRINT}. Vaults built with the old shape may break silently.`,
|
|
349
|
+
suggestion: 'Bump CURRENT_SCHEMA_VERSION in src/core/index/schema-version.ts and update BASELINE_SCHEMA_FINGERPRINT to match.',
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
return issues;
|
|
272
353
|
}
|
|
273
354
|
/**
|
|
274
355
|
* Check drift between Delta Summary and current Feature state based on Change status.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correctness.js","sourceRoot":"","sources":["../../../../src/core/workflow/verify/correctness.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAmB,EAAE,KAAiB;IACjF,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,WAAW,KAAK,aAAa;YAAE,SAAS;QAElD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,aAAa;gBACxB,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE,0CAA0C,KAAK,CAAC,cAAc,GAAG;gBAC1E,OAAO,EAAE,MAAM,CAAC,EAAE;gBAClB,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,UAAU,EAAE,sDAAsD;aACnE,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,wBAAwB;YACxB,QAAQ,KAAK,CAAC,EAAE,EAAE,CAAC;gBACjB,KAAK,OAAO;oBACV,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;wBACzC,MAAM,CAAC,IAAI,CAAC;4BACV,SAAS,EAAE,aAAa;4BACxB,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,sBAAsB;4BAC5B,OAAO,EAAE,sBAAsB,KAAK,CAAC,WAAW,oCAAoC;4BACpF,OAAO,EAAE,MAAM,CAAC,EAAE;4BAClB,SAAS,EAAE,MAAM,CAAC,IAAI;yBACvB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBACR,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBAChD,IAAI,CAAC,GAAG,EAAE,CAAC;wBACT,MAAM,CAAC,IAAI,CAAC;4BACV,SAAS,EAAE,aAAa;4BACxB,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,yBAAyB;4BAC/B,OAAO,EAAE,yBAAyB,KAAK,CAAC,WAAW,oCAAoC;4BACvF,OAAO,EAAE,MAAM,CAAC,EAAE;4BAClB,SAAS,EAAE,MAAM,CAAC,IAAI;yBACvB,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,GAAG,CAAC,YAAY,KAAK,KAAK,CAAC,gBAAgB,EAAE,CAAC;wBACjF,MAAM,CAAC,IAAI,CAAC;4BACV,SAAS,EAAE,aAAa;4BACxB,QAAQ,EAAE,SAAS;4BACnB,IAAI,EAAE,oBAAoB;4BAC1B,OAAO,EAAE,yBAAyB,KAAK,CAAC,WAAW,sCAAsC;4BACzF,OAAO,EAAE,MAAM,CAAC,EAAE;4BAClB,SAAS,EAAE,MAAM,CAAC,IAAI;4BACtB,UAAU,EAAE,0FAA0F;yBACvG,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,SAAS;oBACZ,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;wBACxC,MAAM,CAAC,IAAI,CAAC;4BACV,SAAS,EAAE,aAAa;4BACxB,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,wBAAwB,KAAK,CAAC,WAAW,uCAAuC;4BACzF,OAAO,EAAE,MAAM,CAAC,EAAE;4BAClB,SAAS,EAAE,MAAM,CAAC,IAAI;yBACvB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;wBACxC,MAAM,CAAC,IAAI,CAAC;4BACV,SAAS,EAAE,aAAa;4BACxB,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,qBAAqB,KAAK,CAAC,WAAW,2BAA2B;4BAC1E,OAAO,EAAE,MAAM,CAAC,EAAE;4BAClB,SAAS,EAAE,MAAM,CAAC,IAAI;yBACvB,CAAC,CAAC;oBACL,CAAC;oBACD,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACxD,MAAM,CAAC,IAAI,CAAC;4BACV,SAAS,EAAE,aAAa;4BACxB,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,qBAAqB,KAAK,CAAC,QAAQ,wBAAwB;4BACpE,OAAO,EAAE,MAAM,CAAC,EAAE;4BAClB,SAAS,EAAE,MAAM,CAAC,IAAI;yBACvB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sDAAsD;YACtD,QAAQ,KAAK,CAAC,EAAE,EAAE,CAAC;gBACjB,KAAK,OAAO;oBACV,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;wBACxC,MAAM,CAAC,IAAI,CAAC;4BACV,SAAS,EAAE,aAAa;4BACxB,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,sBAAsB;4BAC5B,OAAO,EAAE,sBAAsB,KAAK,CAAC,WAAW,yCAAyC;4BACzF,OAAO,EAAE,MAAM,CAAC,EAAE;4BAClB,SAAS,EAAE,MAAM,CAAC,IAAI;yBACvB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBACR,KAAK,UAAU;oBACb,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;wBACzC,MAAM,CAAC,IAAI,CAAC;4BACV,SAAS,EAAE,aAAa;4BACxB,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,yBAAyB;4BAC/B,OAAO,EAAE,yBAAyB,KAAK,CAAC,WAAW,yCAAyC;4BAC5F,OAAO,EAAE,MAAM,CAAC,EAAE;4BAClB,SAAS,EAAE,MAAM,CAAC,IAAI;yBACvB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;wBACzC,MAAM,CAAC,IAAI,CAAC;4BACV,SAAS,EAAE,aAAa;4BACxB,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,wBAAwB,KAAK,CAAC,WAAW,yCAAyC;4BAC3F,OAAO,EAAE,MAAM,CAAC,EAAE;4BAClB,SAAS,EAAE,MAAM,CAAC,IAAI;yBACvB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;wBACzC,MAAM,CAAC,IAAI,CAAC;4BACV,SAAS,EAAE,aAAa;4BACxB,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,qBAAqB,KAAK,CAAC,WAAW,6BAA6B;4BAC5E,OAAO,EAAE,MAAM,CAAC,EAAE;4BAClB,SAAS,EAAE,MAAM,CAAC,IAAI;yBACvB,CAAC,CAAC;oBACL,CAAC;oBACD,IAAI,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACvD,MAAM,CAAC,IAAI,CAAC;4BACV,SAAS,EAAE,aAAa;4BACxB,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,qBAAqB,KAAK,CAAC,QAAQ,6BAA6B;4BACzE,OAAO,EAAE,MAAM,CAAC,EAAE;4BAClB,SAAS,EAAE,MAAM,CAAC,IAAI;yBACvB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAmB,EAAE,KAAiB;IACnE,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO;YAAE,SAAS;QAEnC,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,aAAa;gBACxB,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,eAAe,KAAK,CAAC,WAAW,2BAA2B;gBAC/E,OAAO,EAAE,MAAM,CAAC,EAAE;gBAClB,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,UAAU,EAAE,6EAA6E;aAC1F,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,4DAA4D;QAC5D,IAAI,KAAK,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YAC1C,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa;YAAE,SAAS,CAAC,2BAA2B;QAEzD,MAAM,UAAU,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC;QACxF,IAAI,CAAC,UAAU;YAAE,SAAS,CAAC,iCAAiC;QAE5D,IAAI,UAAU,CAAC,YAAY,KAAK,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,aAAa;gBACxB,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,WAAW,0CAA0C,KAAK,CAAC,gBAAgB,gBAAgB,UAAU,CAAC,YAAY,8EAA8E;gBAC/N,OAAO,EAAE,MAAM,CAAC,EAAE;gBAClB,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,UAAU,EAAE,wFAAwF;aACrG,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAmB,EAAE,KAAiB;IAC1E,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,aAAa;gBACxB,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE,WAAW,MAAM,CAAC,EAAE,6CAA6C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC9F,OAAO,EAAE,MAAM,CAAC,EAAE;gBAClB,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,UAAU,EAAE,+DAA+D;aAC5E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC;oBACV,SAAS,EAAE,aAAa;oBACxB,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,WAAW,MAAM,CAAC,EAAE,sCAAsC,GAAG,SAAS,SAAS,CAAC,MAAM,GAAG;oBAClG,OAAO,EAAE,MAAM,CAAC,EAAE;oBAClB,SAAS,EAAE,MAAM,CAAC,IAAI;oBACtB,UAAU,EAAE,aAAa,GAAG,iDAAiD;iBAC9E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAkB,EAAE,gBAAwB,EAAE,KAAkB;IACtG,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO,KAAK,CAAC,QAAQ;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,SAAS,EAAE,aAAsB;QACjC,QAAQ,EAAE,OAAgB;QAC1B,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,UAAU,EAAE,yEAAyE;KACtF,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAmB,EACnB,KAAiB,EACjB,eAA6B;IAE7B,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAErD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,WAAW,KAAK,aAAa;YAAE,SAAS;QAElD,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;QACjE,IAAI,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAS;QAE7C,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa;YAAE,SAAS;QAE7B,MAAM,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC;QAEzF,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;YACtB,KAAK,UAAU,CAAC;YAChB,KAAK,SAAS,CAAC;YACf,KAAK,aAAa;gBAChB,iDAAiD;gBACjD,MAAM;YAER,KAAK,SAAS;gBACZ,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;oBACzC,MAAM,CAAC,IAAI,CAAC;wBACV,SAAS,EAAE,aAAa;wBACxB,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,iBAAiB;wBACvB,OAAO,EAAE,WAAW,MAAM,CAAC,EAAE,uCAAuC,KAAK,CAAC,WAAW,8BAA8B,KAAK,CAAC,cAAc,GAAG;wBAC1I,OAAO,EAAE,MAAM,CAAC,EAAE;wBAClB,SAAS,EAAE,MAAM,CAAC,IAAI;wBACtB,UAAU,EAAE,+FAA+F;qBAC5G,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS,IAAI,WAAW,EAAE,CAAC;oBAC1C,MAAM,CAAC,IAAI,CAAC;wBACV,SAAS,EAAE,aAAa;wBACxB,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,iBAAiB;wBACvB,OAAO,EAAE,WAAW,MAAM,CAAC,EAAE,yCAAyC,KAAK,CAAC,WAAW,8BAA8B,KAAK,CAAC,cAAc,GAAG;wBAC5I,OAAO,EAAE,MAAM,CAAC,EAAE;wBAClB,SAAS,EAAE,MAAM,CAAC,IAAI;wBACtB,UAAU,EAAE,4EAA4E;qBACzF,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,KAAK,CAAC,EAAE,KAAK,UAAU,IAAI,WAAW,EAAE,CAAC;oBAC3C,IAAI,KAAK,CAAC,gBAAgB,IAAI,WAAW,CAAC,YAAY,KAAK,KAAK,CAAC,gBAAgB,EAAE,CAAC;wBAClF,MAAM,CAAC,IAAI,CAAC;4BACV,SAAS,EAAE,aAAa;4BACxB,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,iBAAiB;4BACvB,OAAO,EAAE,WAAW,MAAM,CAAC,EAAE,0CAA0C,KAAK,CAAC,WAAW,2CAA2C,KAAK,CAAC,cAAc,GAAG;4BAC1J,OAAO,EAAE,MAAM,CAAC,EAAE;4BAClB,SAAS,EAAE,MAAM,CAAC,IAAI;4BACtB,UAAU,EAAE,yDAAyD;yBACtE,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAmB,EAAE,KAAiB;IAC9E,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAE3C,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,cAAc,GAAG,yCAAyC,CAAC;IAEjE,uDAAuD;IACvD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,IAAI,KAAK,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;YACpD,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa;YAAE,SAAS;QAE7B,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,aAAa;gBACxB,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,YAAY,SAAS,yDAAyD,MAAM,CAAC,EAAE,eAAe;gBAC/G,OAAO,EAAE,MAAM,CAAC,EAAE;gBAClB,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,UAAU,EAAE,0EAA0E;aACvF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kDAAkD;AAClD,SAAS,yBAAyB,CAAC,MAAmB;IACpD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACrE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAChF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"correctness.js","sourceRoot":"","sources":["../../../../src/core/workflow/verify/correctness.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,10 +27,16 @@ export declare function ambiguousAliasCheck(index: VaultIndex): VerifyIssue[];
|
|
|
27
27
|
/**
|
|
28
28
|
* Check for orphan notes (notes with no incoming or outgoing links).
|
|
29
29
|
* Meta files are excluded from this check.
|
|
30
|
+
*
|
|
31
|
+
* Bootstrap exemption: if the vault contains only a single typed note, it
|
|
32
|
+
* cannot possibly link anywhere (there is nothing to link to), so flagging
|
|
33
|
+
* it as an orphan is noise that would break the first-note experience
|
|
34
|
+
* under `--strict`. Skip the check in that case.
|
|
30
35
|
*/
|
|
31
36
|
export declare function orphanNoteCheck(index: VaultIndex): VerifyIssue[];
|
|
32
37
|
/**
|
|
33
38
|
* Check for notes in 99-archive/ that don't have 'applied' status.
|
|
39
|
+
* Also check that note type matches its typed folder location (e.g., feature → 03-features/).
|
|
34
40
|
*/
|
|
35
41
|
export declare function archivePlacementCheck(index: VaultIndex): VerifyIssue[];
|
|
36
42
|
/**
|
|
@@ -48,6 +54,11 @@ export declare function emptyTypedNoteCheck(index: VaultIndex): VerifyIssue[];
|
|
|
48
54
|
* This can cause ambiguous wikilink resolution.
|
|
49
55
|
*/
|
|
50
56
|
export declare function titleIdCollisionCheck(index: VaultIndex): VerifyIssue[];
|
|
57
|
+
/**
|
|
58
|
+
* Scan note body for accidental secret leakage.
|
|
59
|
+
* Returns warnings (not errors) to encourage removal without blocking work.
|
|
60
|
+
*/
|
|
61
|
+
export declare function secretLeakCheck(notes: IndexRecord[]): VerifyIssue[];
|
|
51
62
|
/**
|
|
52
63
|
* Resolve a wikilink target against the vault index.
|
|
53
64
|
* Checks id, title, and aliases.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault-integrity.d.ts","sourceRoot":"","sources":["../../../../src/core/workflow/verify/vault-integrity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAWjE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAW/D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAWxE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAWpE;AAED
|
|
1
|
+
{"version":3,"file":"vault-integrity.d.ts","sourceRoot":"","sources":["../../../../src/core/workflow/verify/vault-integrity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAWjE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAW/D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAWxE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAWpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAqBhE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CA4CtE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAa5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAWpE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAoBtE;AAuBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAuBnE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAYpF"}
|