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":"resolve.js","sourceRoot":"","sources":["../../../src/core/index/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/core/index/resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export interface FileEntry {
|
|
2
|
-
/** Path relative to vault root */
|
|
2
|
+
/** Path relative to vault root (always uses '/' as separator, even on Windows) */
|
|
3
3
|
path: string;
|
|
4
4
|
/** Absolute path on disk */
|
|
5
5
|
absolutePath: string;
|
|
@@ -11,6 +11,15 @@ export interface FileEntry {
|
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Scan the vault for all markdown files.
|
|
14
|
+
*
|
|
15
|
+
* Broken symlinks: `fast-glob` with `followSymbolicLinks: false` may still
|
|
16
|
+
* return the link path itself (not its target). If the link points
|
|
17
|
+
* nowhere, a naive `statSync` throws ENOENT and aborts the entire scan.
|
|
18
|
+
* We catch per-entry errors, skip the broken file, and continue — one
|
|
19
|
+
* dangling symlink must not take down `ows verify` on the whole vault.
|
|
20
|
+
* Sort output with a pinned `en` + `numeric` collator so scan ordering
|
|
21
|
+
* is reproducible across host locales (matches the dedup tie-break in
|
|
22
|
+
* src/core/index/build.ts for consistency).
|
|
14
23
|
*/
|
|
15
24
|
export declare function scanVaultFiles(vaultRoot: string, globPattern?: string): FileEntry[];
|
|
16
25
|
//# sourceMappingURL=scan.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/core/index/scan.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/core/index/scan.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAUD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CA6CnF"}
|
package/dist/core/index/scan.js
CHANGED
|
@@ -1,19 +1,68 @@
|
|
|
1
1
|
import { statSync } from 'node:fs';
|
|
2
|
-
import { join, relative } from 'node:path';
|
|
2
|
+
import { join, relative, sep } from 'node:path';
|
|
3
3
|
import fg from 'fast-glob';
|
|
4
|
+
/**
|
|
5
|
+
* Normalize a path to use forward slashes regardless of platform.
|
|
6
|
+
* This ensures downstream checks like `startsWith('wiki/')` work on Windows.
|
|
7
|
+
*/
|
|
8
|
+
function toPosixPath(p) {
|
|
9
|
+
return sep === '\\' ? p.replace(/\\/g, '/') : p;
|
|
10
|
+
}
|
|
4
11
|
/**
|
|
5
12
|
* Scan the vault for all markdown files.
|
|
13
|
+
*
|
|
14
|
+
* Broken symlinks: `fast-glob` with `followSymbolicLinks: false` may still
|
|
15
|
+
* return the link path itself (not its target). If the link points
|
|
16
|
+
* nowhere, a naive `statSync` throws ENOENT and aborts the entire scan.
|
|
17
|
+
* We catch per-entry errors, skip the broken file, and continue — one
|
|
18
|
+
* dangling symlink must not take down `ows verify` on the whole vault.
|
|
19
|
+
* Sort output with a pinned `en` + `numeric` collator so scan ordering
|
|
20
|
+
* is reproducible across host locales (matches the dedup tie-break in
|
|
21
|
+
* src/core/index/build.ts for consistency).
|
|
6
22
|
*/
|
|
7
23
|
export function scanVaultFiles(vaultRoot, globPattern) {
|
|
8
24
|
const pattern = globPattern ?? join(vaultRoot, 'wiki', '**', '*.md');
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
25
|
+
// fast-glob can throw if the base directory is a symlink loop, is
|
|
26
|
+
// protected by restrictive ACLs, or disappears between stat calls.
|
|
27
|
+
// Return an empty list with a stderr warning rather than crashing the
|
|
28
|
+
// whole CLI invocation — individual file issues are still caught
|
|
29
|
+
// per-entry below. We intentionally do NOT swallow non-filesystem
|
|
30
|
+
// errors (programming bugs, bad patterns), only known I/O classes.
|
|
31
|
+
let files;
|
|
32
|
+
try {
|
|
33
|
+
files = fg.sync(pattern, { absolute: true, followSymbolicLinks: false });
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
const code = err.code;
|
|
37
|
+
if (code === 'ELOOP' || code === 'EACCES' || code === 'ENOENT') {
|
|
38
|
+
process.stderr.write(`[ows] Warning: scanVaultFiles could not enumerate ${pattern}: ${err.message}. ` +
|
|
39
|
+
'Returning empty file list. Check for symlink loops or permission issues under wiki/.\n');
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
throw err;
|
|
43
|
+
}
|
|
44
|
+
const entries = [];
|
|
45
|
+
for (const absolutePath of files) {
|
|
46
|
+
try {
|
|
47
|
+
const stat = statSync(absolutePath);
|
|
48
|
+
entries.push({
|
|
49
|
+
path: toPosixPath(relative(vaultRoot, absolutePath)),
|
|
50
|
+
absolutePath,
|
|
51
|
+
stat: { mtimeMs: stat.mtimeMs, size: stat.size },
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
const code = err.code;
|
|
56
|
+
if (code === 'ENOENT' || code === 'ELOOP' || code === 'EACCES') {
|
|
57
|
+
// Dangling symlink, symlink cycle, or unreadable file — skip
|
|
58
|
+
// silently. Verify will emit a warning via the index's own
|
|
59
|
+
// pass if the user has `ows verify` enabled.
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
throw err;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const pathCollator = new Intl.Collator('en', { numeric: true, sensitivity: 'variant' });
|
|
66
|
+
return entries.sort((a, b) => pathCollator.compare(a.path, b.path));
|
|
18
67
|
}
|
|
19
68
|
//# sourceMappingURL=scan.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../src/core/index/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../src/core/index/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,MAAM,WAAW,CAAC;AAW3B;;;GAGG;AACH,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,WAAoB;IACpE,MAAM,OAAO,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACrE,kEAAkE;IAClE,mEAAmE;IACnE,sEAAsE;IACtE,iEAAiE;IACjE,kEAAkE;IAClE,mEAAmE;IACnE,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;QACjD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qDAAqD,OAAO,KAAM,GAAa,CAAC,OAAO,IAAI;gBACzF,wFAAwF,CAC3F,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,KAAK,MAAM,YAAY,IAAI,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBACpD,YAAY;gBACZ,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;aACjD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;YACjD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/D,6DAA6D;gBAC7D,2DAA2D;gBAC3D,6CAA6C;gBAC7C,SAAS;YACX,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;IACxF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -1,5 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Current schema version written by `ows init`.
|
|
3
|
+
* Update this when schema structure changes in a backwards-incompatible way.
|
|
4
|
+
*/
|
|
5
|
+
export declare const CURRENT_SCHEMA_VERSION = "2026-04-06-v1";
|
|
6
|
+
/**
|
|
7
|
+
* Supported schema versions — a vault with one of these can be read by current ows.
|
|
8
|
+
* Older versions trigger a warning; unlisted versions trigger an error.
|
|
9
|
+
*/
|
|
10
|
+
export declare const SUPPORTED_SCHEMA_VERSIONS: readonly string[];
|
|
11
|
+
/**
|
|
12
|
+
* Breaking-change tripwire: fingerprint of the compile-time schema shape.
|
|
13
|
+
* Computed from the set of required/optional sections for each note type.
|
|
14
|
+
* When this fingerprint changes but CURRENT_SCHEMA_VERSION has not been bumped,
|
|
15
|
+
* `ows verify` emits a BREAKING_CHANGE_WITHOUT_VERSION_BUMP warning.
|
|
16
|
+
*/
|
|
17
|
+
export declare function computeSchemaFingerprint(): string;
|
|
18
|
+
/**
|
|
19
|
+
* Baseline fingerprint captured at the CURRENT_SCHEMA_VERSION declaration above.
|
|
20
|
+
* If the runtime computeSchemaFingerprint() differs from this, it means schema
|
|
21
|
+
* shape changed without bumping CURRENT_SCHEMA_VERSION — a potential silent
|
|
22
|
+
* breaking change that verify will flag.
|
|
23
|
+
*/
|
|
24
|
+
export declare const BASELINE_SCHEMA_FINGERPRINT = "a1c975130bcc7290";
|
|
1
25
|
/**
|
|
2
26
|
* Read the schema version from wiki/00-meta/schema.md frontmatter.
|
|
3
27
|
*/
|
|
4
28
|
export declare function readSchemaVersion(vaultRoot: string): string;
|
|
29
|
+
/**
|
|
30
|
+
* Check if a schema version is supported by the current ows version.
|
|
31
|
+
*/
|
|
32
|
+
export declare function isSchemaVersionSupported(version: string): boolean;
|
|
5
33
|
//# sourceMappingURL=schema-version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-version.d.ts","sourceRoot":"","sources":["../../../src/core/index/schema-version.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema-version.d.ts","sourceRoot":"","sources":["../../../src/core/index/schema-version.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAEtD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAWjD;AAED;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,qBAAqB,CAAC;AAE9D;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAa3D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEjE"}
|
|
@@ -1,6 +1,47 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { createHash } from 'node:crypto';
|
|
2
3
|
import { join } from 'node:path';
|
|
3
4
|
import { extractFrontmatter } from '../parser/frontmatter-parser.js';
|
|
5
|
+
import { FEATURE_REQUIRED_SECTIONS, FEATURE_OPTIONAL_SECTIONS } from '../schema/feature.schema.js';
|
|
6
|
+
import { CHANGE_REQUIRED_SECTIONS } from '../schema/change.schema.js';
|
|
7
|
+
import { QUERY_REQUIRED_SECTIONS } from '../schema/query.schema.js';
|
|
8
|
+
/**
|
|
9
|
+
* Current schema version written by `ows init`.
|
|
10
|
+
* Update this when schema structure changes in a backwards-incompatible way.
|
|
11
|
+
*/
|
|
12
|
+
export const CURRENT_SCHEMA_VERSION = '2026-04-06-v1';
|
|
13
|
+
/**
|
|
14
|
+
* Supported schema versions — a vault with one of these can be read by current ows.
|
|
15
|
+
* Older versions trigger a warning; unlisted versions trigger an error.
|
|
16
|
+
*/
|
|
17
|
+
export const SUPPORTED_SCHEMA_VERSIONS = [
|
|
18
|
+
'2026-04-06-v1',
|
|
19
|
+
];
|
|
20
|
+
/**
|
|
21
|
+
* Breaking-change tripwire: fingerprint of the compile-time schema shape.
|
|
22
|
+
* Computed from the set of required/optional sections for each note type.
|
|
23
|
+
* When this fingerprint changes but CURRENT_SCHEMA_VERSION has not been bumped,
|
|
24
|
+
* `ows verify` emits a BREAKING_CHANGE_WITHOUT_VERSION_BUMP warning.
|
|
25
|
+
*/
|
|
26
|
+
export function computeSchemaFingerprint() {
|
|
27
|
+
const shape = {
|
|
28
|
+
version: CURRENT_SCHEMA_VERSION,
|
|
29
|
+
feature: {
|
|
30
|
+
required: [...FEATURE_REQUIRED_SECTIONS],
|
|
31
|
+
optional: [...FEATURE_OPTIONAL_SECTIONS],
|
|
32
|
+
},
|
|
33
|
+
change: { required: [...CHANGE_REQUIRED_SECTIONS] },
|
|
34
|
+
query: { required: [...QUERY_REQUIRED_SECTIONS] },
|
|
35
|
+
};
|
|
36
|
+
return createHash('sha256').update(JSON.stringify(shape)).digest('hex').slice(0, 16);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Baseline fingerprint captured at the CURRENT_SCHEMA_VERSION declaration above.
|
|
40
|
+
* If the runtime computeSchemaFingerprint() differs from this, it means schema
|
|
41
|
+
* shape changed without bumping CURRENT_SCHEMA_VERSION — a potential silent
|
|
42
|
+
* breaking change that verify will flag.
|
|
43
|
+
*/
|
|
44
|
+
export const BASELINE_SCHEMA_FINGERPRINT = 'a1c975130bcc7290';
|
|
4
45
|
/**
|
|
5
46
|
* Read the schema version from wiki/00-meta/schema.md frontmatter.
|
|
6
47
|
*/
|
|
@@ -16,4 +57,10 @@ export function readSchemaVersion(vaultRoot) {
|
|
|
16
57
|
}
|
|
17
58
|
return String(raw.data.schema_version);
|
|
18
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Check if a schema version is supported by the current ows version.
|
|
62
|
+
*/
|
|
63
|
+
export function isSchemaVersionSupported(version) {
|
|
64
|
+
return SUPPORTED_SCHEMA_VERSIONS.includes(version);
|
|
65
|
+
}
|
|
19
66
|
//# sourceMappingURL=schema-version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-version.js","sourceRoot":"","sources":["../../../src/core/index/schema-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"schema-version.js","sourceRoot":"","sources":["../../../src/core/index/schema-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,eAAe;CAChB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,KAAK,GAAG;QACZ,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE;YACP,QAAQ,EAAE,CAAC,GAAG,yBAAyB,CAAC;YACxC,QAAQ,EAAE,CAAC,GAAG,yBAAyB,CAAC;SACzC;QACD,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,wBAAwB,CAAC,EAAE;QACnD,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,uBAAuB,CAAC,EAAE;KAClD,CAAC;IACF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvF,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB,CAAC;AAE9D;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACnE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,OAAO,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-converter.d.ts","sourceRoot":"","sources":["../../../src/core/migrate/change-converter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AASlE;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC;IAAE,UAAU,EAAE,gBAAgB,CAAC;IAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"change-converter.d.ts","sourceRoot":"","sources":["../../../src/core/migrate/change-converter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AASlE;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC;IAAE,UAAU,EAAE,gBAAgB,CAAC;IAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAkF7F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EAAE,EACxB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC;IAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAgBrD"}
|
|
@@ -27,8 +27,15 @@ export function convertChange(change, featureRefs, systemRefMap) {
|
|
|
27
27
|
const createdAt = resolveCreatedAt(change);
|
|
28
28
|
// Parse capabilities from proposal for feature linking
|
|
29
29
|
const capabilities = parseCapabilities(change.proposal ?? '');
|
|
30
|
-
// Build feature reference
|
|
31
|
-
|
|
30
|
+
// Build feature reference. Multi-capability OpenSpec changes produce a
|
|
31
|
+
// `features: [...]` array in the migrated ows Change so all touched
|
|
32
|
+
// features are preserved (ows schema requires multi-feature to use
|
|
33
|
+
// `features` with min 2 entries).
|
|
34
|
+
const allFeatureRefs = resolveAllFeatureRefs(change, featureRefs, capabilities);
|
|
35
|
+
const featureRef = allFeatureRefs.length > 0
|
|
36
|
+
? allFeatureRefs[0]
|
|
37
|
+
: resolveFeatureRef(change, featureRefs, capabilities, warnings);
|
|
38
|
+
const multiFeatureRefs = allFeatureRefs.length >= 2 ? allFeatureRefs : undefined;
|
|
32
39
|
// Build delta summary from delta specs
|
|
33
40
|
const deltaSummary = buildDeltaSummary(change, featureRefs);
|
|
34
41
|
// Extract tasks from tasks.md
|
|
@@ -49,6 +56,7 @@ export function convertChange(change, featureRefs, systemRefMap) {
|
|
|
49
56
|
status,
|
|
50
57
|
createdAt,
|
|
51
58
|
featureRef,
|
|
59
|
+
featuresMulti: multiFeatureRefs,
|
|
52
60
|
dependsOn,
|
|
53
61
|
touchesRefs,
|
|
54
62
|
systemRefs,
|
|
@@ -102,12 +110,17 @@ function buildChangeNote(opts) {
|
|
|
102
110
|
const systemsYaml = opts.systemRefs.length > 0
|
|
103
111
|
? opts.systemRefs.map(s => ` - ${s}`).join('\n')
|
|
104
112
|
: '';
|
|
113
|
+
// Emit either `feature:` (single) or `features: [...]` (multi), never both.
|
|
114
|
+
// The ows Change schema refines exactly one of them.
|
|
115
|
+
const featureField = opts.featuresMulti && opts.featuresMulti.length >= 2
|
|
116
|
+
? `features:\n${opts.featuresMulti.map(f => ` - ${safeYamlQuoted(f)}`).join('\n')}`
|
|
117
|
+
: `feature: ${safeYamlQuoted(opts.featureRef)}`;
|
|
105
118
|
return `---
|
|
106
119
|
type: change
|
|
107
120
|
id: ${safeYamlScalar(opts.id)}
|
|
108
121
|
status: ${safeYamlScalar(opts.status)}
|
|
109
122
|
created_at: ${safeYamlQuoted(opts.createdAt)}
|
|
110
|
-
|
|
123
|
+
${featureField}
|
|
111
124
|
depends_on:
|
|
112
125
|
${dependsOnYaml || ' []'}
|
|
113
126
|
touches:
|
|
@@ -264,8 +277,42 @@ function resolveFeatureRef(change, featureRefs, capabilities, warnings) {
|
|
|
264
277
|
return ref;
|
|
265
278
|
}
|
|
266
279
|
}
|
|
267
|
-
|
|
268
|
-
|
|
280
|
+
const placeholderRef = `[[Feature: ${formatChangeTitle(change.name)}]]`;
|
|
281
|
+
warnings.push(`Could not resolve feature reference for change ${change.name}, using placeholder: ${placeholderRef}`);
|
|
282
|
+
return placeholderRef;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Collect ALL feature refs from delta specs + capabilities + touches.
|
|
286
|
+
* Used to populate `features: [...]` for multi-feature ows Changes, so that
|
|
287
|
+
* OpenSpec changes touching 2+ capabilities don't silently lose the extras.
|
|
288
|
+
*/
|
|
289
|
+
function resolveAllFeatureRefs(change, featureRefs, capabilities) {
|
|
290
|
+
const collected = [];
|
|
291
|
+
const seen = new Set();
|
|
292
|
+
const addIfNew = (ref) => {
|
|
293
|
+
if (ref && !seen.has(ref)) {
|
|
294
|
+
seen.add(ref);
|
|
295
|
+
collected.push(ref);
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
// Delta specs
|
|
299
|
+
for (const spec of change.deltaSpecs) {
|
|
300
|
+
addIfNew(featureRefs.get(spec.capability));
|
|
301
|
+
}
|
|
302
|
+
// Proposal capabilities (modified before new: convention — primary first)
|
|
303
|
+
for (const cap of capabilities.modifiedCapabilities) {
|
|
304
|
+
addIfNew(featureRefs.get(cap));
|
|
305
|
+
}
|
|
306
|
+
for (const cap of capabilities.newCapabilities) {
|
|
307
|
+
addIfNew(featureRefs.get(cap));
|
|
308
|
+
}
|
|
309
|
+
// Touches metadata
|
|
310
|
+
if (change.metadata?.touches) {
|
|
311
|
+
for (const touch of change.metadata.touches) {
|
|
312
|
+
addIfNew(featureRefs.get(touch));
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
return collected;
|
|
269
316
|
}
|
|
270
317
|
function buildDeltaSummary(change, featureRefs) {
|
|
271
318
|
if (change.deltaSpecs.length === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-converter.js","sourceRoot":"","sources":["../../../src/core/migrate/change-converter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"change-converter.js","sourceRoot":"","sources":["../../../src/core/migrate/change-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/core/migrate/migrate.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,eAAe,EAGhB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/core/migrate/migrate.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,eAAe,EAGhB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAkIpE;AA0DD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,aAAa,EACnB,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,eAAe,CAAC,CA4C1B;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAG/E"}
|
|
@@ -23,6 +23,19 @@ export function planMigration(options) {
|
|
|
23
23
|
throw new Error(`OpenSpec directory not found. Specify with --openspec-dir or ensure openspec/ exists in ${projectPath}`);
|
|
24
24
|
}
|
|
25
25
|
const wikiPath = path.join(projectPath, 'wiki');
|
|
26
|
+
// Hybrid-state guard: refuse to migrate into a vault that already holds
|
|
27
|
+
// typed notes unless the caller explicitly opts in. Silent interleave
|
|
28
|
+
// causes `filesSkipped` entries that later manifest as unresolved wiki-
|
|
29
|
+
// links and drifted Change Log entries — a class of bug the user would
|
|
30
|
+
// have no visibility into until `ows verify` catches it much later.
|
|
31
|
+
if (!options.allowExistingVault && hasExistingTypedNotes(wikiPath)) {
|
|
32
|
+
throw new Error(`Target vault already exists at ${wikiPath} and contains typed notes. ` +
|
|
33
|
+
`Migrating into an existing vault can silently skip conflicting files and ` +
|
|
34
|
+
`leave the graph in a half-merged state. Either: (1) migrate into an empty ` +
|
|
35
|
+
`project directory, (2) move your existing wiki/ aside first, or ` +
|
|
36
|
+
`(3) pass \`allowExistingVault: true\` (CLI: --allow-existing-vault) if you ` +
|
|
37
|
+
`explicitly want to merge and accept the risk.`);
|
|
38
|
+
}
|
|
26
39
|
// Step 1: Scan
|
|
27
40
|
const scan = scanOpenSpec(openspecPath);
|
|
28
41
|
const scanStep = {
|
|
@@ -33,7 +46,7 @@ export function planMigration(options) {
|
|
|
33
46
|
};
|
|
34
47
|
// Step 2: Generate source note from config context
|
|
35
48
|
const sourceOutputs = [];
|
|
36
|
-
if (scan.config?.context) {
|
|
49
|
+
if (scan.config?.context && typeof scan.config.context === 'string') {
|
|
37
50
|
sourceOutputs.push(convertConfigToSource(scan.config.context, scan.config));
|
|
38
51
|
}
|
|
39
52
|
const sourceStep = {
|
|
@@ -83,6 +96,16 @@ export function planMigration(options) {
|
|
|
83
96
|
};
|
|
84
97
|
steps.push(archiveStep);
|
|
85
98
|
}
|
|
99
|
+
// Step 7: Feature ↔ Change backlink patch.
|
|
100
|
+
// Each Change's frontmatter declares its target Feature(s), but the
|
|
101
|
+
// Feature side isn't updated to link back. `ows verify` flags this
|
|
102
|
+
// with MISSING_LINK, so a migrated vault looks broken on first run.
|
|
103
|
+
// Post-process feature outputs to include `changes:` wikilinks to
|
|
104
|
+
// every Change that points at them.
|
|
105
|
+
applyFeatureChangeBacklinks(featureStep.outputs, [
|
|
106
|
+
...activeChangeStep.outputs,
|
|
107
|
+
...(steps.find((s) => s.name === 'Convert Archived Changes')?.outputs ?? []),
|
|
108
|
+
]);
|
|
86
109
|
// Count totals
|
|
87
110
|
const totalFiles = steps.reduce((sum, s) => sum + s.outputs.length, 0);
|
|
88
111
|
const totalWarnings = steps.reduce((sum, s) => sum + s.warnings.length, 0);
|
|
@@ -94,6 +117,61 @@ export function planMigration(options) {
|
|
|
94
117
|
totalWarnings,
|
|
95
118
|
};
|
|
96
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Patch Feature ConversionResults' frontmatter to include back-references
|
|
122
|
+
* to Changes that target them. Walks change outputs, extracts feature
|
|
123
|
+
* wikilinks, then rewrites matching Feature outputs' `changes:` field.
|
|
124
|
+
*/
|
|
125
|
+
function applyFeatureChangeBacklinks(featureOutputs, changeOutputs) {
|
|
126
|
+
// feature target path -> set of change titles that reference it
|
|
127
|
+
const backlinkMap = new Map();
|
|
128
|
+
for (const change of changeOutputs) {
|
|
129
|
+
if (!change.targetPath.startsWith('wiki/04-changes/') &&
|
|
130
|
+
!change.targetPath.startsWith('wiki/99-archive/'))
|
|
131
|
+
continue;
|
|
132
|
+
// Extract the Change title (H1). Change content uses `# Change: <title>`
|
|
133
|
+
const titleMatch = change.content.match(/^#\s+(Change:\s*[^\n]+)$/m);
|
|
134
|
+
if (!titleMatch)
|
|
135
|
+
continue;
|
|
136
|
+
const changeTitle = titleMatch[1].trim();
|
|
137
|
+
// Extract feature refs from frontmatter. Accepts both `feature: "[[Feature: X]]"`
|
|
138
|
+
// and multi-entry `features:` array blocks.
|
|
139
|
+
const fmMatch = change.content.match(/^---\n([\s\S]*?)\n---/);
|
|
140
|
+
if (!fmMatch)
|
|
141
|
+
continue;
|
|
142
|
+
const fm = fmMatch[1];
|
|
143
|
+
const featureLinks = new Set();
|
|
144
|
+
const singleMatch = fm.match(/^feature:\s*"(\[\[[^\]]+\]\])"/m);
|
|
145
|
+
if (singleMatch)
|
|
146
|
+
featureLinks.add(singleMatch[1]);
|
|
147
|
+
const featuresBlockMatch = fm.match(/^features:\n((?: -\s*"\[\[[^\]]+\]\]"\s*\n)+)/m);
|
|
148
|
+
if (featuresBlockMatch) {
|
|
149
|
+
const entries = featuresBlockMatch[1].matchAll(/"(\[\[[^\]]+\]\])"/g);
|
|
150
|
+
for (const e of entries)
|
|
151
|
+
featureLinks.add(e[1]);
|
|
152
|
+
}
|
|
153
|
+
for (const link of featureLinks) {
|
|
154
|
+
const existing = backlinkMap.get(link) ?? new Set();
|
|
155
|
+
existing.add(`[[${changeTitle}]]`);
|
|
156
|
+
backlinkMap.set(link, existing);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
// Now rewrite each Feature's `changes: []` line to include backlinks
|
|
160
|
+
for (const feature of featureOutputs) {
|
|
161
|
+
if (!feature.targetPath.startsWith('wiki/03-features/'))
|
|
162
|
+
continue;
|
|
163
|
+
const titleMatch = feature.content.match(/^#\s+(Feature:\s*[^\n]+)$/m);
|
|
164
|
+
if (!titleMatch)
|
|
165
|
+
continue;
|
|
166
|
+
const featureLink = `[[${titleMatch[1].trim()}]]`;
|
|
167
|
+
const changeTitles = backlinkMap.get(featureLink);
|
|
168
|
+
if (!changeTitles || changeTitles.size === 0)
|
|
169
|
+
continue;
|
|
170
|
+
const linkList = [...changeTitles].map((t) => ` - "${t}"`).join('\n');
|
|
171
|
+
// Replace an empty `changes: []` or `changes:\n` block with a populated list.
|
|
172
|
+
feature.content = feature.content.replace(/^changes:\s*\[\]\s*$/m, `changes:\n${linkList}`);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
97
175
|
/**
|
|
98
176
|
* Execute a migration plan: init vault structure and write all files.
|
|
99
177
|
*/
|
|
@@ -146,4 +224,40 @@ export async function migrate(options) {
|
|
|
146
224
|
const plan = planMigration(options);
|
|
147
225
|
return executeMigration(plan, options.dryRun);
|
|
148
226
|
}
|
|
227
|
+
/**
|
|
228
|
+
* Does the target wiki/ directory already hold typed notes?
|
|
229
|
+
* Checks for any .md file inside a typed subfolder. Meta/seed files under
|
|
230
|
+
* `00-meta/` do not count — those are created by `ows init` and do not
|
|
231
|
+
* imply user content.
|
|
232
|
+
*/
|
|
233
|
+
function hasExistingTypedNotes(wikiPath) {
|
|
234
|
+
if (!fs.existsSync(wikiPath))
|
|
235
|
+
return false;
|
|
236
|
+
const TYPED_SUBDIRS = [
|
|
237
|
+
'01-sources',
|
|
238
|
+
'02-systems',
|
|
239
|
+
'03-features',
|
|
240
|
+
'04-changes',
|
|
241
|
+
'05-decisions',
|
|
242
|
+
'06-queries',
|
|
243
|
+
'99-archive',
|
|
244
|
+
];
|
|
245
|
+
for (const sub of TYPED_SUBDIRS) {
|
|
246
|
+
const dir = path.join(wikiPath, sub);
|
|
247
|
+
if (!fs.existsSync(dir))
|
|
248
|
+
continue;
|
|
249
|
+
let entries;
|
|
250
|
+
try {
|
|
251
|
+
entries = fs.readdirSync(dir);
|
|
252
|
+
}
|
|
253
|
+
catch {
|
|
254
|
+
continue;
|
|
255
|
+
}
|
|
256
|
+
for (const entry of entries) {
|
|
257
|
+
if (entry.endsWith('.md'))
|
|
258
|
+
return true;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return false;
|
|
262
|
+
}
|
|
149
263
|
//# sourceMappingURL=migrate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/core/migrate/migrate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAS1D;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,OAAuB;IACnD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW;QACtC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;QACnC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAEvC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,2FAA2F,WAAW,EAAE,CACzG,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEhD,eAAe;IACf,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAkB;QAC9B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,WAAW,IAAI,CAAC,aAAa,CAAC,MAAM,oBAAoB,IAAI,CAAC,eAAe,CAAC,MAAM,mBAAmB;QAC7I,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC7B,CAAC;IAEF,mDAAmD;IACnD,MAAM,aAAa,GAAuB,EAAE,CAAC;IAC7C,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/core/migrate/migrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,6 +84,11 @@ ${opts.knownGaps || '<!-- No known gaps specified in original spec -->'}
|
|
|
84
84
|
|
|
85
85
|
${opts.requirementsBlock || '<!-- No requirements found in original spec -->'}
|
|
86
86
|
|
|
87
|
+
## Change Log
|
|
88
|
+
|
|
89
|
+
| Date | Change | Summary |
|
|
90
|
+
|------|--------|---------|
|
|
91
|
+
|
|
87
92
|
## Related Notes
|
|
88
93
|
`;
|
|
89
94
|
}
|