@sdd-method/sdd-cli 1.6.0 → 1.8.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/dist/lib/catalogue/build.js +13 -0
- package/dist/lib/catalogue/build.js.map +1 -1
- package/dist/lib/catalogue/builders/capability-spec.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/capability-spec.js +21 -10
- package/dist/lib/catalogue/builders/capability-spec.js.map +1 -1
- package/dist/lib/catalogue/builders/quality-scores.d.ts +9 -0
- package/dist/lib/catalogue/builders/quality-scores.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/quality-scores.js +37 -2
- package/dist/lib/catalogue/builders/quality-scores.js.map +1 -1
- package/dist/lib/catalogue/canonical-schema.yaml +6 -5
- package/dist/lib/catalogue/coverage-render.d.ts.map +1 -1
- package/dist/lib/catalogue/coverage-render.js +9 -0
- package/dist/lib/catalogue/coverage-render.js.map +1 -1
- package/dist/lib/catalogue/coverage-run.d.ts.map +1 -1
- package/dist/lib/catalogue/coverage-run.js +6 -0
- package/dist/lib/catalogue/coverage-run.js.map +1 -1
- package/dist/lib/catalogue/scores-coverage.d.ts +8 -0
- package/dist/lib/catalogue/scores-coverage.d.ts.map +1 -1
- package/dist/lib/catalogue/scores-coverage.js +4 -1
- package/dist/lib/catalogue/scores-coverage.js.map +1 -1
- package/dist/lib/catalogue/staleness-verdicts.d.ts +27 -0
- package/dist/lib/catalogue/staleness-verdicts.d.ts.map +1 -0
- package/dist/lib/catalogue/staleness-verdicts.js +174 -0
- package/dist/lib/catalogue/staleness-verdicts.js.map +1 -0
- package/dist/lib/lock-file.d.ts +9 -0
- package/dist/lib/lock-file.d.ts.map +1 -1
- package/dist/lib/lock-file.js +16 -0
- package/dist/lib/lock-file.js.map +1 -1
- package/dist/lib/mcp/prompts/propose-adr.d.ts +1 -1
- package/dist/lib/mcp/prompts/propose-adr.js +3 -3
- package/dist/lib/mcp/prompts/propose-adr.js.map +1 -1
- package/dist/lib/pack/builder.d.ts +7 -0
- package/dist/lib/pack/builder.d.ts.map +1 -1
- package/dist/lib/pack/builder.js +6 -0
- package/dist/lib/pack/builder.js.map +1 -1
- package/dist/lib/pack/index.d.ts.map +1 -1
- package/dist/lib/pack/index.js +19 -0
- package/dist/lib/pack/index.js.map +1 -1
- package/dist/lib/pack/reference-closure.d.ts +44 -0
- package/dist/lib/pack/reference-closure.d.ts.map +1 -0
- package/dist/lib/pack/reference-closure.js +125 -0
- package/dist/lib/pack/reference-closure.js.map +1 -0
- package/dist/lib/sync/index.d.ts +11 -0
- package/dist/lib/sync/index.d.ts.map +1 -1
- package/dist/lib/sync/index.js +70 -11
- package/dist/lib/sync/index.js.map +1 -1
- package/dist/lib/validate/bundle-coherence.d.ts +10 -0
- package/dist/lib/validate/bundle-coherence.d.ts.map +1 -0
- package/dist/lib/validate/bundle-coherence.js +69 -0
- package/dist/lib/validate/bundle-coherence.js.map +1 -0
- package/dist/lib/validate/dispatch.d.ts +10 -0
- package/dist/lib/validate/dispatch.d.ts.map +1 -1
- package/dist/lib/validate/dispatch.js +25 -0
- package/dist/lib/validate/dispatch.js.map +1 -1
- package/dist/lib/validate/runner.d.ts.map +1 -1
- package/dist/lib/validate/runner.js +19 -0
- package/dist/lib/validate/runner.js.map +1 -1
- package/dist/verbs/sync.d.ts.map +1 -1
- package/dist/verbs/sync.js +8 -0
- package/dist/verbs/sync.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { relative } from "node:path";
|
|
2
2
|
import { type LeakageResult } from "./leakage.js";
|
|
3
|
+
import { type ReferenceClosureResult } from "./reference-closure.js";
|
|
3
4
|
import type { PackSeed } from "./seed.js";
|
|
4
5
|
/**
|
|
5
6
|
* Produces an adopter-pack tarball from a seed. Per ADR 0151 + the
|
|
@@ -65,6 +66,12 @@ export interface BuildResult {
|
|
|
65
66
|
* On leakage violation the builder throws before producing a tarball.
|
|
66
67
|
*/
|
|
67
68
|
leakage: LeakageResult;
|
|
69
|
+
/**
|
|
70
|
+
* Reference closure over the published payload (M-ADR 0151 §4.6).
|
|
71
|
+
* Reporting-only: a subset pack declares its unresolvable-reference
|
|
72
|
+
* count rather than gating on it.
|
|
73
|
+
*/
|
|
74
|
+
referenceClosure: ReferenceClosureResult;
|
|
68
75
|
}
|
|
69
76
|
export declare function buildPack(opts: BuildOptions): Promise<BuildResult>;
|
|
70
77
|
export { relative as relativePath };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/lib/pack/builder.ts"],"names":[],"mappings":"AAaA,OAAO,EAAiB,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAI1C;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,OAAO,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/lib/pack/builder.ts"],"names":[],"mappings":"AAaA,OAAO,EAAiB,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAI1C;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,OAAO,EAAE,aAAa,CAAC;IACvB;;;;OAIG;IACH,gBAAgB,EAAE,sBAAsB,CAAC;CAC1C;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAuHxE;AA6ND,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,CAAC"}
|
package/dist/lib/pack/builder.js
CHANGED
|
@@ -6,6 +6,7 @@ import { dirname, join, relative } from "node:path";
|
|
|
6
6
|
import { promisify } from "node:util";
|
|
7
7
|
import { checkLeakage } from "./leakage.js";
|
|
8
8
|
import { applyPublishTransform } from "./publish-transform.js";
|
|
9
|
+
import { checkReferenceClosure, } from "./reference-closure.js";
|
|
9
10
|
const execFile = promisify(execFileCb);
|
|
10
11
|
export async function buildPack(opts) {
|
|
11
12
|
const packName = opts.packName ?? derivePackName(opts.seed.sourcePath);
|
|
@@ -61,6 +62,10 @@ export async function buildPack(opts) {
|
|
|
61
62
|
}
|
|
62
63
|
publishedPaths = transform.keptPaths;
|
|
63
64
|
}
|
|
65
|
+
// 3c. Reference closure (M-ADR 0151 §4.6) — reporting-only, by design:
|
|
66
|
+
// a subset pack cannot satisfy closure without ceasing to be a subset,
|
|
67
|
+
// so it declares its unresolvable-reference count instead of gating.
|
|
68
|
+
const referenceClosure = await checkReferenceClosure(payload, publishedPaths);
|
|
64
69
|
// 4. Checksums (over the published payload)
|
|
65
70
|
const checksums = await computeChecksums(payload, publishedPaths);
|
|
66
71
|
// 5. Manifest + managed_paths + checksums files
|
|
@@ -92,6 +97,7 @@ export async function buildPack(opts) {
|
|
|
92
97
|
bundleVersion: `v${opts.seed.version}`,
|
|
93
98
|
managedPathCount: publishedPaths.length,
|
|
94
99
|
leakage,
|
|
100
|
+
referenceClosure,
|
|
95
101
|
};
|
|
96
102
|
}
|
|
97
103
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/lib/pack/builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/lib/pack/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/pack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAIjE;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAID,wBAAsB,YAAY,CAChC,IAAI,EAAE,gBAAgB,EACtB,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAqC,GAC3D,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/pack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAIjE;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAID,wBAAsB,YAAY,CAChC,IAAI,EAAE,gBAAgB,EACtB,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAqC,GAC3D,OAAO,CAAC,eAAe,CAAC,CAuG1B;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,mBAAmB,EACzB,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAqC,GAC3D,OAAO,CAAC,kBAAkB,CAAC,CAkD7B"}
|
package/dist/lib/pack/index.js
CHANGED
|
@@ -62,6 +62,25 @@ export async function runPackBuild(opts, stdout = (s) => process.stdout.write(s)
|
|
|
62
62
|
stdout(info(`Tarball: ${result.tarballPath}`));
|
|
63
63
|
stdout(info(`Checksum: ${result.checksumPath}`));
|
|
64
64
|
stdout(info(`Managed paths in bundle: ${result.managedPathCount}`));
|
|
65
|
+
// Reference closure (M-ADR 0151 §4.6): stated at every cut so the pack
|
|
66
|
+
// DECLARES what resolves only in the producer, instead of a consumer
|
|
67
|
+
// discovering it by resolving the corpus after distribution.
|
|
68
|
+
const rc = result.referenceClosure;
|
|
69
|
+
if (rc.unresolvable === 0) {
|
|
70
|
+
stdout(pass(`Reference closure: all ${rc.totalReferences} payload reference(s) resolve within the pack`));
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
stdout(info(`Reference closure (M-ADR 0151 §4.6): ${rc.unresolvable} of ${rc.totalReferences} ` +
|
|
74
|
+
`payload reference(s) resolve only in the producer, across ${rc.unresolvableTargets.length} ` +
|
|
75
|
+
`distinct target(s) — informational in member repos by policy, not a defect. ` +
|
|
76
|
+
`Expand the seeds to shrink this figure.`));
|
|
77
|
+
for (const t of rc.unresolvableTargets.slice(0, 10)) {
|
|
78
|
+
stdout(info(` → ${t}`));
|
|
79
|
+
}
|
|
80
|
+
if (rc.unresolvableTargets.length > 10) {
|
|
81
|
+
stdout(info(` … and ${rc.unresolvableTargets.length - 10} more`));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
65
84
|
return { exitCode: 0, build: result };
|
|
66
85
|
}
|
|
67
86
|
export async function runPackValidate(opts, stdout = (s) => process.stdout.write(s)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/pack/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/pack/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reference-closure reporter — M-ADR 0151 §4.6.
|
|
3
|
+
*
|
|
4
|
+
* A context pack ships a SUBSET of its producer's corpus, so payload
|
|
5
|
+
* documents may reference files the pack does not carry. Policy: a link
|
|
6
|
+
* resolves in the repository that OWNS the document; a distributed copy
|
|
7
|
+
* referencing the wider corpus is informational. This reporter makes the
|
|
8
|
+
* property VISIBLE at cut time — the pack declares "ships N references
|
|
9
|
+
* that resolve only in the producer" instead of a consumer discovering it
|
|
10
|
+
* by resolving the whole corpus after distribution.
|
|
11
|
+
*
|
|
12
|
+
* Reporting-only, by design: the deliberate asymmetry with method-baseline
|
|
13
|
+
* bundles, whose seed lists ship whole corpora and therefore carry closure
|
|
14
|
+
* ENFORCEMENT (validate-link-closure.sh). A subset cannot satisfy closure
|
|
15
|
+
* without ceasing to be a subset.
|
|
16
|
+
*
|
|
17
|
+
* Parser hardening comes from the estate that measured this problem — the
|
|
18
|
+
* four traps their link audit hit are this module's controls: markdown
|
|
19
|
+
* targets containing SPACES (unencoded paths must not truncate at the first
|
|
20
|
+
* space), targets containing PARENTHESES (balance them; "…(ReBAC).md" broke
|
|
21
|
+
* every naive regex), URL-ENCODED targets (%20, %3A… decode before
|
|
22
|
+
* resolving), and never scanning outside the payload set (no cache dirs —
|
|
23
|
+
* guaranteed here by construction, since only staged payload paths are read).
|
|
24
|
+
*/
|
|
25
|
+
export interface ReferenceClosureResult {
|
|
26
|
+
/** Total link occurrences examined (internal targets only). */
|
|
27
|
+
readonly totalReferences: number;
|
|
28
|
+
/** Occurrences whose target is not in the payload. */
|
|
29
|
+
readonly unresolvable: number;
|
|
30
|
+
/** Distinct payload-relative targets that failed to resolve, sorted. */
|
|
31
|
+
readonly unresolvableTargets: readonly string[];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Extract markdown link targets from one document. Handles `[text](target)`
|
|
35
|
+
* and `` with BALANCED parentheses inside the target, the
|
|
36
|
+
* `](<target>)` angle form, and `](target "title")` suffixes.
|
|
37
|
+
*/
|
|
38
|
+
export declare function extractLinkTargets(content: string): string[];
|
|
39
|
+
/**
|
|
40
|
+
* Resolve every markdown link in the payload's .md files against the
|
|
41
|
+
* payload's own file set.
|
|
42
|
+
*/
|
|
43
|
+
export declare function checkReferenceClosure(payloadRoot: string, payloadPaths: readonly string[]): Promise<ReferenceClosureResult>;
|
|
44
|
+
//# sourceMappingURL=reference-closure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference-closure.d.ts","sourceRoot":"","sources":["../../../src/lib/pack/reference-closure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,MAAM,WAAW,sBAAsB;IACrC,+DAA+D;IAC/D,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,sDAAsD;IACtD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;CACjD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAgC5D;AAUD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,OAAO,CAAC,sBAAsB,CAAC,CAqCjC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reference-closure reporter — M-ADR 0151 §4.6.
|
|
3
|
+
*
|
|
4
|
+
* A context pack ships a SUBSET of its producer's corpus, so payload
|
|
5
|
+
* documents may reference files the pack does not carry. Policy: a link
|
|
6
|
+
* resolves in the repository that OWNS the document; a distributed copy
|
|
7
|
+
* referencing the wider corpus is informational. This reporter makes the
|
|
8
|
+
* property VISIBLE at cut time — the pack declares "ships N references
|
|
9
|
+
* that resolve only in the producer" instead of a consumer discovering it
|
|
10
|
+
* by resolving the whole corpus after distribution.
|
|
11
|
+
*
|
|
12
|
+
* Reporting-only, by design: the deliberate asymmetry with method-baseline
|
|
13
|
+
* bundles, whose seed lists ship whole corpora and therefore carry closure
|
|
14
|
+
* ENFORCEMENT (validate-link-closure.sh). A subset cannot satisfy closure
|
|
15
|
+
* without ceasing to be a subset.
|
|
16
|
+
*
|
|
17
|
+
* Parser hardening comes from the estate that measured this problem — the
|
|
18
|
+
* four traps their link audit hit are this module's controls: markdown
|
|
19
|
+
* targets containing SPACES (unencoded paths must not truncate at the first
|
|
20
|
+
* space), targets containing PARENTHESES (balance them; "…(ReBAC).md" broke
|
|
21
|
+
* every naive regex), URL-ENCODED targets (%20, %3A… decode before
|
|
22
|
+
* resolving), and never scanning outside the payload set (no cache dirs —
|
|
23
|
+
* guaranteed here by construction, since only staged payload paths are read).
|
|
24
|
+
*/
|
|
25
|
+
import { readFile } from "node:fs/promises";
|
|
26
|
+
import { join } from "node:path";
|
|
27
|
+
import { posix } from "node:path";
|
|
28
|
+
/**
|
|
29
|
+
* Extract markdown link targets from one document. Handles `[text](target)`
|
|
30
|
+
* and `` with BALANCED parentheses inside the target, the
|
|
31
|
+
* `](<target>)` angle form, and `](target "title")` suffixes.
|
|
32
|
+
*/
|
|
33
|
+
export function extractLinkTargets(content) {
|
|
34
|
+
const targets = [];
|
|
35
|
+
let i = 0;
|
|
36
|
+
for (;;) {
|
|
37
|
+
const at = content.indexOf("](", i);
|
|
38
|
+
if (at === -1)
|
|
39
|
+
break;
|
|
40
|
+
let j = at + 2;
|
|
41
|
+
let target;
|
|
42
|
+
if (content[j] === "<") {
|
|
43
|
+
const close = content.indexOf(">", j + 1);
|
|
44
|
+
if (close === -1)
|
|
45
|
+
break;
|
|
46
|
+
target = content.slice(j + 1, close);
|
|
47
|
+
i = close + 1;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
let depth = 1;
|
|
51
|
+
const start = j;
|
|
52
|
+
while (j < content.length && depth > 0) {
|
|
53
|
+
const c = content[j];
|
|
54
|
+
if (c === "(")
|
|
55
|
+
depth += 1;
|
|
56
|
+
else if (c === ")")
|
|
57
|
+
depth -= 1;
|
|
58
|
+
if (depth > 0)
|
|
59
|
+
j += 1;
|
|
60
|
+
}
|
|
61
|
+
if (depth !== 0)
|
|
62
|
+
break;
|
|
63
|
+
target = content.slice(start, j);
|
|
64
|
+
i = j + 1;
|
|
65
|
+
}
|
|
66
|
+
// Strip a `"title"` suffix (markdown allows `](url "title")`).
|
|
67
|
+
const title = target.match(/^(.*\S)\s+"[^"]*"$/s);
|
|
68
|
+
if (title)
|
|
69
|
+
target = title[1];
|
|
70
|
+
targets.push(target.trim());
|
|
71
|
+
}
|
|
72
|
+
return targets;
|
|
73
|
+
}
|
|
74
|
+
function decodeTarget(raw) {
|
|
75
|
+
try {
|
|
76
|
+
return decodeURIComponent(raw);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return undefined; // malformed escape — count as unresolvable via caller
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Resolve every markdown link in the payload's .md files against the
|
|
84
|
+
* payload's own file set.
|
|
85
|
+
*/
|
|
86
|
+
export async function checkReferenceClosure(payloadRoot, payloadPaths) {
|
|
87
|
+
const inPayload = new Set(payloadPaths.map((p) => posix.normalize(p)));
|
|
88
|
+
let total = 0;
|
|
89
|
+
let unresolvable = 0;
|
|
90
|
+
const misses = new Set();
|
|
91
|
+
for (const p of payloadPaths) {
|
|
92
|
+
if (!p.endsWith(".md"))
|
|
93
|
+
continue;
|
|
94
|
+
const content = await readFile(join(payloadRoot, p), "utf-8");
|
|
95
|
+
const dir = posix.dirname(p);
|
|
96
|
+
for (const rawTarget of extractLinkTargets(content)) {
|
|
97
|
+
// External and non-file targets are out of scope.
|
|
98
|
+
if (/^[a-z][a-z0-9+.-]*:/i.test(rawTarget))
|
|
99
|
+
continue; // http:, mailto:, …
|
|
100
|
+
const withoutAnchor = rawTarget.split("#")[0];
|
|
101
|
+
if (withoutAnchor === "")
|
|
102
|
+
continue; // pure anchor
|
|
103
|
+
const decoded = decodeTarget(withoutAnchor);
|
|
104
|
+
total += 1;
|
|
105
|
+
if (decoded === undefined) {
|
|
106
|
+
unresolvable += 1;
|
|
107
|
+
misses.add(rawTarget);
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
const resolved = decoded.startsWith("/")
|
|
111
|
+
? posix.normalize(decoded.slice(1))
|
|
112
|
+
: posix.normalize(posix.join(dir, decoded));
|
|
113
|
+
if (!inPayload.has(resolved)) {
|
|
114
|
+
unresolvable += 1;
|
|
115
|
+
misses.add(resolved);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return {
|
|
120
|
+
totalReferences: total,
|
|
121
|
+
unresolvable,
|
|
122
|
+
unresolvableTargets: [...misses].sort(),
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=reference-closure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference-closure.js","sourceRoot":"","sources":["../../../src/lib/pack/reference-closure.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/sync/index.d.ts
CHANGED
|
@@ -16,6 +16,17 @@ export interface SyncOptions {
|
|
|
16
16
|
* resolve the default (`claude-code`) before calling in.
|
|
17
17
|
*/
|
|
18
18
|
agentHarness?: AgentHarness;
|
|
19
|
+
/**
|
|
20
|
+
* Bundle MIGRATION (M-ADR 0151 §4.4's sanctioned inverse): the named
|
|
21
|
+
* bundle's lock block is dropped and its paths released to the incoming
|
|
22
|
+
* bundle in the same lock write. Paths the old bundle managed that the
|
|
23
|
+
* incoming bundle does not claim are removed as orphans (respecting
|
|
24
|
+
* `delete: false`). Requires `yes` outside dry-run — the three-way
|
|
25
|
+
* split (shared / arriving / orphaned) is always printed first.
|
|
26
|
+
*/
|
|
27
|
+
replaceBundle?: string;
|
|
28
|
+
/** Confirmation for `replaceBundle` outside dry-run. */
|
|
29
|
+
yes?: boolean;
|
|
19
30
|
}
|
|
20
31
|
export interface SyncResult {
|
|
21
32
|
exitCode: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/sync/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/sync/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAWL,KAAK,QAAQ,EACd,MAAM,iBAAiB,CAAC;AAiCzB,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAmB/E,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgDD,wBAAsB,OAAO,CAC3B,IAAI,EAAE,WAAW,EACjB,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAA2C,GACpE,OAAO,CAAC,UAAU,CAAC,CA6qBrB;AA2BD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,cAAc,EACxB,iBAAiB,CAAC,EAAE,MAAM,GACzB,MAAM,GAAG,IAAI,CAUf;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,GAAG,IAAI,EACzB,QAAQ,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,EACpD,kBAAkB,EAAE,MAAM,GACzB,MAAM,GAAG,IAAI,CAqBf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,GAAG,IAAI,EACzB,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAC3C,kBAAkB,EAAE,MAAM,GACzB,MAAM,GAAG,IAAI,CAef;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAkCtE"}
|
package/dist/lib/sync/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { createHash } from "node:crypto";
|
|
|
2
2
|
import { access, readFile } from "node:fs/promises";
|
|
3
3
|
import { loadBundle } from "../bundle.js";
|
|
4
4
|
import { getPackageVersion } from "../package-version.js";
|
|
5
|
-
import { LOCK_VERSION, findBundle, findForwardBase, hasForwardBase, pathToBundleMap, readLockFile, upsertBundle, writeLockFile, } from "../lock-file.js";
|
|
5
|
+
import { LOCK_VERSION, findBundle, findForwardBase, hasForwardBase, pathToBundleMap, readLockFile, removeBundle, upsertBundle, writeLockFile, } from "../lock-file.js";
|
|
6
6
|
import { REPO_KIND_FILE, profileFromBundleName, repoKindFromProfile, writeRepoKind, } from "../repo-kind.js";
|
|
7
7
|
import { join } from "node:path";
|
|
8
8
|
import { copyManagedFiles, removeManagedFiles } from "./apply.js";
|
|
@@ -128,6 +128,25 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
128
128
|
stdout(fail(`Forward bases: platform-baseline, app-baseline, integration-baseline, reverse-baseline.`));
|
|
129
129
|
return { exitCode: 1 };
|
|
130
130
|
}
|
|
131
|
+
// Bundle migration (--replace-bundle): validate the request before any
|
|
132
|
+
// gate that would misread the overlap as a defect.
|
|
133
|
+
const migrateFrom = opts.replaceBundle
|
|
134
|
+
? findBundle(prevLock, opts.replaceBundle)
|
|
135
|
+
: null;
|
|
136
|
+
if (opts.replaceBundle) {
|
|
137
|
+
if (opts.replaceBundle === incomingBundleName) {
|
|
138
|
+
stdout(fail(`--replace-bundle ${opts.replaceBundle}: replacing a bundle with itself is a plain sync — drop the flag.`));
|
|
139
|
+
return { exitCode: 1 };
|
|
140
|
+
}
|
|
141
|
+
if (!migrateFrom) {
|
|
142
|
+
stdout(fail(`--replace-bundle ${opts.replaceBundle}: the lock has no bundle of that name. Nothing to migrate.`));
|
|
143
|
+
return { exitCode: 1 };
|
|
144
|
+
}
|
|
145
|
+
if (migrateFrom.isForwardBase !== incomingIsForward) {
|
|
146
|
+
stdout(fail(`--replace-bundle: '${opts.replaceBundle}' (forward base: ${migrateFrom.isForwardBase}) and '${incomingBundleName}' (forward base: ${incomingIsForward}) are different layer kinds — a migration swaps like for like.`));
|
|
147
|
+
return { exitCode: 1 };
|
|
148
|
+
}
|
|
149
|
+
}
|
|
131
150
|
// Adopter pack requires_forward_base check: the named forward base
|
|
132
151
|
// must be in the lock at a compatible version. Per ADR 0151 §4.2.
|
|
133
152
|
if (!incomingIsForward && bundle.manifest.requiresForwardBase) {
|
|
@@ -147,8 +166,17 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
147
166
|
}
|
|
148
167
|
}
|
|
149
168
|
// Cross-bundle ownership: a path managed by another bundle in the
|
|
150
|
-
// lock cannot also be claimed by this bundle.
|
|
169
|
+
// lock cannot also be claimed by this bundle. Under --replace-bundle the
|
|
170
|
+
// outgoing bundle's claims are released — migration is the overlap
|
|
171
|
+
// guard's sanctioned inverse, not its removal: a path owned by any THIRD
|
|
172
|
+
// bundle still refuses below.
|
|
151
173
|
const otherBundlePaths = pathToBundleMap(prevLock, incomingBundleName);
|
|
174
|
+
if (migrateFrom) {
|
|
175
|
+
for (const p of migrateFrom.managedPaths) {
|
|
176
|
+
if (otherBundlePaths.get(p) === migrateFrom.name)
|
|
177
|
+
otherBundlePaths.delete(p);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
152
180
|
for (const p of bundle.managedPaths) {
|
|
153
181
|
const owner = otherBundlePaths.get(p);
|
|
154
182
|
if (owner !== undefined) {
|
|
@@ -162,9 +190,15 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
162
190
|
// file is preserved and reported rather than deleted — and removal-by-omission
|
|
163
191
|
// would otherwise sweep it, since a withdrawn ADR is no longer in the bundle.
|
|
164
192
|
const adrTransitions = await planAdrTransitions(bundle.rootDir, opts.targetRepo, prevEntry?.bundleVersion);
|
|
165
|
-
// Removals are scoped to THIS bundle's previously-managed paths
|
|
193
|
+
// Removals are scoped to THIS bundle's previously-managed paths — plus,
|
|
194
|
+
// under --replace-bundle, the outgoing bundle's paths, so its orphans
|
|
195
|
+
// (old-only, unclaimed by the incoming bundle) are removed in the same
|
|
196
|
+
// pass rather than left as untracked strays.
|
|
166
197
|
const prevBundleEntry = findBundle(prevLock, incomingBundleName);
|
|
167
|
-
const prevPaths =
|
|
198
|
+
const prevPaths = [
|
|
199
|
+
...(prevBundleEntry?.managedPaths ?? []),
|
|
200
|
+
...(migrateFrom?.managedPaths ?? []),
|
|
201
|
+
];
|
|
168
202
|
const withdrawnKeep = new Set(adrTransitions.protectedFromRemoval);
|
|
169
203
|
const removals = computeRemovals(prevPaths, materialisePaths, {
|
|
170
204
|
noDelete: !opts.delete,
|
|
@@ -184,6 +218,25 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
184
218
|
stdout(` ! ${w}\n`);
|
|
185
219
|
}
|
|
186
220
|
stdout(info(`Protected ownership prefixes: ${PROTECTED_PREFIXES.join(" ")}`));
|
|
221
|
+
// Migration three-way split — always printed, dry-run or not, so the
|
|
222
|
+
// figures a reviewer approves are the figures the real run states.
|
|
223
|
+
if (migrateFrom) {
|
|
224
|
+
const incomingSet = new Set(bundle.managedPaths);
|
|
225
|
+
const shared = migrateFrom.managedPaths.filter((p) => incomingSet.has(p));
|
|
226
|
+
const arriving = bundle.managedPaths.filter((p) => !migrateFrom.managedPaths.includes(p));
|
|
227
|
+
const orphaned = migrateFrom.managedPaths.filter((p) => !incomingSet.has(p));
|
|
228
|
+
stdout(info(`Migration ${migrateFrom.name} → ${incomingBundleName}:`));
|
|
229
|
+
stdout(info(` shared (ownership transfers): ${shared.length}`));
|
|
230
|
+
stdout(info(` arriving (new to this repo): ${arriving.length}`));
|
|
231
|
+
stdout(info(` orphaned (removed unless --no-delete): ${orphaned.length}`));
|
|
232
|
+
for (const p of orphaned)
|
|
233
|
+
stdout(` - ${p}\n`);
|
|
234
|
+
if (!opts.dryRun && opts.yes !== true) {
|
|
235
|
+
stdout(fail(`--replace-bundle is destructive (drops the '${migrateFrom.name}' lock block). ` +
|
|
236
|
+
`Review the split above (use --dry-run first), then re-run with --yes.`));
|
|
237
|
+
return { exitCode: 1 };
|
|
238
|
+
}
|
|
239
|
+
}
|
|
187
240
|
if (opts.dryRun) {
|
|
188
241
|
stdout(info("Dry run enabled. No files modified."));
|
|
189
242
|
if (conflicts.length > 0) {
|
|
@@ -208,7 +261,13 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
208
261
|
// that anything had been written. The checks here are read-only and
|
|
209
262
|
// mirror the real gates exactly; those stay in place as defence in
|
|
210
263
|
// depth. All of them no-op under --allow-overwrite, hence the guard.
|
|
211
|
-
|
|
264
|
+
// Under --replace-bundle the method-managed settings/workflow blocks were
|
|
265
|
+
// rendered for the OUTGOING bundle's profile; the incoming profile renders
|
|
266
|
+
// different blocks, so drift against them is EXPECTED, not adopter edits.
|
|
267
|
+
// The merges below re-render method-managed content only — adopter entries
|
|
268
|
+
// outside the markers are preserved either way — so migration overrides
|
|
269
|
+
// this gate without touching --allow-overwrite's file-conflict semantics.
|
|
270
|
+
if (incomingIsForward && !opts.allowOverwrite && !migrateFrom) {
|
|
212
271
|
const preflightProfile = profileFromBundleName(incomingBundleName);
|
|
213
272
|
if (preflightProfile) {
|
|
214
273
|
const failures = [];
|
|
@@ -339,7 +398,7 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
339
398
|
// .claude/settings.json, or rewrite the CI workflow — the forward
|
|
340
399
|
// base owns those.
|
|
341
400
|
if (!incomingIsForward) {
|
|
342
|
-
await writeLockFile(opts.targetRepo, upsertBundle(prevLock, newEntry));
|
|
401
|
+
await writeLockFile(opts.targetRepo, upsertBundle(migrateFrom ? removeBundle(prevLock, migrateFrom.name) : prevLock, newEntry));
|
|
343
402
|
stdout(pass(`Method baseline synced to: ${opts.targetRepo}`));
|
|
344
403
|
stdout(info(`Updated lock file: method-baseline.lock (lock_version: ${LOCK_VERSION})`));
|
|
345
404
|
stdout(info("Additive layer applied; .sdd-repo-kind unchanged."));
|
|
@@ -360,7 +419,7 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
360
419
|
if (opts.agentHarness === "github-copilot-cli") {
|
|
361
420
|
const copilotResult = await syncMethodManagedCopilotHooks({
|
|
362
421
|
targetRepo: opts.targetRepo,
|
|
363
|
-
allowOverwrite: opts.allowOverwrite,
|
|
422
|
+
allowOverwrite: opts.allowOverwrite || migrateFrom !== null,
|
|
364
423
|
});
|
|
365
424
|
if (copilotResult.refused) {
|
|
366
425
|
stdout(fail(`.github/hooks/*.json has adopter-modified method entries (${copilotResult.driftedRefused.join(", ")}). Re-run with --allow-overwrite to rewrite them.`));
|
|
@@ -375,7 +434,7 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
375
434
|
const settingsResult = await syncMethodManagedSettings({
|
|
376
435
|
targetRepo: opts.targetRepo,
|
|
377
436
|
profile,
|
|
378
|
-
allowOverwrite: opts.allowOverwrite,
|
|
437
|
+
allowOverwrite: opts.allowOverwrite || migrateFrom !== null,
|
|
379
438
|
// A lock is the only sound evidence the managed entries were seeded
|
|
380
439
|
// before, which is what makes a re-seed distinguishable from a first
|
|
381
440
|
// sync into an adopter's own settings file.
|
|
@@ -418,7 +477,7 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
418
477
|
begin: BLOCK_BEGIN,
|
|
419
478
|
end: BLOCK_END,
|
|
420
479
|
});
|
|
421
|
-
if (blockDrifted && !opts.allowOverwrite) {
|
|
480
|
+
if (blockDrifted && !opts.allowOverwrite && !migrateFrom) {
|
|
422
481
|
stdout(fail(`${WORKFLOW_REL_PATH}: the method-managed block differs from what this sdd-cli renders. Either the generator changed since the last sync (expected after a CLI upgrade) or the block was hand-edited. Re-run with --allow-overwrite to re-render it; adopter content outside the markers is preserved either way.`));
|
|
423
482
|
return { exitCode: 1 };
|
|
424
483
|
}
|
|
@@ -446,7 +505,7 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
446
505
|
repoKind: repoKindFromProfile(profile),
|
|
447
506
|
baselineVersion: bundle.manifest.bundleVersion,
|
|
448
507
|
agentHarness: opts.agentHarness ?? DEFAULT_AGENT_HARNESS,
|
|
449
|
-
allowOverwrite: opts.allowOverwrite,
|
|
508
|
+
allowOverwrite: opts.allowOverwrite || migrateFrom !== null,
|
|
450
509
|
});
|
|
451
510
|
if (briefingResult.refused) {
|
|
452
511
|
stdout(fail(`${briefingResult.refused} has adopter edits outside the method-managed markers. Re-run with --allow-overwrite to replace the file.`));
|
|
@@ -454,7 +513,7 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
454
513
|
}
|
|
455
514
|
for (const line of briefingResult.log)
|
|
456
515
|
stdout(info(line));
|
|
457
|
-
await writeLockFile(opts.targetRepo, upsertBundle(prevLock, newEntry));
|
|
516
|
+
await writeLockFile(opts.targetRepo, upsertBundle(migrateFrom ? removeBundle(prevLock, migrateFrom.name) : prevLock, newEntry));
|
|
458
517
|
stdout(pass(`Method baseline synced to: ${opts.targetRepo}`));
|
|
459
518
|
stdout(info(`Updated lock file: method-baseline.lock (lock_version: ${LOCK_VERSION})`));
|
|
460
519
|
stdout(info(`Set repo kind marker: ${REPO_KIND_FILE} = ${repoKind}`));
|