@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.
Files changed (79) hide show
  1. package/dist/bin.js +184 -1
  2. package/dist/bin.js.map +1 -1
  3. package/dist/commands/check.js +259 -12
  4. package/dist/commands/check.js.map +1 -1
  5. package/dist/commands/config.d.ts +11 -0
  6. package/dist/commands/config.js +132 -3
  7. package/dist/commands/config.js.map +1 -1
  8. package/dist/commands/demo.js +2 -2
  9. package/dist/commands/demo.js.map +1 -1
  10. package/dist/commands/dispatch.d.ts +11 -0
  11. package/dist/commands/dispatch.js +69 -0
  12. package/dist/commands/dispatch.js.map +1 -0
  13. package/dist/commands/gate.d.ts +11 -0
  14. package/dist/commands/gate.js +50 -0
  15. package/dist/commands/gate.js.map +1 -0
  16. package/dist/commands/prep.d.ts +2 -4
  17. package/dist/commands/prep.js +1 -131
  18. package/dist/commands/prep.js.map +1 -1
  19. package/dist/commands/prepare.d.ts +17 -0
  20. package/dist/commands/prepare.js +259 -0
  21. package/dist/commands/prepare.js.map +1 -0
  22. package/dist/commands/project-init.d.ts +1 -0
  23. package/dist/commands/project-init.js +12 -10
  24. package/dist/commands/project-init.js.map +1 -1
  25. package/dist/commands/template.d.ts +2 -0
  26. package/dist/commands/template.js +34 -0
  27. package/dist/commands/template.js.map +1 -0
  28. package/dist/core/config.d.ts +85 -1
  29. package/dist/core/config.js +141 -7
  30. package/dist/core/config.js.map +1 -1
  31. package/dist/core/origin-detection.d.ts +10 -0
  32. package/dist/core/origin-detection.js +135 -0
  33. package/dist/core/origin-detection.js.map +1 -0
  34. package/dist/core/prepare-lifecycle.d.ts +54 -0
  35. package/dist/core/prepare-lifecycle.js +302 -0
  36. package/dist/core/prepare-lifecycle.js.map +1 -0
  37. package/dist/core/prepare-sync.d.ts +82 -0
  38. package/dist/core/prepare-sync.js +1514 -0
  39. package/dist/core/prepare-sync.js.map +1 -0
  40. package/dist/core/raw-manifest.d.ts +10 -0
  41. package/dist/core/raw-manifest.js +58 -4
  42. package/dist/core/raw-manifest.js.map +1 -1
  43. package/dist/core/source-draft.d.ts +14 -0
  44. package/dist/core/source-draft.js +251 -0
  45. package/dist/core/source-draft.js.map +1 -0
  46. package/dist/core/staffing-plan.d.ts +212 -0
  47. package/dist/core/staffing-plan.js +1238 -0
  48. package/dist/core/staffing-plan.js.map +1 -0
  49. package/dist/core/stage-quality.d.ts +64 -0
  50. package/dist/core/stage-quality.js +847 -0
  51. package/dist/core/stage-quality.js.map +1 -0
  52. package/dist/core/template-registry.d.ts +29 -0
  53. package/dist/core/template-registry.js +295 -0
  54. package/dist/core/template-registry.js.map +1 -0
  55. package/dist/core/workspace-layout.d.ts +3 -0
  56. package/dist/core/workspace-layout.js +14 -1
  57. package/dist/core/workspace-layout.js.map +1 -1
  58. package/package.json +2 -2
  59. package/schemas/zsk-config.schema.json +233 -196
  60. package/templates/module/frontend-module/design.md +86 -3
  61. package/templates/module/frontend-module/proposal.md +17 -0
  62. package/templates/module/frontend-module/spec.md +26 -0
  63. package/templates/module/frontend-module/tasks.md +53 -7
  64. package/templates/project-init/.zsk/config.yaml +8 -96
  65. package/templates/project-init/.zsk/docs/SYSTEM-SPEC.md +2 -0
  66. package/templates/project-init/.zsk/raws/index.md +11 -0
  67. package/templates/project-init/.zsk/raws/prepare/backend/index.md +4 -0
  68. package/templates/project-init/.zsk/raws/prepare/design/index.md +3 -0
  69. package/templates/project-init/.zsk/raws/prepare/index.md +4 -0
  70. package/templates/project-init/.zsk/raws/prepare/product/index.md +4 -0
  71. package/templates/project-init/.zsk/raws/prepare/qa/index.md +4 -0
  72. package/templates/project-init/.zsk/raws/prepare/ux/index.md +3 -0
  73. package/templates/project-init/.zsk/roles.yaml +129 -0
  74. package/templates/project-init/.zsk/raws/backend/index.md +0 -3
  75. package/templates/project-init/.zsk/raws/jira/index.md +0 -3
  76. package/templates/project-init/.zsk/raws/manual/index.md +0 -3
  77. package/templates/project-init/.zsk/raws/product/index.md +0 -3
  78. package/templates/project-init/.zsk/raws/qa/index.md +0 -3
  79. 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("prepare project context from .zsk/config.yaml and update raw manifest")
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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"}
@@ -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 checkRawTestingMapped(target, getWorkspacePath(config, "resourcesTesting"), moduleConfigs, issues);
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, testingPath, modules, issues) {
87
- const testingRoot = resolve(target, testingPath);
88
- const rawFiles = (await collectFiles(testingRoot)).filter((file) => !file.endsWith("/README.md") && !file.endsWith("/index.md"));
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 _playwright or shared .zsk/playwright, not docs roots",
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
- if (!(await exists(resolve(target, path))))
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: "legacy root zsk workspace path detected; use .zsk workspace paths or migrate/export explicitly",
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 = STAGE_DOCS_REQUIRING_FEEDBACK.map((name) => join(docsDir, name));
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
  }