strikethroo 3.16.0 → 3.17.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.
Files changed (86) hide show
  1. package/README.md +8 -0
  2. package/dist/cli.js +37 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +43 -3
  6. package/dist/index.js.map +1 -1
  7. package/dist/serve/root.d.ts +27 -11
  8. package/dist/serve/root.d.ts.map +1 -1
  9. package/dist/serve/root.js +36 -16
  10. package/dist/serve/root.js.map +1 -1
  11. package/dist/validation/graph-checks.d.ts +45 -0
  12. package/dist/validation/graph-checks.d.ts.map +1 -0
  13. package/dist/validation/graph-checks.js +388 -0
  14. package/dist/validation/graph-checks.js.map +1 -0
  15. package/dist/validation/metadata-gate.d.ts +26 -0
  16. package/dist/validation/metadata-gate.d.ts.map +1 -0
  17. package/dist/validation/metadata-gate.js +123 -0
  18. package/dist/validation/metadata-gate.js.map +1 -0
  19. package/dist/validation/strict-pass.d.ts +38 -0
  20. package/dist/validation/strict-pass.d.ts.map +1 -0
  21. package/dist/validation/strict-pass.js +338 -0
  22. package/dist/validation/strict-pass.js.map +1 -0
  23. package/dist/validation/types.d.ts +30 -0
  24. package/dist/validation/types.d.ts.map +1 -0
  25. package/dist/validation/types.js +12 -0
  26. package/dist/validation/types.js.map +1 -0
  27. package/dist/validation/workspace.d.ts +31 -0
  28. package/dist/validation/workspace.d.ts.map +1 -0
  29. package/dist/validation/workspace.js +49 -0
  30. package/dist/validation/workspace.js.map +1 -0
  31. package/dist-web/assets/{arc-DMHUv2NY.js → arc-CtIXTnp-.js} +1 -1
  32. package/dist-web/assets/{architectureDiagram-3BPJPVTR-CeAAqVS4.js → architectureDiagram-3BPJPVTR-DjLBuYL_.js} +1 -1
  33. package/dist-web/assets/{blockDiagram-GPEHLZMM-Hns_u_jz.js → blockDiagram-GPEHLZMM-CyUvqZi1.js} +1 -1
  34. package/dist-web/assets/{c4Diagram-AAUBKEIU-BH3RLVAi.js → c4Diagram-AAUBKEIU-DbT3qzdM.js} +1 -1
  35. package/dist-web/assets/channel-ejrFqLJP.js +1 -0
  36. package/dist-web/assets/{chunk-2J33WTMH-h6Ws9VXu.js → chunk-2J33WTMH-w1zteFnE.js} +1 -1
  37. package/dist-web/assets/{chunk-4BX2VUAB-BSBeNNnS.js → chunk-4BX2VUAB-AXaQBlkr.js} +1 -1
  38. package/dist-web/assets/{chunk-55IACEB6-BmUY060b.js → chunk-55IACEB6-YxIJIoS8.js} +1 -1
  39. package/dist-web/assets/{chunk-727SXJPM-CmemMVvQ.js → chunk-727SXJPM-Ec_YNRXy.js} +1 -1
  40. package/dist-web/assets/{chunk-AQP2D5EJ-LQpUb_FL.js → chunk-AQP2D5EJ-Bq3XSb33.js} +1 -1
  41. package/dist-web/assets/{chunk-FMBD7UC4-wk7OYcdf.js → chunk-FMBD7UC4-D3hDHEbQ.js} +1 -1
  42. package/dist-web/assets/{chunk-ND2GUHAM-O3K3rkHW.js → chunk-ND2GUHAM-D7qdmfIe.js} +1 -1
  43. package/dist-web/assets/{chunk-QZHKN3VN-CvppUbp9.js → chunk-QZHKN3VN-CnaHYcq_.js} +1 -1
  44. package/dist-web/assets/classDiagram-4FO5ZUOK-D4kGOS-J.js +1 -0
  45. package/dist-web/assets/classDiagram-v2-Q7XG4LA2-D4kGOS-J.js +1 -0
  46. package/dist-web/assets/{cose-bilkent-S5V4N54A-Cf1nQ4V_.js → cose-bilkent-S5V4N54A-B-C7BPM4.js} +1 -1
  47. package/dist-web/assets/{dagre-BM42HDAG-YyP7mwPP.js → dagre-BM42HDAG-Ce21GDpz.js} +1 -1
  48. package/dist-web/assets/{diagram-2AECGRRQ-BmAtTKkQ.js → diagram-2AECGRRQ-DHwtwYvI.js} +1 -1
  49. package/dist-web/assets/{diagram-5GNKFQAL-Bem8_DUK.js → diagram-5GNKFQAL-Cz3oNPoV.js} +1 -1
  50. package/dist-web/assets/{diagram-KO2AKTUF-0gNyY9-f.js → diagram-KO2AKTUF-DvTrw4fW.js} +1 -1
  51. package/dist-web/assets/{diagram-LMA3HP47-CJJh_IUU.js → diagram-LMA3HP47-BkoqJsup.js} +1 -1
  52. package/dist-web/assets/{diagram-OG6HWLK6-DJcCho7F.js → diagram-OG6HWLK6-D-g29Bkd.js} +1 -1
  53. package/dist-web/assets/{erDiagram-TEJ5UH35-D-TI_EbX.js → erDiagram-TEJ5UH35-CTjmf6Xm.js} +1 -1
  54. package/dist-web/assets/{flowDiagram-I6XJVG4X-BUrB4EYN.js → flowDiagram-I6XJVG4X-Bw77m94u.js} +1 -1
  55. package/dist-web/assets/{ganttDiagram-6RSMTGT7-C9_ItheP.js → ganttDiagram-6RSMTGT7-gzA4FOSg.js} +1 -1
  56. package/dist-web/assets/{gitGraphDiagram-PVQCEYII-DYQEmll0.js → gitGraphDiagram-PVQCEYII-BRaUUXaJ.js} +1 -1
  57. package/dist-web/assets/{index-mEUl0sqe.js → index-B_YjLzSw.js} +1 -1
  58. package/dist-web/assets/{index-X-a-o-AT.js → index-DJpZGE86.js} +1 -1
  59. package/dist-web/assets/{index-DULKNhw0.js → index-YT2EMDff.js} +4 -4
  60. package/dist-web/assets/{infoDiagram-5YYISTIA-B06Tp7cb.js → infoDiagram-5YYISTIA-h6n8eqGu.js} +1 -1
  61. package/dist-web/assets/{ishikawaDiagram-YF4QCWOH-DY9iP3P6.js → ishikawaDiagram-YF4QCWOH-BiJ3tbak.js} +1 -1
  62. package/dist-web/assets/{journeyDiagram-JHISSGLW-Bk4MV49m.js → journeyDiagram-JHISSGLW-Q31kk_hH.js} +1 -1
  63. package/dist-web/assets/{kanban-definition-UN3LZRKU-B9-wsNt9.js → kanban-definition-UN3LZRKU-ZV5ks__v.js} +1 -1
  64. package/dist-web/assets/{linear-DEY9HwQB.js → linear-F-j1CAaU.js} +1 -1
  65. package/dist-web/assets/{mermaid.core-Cn0e4l6V.js → mermaid.core-C6KsMc78.js} +4 -4
  66. package/dist-web/assets/{mindmap-definition-RKZ34NQL-pN4Q2WNG.js → mindmap-definition-RKZ34NQL-D-qRccYa.js} +1 -1
  67. package/dist-web/assets/{pieDiagram-4H26LBE5-DTkPv6S2.js → pieDiagram-4H26LBE5-y1b8Tbaa.js} +1 -1
  68. package/dist-web/assets/{quadrantDiagram-W4KKPZXB-BS9LhTv0.js → quadrantDiagram-W4KKPZXB-BMoept3P.js} +1 -1
  69. package/dist-web/assets/{requirementDiagram-4Y6WPE33-BlSOLsQe.js → requirementDiagram-4Y6WPE33-BL-2jNsJ.js} +1 -1
  70. package/dist-web/assets/{sankeyDiagram-5OEKKPKP-B1xl-B1U.js → sankeyDiagram-5OEKKPKP-dfD7Fow2.js} +1 -1
  71. package/dist-web/assets/{sequenceDiagram-3UESZ5HK-BoiYrW_0.js → sequenceDiagram-3UESZ5HK-DEkvMHGP.js} +1 -1
  72. package/dist-web/assets/{stateDiagram-AJRCARHV-BxvfZYDK.js → stateDiagram-AJRCARHV-4t9PvMom.js} +1 -1
  73. package/dist-web/assets/stateDiagram-v2-BHNVJYJU-5xE8WrG_.js +1 -0
  74. package/dist-web/assets/{timeline-definition-PNZ67QCA-CUEbrRkc.js → timeline-definition-PNZ67QCA-V1D7tV43.js} +1 -1
  75. package/dist-web/assets/{vennDiagram-CIIHVFJN-CgQiBucH.js → vennDiagram-CIIHVFJN-Tw5zLG0T.js} +1 -1
  76. package/dist-web/assets/{wardley-L42UT6IY-BsGW6T55.js → wardley-L42UT6IY-CrYt_lTh.js} +1 -1
  77. package/dist-web/assets/{wardleyDiagram-YWT4CUSO-Cq3RMp6B.js → wardleyDiagram-YWT4CUSO-CDe_cIHY.js} +1 -1
  78. package/dist-web/assets/{xychartDiagram-2RQKCTM6-WaoV-V3f.js → xychartDiagram-2RQKCTM6-DNoNd0tl.js} +1 -1
  79. package/dist-web/index.html +1 -1
  80. package/package.json +1 -1
  81. package/templates/strikethroo/gitignore +30 -0
  82. package/dist-web/assets/channel-Dk0dEQIT.js +0 -1
  83. package/dist-web/assets/classDiagram-4FO5ZUOK-gqDJqcDV.js +0 -1
  84. package/dist-web/assets/classDiagram-v2-Q7XG4LA2-gqDJqcDV.js +0 -1
  85. package/dist-web/assets/stateDiagram-v2-BHNVJYJU-XGZY1tGg.js +0 -1
  86. package/templates/strikethroo/runtime/.gitignore +0 -2
