@captain_z/zsk 1.8.1 → 1.8.3
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/bin.js +184 -1
- package/dist/bin.js.map +1 -1
- package/dist/commands/check.js +259 -12
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/config.d.ts +11 -0
- package/dist/commands/config.js +132 -3
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/demo.js +2 -2
- package/dist/commands/demo.js.map +1 -1
- package/dist/commands/dispatch.d.ts +11 -0
- package/dist/commands/dispatch.js +69 -0
- package/dist/commands/dispatch.js.map +1 -0
- package/dist/commands/gate.d.ts +11 -0
- package/dist/commands/gate.js +50 -0
- package/dist/commands/gate.js.map +1 -0
- package/dist/commands/prep.d.ts +2 -4
- package/dist/commands/prep.js +1 -131
- package/dist/commands/prep.js.map +1 -1
- package/dist/commands/prepare.d.ts +17 -0
- package/dist/commands/prepare.js +259 -0
- package/dist/commands/prepare.js.map +1 -0
- package/dist/commands/project-init.d.ts +1 -0
- package/dist/commands/project-init.js +12 -10
- package/dist/commands/project-init.js.map +1 -1
- package/dist/commands/template.d.ts +2 -0
- package/dist/commands/template.js +34 -0
- package/dist/commands/template.js.map +1 -0
- package/dist/core/config.d.ts +85 -1
- package/dist/core/config.js +141 -7
- package/dist/core/config.js.map +1 -1
- package/dist/core/origin-detection.d.ts +10 -0
- package/dist/core/origin-detection.js +135 -0
- package/dist/core/origin-detection.js.map +1 -0
- package/dist/core/prepare-lifecycle.d.ts +54 -0
- package/dist/core/prepare-lifecycle.js +302 -0
- package/dist/core/prepare-lifecycle.js.map +1 -0
- package/dist/core/prepare-sync.d.ts +82 -0
- package/dist/core/prepare-sync.js +1514 -0
- package/dist/core/prepare-sync.js.map +1 -0
- package/dist/core/raw-manifest.d.ts +10 -0
- package/dist/core/raw-manifest.js +58 -4
- package/dist/core/raw-manifest.js.map +1 -1
- package/dist/core/source-draft.d.ts +14 -0
- package/dist/core/source-draft.js +251 -0
- package/dist/core/source-draft.js.map +1 -0
- package/dist/core/staffing-plan.d.ts +212 -0
- package/dist/core/staffing-plan.js +1238 -0
- package/dist/core/staffing-plan.js.map +1 -0
- package/dist/core/stage-quality.d.ts +64 -0
- package/dist/core/stage-quality.js +847 -0
- package/dist/core/stage-quality.js.map +1 -0
- package/dist/core/template-registry.d.ts +29 -0
- package/dist/core/template-registry.js +295 -0
- package/dist/core/template-registry.js.map +1 -0
- package/dist/core/workspace-layout.d.ts +3 -0
- package/dist/core/workspace-layout.js +14 -1
- package/dist/core/workspace-layout.js.map +1 -1
- package/package.json +2 -2
- package/schemas/zsk-config.schema.json +233 -196
- package/templates/module/frontend-module/design.md +86 -3
- package/templates/module/frontend-module/proposal.md +17 -0
- package/templates/module/frontend-module/spec.md +26 -0
- package/templates/module/frontend-module/tasks.md +53 -7
- package/templates/project-init/.zsk/config.yaml +8 -96
- package/templates/project-init/.zsk/docs/SYSTEM-SPEC.md +2 -0
- package/templates/project-init/.zsk/raws/index.md +11 -0
- package/templates/project-init/.zsk/raws/prepare/backend/index.md +4 -0
- package/templates/project-init/.zsk/raws/prepare/design/index.md +3 -0
- package/templates/project-init/.zsk/raws/prepare/index.md +4 -0
- package/templates/project-init/.zsk/raws/prepare/product/index.md +4 -0
- package/templates/project-init/.zsk/raws/prepare/qa/index.md +4 -0
- package/templates/project-init/.zsk/raws/prepare/ux/index.md +3 -0
- package/templates/project-init/.zsk/roles.yaml +129 -0
- package/templates/project-init/.zsk/raws/backend/index.md +0 -3
- package/templates/project-init/.zsk/raws/jira/index.md +0 -3
- package/templates/project-init/.zsk/raws/manual/index.md +0 -3
- package/templates/project-init/.zsk/raws/product/index.md +0 -3
- package/templates/project-init/.zsk/raws/qa/index.md +0 -3
- package/templates/project-init/.zsk/raws/ue/index.md +0 -3
package/dist/bin.js
CHANGED
|
@@ -103,6 +103,7 @@ program
|
|
|
103
103
|
.command("init")
|
|
104
104
|
.description("scaffold the minimal .zsk workspace (non-destructive)")
|
|
105
105
|
.option("--target <path>", "project directory (default: cwd)")
|
|
106
|
+
.option("--template <name>", "project lifecycle template (default: founder-os)", "founder-os")
|
|
106
107
|
.option("--yes", "non-interactive mode")
|
|
107
108
|
.option("--overwrite", "overwrite existing files (destructive)")
|
|
108
109
|
.action(async (opts) => {
|
|
@@ -128,6 +129,188 @@ configCommand
|
|
|
128
129
|
const { setup } = await import("./commands/config.js");
|
|
129
130
|
await setup(opts);
|
|
130
131
|
});
|
|
132
|
+
configCommand
|
|
133
|
+
.command("draft")
|
|
134
|
+
.description("scan project sources and emit a draft .zsk/config.yaml")
|
|
135
|
+
.option("--target <path>", "project directory (default: cwd)")
|
|
136
|
+
.option("--out <path>", "write draft config to a file instead of stdout")
|
|
137
|
+
.action(async (opts) => {
|
|
138
|
+
const { draft } = await import("./commands/config.js");
|
|
139
|
+
await draft(opts);
|
|
140
|
+
});
|
|
141
|
+
configCommand
|
|
142
|
+
.command("explain")
|
|
143
|
+
.description("show the effective config after template defaults and compact customization are resolved")
|
|
144
|
+
.option("--target <path>", "project directory (default: cwd)")
|
|
145
|
+
.action(async (opts) => {
|
|
146
|
+
const { explain } = await import("./commands/config.js");
|
|
147
|
+
await explain(opts);
|
|
148
|
+
});
|
|
149
|
+
configCommand
|
|
150
|
+
.command("eject")
|
|
151
|
+
.description("write explicit project-local customization files from the active template")
|
|
152
|
+
.argument("<part>", "roles | workflow | providers | gates | all")
|
|
153
|
+
.option("--target <path>", "project directory (default: cwd)")
|
|
154
|
+
.option("--overwrite", "overwrite existing ejected files")
|
|
155
|
+
.action(async (part, opts) => {
|
|
156
|
+
const { eject } = await import("./commands/config.js");
|
|
157
|
+
await eject(part, opts);
|
|
158
|
+
});
|
|
159
|
+
const templateCommand = program
|
|
160
|
+
.command("template")
|
|
161
|
+
.description("inspect built-in ZSK project templates");
|
|
162
|
+
templateCommand
|
|
163
|
+
.command("list")
|
|
164
|
+
.description("list available project templates")
|
|
165
|
+
.action(async () => {
|
|
166
|
+
const { list } = await import("./commands/template.js");
|
|
167
|
+
await list();
|
|
168
|
+
});
|
|
169
|
+
templateCommand
|
|
170
|
+
.command("show")
|
|
171
|
+
.description("show a project template profile and default lifecycle")
|
|
172
|
+
.argument("[name]", "template id or alias", "founder-os")
|
|
173
|
+
.action(async (name) => {
|
|
174
|
+
const { show } = await import("./commands/template.js");
|
|
175
|
+
await show(name);
|
|
176
|
+
});
|
|
177
|
+
const prepareCommand = program
|
|
178
|
+
.command("prepare")
|
|
179
|
+
.description("run the read-only prepare lifecycle and write evidence artifacts");
|
|
180
|
+
prepareCommand
|
|
181
|
+
.command("scan")
|
|
182
|
+
.description("alias for inventory; scan repository sources into a deterministic inventory artifact")
|
|
183
|
+
.option("--target <path>", "project directory (default: cwd)")
|
|
184
|
+
.action(async (opts) => {
|
|
185
|
+
const { inventory } = await import("./commands/prepare.js");
|
|
186
|
+
await inventory(opts);
|
|
187
|
+
});
|
|
188
|
+
prepareCommand
|
|
189
|
+
.command("inventory")
|
|
190
|
+
.description("scan repository sources into a deterministic inventory artifact")
|
|
191
|
+
.option("--target <path>", "project directory (default: cwd)")
|
|
192
|
+
.action(async (opts) => {
|
|
193
|
+
const { inventory } = await import("./commands/prepare.js");
|
|
194
|
+
await inventory(opts);
|
|
195
|
+
});
|
|
196
|
+
prepareCommand
|
|
197
|
+
.command("draft")
|
|
198
|
+
.description("persist a grouped config draft artifact under .zsk/evidence/prepare")
|
|
199
|
+
.option("--target <path>", "project directory (default: cwd)")
|
|
200
|
+
.action(async (opts) => {
|
|
201
|
+
const { draft } = await import("./commands/prepare.js");
|
|
202
|
+
await draft(opts);
|
|
203
|
+
});
|
|
204
|
+
prepareCommand
|
|
205
|
+
.command("plan")
|
|
206
|
+
.description("write an acquisition plan plus blocked-source/correspondence artifacts")
|
|
207
|
+
.option("--target <path>", "project directory (default: cwd)")
|
|
208
|
+
.action(async (opts) => {
|
|
209
|
+
const { plan } = await import("./commands/prepare.js");
|
|
210
|
+
await plan(opts);
|
|
211
|
+
});
|
|
212
|
+
prepareCommand
|
|
213
|
+
.command("run")
|
|
214
|
+
.description("run inventory, draft, acquisition plan, and raw manifest updates together")
|
|
215
|
+
.option("--target <path>", "project directory (default: cwd)")
|
|
216
|
+
.action(async (opts) => {
|
|
217
|
+
const { run } = await import("./commands/prepare.js");
|
|
218
|
+
await run(opts);
|
|
219
|
+
});
|
|
220
|
+
prepareCommand
|
|
221
|
+
.command("sync")
|
|
222
|
+
.description("materialize confirmed configured sources into snapshots and write adapter evidence")
|
|
223
|
+
.option("--target <path>", "project directory (default: cwd)")
|
|
224
|
+
.option("--source <key>", "sync one source by path-scoped id, slash path, dotted path, or unambiguous provider alias")
|
|
225
|
+
.option("--all", "sync all configured sources")
|
|
226
|
+
.option("--allow-network", "allow direct network fetch for URL origins")
|
|
227
|
+
.option("--auth-state <path>", "project-relative Playwright storageState JSON used for authenticated fetch cookies or browser context")
|
|
228
|
+
.option("--auth-profile <name>", "use .zsk/playwright/.auth/<name>.json as reusable storageState")
|
|
229
|
+
.option("--browser", "render URL origins through the target project's Playwright package")
|
|
230
|
+
.option("--dry-run", "write adapter evidence without materializing snapshots or manifest updates")
|
|
231
|
+
.action(async (opts) => {
|
|
232
|
+
const { sync } = await import("./commands/prepare.js");
|
|
233
|
+
await sync(opts);
|
|
234
|
+
});
|
|
235
|
+
prepareCommand
|
|
236
|
+
.command("auth")
|
|
237
|
+
.description("write a Playwright login helper that saves reusable storageState under .zsk/playwright/.auth")
|
|
238
|
+
.option("--target <path>", "project directory (default: cwd)")
|
|
239
|
+
.option("--url <url>", "URL to open for first-time login")
|
|
240
|
+
.option("--profile <name>", "storageState profile name under .zsk/playwright/.auth")
|
|
241
|
+
.option("--out <path>", "project-relative storageState output path")
|
|
242
|
+
.action(async (opts) => {
|
|
243
|
+
const { auth } = await import("./commands/prepare.js");
|
|
244
|
+
await auth(opts);
|
|
245
|
+
});
|
|
246
|
+
prepareCommand
|
|
247
|
+
.command("auth-check")
|
|
248
|
+
.description("check runtime env/storageState auth for configured URL sources without writing snapshots or printing secrets")
|
|
249
|
+
.option("--target <path>", "project directory (default: cwd)")
|
|
250
|
+
.option("--source <key>", "check one source by path-scoped id, slash path, dotted path, or unambiguous provider alias")
|
|
251
|
+
.option("--all", "check all configured sources")
|
|
252
|
+
.option("--allow-network", "perform a read-only reachability check with available runtime auth")
|
|
253
|
+
.option("--auth-state <path>", "project-relative Playwright storageState JSON used for authenticated fetch cookies")
|
|
254
|
+
.option("--auth-profile <name>", "use .zsk/playwright/.auth/<name>.json as reusable storageState")
|
|
255
|
+
.action(async (opts) => {
|
|
256
|
+
const { authCheck } = await import("./commands/prepare.js");
|
|
257
|
+
await authCheck(opts);
|
|
258
|
+
});
|
|
259
|
+
prepareCommand
|
|
260
|
+
.command("migrate-raws")
|
|
261
|
+
.description("write a dry-run raw-lane migration report without moving files")
|
|
262
|
+
.option("--target <path>", "project directory (default: cwd)")
|
|
263
|
+
.action(async (opts) => {
|
|
264
|
+
const { migrateRaws } = await import("./commands/prepare.js");
|
|
265
|
+
await migrateRaws(opts);
|
|
266
|
+
});
|
|
267
|
+
const dispatchCommand = program
|
|
268
|
+
.command("dispatch")
|
|
269
|
+
.description("plan stage/skill role staffing and emit-compatible subagent packets");
|
|
270
|
+
dispatchCommand
|
|
271
|
+
.command("plan")
|
|
272
|
+
.description("write a generic staffing plan for a ZSK stage and skill")
|
|
273
|
+
.option("--target <path>", "project directory (default: cwd)")
|
|
274
|
+
.option("--stage <name>", "workflow stage, for example prepare, spec, design, coding, review", "prepare")
|
|
275
|
+
.option("--skill <name>", "skill/workflow surface the roles should support")
|
|
276
|
+
.option("-m, --module <id>", "module id for module-scoped stage gates")
|
|
277
|
+
.option("--issue <id-or-path>", "persisted issue id or issue.md path for issue-driven fix gates")
|
|
278
|
+
.option("--review-target <path>", "explicit path being reviewed; makes review gate target-aware")
|
|
279
|
+
.option("--threshold <score>", "override configured stage gate threshold (0-10)")
|
|
280
|
+
.option("--accept-risk <reason>", "record a human risk acceptance when the stage gate has only non-blocking quality gaps")
|
|
281
|
+
.option("--non-blocking-gate", "write gate evidence but keep dispatch planning exit code 0")
|
|
282
|
+
.addOption(new Option("--surface <mode>", "auto | omx | native | sequential").choices(["auto", "omx", "native", "sequential"]).default("auto"))
|
|
283
|
+
.action(async (opts) => {
|
|
284
|
+
const { plan } = await import("./commands/dispatch.js");
|
|
285
|
+
await plan(opts);
|
|
286
|
+
});
|
|
287
|
+
dispatchCommand
|
|
288
|
+
.command("inspect")
|
|
289
|
+
.description("inspect a dispatch emit ledger and mark stale packets for fallback")
|
|
290
|
+
.option("--target <path>", "project directory (default: cwd)")
|
|
291
|
+
.option("--run <id>", "dispatch run id (default: latest)")
|
|
292
|
+
.action(async (opts) => {
|
|
293
|
+
const { inspect } = await import("./commands/dispatch.js");
|
|
294
|
+
await inspect(opts);
|
|
295
|
+
});
|
|
296
|
+
const gateCommand = program
|
|
297
|
+
.command("gate")
|
|
298
|
+
.description("assess upstream stage quality before starting the next stage");
|
|
299
|
+
gateCommand
|
|
300
|
+
.command("assess")
|
|
301
|
+
.description("score required upstream artifacts and write a stage gate assessment")
|
|
302
|
+
.option("--target <path>", "project directory (default: cwd)")
|
|
303
|
+
.option("--stage <name>", "stage to enter, for example design, task, coding, review", "design")
|
|
304
|
+
.option("-m, --module <id>", "module id for module-scoped stage artifacts")
|
|
305
|
+
.option("--issue <id-or-path>", "persisted issue id or issue.md path for issue-driven fix gates")
|
|
306
|
+
.option("--review-target <path>", "explicit path being reviewed; makes review gate target-aware")
|
|
307
|
+
.option("--threshold <score>", "minimum quality score before automatic proceed (0-10)")
|
|
308
|
+
.option("--accept-risk <reason>", "record a human risk acceptance when quality is below threshold but required artifacts exist")
|
|
309
|
+
.option("--non-blocking", "always exit 0 after writing assessment evidence")
|
|
310
|
+
.action(async (opts) => {
|
|
311
|
+
const { assess } = await import("./commands/gate.js");
|
|
312
|
+
await assess(opts);
|
|
313
|
+
});
|
|
131
314
|
const moduleCommand = program
|
|
132
315
|
.command("module")
|
|
133
316
|
.description("create and inspect ZSK module knowledge files");
|
|
@@ -317,7 +500,7 @@ demoScenarioCommand
|
|
|
317
500
|
});
|
|
318
501
|
program
|
|
319
502
|
.command("prep")
|
|
320
|
-
.description("
|
|
503
|
+
.description("legacy alias for prepare run; update raw manifest plus prepare evidence artifacts")
|
|
321
504
|
.option("--target <path>", "project directory (default: cwd)")
|
|
322
505
|
.action(async (opts) => {
|
|
323
506
|
const { run } = await import("./commands/prep.js");
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/check.js
CHANGED
|
@@ -1,10 +1,23 @@
|
|
|
1
1
|
import pc from "picocolors";
|
|
2
|
-
import { access, readFile, readdir } from "node:fs/promises";
|
|
2
|
+
import { access, readFile, readdir, stat } from "node:fs/promises";
|
|
3
3
|
import { basename, dirname, extname, join, relative, resolve } from "node:path";
|
|
4
4
|
import YAML from "yaml";
|
|
5
5
|
import { resolvePath } from "../core/targets.js";
|
|
6
|
-
import { checkProjectConfig, findModuleConfigFiles, formatConfigIssues, readProjectConfig, } from "../core/config.js";
|
|
6
|
+
import { checkProjectConfig, findModuleConfigFiles, flattenProjectSources, formatConfigIssues, readProjectConfig, resolveSourceSnapshot, } from "../core/config.js";
|
|
7
|
+
import { inferSourceOrigin } from "../core/origin-detection.js";
|
|
7
8
|
import { getWorkspacePath, resolveWorkspaceLayout } from "../core/workspace-layout.js";
|
|
9
|
+
const STALE_PREPARE_RAW_LANES = new Set([
|
|
10
|
+
"qa-engineer",
|
|
11
|
+
"test-engineer",
|
|
12
|
+
"backend-engineer",
|
|
13
|
+
"frontend-engineer",
|
|
14
|
+
"product-manager",
|
|
15
|
+
"designer",
|
|
16
|
+
"jira",
|
|
17
|
+
"manual",
|
|
18
|
+
"provider",
|
|
19
|
+
"version",
|
|
20
|
+
]);
|
|
8
21
|
const RUNTIME_ARTIFACT_EXTS = new Set([
|
|
9
22
|
".log",
|
|
10
23
|
".png",
|
|
@@ -34,6 +47,7 @@ const STAGE_DOCS_REQUIRING_FEEDBACK = [
|
|
|
34
47
|
"acceptance.md",
|
|
35
48
|
"archive.md",
|
|
36
49
|
];
|
|
50
|
+
const SPLITTABLE_STAGE_DOCS = new Set(["proposal", "spec", "design", "tasks"]);
|
|
37
51
|
const PLAYWRIGHT_TEST_FILE_RE = /\.(spec|test)\.[cm]?[jt]sx?$/i;
|
|
38
52
|
export async function run(opts = {}) {
|
|
39
53
|
const target = opts.target ? resolvePath(opts.target) : process.cwd();
|
|
@@ -52,7 +66,14 @@ export async function run(opts = {}) {
|
|
|
52
66
|
const moduleFiles = await findModuleConfigFiles(target, config);
|
|
53
67
|
const moduleConfigs = await readModuleConfigs(moduleFiles);
|
|
54
68
|
await checkWorkspacePathLeaks(target, issues);
|
|
55
|
-
await
|
|
69
|
+
await checkStageDirectoryArtifacts(target, getWorkspacePath(config, "modulesRoot"), issues);
|
|
70
|
+
await checkRawTestingMapped(target, [
|
|
71
|
+
getWorkspacePath(config, "resourcesTesting"),
|
|
72
|
+
join(getWorkspacePath(config, "resourcesRoot"), "qa", "testing"),
|
|
73
|
+
], moduleConfigs, issues);
|
|
74
|
+
await checkPrepareRawTopology(target, getWorkspacePath(config, "resourcesRoot"), issues);
|
|
75
|
+
await checkConfiguredSourceOrigins(target, configCheck.configFile, config, warnings);
|
|
76
|
+
await checkMissingCurrentRawReferences(target, config, warnings, issues);
|
|
56
77
|
await checkDocsArtifacts(target, [
|
|
57
78
|
getWorkspacePath(config, "docsRoot"),
|
|
58
79
|
getWorkspacePath(config, "modulesRoot"),
|
|
@@ -83,9 +104,12 @@ async function readModuleConfigs(files) {
|
|
|
83
104
|
}
|
|
84
105
|
return result;
|
|
85
106
|
}
|
|
86
|
-
async function checkRawTestingMapped(target,
|
|
87
|
-
const
|
|
88
|
-
const
|
|
107
|
+
async function checkRawTestingMapped(target, testingPaths, modules, issues) {
|
|
108
|
+
const rawFiles = [];
|
|
109
|
+
for (const testingPath of unique(testingPaths)) {
|
|
110
|
+
const testingRoot = resolve(target, testingPath);
|
|
111
|
+
rawFiles.push(...(await collectFiles(testingRoot)).filter((file) => !file.endsWith("/README.md") && !file.endsWith("/index.md")));
|
|
112
|
+
}
|
|
89
113
|
if (rawFiles.length === 0)
|
|
90
114
|
return;
|
|
91
115
|
const mapped = new Set();
|
|
@@ -104,6 +128,47 @@ async function checkRawTestingMapped(target, testingPath, modules, issues) {
|
|
|
104
128
|
});
|
|
105
129
|
}
|
|
106
130
|
}
|
|
131
|
+
async function checkPrepareRawTopology(target, rawsPath, issues) {
|
|
132
|
+
const prepareRoot = resolve(target, rawsPath, "prepare");
|
|
133
|
+
try {
|
|
134
|
+
const entries = await readdir(prepareRoot, { withFileTypes: true });
|
|
135
|
+
for (const entry of entries) {
|
|
136
|
+
if (entry.isFile() && ["index.md", "README.md"].includes(entry.name))
|
|
137
|
+
continue;
|
|
138
|
+
if (!entry.isDirectory()) {
|
|
139
|
+
issues.push({
|
|
140
|
+
file: join(prepareRoot, entry.name),
|
|
141
|
+
message: "prepare raw source entries must live under a responsibility lane such as product, backend, design, ux, qa, or a project-defined extension",
|
|
142
|
+
});
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
if (!isDisallowedPrepareLane(entry.name))
|
|
146
|
+
continue;
|
|
147
|
+
issues.push({
|
|
148
|
+
file: join(prepareRoot, entry.name),
|
|
149
|
+
message: "stale prepare raw lane; use current responsibility lanes such as product, backend, design, ux, qa, or a project-defined extension lane",
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
// prepare/ is optional for legacy workspaces.
|
|
155
|
+
}
|
|
156
|
+
const zskRoot = resolve(target, ".zsk");
|
|
157
|
+
const maintainedFiles = (await collectFiles(zskRoot)).filter((file) => isMaintainedTextArtifact(file));
|
|
158
|
+
const staleReferencePattern = /\.zsk\/raws\/prepare\/([A-Za-z0-9_-]+)/g;
|
|
159
|
+
for (const file of maintainedFiles) {
|
|
160
|
+
const content = await readFile(file, "utf8");
|
|
161
|
+
for (const match of content.matchAll(staleReferencePattern)) {
|
|
162
|
+
const lane = match[1];
|
|
163
|
+
if (!lane || !isDisallowedPrepareLane(lane))
|
|
164
|
+
continue;
|
|
165
|
+
issues.push({
|
|
166
|
+
file,
|
|
167
|
+
message: `stale prepare raw lane referenced: ${lane}`,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
107
172
|
async function checkDocsArtifacts(target, docsPaths, evidencePath, issues) {
|
|
108
173
|
const roots = unique(docsPaths).map((docsPath) => resolve(target, docsPath));
|
|
109
174
|
const files = [];
|
|
@@ -124,7 +189,7 @@ async function checkDocsArtifacts(target, docsPaths, evidencePath, issues) {
|
|
|
124
189
|
if (isPlaywrightSpec || isPlaywrightRuntime) {
|
|
125
190
|
issues.push({
|
|
126
191
|
file,
|
|
127
|
-
message: "Playwright specs and runtime artifacts belong under module
|
|
192
|
+
message: "Playwright specs and runtime artifacts belong under .zsk/modules/{module}/_playwright or shared .zsk/playwright, not docs roots",
|
|
128
193
|
});
|
|
129
194
|
continue;
|
|
130
195
|
}
|
|
@@ -140,17 +205,89 @@ async function checkDocsArtifacts(target, docsPaths, evidencePath, issues) {
|
|
|
140
205
|
continue;
|
|
141
206
|
issues.push({
|
|
142
207
|
file,
|
|
143
|
-
message: `runtime evidence belongs under ${evidencePath}, not a docs or module-docs root`,
|
|
208
|
+
message: `runtime evidence belongs under ${evidencePath} or .zsk/modules/{module}/_evidence, not a docs or module-docs root`,
|
|
144
209
|
});
|
|
145
210
|
}
|
|
146
211
|
}
|
|
212
|
+
async function checkConfiguredSourceOrigins(target, configFile, config, warnings) {
|
|
213
|
+
for (const entry of flattenProjectSources(config.sources)) {
|
|
214
|
+
const origin = inferSourceOrigin(entry.source);
|
|
215
|
+
if (origin.method !== "local" || !origin.ref)
|
|
216
|
+
continue;
|
|
217
|
+
const originPath = resolve(target, origin.ref);
|
|
218
|
+
if (await exists(originPath))
|
|
219
|
+
continue;
|
|
220
|
+
const snapshot = resolveSourceSnapshot(config, entry);
|
|
221
|
+
const snapshotExists = await exists(resolve(target, snapshot));
|
|
222
|
+
warnings.push({
|
|
223
|
+
file: configFile,
|
|
224
|
+
message: `configured local source origin is missing for ${entry.path}: ${origin.ref}; ${snapshotExists ? `snapshot exists at ${snapshot}` : `snapshot is also missing at ${snapshot}`}. Update source metadata or restore the origin, then refresh .zsk/raws/manifest.json and raw indexes after migration.`,
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
async function checkMissingCurrentRawReferences(target, config, warnings, issues) {
|
|
229
|
+
const roots = [
|
|
230
|
+
resolve(target, ".zsk", "config.yaml"),
|
|
231
|
+
resolve(target, getWorkspacePath(config, "docsRoot")),
|
|
232
|
+
resolve(target, getWorkspacePath(config, "resourcesRoot")),
|
|
233
|
+
];
|
|
234
|
+
const files = unique((await Promise.all(roots.map((root) => collectAuthorityFiles(root)))).flat());
|
|
235
|
+
const seen = new Set();
|
|
236
|
+
for (const file of files) {
|
|
237
|
+
const content = await readFile(file, "utf8");
|
|
238
|
+
for (const match of content.matchAll(/(^|[^\w.])(\.(?:raws|issues|playwright)\/[A-Za-z0-9._/-]+)/g)) {
|
|
239
|
+
if (allowsRootWorkspaceReference(content))
|
|
240
|
+
continue;
|
|
241
|
+
const ref = trimRawReference(match[2] ?? "");
|
|
242
|
+
if (!ref)
|
|
243
|
+
continue;
|
|
244
|
+
const key = `${file}\0${ref}`;
|
|
245
|
+
if (seen.has(key))
|
|
246
|
+
continue;
|
|
247
|
+
seen.add(key);
|
|
248
|
+
issues.push({
|
|
249
|
+
file,
|
|
250
|
+
message: `current authority artifact references legacy root workspace path ${ref}; use configured .zsk workspace paths or record zsk-check: allow-root-workspace-reference with rationale`,
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
for (const match of content.matchAll(/\.zsk\/raws\/[A-Za-z0-9._/-]+/g)) {
|
|
254
|
+
const ref = trimRawReference(match[0] ?? "");
|
|
255
|
+
if (!ref || ref === ".zsk/raws")
|
|
256
|
+
continue;
|
|
257
|
+
if (!extname(ref))
|
|
258
|
+
continue;
|
|
259
|
+
const resolved = resolve(target, ref);
|
|
260
|
+
if (await exists(resolved))
|
|
261
|
+
continue;
|
|
262
|
+
const key = `${file}\0${ref}`;
|
|
263
|
+
if (seen.has(key))
|
|
264
|
+
continue;
|
|
265
|
+
seen.add(key);
|
|
266
|
+
warnings.push({
|
|
267
|
+
file,
|
|
268
|
+
message: `current authority artifact references missing raw path ${ref}; after source migration, update config/docs/raw indexes or record why this historical reference is intentionally retained.`,
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
function allowsRootWorkspaceReference(content) {
|
|
274
|
+
return /zsk-check:\s*allow-root-workspace-reference|waived-root-workspace-reference/i.test(content);
|
|
275
|
+
}
|
|
147
276
|
async function checkWorkspacePathLeaks(target, issues) {
|
|
148
277
|
for (const path of [".raws", ".issues", ".playwright"]) {
|
|
149
|
-
|
|
278
|
+
const resolved = resolve(target, path);
|
|
279
|
+
if (!(await exists(resolved)))
|
|
280
|
+
continue;
|
|
281
|
+
if (await allowsRootWorkspacePath(resolved))
|
|
150
282
|
continue;
|
|
283
|
+
const targetHint = path === ".raws"
|
|
284
|
+
? "use .zsk/raws for raw source snapshots"
|
|
285
|
+
: path === ".issues"
|
|
286
|
+
? "use .zsk/issues/{shared|global|public} for cross-module issues or .zsk/modules/{module}/_issues for module-private issues"
|
|
287
|
+
: "use .zsk/playwright for shared Playwright artifacts or .zsk/modules/{module}/_playwright for module-private specs/auth/results";
|
|
151
288
|
const issue = {
|
|
152
289
|
file: resolve(target, path),
|
|
153
|
-
message:
|
|
290
|
+
message: `legacy root zsk workspace path detected; ${targetHint}; migrate/export root copies explicitly`,
|
|
154
291
|
};
|
|
155
292
|
issues.push(issue);
|
|
156
293
|
}
|
|
@@ -164,15 +301,17 @@ async function checkWorkspacePathLeaks(target, issues) {
|
|
|
164
301
|
const docsFiles = await collectFiles(rootDocs);
|
|
165
302
|
for (const file of docsFiles) {
|
|
166
303
|
const name = basename(file);
|
|
304
|
+
const parentName = basename(dirname(file)).toLowerCase();
|
|
167
305
|
const rel = relative(rootDocs, file);
|
|
168
306
|
const looksZskManaged = name === "module.yaml" ||
|
|
169
307
|
["proposal.md", "spec.md", "design.md", "tasks.md"].includes(name) ||
|
|
308
|
+
(name === "index.md" && SPLITTABLE_STAGE_DOCS.has(parentName)) ||
|
|
170
309
|
rel.split("/").includes("scenarios");
|
|
171
310
|
if (!looksZskManaged)
|
|
172
311
|
continue;
|
|
173
312
|
const issue = {
|
|
174
313
|
file,
|
|
175
|
-
message: "zsk-managed docs belong under .zsk/modules/{module}; root docs should only be written by explicit export/promote",
|
|
314
|
+
message: "zsk-managed stage docs belong under .zsk/modules/{module}/{proposal,spec,design,tasks}.md or {proposal,spec,design,tasks}/index.md; root docs should only be written by explicit export/promote",
|
|
176
315
|
};
|
|
177
316
|
issues.push(issue);
|
|
178
317
|
}
|
|
@@ -189,6 +328,60 @@ async function checkWorkspacePathLeaks(target, issues) {
|
|
|
189
328
|
}
|
|
190
329
|
}
|
|
191
330
|
}
|
|
331
|
+
async function checkStageDirectoryArtifacts(target, modulesPath, issues) {
|
|
332
|
+
const modulesRoot = resolve(target, modulesPath);
|
|
333
|
+
try {
|
|
334
|
+
const modules = await readdir(modulesRoot, { withFileTypes: true });
|
|
335
|
+
for (const mod of modules) {
|
|
336
|
+
if (!mod.isDirectory() || mod.name.startsWith("_"))
|
|
337
|
+
continue;
|
|
338
|
+
const moduleDir = join(modulesRoot, mod.name);
|
|
339
|
+
for (const stage of SPLITTABLE_STAGE_DOCS) {
|
|
340
|
+
const stageDir = join(moduleDir, stage);
|
|
341
|
+
let stageInfo;
|
|
342
|
+
try {
|
|
343
|
+
stageInfo = await stat(stageDir);
|
|
344
|
+
}
|
|
345
|
+
catch {
|
|
346
|
+
continue;
|
|
347
|
+
}
|
|
348
|
+
if (!stageInfo.isDirectory())
|
|
349
|
+
continue;
|
|
350
|
+
const indexPath = join(stageDir, "index.md");
|
|
351
|
+
if (!await exists(indexPath)) {
|
|
352
|
+
issues.push({
|
|
353
|
+
file: stageDir,
|
|
354
|
+
message: "split stage artifact directory must contain index.md as the review entrypoint",
|
|
355
|
+
});
|
|
356
|
+
continue;
|
|
357
|
+
}
|
|
358
|
+
const indexContent = await readFile(indexPath, "utf8");
|
|
359
|
+
const linkedChildren = linkedStageChildren(indexContent, stageDir);
|
|
360
|
+
const childDocs = (await collectFiles(stageDir)).filter((file) => {
|
|
361
|
+
const childName = basename(file);
|
|
362
|
+
return extname(file).toLowerCase() === ".md" && childName !== "index.md" && childName !== "README.md";
|
|
363
|
+
});
|
|
364
|
+
for (const child of childDocs) {
|
|
365
|
+
if (linkedChildren.has(child))
|
|
366
|
+
continue;
|
|
367
|
+
issues.push({
|
|
368
|
+
file: child,
|
|
369
|
+
message: "split stage child document must be linked from the stage index.md entrypoint",
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
catch {
|
|
376
|
+
// modules root is optional for freshly initialized or config-only projects.
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
async function allowsRootWorkspacePath(path) {
|
|
380
|
+
const readme = resolve(path, "README.md");
|
|
381
|
+
if (!(await exists(readme)))
|
|
382
|
+
return false;
|
|
383
|
+
return allowsRootWorkspaceReference(await readFile(readme, "utf8"));
|
|
384
|
+
}
|
|
192
385
|
async function checkPlaywrightSpecGates(target, playwrightPaths, issues) {
|
|
193
386
|
const files = [];
|
|
194
387
|
for (const playwrightPath of playwrightPaths) {
|
|
@@ -290,7 +483,10 @@ async function checkDocumentationFeedback(target, modules, issues) {
|
|
|
290
483
|
const docsDir = mod.config.outputs?.docs ? resolve(target, mod.config.outputs.docs) : null;
|
|
291
484
|
if (!docsDir)
|
|
292
485
|
continue;
|
|
293
|
-
const candidates =
|
|
486
|
+
const candidates = [
|
|
487
|
+
...STAGE_DOCS_REQUIRING_FEEDBACK.map((name) => join(docsDir, name)),
|
|
488
|
+
...[...SPLITTABLE_STAGE_DOCS].map((name) => join(docsDir, name, "index.md")),
|
|
489
|
+
];
|
|
294
490
|
const existing = [];
|
|
295
491
|
for (const file of candidates) {
|
|
296
492
|
try {
|
|
@@ -338,6 +534,33 @@ async function collectFiles(root) {
|
|
|
338
534
|
return [];
|
|
339
535
|
}
|
|
340
536
|
}
|
|
537
|
+
async function collectAuthorityFiles(root) {
|
|
538
|
+
if (!await exists(root))
|
|
539
|
+
return [];
|
|
540
|
+
try {
|
|
541
|
+
const info = await stat(root);
|
|
542
|
+
if (info.isFile())
|
|
543
|
+
return isMaintainedTextArtifact(root) ? [root] : [];
|
|
544
|
+
}
|
|
545
|
+
catch {
|
|
546
|
+
return [];
|
|
547
|
+
}
|
|
548
|
+
const files = await collectFiles(root);
|
|
549
|
+
return files.filter((file) => {
|
|
550
|
+
if (!isMaintainedTextArtifact(file))
|
|
551
|
+
return false;
|
|
552
|
+
if (file.includes("/.zsk/evidence/"))
|
|
553
|
+
return false;
|
|
554
|
+
if (file.includes("/.zsk/issues/"))
|
|
555
|
+
return false;
|
|
556
|
+
if (file.includes("/.zsk/playwright/"))
|
|
557
|
+
return false;
|
|
558
|
+
return true;
|
|
559
|
+
});
|
|
560
|
+
}
|
|
561
|
+
function trimRawReference(value) {
|
|
562
|
+
return value.replace(/[)\],.;:'"`]+$/g, "");
|
|
563
|
+
}
|
|
341
564
|
function looksLikeAuthState(file) {
|
|
342
565
|
const lower = file.toLowerCase();
|
|
343
566
|
const name = basename(lower);
|
|
@@ -346,6 +569,30 @@ function looksLikeAuthState(file) {
|
|
|
346
569
|
lower.includes("storage-state") ||
|
|
347
570
|
["auth.json", "user.json", "state.json", "cookies.json", "storage.json"].includes(name));
|
|
348
571
|
}
|
|
572
|
+
function isMaintainedTextArtifact(file) {
|
|
573
|
+
const lower = file.toLowerCase();
|
|
574
|
+
if (lower.includes("/.auth/"))
|
|
575
|
+
return false;
|
|
576
|
+
return [".md", ".json", ".yaml", ".yml", ".ts", ".tsx", ".js", ".mjs"].includes(extname(lower));
|
|
577
|
+
}
|
|
578
|
+
function isDisallowedPrepareLane(value) {
|
|
579
|
+
return (STALE_PREPARE_RAW_LANES.has(value) ||
|
|
580
|
+
/^v?\d+(?:[._-]\d+)*$/i.test(value) ||
|
|
581
|
+
/^(sprint|iteration|release)[-_]?\d*/i.test(value));
|
|
582
|
+
}
|
|
583
|
+
function linkedStageChildren(content, dir) {
|
|
584
|
+
const files = new Set();
|
|
585
|
+
for (const match of content.matchAll(/\[[^\]]+\]\(([^)]+?\.md)(?:#[^)]+)?\)/gi)) {
|
|
586
|
+
const raw = match[1]?.trim();
|
|
587
|
+
if (!raw || /^[a-z][a-z0-9+.-]*:/i.test(raw) || raw.startsWith("/"))
|
|
588
|
+
continue;
|
|
589
|
+
const child = resolve(dir, raw);
|
|
590
|
+
if (!isInside(dir, child) || child === resolve(dir, "index.md"))
|
|
591
|
+
continue;
|
|
592
|
+
files.add(child);
|
|
593
|
+
}
|
|
594
|
+
return files;
|
|
595
|
+
}
|
|
349
596
|
function unique(values) {
|
|
350
597
|
return [...new Set(values)];
|
|
351
598
|
}
|