mewkit 1.16.1 → 1.18.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/commands/build-plugin.d.ts +6 -0
- package/dist/commands/build-plugin.d.ts.map +1 -1
- package/dist/commands/build-plugin.js +3 -3
- package/dist/commands/build-plugin.js.map +1 -1
- package/dist/commands/plan.d.ts +7 -0
- package/dist/commands/plan.d.ts.map +1 -0
- package/dist/commands/plan.js +124 -0
- package/dist/commands/plan.js.map +1 -0
- package/dist/commands/providers.js +15 -0
- package/dist/commands/providers.js.map +1 -1
- package/dist/commands/validate.d.ts +9 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +93 -1
- package/dist/commands/validate.js.map +1 -1
- package/dist/core/build-inventory.d.ts +25 -0
- package/dist/core/build-inventory.d.ts.map +1 -1
- package/dist/core/build-inventory.js +83 -2
- package/dist/core/build-inventory.js.map +1 -1
- package/dist/core/capability.d.ts +24 -24
- package/dist/core/check-agent-conformance.d.ts +14 -0
- package/dist/core/check-agent-conformance.d.ts.map +1 -0
- package/dist/core/check-agent-conformance.js +127 -0
- package/dist/core/check-agent-conformance.js.map +1 -0
- package/dist/core/check-docs-references.d.ts.map +1 -1
- package/dist/core/check-docs-references.js +6 -0
- package/dist/core/check-docs-references.js.map +1 -1
- package/dist/core/check-gate-authority.d.ts +40 -0
- package/dist/core/check-gate-authority.d.ts.map +1 -0
- package/dist/core/check-gate-authority.js +313 -0
- package/dist/core/check-gate-authority.js.map +1 -0
- package/dist/core/check-generic-core-tokens.d.ts +12 -0
- package/dist/core/check-generic-core-tokens.d.ts.map +1 -0
- package/dist/core/check-generic-core-tokens.js +67 -0
- package/dist/core/check-generic-core-tokens.js.map +1 -0
- package/dist/core/check-operation-conformance.d.ts +27 -0
- package/dist/core/check-operation-conformance.d.ts.map +1 -0
- package/dist/core/check-operation-conformance.js +91 -0
- package/dist/core/check-operation-conformance.js.map +1 -0
- package/dist/core/check-plugin-parity.d.ts +15 -0
- package/dist/core/check-plugin-parity.d.ts.map +1 -0
- package/dist/core/check-plugin-parity.js +130 -0
- package/dist/core/check-plugin-parity.js.map +1 -0
- package/dist/core/check-pseudo-capabilities.d.ts +15 -0
- package/dist/core/check-pseudo-capabilities.d.ts.map +1 -0
- package/dist/core/check-pseudo-capabilities.js +89 -0
- package/dist/core/check-pseudo-capabilities.js.map +1 -0
- package/dist/core/check-stale-index.d.ts.map +1 -1
- package/dist/core/check-stale-index.js +7 -0
- package/dist/core/check-stale-index.js.map +1 -1
- package/dist/core/check-workflow-drift.d.ts +9 -4
- package/dist/core/check-workflow-drift.d.ts.map +1 -1
- package/dist/core/check-workflow-drift.js +33 -29
- package/dist/core/check-workflow-drift.js.map +1 -1
- package/dist/core/plan-parser.d.ts +40 -0
- package/dist/core/plan-parser.d.ts.map +1 -0
- package/dist/core/plan-parser.js +126 -0
- package/dist/core/plan-parser.js.map +1 -0
- package/dist/core/plugin-payload.d.ts.map +1 -1
- package/dist/core/plugin-payload.js +9 -0
- package/dist/core/plugin-payload.js.map +1 -1
- package/dist/core/provider-adapter.d.ts +4 -0
- package/dist/core/provider-adapter.d.ts.map +1 -1
- package/dist/core/provider-adapter.js +2 -0
- package/dist/core/provider-adapter.js.map +1 -1
- package/dist/core/provider-operations.d.ts +51 -0
- package/dist/core/provider-operations.d.ts.map +1 -0
- package/dist/core/provider-operations.js +171 -0
- package/dist/core/provider-operations.js.map +1 -0
- package/dist/core/substrate.d.ts +2 -2
- package/dist/core/substrate.d.ts.map +1 -1
- package/dist/core/substrate.js +3 -4
- package/dist/core/substrate.js.map +1 -1
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -1
- package/dist/migrate/model-taxonomy.d.ts +32 -0
- package/dist/migrate/model-taxonomy.d.ts.map +1 -1
- package/dist/migrate/model-taxonomy.js +59 -0
- package/dist/migrate/model-taxonomy.js.map +1 -1
- package/dist/migrate/providers/codex/capabilities.d.ts.map +1 -1
- package/dist/migrate/providers/codex/capabilities.js +6 -0
- package/dist/migrate/providers/codex/capabilities.js.map +1 -1
- package/dist/migrate/reconcile/portable-registry.d.ts +6 -6
- package/package.json +2 -2
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { generatePluginPayload } from "./plugin-payload.js";
|
|
5
|
+
// The SAME identity `build-plugin` uses. Imported, never re-declared: a second
|
|
6
|
+
// copy of the version/description would make the manifests differ and this check
|
|
7
|
+
// would fail on its own drift — which is the defect it exists to catch.
|
|
8
|
+
import { AUTHOR, DESCRIPTION, PAYLOAD_DIRNAME } from "../commands/build-plugin.js";
|
|
9
|
+
// Canonical↔plugin parity.
|
|
10
|
+
//
|
|
11
|
+
// `plugin/` is GENERATED from `.claude/` by generatePluginPayload. Two ways that
|
|
12
|
+
// silently breaks:
|
|
13
|
+
// 1. someone edits `.claude/` and forgets to regenerate — the plugin ships the
|
|
14
|
+
// OLD behavior while the repo shows the new prose, and every reviewer reads
|
|
15
|
+
// the version that isn't shipping;
|
|
16
|
+
// 2. someone hand-edits `plugin/` — the fix survives exactly until the next
|
|
17
|
+
// regenerate, then vanishes with no diff to explain it.
|
|
18
|
+
//
|
|
19
|
+
// Both produce a repo that looks correct. This check regenerates into a scratch
|
|
20
|
+
// dir and diffs, so divergence is a build failure instead of a discovery.
|
|
21
|
+
//
|
|
22
|
+
// It is NOT covered elsewhere: `validate --plugin` checks the manifests, and
|
|
23
|
+
// check-workflow-drift.ts is a token-level prose check. Neither compares trees.
|
|
24
|
+
/** Files whose bytes legitimately differ per-run and must not fail parity. */
|
|
25
|
+
const VOLATILE = new Set(["hooks.json"]);
|
|
26
|
+
/** Every file under `dir`, relative to it. */
|
|
27
|
+
function collectFiles(dir, base = dir, acc = []) {
|
|
28
|
+
if (!fs.existsSync(dir))
|
|
29
|
+
return acc;
|
|
30
|
+
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
31
|
+
const abs = path.join(dir, entry.name);
|
|
32
|
+
if (entry.isDirectory())
|
|
33
|
+
collectFiles(abs, base, acc);
|
|
34
|
+
else if (entry.isFile())
|
|
35
|
+
acc.push(path.relative(base, abs));
|
|
36
|
+
}
|
|
37
|
+
return acc;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Regenerate the payload into a temp dir and diff it against `plugin/`.
|
|
41
|
+
*
|
|
42
|
+
* Returns every divergence. The caller decides severity — `validate` fails, so
|
|
43
|
+
* that a stale plugin cannot reach a release.
|
|
44
|
+
*/
|
|
45
|
+
export function diffPluginParity(projectRoot) {
|
|
46
|
+
const sourceDir = path.join(projectRoot, ".claude");
|
|
47
|
+
const committed = path.join(projectRoot, PAYLOAD_DIRNAME);
|
|
48
|
+
if (!fs.existsSync(sourceDir) || !fs.existsSync(committed))
|
|
49
|
+
return [];
|
|
50
|
+
const pkgPath = path.join(projectRoot, "package.json");
|
|
51
|
+
const version = fs.existsSync(pkgPath)
|
|
52
|
+
? (JSON.parse(fs.readFileSync(pkgPath, "utf-8")).version ?? "0.0.0")
|
|
53
|
+
: "0.0.0";
|
|
54
|
+
const scratch = fs.mkdtempSync(path.join(os.tmpdir(), "mewkit-parity-"));
|
|
55
|
+
try {
|
|
56
|
+
generatePluginPayload({ sourceDir, outDir: scratch, version, description: DESCRIPTION, author: AUTHOR });
|
|
57
|
+
const expected = new Set(collectFiles(scratch));
|
|
58
|
+
const actual = new Set(collectFiles(committed));
|
|
59
|
+
const out = [];
|
|
60
|
+
for (const rel of expected) {
|
|
61
|
+
if (VOLATILE.has(path.basename(rel)))
|
|
62
|
+
continue;
|
|
63
|
+
if (!actual.has(rel)) {
|
|
64
|
+
out.push({ file: rel, kind: "missing-in-plugin" });
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
const a = fs.readFileSync(path.join(scratch, rel));
|
|
68
|
+
const b = fs.readFileSync(path.join(committed, rel));
|
|
69
|
+
if (!a.equals(b))
|
|
70
|
+
out.push({ file: rel, kind: "stale-in-plugin" });
|
|
71
|
+
}
|
|
72
|
+
// A file in plugin/ that regeneration does not produce is orphaned — it
|
|
73
|
+
// survives only until the next build wipes it.
|
|
74
|
+
for (const rel of actual) {
|
|
75
|
+
if (VOLATILE.has(path.basename(rel)))
|
|
76
|
+
continue;
|
|
77
|
+
if (!expected.has(rel))
|
|
78
|
+
out.push({ file: rel, kind: "extra-in-plugin" });
|
|
79
|
+
}
|
|
80
|
+
return out;
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
fs.rmSync(scratch, { recursive: true, force: true });
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/** Parity as a validate CheckResult. */
|
|
87
|
+
export function checkPluginParity(projectRoot) {
|
|
88
|
+
if (!fs.existsSync(path.join(projectRoot, "plugin"))) {
|
|
89
|
+
return [
|
|
90
|
+
{
|
|
91
|
+
name: "Plugin parity",
|
|
92
|
+
status: "warn",
|
|
93
|
+
detail: "no plugin/ tree — run `mewkit build-plugin`",
|
|
94
|
+
section: "Plugin",
|
|
95
|
+
},
|
|
96
|
+
];
|
|
97
|
+
}
|
|
98
|
+
let divergences;
|
|
99
|
+
try {
|
|
100
|
+
divergences = diffPluginParity(projectRoot);
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
104
|
+
return [{ name: "Plugin parity", status: "fail", detail: `regeneration failed: ${msg}`, section: "Plugin" }];
|
|
105
|
+
}
|
|
106
|
+
if (divergences.length === 0) {
|
|
107
|
+
return [
|
|
108
|
+
{
|
|
109
|
+
name: "Plugin matches canonical .claude",
|
|
110
|
+
status: "pass",
|
|
111
|
+
detail: "regenerated payload is byte-identical to the committed plugin/",
|
|
112
|
+
section: "Plugin",
|
|
113
|
+
},
|
|
114
|
+
];
|
|
115
|
+
}
|
|
116
|
+
const detail = divergences
|
|
117
|
+
.slice(0, 12)
|
|
118
|
+
.map((d) => `plugin/${d.file} — ${d.kind}`)
|
|
119
|
+
.join("\n ");
|
|
120
|
+
const more = divergences.length > 12 ? `\n …and ${divergences.length - 12} more` : "";
|
|
121
|
+
return [
|
|
122
|
+
{
|
|
123
|
+
name: `Plugin diverges from canonical (${divergences.length})`,
|
|
124
|
+
status: "fail",
|
|
125
|
+
detail: `${detail}${more}\n Run \`mewkit build-plugin\`. Never hand-edit plugin/ — the next build discards it.`,
|
|
126
|
+
section: "Plugin",
|
|
127
|
+
},
|
|
128
|
+
];
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=check-plugin-parity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-plugin-parity.js","sourceRoot":"","sources":["../../src/core/check-plugin-parity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface PseudoCapabilityFinding {
|
|
2
|
+
file: string;
|
|
3
|
+
line: number;
|
|
4
|
+
found: string;
|
|
5
|
+
}
|
|
6
|
+
/** Scan one file's prose for unresolved pseudo-capability aliases. */
|
|
7
|
+
export declare function scanForPseudoCapabilities(root: string, relPath: string): PseudoCapabilityFinding[];
|
|
8
|
+
/**
|
|
9
|
+
* Scan a projected tree. Returns every finding; the caller decides severity —
|
|
10
|
+
* `build-plugin` throws, `validate` reports.
|
|
11
|
+
*/
|
|
12
|
+
export declare function findPseudoCapabilities(root: string, scanDirs?: string[]): PseudoCapabilityFinding[];
|
|
13
|
+
/** Render findings as a build-failure message with file:line locations. */
|
|
14
|
+
export declare function formatPseudoCapabilityError(findings: PseudoCapabilityFinding[]): string;
|
|
15
|
+
//# sourceMappingURL=check-pseudo-capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-pseudo-capabilities.d.ts","sourceRoot":"","sources":["../../src/core/check-pseudo-capabilities.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,uBAAuB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd;AAaD,sEAAsE;AACtE,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAiBlG;AAkBD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAU,GAAG,uBAAuB,EAAE,CAE1G;AAED,2EAA2E;AAC3E,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAUvF"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
// Projection-time rejection of UNRESOLVED PSEUDO-CAPABILITY ALIASES.
|
|
2
|
+
//
|
|
3
|
+
// The defect class: a skill's prose names a logical operation in a template form
|
|
4
|
+
// that was never substituted — literal text like "use `manage_plan capability`"
|
|
5
|
+
// or "delegate_agent capability" — instead of naming the real host primitive.
|
|
6
|
+
//
|
|
7
|
+
// Why it must fail the BUILD rather than warn: the string reads as if it means
|
|
8
|
+
// something. An agent following that prose looks for a "manage_plan capability",
|
|
9
|
+
// finds nothing, and improvises — which is the failure the operation table exists
|
|
10
|
+
// to prevent. It is a broken instruction that is indistinguishable from a working
|
|
11
|
+
// one until an agent acts on it, so the only safe time to catch it is before the
|
|
12
|
+
// payload ships.
|
|
13
|
+
//
|
|
14
|
+
// Scope is deliberately narrow: the four logical operation names, immediately
|
|
15
|
+
// followed by the word "capability". That phrase has no legitimate use — the
|
|
16
|
+
// operations are adapter-internal (see provider-operations.ts) and are never a
|
|
17
|
+
// "capability" in the manifest sense, so any occurrence is an unsubstituted
|
|
18
|
+
// placeholder. A broader "looks like a dangling reference" check was evaluated and
|
|
19
|
+
// rejected: every candidate it flagged in this tree was legitimate prose, and a
|
|
20
|
+
// build gate that only ever cries wolf gets switched off.
|
|
21
|
+
import fs from "node:fs";
|
|
22
|
+
import path from "node:path";
|
|
23
|
+
import { LOGICAL_OPERATIONS } from "./provider-operations.js";
|
|
24
|
+
/** Suppression marker for prose that must quote the anti-pattern (e.g. this rule's own docs). */
|
|
25
|
+
const ALLOW_MARKER = "lint-allow-pseudo-capability";
|
|
26
|
+
/**
|
|
27
|
+
* `<operation> capability` — an unsubstituted placeholder. Built from the operation
|
|
28
|
+
* list so the two cannot drift: a new operation is covered the day it is added.
|
|
29
|
+
*/
|
|
30
|
+
function pseudoCapabilityRe() {
|
|
31
|
+
return new RegExp(`\\b(${LOGICAL_OPERATIONS.join("|")})\\s+capability\\b`, "gi");
|
|
32
|
+
}
|
|
33
|
+
/** Scan one file's prose for unresolved pseudo-capability aliases. */
|
|
34
|
+
export function scanForPseudoCapabilities(root, relPath) {
|
|
35
|
+
const abs = path.join(root, relPath);
|
|
36
|
+
if (!fs.existsSync(abs))
|
|
37
|
+
return [];
|
|
38
|
+
const findings = [];
|
|
39
|
+
const re = pseudoCapabilityRe();
|
|
40
|
+
fs.readFileSync(abs, "utf-8")
|
|
41
|
+
.split("\n")
|
|
42
|
+
.forEach((text, idx) => {
|
|
43
|
+
if (text.includes(ALLOW_MARKER))
|
|
44
|
+
return;
|
|
45
|
+
re.lastIndex = 0;
|
|
46
|
+
const m = re.exec(text);
|
|
47
|
+
if (m)
|
|
48
|
+
findings.push({ file: relPath, line: idx + 1, found: m[0] });
|
|
49
|
+
});
|
|
50
|
+
return findings;
|
|
51
|
+
}
|
|
52
|
+
/** Every prose file under `dir`, relative to `root`. */
|
|
53
|
+
function collectProse(root, dir, acc = []) {
|
|
54
|
+
const abs = path.join(root, dir);
|
|
55
|
+
if (!fs.existsSync(abs))
|
|
56
|
+
return acc;
|
|
57
|
+
for (const entry of fs.readdirSync(abs, { withFileTypes: true })) {
|
|
58
|
+
const rel = path.join(dir, entry.name);
|
|
59
|
+
if (entry.isDirectory()) {
|
|
60
|
+
if (entry.name === "node_modules" || entry.name.startsWith(".git"))
|
|
61
|
+
continue;
|
|
62
|
+
collectProse(root, rel, acc);
|
|
63
|
+
}
|
|
64
|
+
else if (entry.isFile() && entry.name.endsWith(".md")) {
|
|
65
|
+
acc.push(rel);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return acc;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Scan a projected tree. Returns every finding; the caller decides severity —
|
|
72
|
+
* `build-plugin` throws, `validate` reports.
|
|
73
|
+
*/
|
|
74
|
+
export function findPseudoCapabilities(root, scanDirs = ["."]) {
|
|
75
|
+
return scanDirs.flatMap((dir) => collectProse(root, dir)).flatMap((rel) => scanForPseudoCapabilities(root, rel));
|
|
76
|
+
}
|
|
77
|
+
/** Render findings as a build-failure message with file:line locations. */
|
|
78
|
+
export function formatPseudoCapabilityError(findings) {
|
|
79
|
+
const lines = findings.map((f) => ` ${f.file}:${f.line} "${f.found}"`);
|
|
80
|
+
return [
|
|
81
|
+
`Unresolved pseudo-capability alias in ${findings.length} place(s):`,
|
|
82
|
+
...lines,
|
|
83
|
+
"",
|
|
84
|
+
"These are unsubstituted placeholders, not real capabilities. An agent that reads",
|
|
85
|
+
"one will look for something that does not exist and improvise. Name the actual",
|
|
86
|
+
"host primitive instead (see packages/mewkit/src/core/provider-operations.ts).",
|
|
87
|
+
].join("\n");
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=check-pseudo-capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-pseudo-capabilities.js","sourceRoot":"","sources":["../../src/core/check-pseudo-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-stale-index.d.ts","sourceRoot":"","sources":["../../src/core/check-stale-index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA+B3D,8DAA8D;AAC9D,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CACf;AAED,kFAAkF;AAClF,UAAU,SAAS;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CACf;AAOD,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"check-stale-index.d.ts","sourceRoot":"","sources":["../../src/core/check-stale-index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA+B3D,8DAA8D;AAC9D,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CACf;AAED,kFAAkF;AAClF,UAAU,SAAS;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CACf;AAOD,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAoBxD;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAkB3D;AAED,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,CAkBtG;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CA4B/D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAuBrD"}
|
|
@@ -28,6 +28,13 @@ export function countSpecs(repoRoot) {
|
|
|
28
28
|
{ source: "README.md", label: "commands", pattern: /(\d+)\s+(?:slash\s+)?commands/g, actual: a.commands.length },
|
|
29
29
|
{ source: "README.md", label: "rules", pattern: /(\d+)\s+(?:enforcement\s+)?rules/g, actual: a.rules.length },
|
|
30
30
|
{ source: "README.md", label: "hook scripts", pattern: /(\d+)\s+hook scripts/g, actual: a.hooks.length },
|
|
31
|
+
{ source: "website/.vitepress/config.ts", label: "website skills", pattern: /(\d+)\+?\s+skills/g, actual: a.skills.length },
|
|
32
|
+
{ source: "website/.vitepress/config.ts", label: "website agents", pattern: /(\d+)\s+agents/g, actual: a.agents.length },
|
|
33
|
+
{ source: "website/workflows/new-project.md", label: "new-project skills", pattern: /(\d+)\s+skills/g, actual: a.skills.length },
|
|
34
|
+
{ source: "website/workflows/new-project.md", label: "new-project agents", pattern: /(\d+)\s+agents/g, actual: a.agents.length },
|
|
35
|
+
{ source: "website/reference/rules-index.md", label: "rules index agents", pattern: /all\s+(\d+)\s+agents/g, actual: a.agents.length },
|
|
36
|
+
{ source: "website/reference/skills/lazy-agent-loader.md", label: "lazy loader agents", pattern: /all\s+(\d+)\s+agents/g, actual: a.agents.length },
|
|
37
|
+
{ source: "website/core-concepts/how-it-works.md", label: "how-it-works skills", pattern: /(\d+)\+?\s+skills/g, actual: a.skills.length },
|
|
31
38
|
{ source: ".claude/agents/SKILLS_INDEX.md", label: "skills total", pattern: /\*\*Total\*\*\|\*\*(\d+)\*\*/g, actual: a.skills.length },
|
|
32
39
|
{ source: ".claude/agents/AGENTS_INDEX.md", label: "agents index header", pattern: /\[(\d+)\]\{agent_file/g, actual: a.agents.length },
|
|
33
40
|
{ source: ".claude/hooks/HOOKS_INDEX.md", label: "shell hooks", pattern: /(\d+)\s+shell hook/g, actual: a.hooks.length },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-stale-index.js","sourceRoot":"","sources":["../../src/core/check-stale-index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check-stale-index.js","sourceRoot":"","sources":["../../src/core/check-stale-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,8 +21,12 @@ export interface CanonicalSpec {
|
|
|
21
21
|
outputDirs: Set<string>;
|
|
22
22
|
/** Reflect-phase canonical leads (all must co-occur where leads are listed). */
|
|
23
23
|
reflectLeads: string[];
|
|
24
|
-
/** Prose files to scan, relative to project root. */
|
|
25
|
-
sources:
|
|
24
|
+
/** Prose files to scan, relative to project root, with validation scope. */
|
|
25
|
+
sources: WorkflowSource[];
|
|
26
|
+
}
|
|
27
|
+
export interface WorkflowSource {
|
|
28
|
+
path: string;
|
|
29
|
+
lifecycleRender: boolean;
|
|
26
30
|
}
|
|
27
31
|
export declare class WorkflowSpecError extends Error {
|
|
28
32
|
readonly kind: "missing" | "unparseable" | "malformed";
|
|
@@ -37,11 +41,12 @@ export declare class WorkflowSpecError extends Error {
|
|
|
37
41
|
*/
|
|
38
42
|
export declare function loadWorkflowSpec(projectRoot: string): CanonicalSpec;
|
|
39
43
|
/** Scan one prose file for tokens that contradict the canonical spec. */
|
|
40
|
-
export declare function scanForViolations(spec: CanonicalSpec, projectRoot: string, relPath: string): Violation[];
|
|
44
|
+
export declare function scanForViolations(spec: CanonicalSpec, projectRoot: string, relPath: string, lifecycleRender?: boolean): Violation[];
|
|
41
45
|
/**
|
|
42
46
|
* Run the full drift check. Returns CheckResults under the "Workflow" section:
|
|
43
47
|
* a hard FAIL if the spec can't load, a per-source PASS/FAIL otherwise, and a
|
|
44
|
-
*
|
|
48
|
+
* hard FAIL if a configured source lacks its canonical pointer or required
|
|
49
|
+
* lifecycle marker.
|
|
45
50
|
*/
|
|
46
51
|
export declare function checkWorkflowDrift(projectRoot: string, opts?: {
|
|
47
52
|
missingSpecSeverity?: Status;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-workflow-drift.d.ts","sourceRoot":"","sources":["../../src/core/check-workflow-drift.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAgB3D,uEAAuE;AACvE,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC7B,wEAAwE;IACxE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,gEAAgE;IAChE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,yEAAyE;IACzE,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iDAAiD;IACjD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,+EAA+E;IAC/E,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,gFAAgF;IAChF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,
|
|
1
|
+
{"version":3,"file":"check-workflow-drift.d.ts","sourceRoot":"","sources":["../../src/core/check-workflow-drift.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAgB3D,uEAAuE;AACvE,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC7B,wEAAwE;IACxE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,gEAAgE;IAChE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,yEAAyE;IACzE,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iDAAiD;IACjD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,+EAA+E;IAC/E,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,gFAAgF;IAChF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,4EAA4E;IAC5E,OAAO,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAK1C,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW;IAJvD;0EACsE;gBAErE,OAAO,EAAE,MAAM,EACN,IAAI,GAAE,SAAS,GAAG,aAAa,GAAG,WAA2B;CAIvE;AAgCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAwEnE;AAQD,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,UAAQ,GAAG,SAAS,EAAE,CA6FjI;AAOD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,WAAW,EAAE,CA4BlH"}
|
|
@@ -80,7 +80,20 @@ export function loadWorkflowSpec(projectRoot) {
|
|
|
80
80
|
if (dir)
|
|
81
81
|
outputDirs.add(dir);
|
|
82
82
|
}
|
|
83
|
-
|
|
83
|
+
if (raw.sources !== undefined && !Array.isArray(raw.sources)) {
|
|
84
|
+
throw new WorkflowSpecError(`Canonical workflow spec malformed (sources must be an array): ${specPath}`, "malformed");
|
|
85
|
+
}
|
|
86
|
+
const sources = (raw.sources ?? []).map((source, index) => {
|
|
87
|
+
if (typeof source === "string" && source.trim())
|
|
88
|
+
return { path: source, lifecycleRender: false };
|
|
89
|
+
if (!source || typeof source !== "object" || typeof source.path !== "string" || !source.path.trim()) {
|
|
90
|
+
throw new WorkflowSpecError(`Canonical workflow spec malformed (invalid sources[${index}] entry): ${specPath}`, "malformed");
|
|
91
|
+
}
|
|
92
|
+
if (source.lifecycle_render !== undefined && typeof source.lifecycle_render !== "boolean") {
|
|
93
|
+
throw new WorkflowSpecError(`Canonical workflow spec malformed (sources[${index}].lifecycle_render must be boolean): ${specPath}`, "malformed");
|
|
94
|
+
}
|
|
95
|
+
return { path: source.path, lifecycleRender: source.lifecycle_render === true };
|
|
96
|
+
});
|
|
84
97
|
return { phaseNames, nameById, integerPhaseIds, gateOutput, outputDirs, reflectLeads, sources };
|
|
85
98
|
}
|
|
86
99
|
const PHASE_NAME_RE = /Phase\s+(\d+(?:\.\d+)?)\s+\(?([A-Za-z][A-Za-z]+)/g;
|
|
@@ -89,13 +102,25 @@ const PHASE_NAME_RE = /Phase\s+(\d+(?:\.\d+)?)\s+\(?([A-Za-z][A-Za-z]+)/g;
|
|
|
89
102
|
const APPLIES_TO_RE = /applies_to:\s*\[([^\]]*)\]/;
|
|
90
103
|
const TASKS_PATH_RE = /tasks\/([A-Za-z0-9_-]+)\//g;
|
|
91
104
|
/** Scan one prose file for tokens that contradict the canonical spec. */
|
|
92
|
-
export function scanForViolations(spec, projectRoot, relPath) {
|
|
105
|
+
export function scanForViolations(spec, projectRoot, relPath, lifecycleRender = false) {
|
|
93
106
|
const abs = path.join(projectRoot, relPath);
|
|
94
107
|
if (!fs.existsSync(abs)) {
|
|
95
108
|
return [{ file: relPath, line: 0, found: "missing source file", expected: "file listed in workflow.yaml sources must exist" }];
|
|
96
109
|
}
|
|
97
110
|
const violations = [];
|
|
98
111
|
const lines = fs.readFileSync(abs, "utf-8").split("\n");
|
|
112
|
+
const body = lines.join("\n");
|
|
113
|
+
const canonicalPointer = "Canonical source: .claude/workflow.yaml";
|
|
114
|
+
if (!body.includes(canonicalPointer)) {
|
|
115
|
+
violations.push({ file: relPath, line: 0, found: "missing canonical source pointer", expected: canonicalPointer });
|
|
116
|
+
}
|
|
117
|
+
if (lifecycleRender) {
|
|
118
|
+
const sequence = [...spec.nameById].map(([id, name]) => `${id}:${name}`).join(" > ");
|
|
119
|
+
const expectedMarker = `<!-- Workflow phase sequence: ${sequence} -->`;
|
|
120
|
+
if (!body.includes(expectedMarker)) {
|
|
121
|
+
violations.push({ file: relPath, line: 0, found: "missing or reordered workflow phase sequence marker", expected: expectedMarker });
|
|
122
|
+
}
|
|
123
|
+
}
|
|
99
124
|
// Confusable singular forms of the canonical output dirs (the realistic typo).
|
|
100
125
|
const dirTypos = new Map(); // typo -> canonical
|
|
101
126
|
for (const dir of spec.outputDirs) {
|
|
@@ -154,7 +179,6 @@ export function scanForViolations(spec, projectRoot, relPath) {
|
|
|
154
179
|
// 5. Reflect lead list (file-level). A file that enumerates the Reflect leads
|
|
155
180
|
// (mentions Reflect and ≥2 of the canonical leads) must carry ALL of them.
|
|
156
181
|
// Gating on ≥2 avoids flagging files that mention one agent incidentally.
|
|
157
|
-
const body = lines.join("\n");
|
|
158
182
|
if (/\bReflect\b/.test(body)) {
|
|
159
183
|
const present = spec.reflectLeads.filter((l) => body.includes(l));
|
|
160
184
|
if (present.length >= 2 && present.length < spec.reflectLeads.length) {
|
|
@@ -171,7 +195,8 @@ function globToProbe(glob) {
|
|
|
171
195
|
/**
|
|
172
196
|
* Run the full drift check. Returns CheckResults under the "Workflow" section:
|
|
173
197
|
* a hard FAIL if the spec can't load, a per-source PASS/FAIL otherwise, and a
|
|
174
|
-
*
|
|
198
|
+
* hard FAIL if a configured source lacks its canonical pointer or required
|
|
199
|
+
* lifecycle marker.
|
|
175
200
|
*/
|
|
176
201
|
export function checkWorkflowDrift(projectRoot, opts = {}) {
|
|
177
202
|
let spec;
|
|
@@ -188,39 +213,18 @@ export function checkWorkflowDrift(projectRoot, opts = {}) {
|
|
|
188
213
|
return [{ name: "Workflow spec loads", status, detail, section: "Workflow" }];
|
|
189
214
|
}
|
|
190
215
|
const results = [];
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
const violations = scanForViolations(spec, projectRoot, rel);
|
|
194
|
-
// Record which canonical names this file mentions (for global presence).
|
|
195
|
-
const abs = path.join(projectRoot, rel);
|
|
196
|
-
if (fs.existsSync(abs)) {
|
|
197
|
-
const body = fs.readFileSync(abs, "utf-8");
|
|
198
|
-
for (const n of spec.phaseNames)
|
|
199
|
-
if (body.includes(n))
|
|
200
|
-
seenNames.add(n);
|
|
201
|
-
}
|
|
216
|
+
for (const source of spec.sources) {
|
|
217
|
+
const violations = scanForViolations(spec, projectRoot, source.path, source.lifecycleRender);
|
|
202
218
|
if (violations.length === 0) {
|
|
203
|
-
results.push({ name: `No drift: ${
|
|
219
|
+
results.push({ name: `No drift: ${source.path}`, status: "pass", detail: source.path, section: "Workflow" });
|
|
204
220
|
}
|
|
205
221
|
else {
|
|
206
222
|
const detail = violations
|
|
207
223
|
.map((v) => `${v.file}:${v.line} found "${v.found}" — expected "${v.expected}"`)
|
|
208
224
|
.join("\n ");
|
|
209
|
-
results.push({ name: `Drift in ${
|
|
225
|
+
results.push({ name: `Drift in ${source.path}`, status: "fail", detail, section: "Workflow" });
|
|
210
226
|
}
|
|
211
227
|
}
|
|
212
|
-
const absentNames = [...spec.phaseNames].filter((n) => !seenNames.has(n));
|
|
213
|
-
if (absentNames.length > 0) {
|
|
214
|
-
results.push({
|
|
215
|
-
name: "Canonical phase coverage",
|
|
216
|
-
status: "fail",
|
|
217
|
-
detail: `Phase name(s) defined in workflow.yaml but absent from all sources: ${absentNames.join(", ")}`,
|
|
218
|
-
section: "Workflow",
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
else {
|
|
222
|
-
results.push({ name: "Canonical phase coverage", status: "pass", detail: `${spec.phaseNames.size} phase names present across sources`, section: "Workflow" });
|
|
223
|
-
}
|
|
224
228
|
return results;
|
|
225
229
|
}
|
|
226
230
|
//# sourceMappingURL=check-workflow-drift.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-workflow-drift.js","sourceRoot":"","sources":["../../src/core/check-workflow-drift.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check-workflow-drift.js","sourceRoot":"","sources":["../../src/core/check-workflow-drift.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** Required sections in a phase file (documentation-management.md → Phase Files). */
|
|
2
|
+
export declare const REQUIRED_PHASE_SECTIONS: readonly ["Overview", "Requirements", "Implementation Steps", "Success Criteria", "Risk Assessment"];
|
|
3
|
+
export interface PhaseChecklist {
|
|
4
|
+
total: number;
|
|
5
|
+
checked: number;
|
|
6
|
+
}
|
|
7
|
+
export interface PhaseFile {
|
|
8
|
+
file: string;
|
|
9
|
+
title: string | null;
|
|
10
|
+
status: string | null;
|
|
11
|
+
phase: string | null;
|
|
12
|
+
dependencies: string[];
|
|
13
|
+
sections: string[];
|
|
14
|
+
missingSections: string[];
|
|
15
|
+
checklist: PhaseChecklist;
|
|
16
|
+
}
|
|
17
|
+
export interface PlanSummary {
|
|
18
|
+
dir: string;
|
|
19
|
+
title: string | null;
|
|
20
|
+
status: string | null;
|
|
21
|
+
planMdPresent: boolean;
|
|
22
|
+
planMdLines: number;
|
|
23
|
+
phases: PhaseFile[];
|
|
24
|
+
/** Aggregate across every phase file. */
|
|
25
|
+
checklist: PhaseChecklist;
|
|
26
|
+
issues: string[];
|
|
27
|
+
}
|
|
28
|
+
/** Parse one phase file. Throws only if the file is unreadable. */
|
|
29
|
+
export declare function parsePhaseFile(abs: string): PhaseFile;
|
|
30
|
+
/** Phase files in a plan dir, sorted by filename (which encodes phase order). */
|
|
31
|
+
export declare function listPhaseFiles(planDir: string): string[];
|
|
32
|
+
/**
|
|
33
|
+
* Parse a plan directory into a summary.
|
|
34
|
+
*
|
|
35
|
+
* `issues` names what a reader should know before trusting the numbers — a
|
|
36
|
+
* missing plan.md, an over-length overview, a phase with no checklist. They are
|
|
37
|
+
* observations, not verdicts: this is an inspector, and Gate 1 belongs to the human.
|
|
38
|
+
*/
|
|
39
|
+
export declare function parsePlan(planDir: string): PlanSummary;
|
|
40
|
+
//# sourceMappingURL=plan-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-parser.d.ts","sourceRoot":"","sources":["../../src/core/plan-parser.ts"],"names":[],"mappings":"AAkBA,qFAAqF;AACrF,eAAO,MAAM,uBAAuB,sGAM1B,CAAC;AAEX,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,yCAAyC;IACzC,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAkCD,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAqBrD;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAMxD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAqCtD"}
|