package/README.md CHANGED
@@ -147,6 +147,14 @@ npx strikethroo serve
147
147
 
148
148
  This will open a web page that will help you navigate your plans and their tasks, present or archived.
149
149
 
150
+ ## Check the workspace
151
+
152
+ ```shell
153
+ npx strikethroo validate
154
+ ```
155
+
156
+ Reads your workspace and reports internal inconsistencies -- missing or malformed plan and task frontmatter, dependencies pointing at tasks that do not exist, dependency cycles, blueprint phases and task files that disagree, duplicate ids. It only reads: nothing is written or fixed for you. Every finding is an error, so the command exits non-zero as soon as it reports one, which makes it usable as a CI step. Add `--json` for a machine-readable report on stdout, or `--workspace <path>` to point it at a workspace other than the one discovered from the current directory.
157
+
150
158
  | Plans board | Plan detail page | Archive |
151
159
  |-------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------|
152
160
  | [![img](docs/assets/plans-board.png)](docs/assets/plans-board.png) | [![img](docs/assets/plan-detail-graph.png)](docs/assets/plan-detail-graph.png) | [![img](docs/assets/archive-all.png)](docs/assets/archive-all.png) |
package/dist/cli.js CHANGED
@@ -12,6 +12,7 @@ const index_1 = require("./index");
12
12
  const root_1 = require("./serve/root");
13
13
  const server_1 = require("./serve/server");
14
14
  const export_profile_1 = require("./export-profile");
15
+ const workspace_1 = require("./validation/workspace");
15
16
  const program = new commander_1.Command();
16
17
  program.name('strikethroo').version('0.1.0').description('AI-powered task management CLI tool');
17
18
  program
@@ -81,6 +82,42 @@ program
81
82
  process.exit(1);
82
83
  }
83
84
  });
85
+ /** One human-readable line per finding: check, path when present, message. */
86
+ const formatFinding = (finding) => `${finding.check} ${finding.path ? `${finding.path}: ` : ''}${finding.message}`;
87
+ program
88
+ .command('validate')
89
+ .description('Check the workspace for internal inconsistencies (read-only)')
90
+ .option('--workspace <path>', 'override workspace root discovery')
91
+ .option('--json', 'emit the findings report as JSON on stdout')
92
+ .action((opts) => {
93
+ try {
94
+ const resolved = (0, root_1.resolveWorkspaceRoot)({ workspace: opts.workspace });
95
+ if ((0, root_1.isResolveError)(resolved)) {
96
+ console.error(resolved.error);
97
+ process.exit(1);
98
+ }
99
+ const result = (0, workspace_1.validateWorkspace)(resolved.root);
100
+ if (opts.json) {
101
+ // Nothing decorative may join this stream: CI parses stdout whole.
102
+ console.log(JSON.stringify(result, null, 2));
103
+ }
104
+ else if (result.findings.length === 0) {
105
+ console.log('No findings. Workspace is consistent.');
106
+ }
107
+ else {
108
+ for (const finding of result.findings) {
109
+ console.log(formatFinding(finding));
110
+ }
111
+ console.log(`\n${result.findings.length} finding${result.findings.length === 1 ? '' : 's'}.`);
112
+ }
113
+ // Every finding is an error, so emptiness is the whole exit rule.
114
+ process.exit(result.findings.length > 0 ? 1 : 0);
115
+ }
116
+ catch (error) {
117
+ console.error(`Failed to validate workspace: ${error instanceof Error ? error.message : String(error)}`);
118
+ process.exit(1);
119
+ }
120
+ });
84
121
  // Error handling for unknown commands
85
122
  program.on('command:*', async (operands) => {
86
123
  console.error(`Unknown command: ${operands[0]}`);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAoC,MAAM,SAAS,CAAC;AA8EvF;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CA0HvE;AAgMD;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGtE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAoC,MAAM,SAAS,CAAC;AA6FvF;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CA0HvE;AA8ND;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGtE"}
package/dist/index.js CHANGED
@@ -56,6 +56,20 @@ const profiles_1 = require("./profiles");
56
56
  // Visual formatting constants
57
57
  const TERM_WIDTH = 80;
58
58
  const DIVIDER = '─'.repeat(TERM_WIDTH);
59
+ /**
60
+ * Template-side name of the workspace ignore file, and the name it lands under.
61
+ *
62
+ * The file cannot ship under its final name: npm mangles `.gitignore` at both
63
+ * ends of the pipe. npm-packlist reads one as ignore rules and drops it from
64
+ * the tarball, and any that survives packing is renamed to `.npmignore` on
65
+ * extract. A workspace installed from npm therefore got no ignore file at all,
66
+ * and its machine-generated dispatch cache showed up as untracked content —
67
+ * including inside the code review gate's diff, which only excludes paths git
68
+ * already ignores. Shipping under a neutral name and renaming at copy time is
69
+ * the only delivery that behaves the same from the package and from a checkout.
70
+ */
71
+ const WORKSPACE_IGNORE_TEMPLATE = 'gitignore';
72
+ const WORKSPACE_IGNORE_FILE = '.gitignore';
59
73
  /**
60
74
  * Format a section header with cyan styling
61
75
  */
@@ -272,16 +286,23 @@ async function copyCommonTemplates(baseDir, force, sourceDir = getTemplatePath('
272
286
  }
273
287
  // Load existing metadata if present
274
288
  const existingMetadata = await (0, metadata_1.loadMetadata)(metadataPath);
289
+ // The ignore file is copied separately, under its final name
290
+ const copyOptions = {
291
+ overwrite: true,
292
+ filter: (src) => path.relative(sourceDir, src) !== WORKSPACE_IGNORE_TEMPLATE,
293
+ };
275
294
  // Scenario 1: First-time init (no metadata) - copy all files
276
295
  if (!existingMetadata) {
277
- await fs.copy(sourceDir, destDir);
296
+ await fs.copy(sourceDir, destDir, copyOptions);
297
+ await copyWorkspaceIgnoreFile(sourceDir, destDir);
278
298
  // Create initial metadata
279
299
  await createMetadata(sourceDir, destDir, metadataPath);
280
300
  return;
281
301
  }
282
302
  // Scenario 2: Force flag - overwrite all files
283
303
  if (force) {
284
- await fs.copy(sourceDir, destDir, { overwrite: true });
304
+ await fs.copy(sourceDir, destDir, copyOptions);
305
+ await copyWorkspaceIgnoreFile(sourceDir, destDir);
285
306
  // Update metadata
286
307
  await createMetadata(sourceDir, destDir, metadataPath);
287
308
  return;
@@ -289,7 +310,8 @@ async function copyCommonTemplates(baseDir, force, sourceDir = getTemplatePath('
289
310
  // Scenario 3: Conflict detection - check for user modifications
290
311
  const conflicts = await (0, conflict_detector_1.detectConflicts)(destDir, sourceDir, existingMetadata);
291
312
  if (conflicts.length === 0) {
292
- await fs.copy(sourceDir, destDir, { overwrite: true });
313
+ await fs.copy(sourceDir, destDir, copyOptions);
314
+ await copyWorkspaceIgnoreFile(sourceDir, destDir);
293
315
  // Update metadata
294
316
  await createMetadata(sourceDir, destDir, metadataPath);
295
317
  return;
@@ -299,9 +321,27 @@ async function copyCommonTemplates(baseDir, force, sourceDir = getTemplatePath('
299
321
  const resolutions = await (0, prompts_1.promptForConflicts)(conflicts);
300
322
  // Apply resolutions
301
323
  await applyResolutions(sourceDir, destDir, resolutions);
324
+ await copyWorkspaceIgnoreFile(sourceDir, destDir);
302
325
  // Update metadata for all files (including resolved conflicts)
303
326
  await createMetadata(sourceDir, destDir, metadataPath);
304
327
  }
328
+ /**
329
+ * Copy the workspace ignore template to its final `.gitignore` name.
330
+ *
331
+ * Runs on every init path, including the conflict path — conflict detection
332
+ * and hash tracking are scoped to `config/`, so this file has no baseline to
333
+ * compare against and is refreshed rather than prompted over. Refreshing is
334
+ * the behaviour that matters here: a workspace initialized before an entry was
335
+ * added would otherwise keep leaking the paths that entry covers.
336
+ */
337
+ async function copyWorkspaceIgnoreFile(sourceDir, destDir) {
338
+ const source = path.join(sourceDir, WORKSPACE_IGNORE_TEMPLATE);
339
+ if (!(await exists(source))) {
340
+ throw new Error(`Workspace ignore template not found: ${source}. The published package must ship ` +
341
+ `templates/strikethroo/${WORKSPACE_IGNORE_TEMPLATE}.`);
342
+ }
343
+ await fs.copy(source, path.join(destDir, WORKSPACE_IGNORE_FILE), { overwrite: true });
344
+ }
305
345
  /**
306
346
  * Create or update metadata file with current file hashes
307
347
  */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,23 @@
1
1
  /**
2
- * Self-contained workspace root resolver for `npx strikethroo serve`.
2
+ * Self-contained workspace root resolver for the CLI's workspace-scoped
3
+ * commands, `serve` and `validate`.
3
4
  *
4
- * Determines which initialized `.ai/strikethroo/` workspace the `serve` command
5
- * should host. Discovery keys on the presence of
6
- * `<root>/.ai/strikethroo/.init-metadata.json`, the same contract the skills use,
7
- * but the logic is reimplemented here with Node built-ins only.
5
+ * Determines which initialized `.ai/strikethroo/` workspace to act on. Discovery
6
+ * keys on the presence of `.init-metadata.json`, the same contract the skills
7
+ * use, but the logic is reimplemented here with Node built-ins only.
8
8
  *
9
9
  * This deliberately does NOT import `findStrikethrooRoot` from
10
10
  * `src/skill-scripts/shared/`: that subtree carries the skill-bundle build
11
- * contract (esbuild, schema-version `define`) and is excluded from the main `tsc`
12
- * pipeline. Crossing that boundary would drag build-time concerns into the
13
- * runtime path. The discovery walk is short and cheap to keep self-contained.
11
+ * contract (esbuild, schema-version `define`), and `findStrikethrooRoot` calls
12
+ * `process.exit(1)` on schema-version skew. Both are wrong for a CLI runtime
13
+ * path `validate` reports that skew as a finding rather than dying on it. The
14
+ * discovery walk is short and cheap to keep self-contained.
15
+ *
16
+ * Note that `src/skill-scripts/**` appearing in `tsconfig.json`'s `exclude` does
17
+ * not by itself keep that subtree out of `dist/`: `exclude` filters the root
18
+ * file set, not the module graph, so any file imported from an included one is
19
+ * still compiled and emitted. Keeping this resolver self-contained is what
20
+ * actually holds the line here.
14
21
  */
15
22
  /**
16
23
  * Successful resolution. `root` is the absolute path of the `.ai/strikethroo`
@@ -31,9 +38,18 @@ export declare const isResolveError: (result: ResolveResult) => result is Resolv
31
38
  /**
32
39
  * Resolves the `.ai/strikethroo` workspace directory to host.
33
40
  *
34
- * - When `options.workspace` is given, it is treated as a project directory; the
35
- * resolver validates that `<workspace>/.ai/strikethroo/.init-metadata.json`
36
- * exists and returns that `.ai/strikethroo` directory.
41
+ * - When `options.workspace` is given it is tried two ways, in this order:
42
+ * first as a *project* directory, validating
43
+ * `<workspace>/.ai/strikethroo/.init-metadata.json`; then as the workspace
44
+ * directory *itself*, validating `<workspace>/.init-metadata.json`. Project
45
+ * semantics come first so every path that already resolved keeps its meaning
46
+ * — the direct form only rescues paths that previously errored.
47
+ *
48
+ * The direct form exists because a workspace tree is not always nested under
49
+ * a project: the committed fixtures (`src/__tests__/fixtures/serve-workspace`,
50
+ * `src/capture/fixtures/capture-workspace`) hold `config/`, `plans/`, and
51
+ * `.init-metadata.json` at their top level with no `.ai/` above them. Without
52
+ * it, no CLI command can be pointed at a bare workspace directory.
37
53
  * - Otherwise it walks upward from `options.cwd` (default `process.cwd()`),
38
54
  * testing each ancestor for `.ai/strikethroo/.init-metadata.json`.
39
55
  *
@@ -1 +1 @@
1
- {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/serve/root.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,YAAY,CAAC;AAExD,4DAA4D;AAC5D,eAAO,MAAM,cAAc,GAAI,QAAQ,aAAa,KAAG,MAAM,IAAI,YACnB,CAAC;AAe/C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAS;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,KACjD,aA6BF,CAAC"}
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/serve/root.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,YAAY,CAAC;AAExD,4DAA4D;AAC5D,eAAO,MAAM,cAAc,GAAI,QAAQ,aAAa,KAAG,MAAM,IAAI,YACnB,CAAC;AAe/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAS;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,KACjD,aAkCF,CAAC"}
@@ -1,17 +1,24 @@
1
1
  "use strict";
2
2
  /**
3
- * Self-contained workspace root resolver for `npx strikethroo serve`.
3
+ * Self-contained workspace root resolver for the CLI's workspace-scoped
4
+ * commands, `serve` and `validate`.
4
5
  *
5
- * Determines which initialized `.ai/strikethroo/` workspace the `serve` command
6
- * should host. Discovery keys on the presence of
7
- * `<root>/.ai/strikethroo/.init-metadata.json`, the same contract the skills use,
8
- * but the logic is reimplemented here with Node built-ins only.
6
+ * Determines which initialized `.ai/strikethroo/` workspace to act on. Discovery
7
+ * keys on the presence of `.init-metadata.json`, the same contract the skills
8
+ * use, but the logic is reimplemented here with Node built-ins only.
9
9
  *
10
10
  * This deliberately does NOT import `findStrikethrooRoot` from
11
11
  * `src/skill-scripts/shared/`: that subtree carries the skill-bundle build
12
- * contract (esbuild, schema-version `define`) and is excluded from the main `tsc`
13
- * pipeline. Crossing that boundary would drag build-time concerns into the
14
- * runtime path. The discovery walk is short and cheap to keep self-contained.
12
+ * contract (esbuild, schema-version `define`), and `findStrikethrooRoot` calls
13
+ * `process.exit(1)` on schema-version skew. Both are wrong for a CLI runtime
14
+ * path `validate` reports that skew as a finding rather than dying on it. The
15
+ * discovery walk is short and cheap to keep self-contained.
16
+ *
17
+ * Note that `src/skill-scripts/**` appearing in `tsconfig.json`'s `exclude` does
18
+ * not by itself keep that subtree out of `dist/`: `exclude` filters the root
19
+ * file set, not the module graph, so any file imported from an included one is
20
+ * still compiled and emitted. Keeping this resolver self-contained is what
21
+ * actually holds the line here.
15
22
  */
16
23
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17
24
  if (k2 === undefined) k2 = k;
@@ -69,9 +76,18 @@ const isInitializedStrikethrooDir = (strikethrooDir) => {
69
76
  /**
70
77
  * Resolves the `.ai/strikethroo` workspace directory to host.
71
78
  *
72
- * - When `options.workspace` is given, it is treated as a project directory; the
73
- * resolver validates that `<workspace>/.ai/strikethroo/.init-metadata.json`
74
- * exists and returns that `.ai/strikethroo` directory.
79
+ * - When `options.workspace` is given it is tried two ways, in this order:
80
+ * first as a *project* directory, validating
81
+ * `<workspace>/.ai/strikethroo/.init-metadata.json`; then as the workspace
82
+ * directory *itself*, validating `<workspace>/.init-metadata.json`. Project
83
+ * semantics come first so every path that already resolved keeps its meaning
84
+ * — the direct form only rescues paths that previously errored.
85
+ *
86
+ * The direct form exists because a workspace tree is not always nested under
87
+ * a project: the committed fixtures (`src/__tests__/fixtures/serve-workspace`,
88
+ * `src/capture/fixtures/capture-workspace`) hold `config/`, `plans/`, and
89
+ * `.init-metadata.json` at their top level with no `.ai/` above them. Without
90
+ * it, no CLI command can be pointed at a bare workspace directory.
75
91
  * - Otherwise it walks upward from `options.cwd` (default `process.cwd()`),
76
92
  * testing each ancestor for `.ai/strikethroo/.init-metadata.json`.
77
93
  *
@@ -81,13 +97,17 @@ const isInitializedStrikethrooDir = (strikethrooDir) => {
81
97
  */
82
98
  const resolveWorkspaceRoot = (options = {}) => {
83
99
  if (options.workspace) {
84
- const projectDir = path.resolve(options.workspace);
85
- const strikethrooDir = path.join(projectDir, '.ai', 'strikethroo');
86
- if (isInitializedStrikethrooDir(strikethrooDir)) {
87
- return { root: strikethrooDir };
100
+ const given = path.resolve(options.workspace);
101
+ const nested = path.join(given, '.ai', 'strikethroo');
102
+ if (isInitializedStrikethrooDir(nested)) {
103
+ return { root: nested };
104
+ }
105
+ if (isInitializedStrikethrooDir(given)) {
106
+ return { root: given };
88
107
  }
89
108
  return {
90
- error: `Path ${projectDir} is not an initialized strikethroo workspace. ${INIT_MESSAGE}`,
109
+ error: `Path ${given} is not an initialized strikethroo workspace: ` +
110
+ `neither it nor ${nested} holds .init-metadata.json. ${INIT_MESSAGE}`,
91
111
  };
92
112
  }
93
113
  let current = path.resolve(options.cwd ?? process.cwd());
@@ -1 +1 @@
1
- {"version":3,"file":"root.js","sourceRoot":"","sources":["../../src/serve/root.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAmB7B,4DAA4D;AACrD,MAAM,cAAc,GAAG,CAAC,MAAqB,EAA0B,EAAE,CAC7E,MAAuB,CAAC,KAAK,KAAK,SAAS,CAAC;AADlC,QAAA,cAAc,kBACoB;AAE/C,MAAM,YAAY,GAAG,mCAAmC,CAAC;AAEzD,+EAA+E;AAC/E,MAAM,2BAA2B,GAAG,CAAC,cAAsB,EAAW,EAAE;IACtE,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,KAAK,CAAC;QAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;QACtE,OAAO,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACI,MAAM,oBAAoB,GAAG,CAClC,UAAgD,EAAE,EACnC,EAAE;IACjB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QACnE,IAAI,2BAA2B,CAAC,cAAc,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAClC,CAAC;QACD,OAAO;YACL,KAAK,EAAE,QAAQ,UAAU,iDAAiD,YAAY,EAAE;SACzF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,6EAA6E;IAC7E,SAAS,CAAC;QACR,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QAChE,IAAI,2BAA2B,CAAC,cAAc,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAClC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,OAAO;YAAE,MAAM;QAC9B,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IAED,OAAO;QACL,KAAK,EAAE,mDAAmD,IAAI,CAAC,OAAO,CACpE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAC7B,YAAY,YAAY,EAAE;KAC5B,CAAC;AACJ,CAAC,CAAC;AA/BW,QAAA,oBAAoB,wBA+B/B"}
1
+ {"version":3,"file":"root.js","sourceRoot":"","sources":["../../src/serve/root.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAmB7B,4DAA4D;AACrD,MAAM,cAAc,GAAG,CAAC,MAAqB,EAA0B,EAAE,CAC7E,MAAuB,CAAC,KAAK,KAAK,SAAS,CAAC;AADlC,QAAA,cAAc,kBACoB;AAE/C,MAAM,YAAY,GAAG,mCAAmC,CAAC;AAEzD,+EAA+E;AAC/E,MAAM,2BAA2B,GAAG,CAAC,cAAsB,EAAW,EAAE;IACtE,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,KAAK,CAAC;QAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;QACtE,OAAO,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,MAAM,oBAAoB,GAAG,CAClC,UAAgD,EAAE,EACnC,EAAE;IACjB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QACtD,IAAI,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,2BAA2B,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACzB,CAAC;QACD,OAAO;YACL,KAAK,EACH,QAAQ,KAAK,gDAAgD;gBAC7D,kBAAkB,MAAM,+BAA+B,YAAY,EAAE;SACxE,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,6EAA6E;IAC7E,SAAS,CAAC;QACR,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QAChE,IAAI,2BAA2B,CAAC,cAAc,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAClC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,OAAO;YAAE,MAAM;QAC9B,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IAED,OAAO;QACL,KAAK,EAAE,mDAAmD,IAAI,CAAC,OAAO,CACpE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAC7B,YAAY,YAAY,EAAE;KAC5B,CAAC;AACJ,CAAC,CAAC;AApCW,QAAA,oBAAoB,wBAoC/B"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Structural checks over the task dependency graph and the execution blueprint:
3
+ * dangling dependency references, dependency cycles, blueprint/task consistency
4
+ * in both directions, agreement among the three coexisting task-id notions, and
5
+ * task-id uniqueness within a plan.
6
+ *
7
+ * Scope is `plans/` only; `archive/` participates solely in plan-id uniqueness.
8
+ * Plan clarification 1 settled that: an archived plan is immutable history, so a
9
+ * content finding against it cannot be acted on and is therefore noise. Plan ids
10
+ * are the exception because continuous numbering across active and archived
11
+ * plans is exactly what stops an archived plan from colliding with a new one.
12
+ *
13
+ * Cycle detection exists nowhere else in this repository. The acyclicity rule is
14
+ * written down only as instructions to a language model
15
+ * (`src/skill-prompts/sections/validation-checklist.md`, the
16
+ * `POST_TASK_GENERATION_ALL` hook). Today a cycle is a display defect in the
17
+ * viewer plus a permanent, undiagnosed "phase not ready" stall from
18
+ * `collectTaskReadinessIssues` — which is why naming the participating task ids
19
+ * in the message is the point of the check, not a nicety.
20
+ *
21
+ * No blueprint parser is defined here. The repository already carries
22
+ * `parseBlueprintPhases` twice (`src/serve/derivation.ts` and
23
+ * `src/skill-scripts/shared/blueprint-parse.ts`), quietly diverging; a third
24
+ * copy is the specific failure mode this file must not add. The serve copy is
25
+ * reused because it is inside the CLI's `tsc` domain and already returns the
26
+ * `Phase` shape. Deduplicating the existing two is out of scope.
27
+ *
28
+ * Known limitation, deliberately not fixed here: that parser's `TASK_REF_RE`
29
+ * matches the first `Task NN` in *any* bulleted line, so ordinary prose in a
30
+ * blueprint bullet is indistinguishable from a phase assignment and can yield a
31
+ * phantom reference. Hardening it belongs to whoever deduplicates the two
32
+ * parsers. The `blueprint/reference-unresolved` message therefore spells the
33
+ * false-positive case out, so a human meets it as a known limitation instead of
34
+ * a mystery.
35
+ *
36
+ * `findStrikethrooRoot` is never imported: it terminates the process on a
37
+ * schema-version mismatch. The root arrives already resolved.
38
+ */
39
+ import { Finding } from './types';
40
+ /**
41
+ * Runs the graph and identity checks against an already-resolved absolute
42
+ * workspace root. Pure: reads only, never writes, never exits.
43
+ */
44
+ export declare function graphChecks(root: string): Finding[];
45
+ //# sourceMappingURL=graph-checks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-checks.d.ts","sourceRoot":"","sources":["../../src/validation/graph-checks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAOH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAmUlC;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAQnD"}