@jakkrichm/create-nexus-devflow 2.16.4 → 2.17.1

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 (97) hide show
  1. package/dist/bin/create-nexus-devflow.d.ts +1 -1
  2. package/dist/bin/create-nexus-devflow.js +77 -4
  3. package/dist/bin/create-nexus-devflow.js.map +1 -1
  4. package/dist/lib/doctor.js +2 -1
  5. package/dist/lib/doctor.js.map +1 -1
  6. package/dist/lib/project-config.js +2 -1
  7. package/dist/lib/project-config.js.map +1 -1
  8. package/dist/lib/project-status-engine.d.ts +11 -3
  9. package/dist/lib/project-status-engine.js +99 -17
  10. package/dist/lib/project-status-engine.js.map +1 -1
  11. package/dist/lib/review.d.ts +1 -0
  12. package/dist/lib/review.js +58 -3
  13. package/dist/lib/review.js.map +1 -1
  14. package/dist/lib/skill-registry-engine.js +1 -1
  15. package/dist/lib/skill-registry-engine.js.map +1 -1
  16. package/dist/lib/status.d.ts +3 -3
  17. package/dist/lib/status.js +2 -2
  18. package/dist/lib/status.js.map +1 -1
  19. package/dist/lib/tooling/commands/migrate-structure.d.ts +8 -0
  20. package/dist/lib/tooling/commands/migrate-structure.js +200 -0
  21. package/dist/lib/tooling/commands/migrate-structure.js.map +1 -0
  22. package/dist/lib/tooling/commands/summarize-run-status.js +3 -1
  23. package/dist/lib/tooling/commands/summarize-run-status.js.map +1 -1
  24. package/dist/lib/tooling/registry.js +2 -0
  25. package/dist/lib/tooling/registry.js.map +1 -1
  26. package/dist/lib/update.d.ts +34 -3
  27. package/dist/lib/update.js +142 -1
  28. package/dist/lib/update.js.map +1 -1
  29. package/dist/lib/workspace-paths.d.ts +16 -0
  30. package/dist/lib/workspace-paths.js +85 -0
  31. package/dist/lib/workspace-paths.js.map +1 -0
  32. package/dist/scripts/prepare-template.js +75 -15
  33. package/dist/scripts/prepare-template.js.map +1 -1
  34. package/package.json +1 -1
  35. package/template/.agents/skills/analyze/SKILL.md +21 -21
  36. package/template/.agents/skills/audit/SKILL.md +36 -18
  37. package/template/.agents/skills/audit/reference/independent-review.md +58 -2
  38. package/template/.agents/skills/brainstorm/SKILL.md +1 -1
  39. package/template/.agents/skills/complete/SKILL.md +23 -1
  40. package/template/.agents/skills/complete/reference/completion-recovery.md +248 -0
  41. package/template/.agents/skills/continuous/SKILL.md +156 -82
  42. package/template/.agents/skills/feature/SKILL.md +6 -0
  43. package/template/.agents/skills/feature/reference/build-history.md +79 -0
  44. package/template/.agents/skills/idea/SKILL.md +14 -14
  45. package/template/.agents/skills/rollback/SKILL.md +23 -10
  46. package/template/.claude/skills/analyze/SKILL.md +21 -21
  47. package/template/.claude/skills/audit/SKILL.md +33 -16
  48. package/template/.claude/skills/audit/reference/independent-review.md +58 -2
  49. package/template/.claude/skills/brainstorm/SKILL.md +1 -1
  50. package/template/.claude/skills/complete/SKILL.md +23 -1
  51. package/template/.claude/skills/complete/reference/completion-recovery.md +248 -0
  52. package/template/.claude/skills/continuous/SKILL.md +156 -82
  53. package/template/.claude/skills/feature/SKILL.md +6 -0
  54. package/template/.claude/skills/feature/reference/build-history.md +79 -0
  55. package/template/.claude/skills/idea/SKILL.md +14 -14
  56. package/template/.claude/skills/rollback/SKILL.md +23 -10
  57. package/template/AGENTS.md +11 -10
  58. package/template/devflow/{context → 00-context}/ai-interaction.md +1 -1
  59. package/template/devflow/{build-plan.md → 30-planning/build-plan.md} +24 -0
  60. package/template/devflow/40-tasks/.gitkeep +0 -0
  61. package/template/devflow/40-tasks/README.md +11 -0
  62. package/template/devflow/60-docs/migration-guide-decade-numbered.md +93 -0
  63. package/template/devflow/config.json +1 -0
  64. /package/template/devflow/{context → 00-context}/coding-standards.md +0 -0
  65. /package/template/devflow/{context → 00-context}/glossary.md +0 -0
  66. /package/template/devflow/{context → 00-context}/project-overview.md +0 -0
  67. /package/template/devflow/{ideas.md → 10-ideation/ideas.md} +0 -0
  68. /package/template/devflow/{reference → 10-ideation/reference}/build-plan-template.md +0 -0
  69. /package/template/devflow/{reference → 10-ideation/reference}/feature-spec-template.md +0 -0
  70. /package/template/devflow/{reference → 10-ideation/reference}/mockup.html +0 -0
  71. /package/template/devflow/{reference → 10-ideation/reference}/project-overview-template.md +0 -0
  72. /package/template/devflow/{reference → 10-ideation/reference}/project-plan-template.md +0 -0
  73. /package/template/devflow/{reference → 10-ideation/reference}/running-id-contract.md +0 -0
  74. /package/template/devflow/{decisions → 20-discovery/decisions}/.gitkeep +0 -0
  75. /package/template/devflow/{decisions → 20-discovery/decisions}/README.md +0 -0
  76. /package/template/devflow/{discoveries → 20-discovery/discoveries}/.gitkeep +0 -0
  77. /package/template/devflow/{project-plan.md → 30-planning/project-plan.md} +0 -0
  78. /package/template/devflow/{history → 50-history}/HISTORY.md +0 -0
  79. /package/template/devflow/{history → 50-history}/features/README.md +0 -0
  80. /package/template/devflow/{history → 50-history}/fixes/README.md +0 -0
  81. /package/template/devflow/{history → 50-history}/rollbacks/README.md +0 -0
  82. /package/template/devflow/{docs → 60-docs}/USAGE.md +0 -0
  83. /package/template/devflow/{docs → 60-docs}/diagrams/nexus-devflow-architecture.html +0 -0
  84. /package/template/devflow/{docs → 60-docs}/diagrams/nexus-devflow-architecture.json +0 -0
  85. /package/template/devflow/{docs → 60-docs}/diagrams/nexus-devflow-lifecycle.html +0 -0
  86. /package/template/devflow/{docs → 60-docs}/diagrams/nexus-devflow-lifecycle.json +0 -0
  87. /package/template/devflow/{docs → 60-docs}/examples/living-spec/adr.example.md +0 -0
  88. /package/template/devflow/{docs → 60-docs}/examples/living-spec/current-feature.example.md +0 -0
  89. /package/template/devflow/{docs → 60-docs}/examples/living-spec/discovery.example.md +0 -0
  90. /package/template/devflow/{docs → 60-docs}/examples/living-spec/ideas.example.md +0 -0
  91. /package/template/devflow/{docs → 60-docs}/governance-rules.md +0 -0
  92. /package/template/devflow/{docs → 60-docs}/manual-review-workflow-spec.md +0 -0
  93. /package/template/devflow/{docs → 60-docs}/markdown-metadata-contract.md +0 -0
  94. /package/template/devflow/{docs → 60-docs}/quickstart.md +0 -0
  95. /package/template/devflow/{docs → 60-docs}/release-process.md +0 -0
  96. /package/template/devflow/{docs → 60-docs}/skill-selection-policy.md +0 -0
  97. /package/template/devflow/{docs → 60-docs}/workflow-surface-map.md +0 -0
@@ -1,12 +1,12 @@
1
1
  import type { ActiveRunSummary } from "./branch-context.js";
2
2
  import type { CurrentWorkSummary, CurrentWorkType } from "./current-work.js";
3
- import type { Finding, FindingStatus } from "./findings.js";
3
+ import type { Finding, FindingsSummary, FindingStatus } from "./findings.js";
4
4
  import type { GitStatusSummary } from "./git-status.js";
5
5
  import type { ProjectAdapter } from "./project-metadata.js";
6
6
  import type { IdeasSummary } from "./ideas.js";
7
7
  import type { ProjectConfig, ProjectConfigState } from "./project-config.js";
8
8
  import type { RunStateSummary } from "./run-state.js";
9
- import type { ReviewCheckResult, ReviewFreshness, ReviewState } from "./review.js";
9
+ import type { IndependentReviewSummary, ReviewCheckResult, ReviewFreshness, ReviewState } from "./review.js";
10
10
  export type CompletionState = "blocked" | "idle" | "needs_verification" | "ready";
11
11
  export interface StatusWarning {
12
12
  code: string;
@@ -97,6 +97,13 @@ export interface ProjectStatus {
97
97
  nextAction: StatusNextAction;
98
98
  warnings: StatusWarning[];
99
99
  }
100
+ export interface WorkEvidence {
101
+ verification: "verified" | "failed" | "incomplete" | "missing";
102
+ recordFaults: Array<{
103
+ blocker: string;
104
+ path: string;
105
+ }>;
106
+ }
100
107
  export declare class ProjectStatusEngine {
101
108
  private projectRoot;
102
109
  constructor(projectRoot?: string);
@@ -105,6 +112,7 @@ export declare class ProjectStatusEngine {
105
112
  shouldUseColor(isTTY?: boolean | undefined, environment?: NodeJS.ProcessEnv): boolean;
106
113
  }
107
114
  declare function shouldUseColor(isTTY?: boolean | undefined, environment?: NodeJS.ProcessEnv): boolean;
115
+ declare function classifyWorkEvidence(currentWork: CurrentWorkSummary, findings: FindingsSummary, review?: IndependentReviewSummary, stageMarkdown?: string): WorkEvidence;
108
116
  declare function readProjectStatus(startPath?: string): Promise<ProjectStatus>;
109
117
  declare function formatHumanStatus(status: ProjectStatus, options?: HumanStatusOptions): string;
110
- export { formatHumanStatus, readProjectStatus, shouldUseColor };
118
+ export { classifyWorkEvidence, formatHumanStatus, readProjectStatus, shouldUseColor };
@@ -50,11 +50,14 @@ export class ProjectStatusEngine {
50
50
  ...review.warnings,
51
51
  ...findDrift(currentWork, git)
52
52
  ];
53
- const completion = selectCompletion(currentWork, findings, git, stageMarkdown, review, config.values);
54
- const nextAction = selectNextAction(currentWork, findings, stageMarkdown);
53
+ const evidence = classifyWorkEvidence(currentWork, findings, review, stageMarkdown);
54
+ const completion = selectCompletion(currentWork, findings, git, stageMarkdown, review, config.values, evidence);
55
+ const nextAction = selectNextAction(currentWork, findings, stageMarkdown, evidence, completion);
55
56
  return {
56
57
  schemaVersion: metadata.schemaVersion,
57
- health: warnings.length > 0 || findings.blockers.length > 0
58
+ health: warnings.length > 0 || findings.blockers.length > 0 ||
59
+ (currentWork.state === "active" && evidence.verification === "failed") ||
60
+ isReviewBlocked(review, config.values, currentWork, runState.mode)
58
61
  ? "warning"
59
62
  : "ok",
60
63
  project: metadata.project,
@@ -340,7 +343,7 @@ function formatFindings(findings) {
340
343
  blockers: findings.blockers.map(selectFinding)
341
344
  };
342
345
  }
343
- function selectCompletion(currentWork, findings, git, stageMarkdown, review, config) {
346
+ function selectCompletion(currentWork, findings, git, stageMarkdown, review, config, evidence) {
344
347
  if (currentWork.state === "idle") {
345
348
  return { state: "idle", blockers: [] };
346
349
  }
@@ -350,7 +353,10 @@ function selectCompletion(currentWork, findings, git, stageMarkdown, review, con
350
353
  blockers: ["current work contract is malformed"]
351
354
  };
352
355
  }
353
- const blockers = [];
356
+ const blockers = evidence ? evidence.recordFaults.map((fault) => fault.blocker) : [];
357
+ if (evidence?.verification === "failed") {
358
+ blockers.push("verification failed");
359
+ }
354
360
  if (currentWork.remaining > 0) {
355
361
  blockers.push(`${currentWork.remaining} checklist steps remain`);
356
362
  }
@@ -362,10 +368,7 @@ function selectCompletion(currentWork, findings, git, stageMarkdown, review, con
362
368
  }
363
369
  if (review && config) {
364
370
  const isGateActive = config.qualityGates.regular.independentReview !== "manual";
365
- if (review.state === "malformed") {
366
- blockers.push("independent review record is malformed");
367
- }
368
- else if (review.state === "changes-requested") {
371
+ if (review.state === "changes-requested") {
369
372
  blockers.push("independent review requested changes");
370
373
  }
371
374
  else if (review.state === "pending") {
@@ -384,9 +387,10 @@ function selectCompletion(currentWork, findings, git, stageMarkdown, review, con
384
387
  const isVerified = Boolean(stageMarkdown &&
385
388
  (/ready\s+for\s+\/complete|Passed\s+->\s+Ready|\/complete/i.test(stageMarkdown) ||
386
389
  /Current Stage:\s*check\s*\(Passed/i.test(stageMarkdown)));
387
- if (isVerified ||
388
- currentWork.status?.toLowerCase().includes("verified") ||
389
- currentWork.status?.toLowerCase().includes("ready")) {
390
+ if ((evidence && evidence.verification === "verified") ||
391
+ (!evidence && (isVerified ||
392
+ currentWork.status?.toLowerCase().includes("verified") ||
393
+ currentWork.status?.toLowerCase().includes("ready")))) {
390
394
  return {
391
395
  state: "ready",
392
396
  blockers: []
@@ -394,16 +398,32 @@ function selectCompletion(currentWork, findings, git, stageMarkdown, review, con
394
398
  }
395
399
  return {
396
400
  state: "needs_verification",
397
- blockers: ["verification evidence is not persisted"]
401
+ blockers: [evidence?.verification === "incomplete"
402
+ ? "verification is incomplete"
403
+ : "verification evidence is not persisted"]
398
404
  };
399
405
  }
400
- function selectNextAction(currentWork, findings, stageMarkdown) {
406
+ function selectNextAction(currentWork, findings, stageMarkdown, evidence, completion) {
401
407
  if (currentWork.state === "malformed") {
402
408
  return {
403
409
  command: "/doctor",
404
410
  reason: "Repair the stage or spec contract before continuing."
405
411
  };
406
412
  }
413
+ if (currentWork.state === "active" && evidence) {
414
+ if (evidence.recordFaults.length > 0) {
415
+ return {
416
+ command: "/doctor",
417
+ reason: `Diagnose ${evidence.recordFaults.map((fault) => fault.path).join(" and ")} before continuing: ${evidence.recordFaults.map((fault) => fault.blocker).join("; ")}.`
418
+ };
419
+ }
420
+ if (evidence.verification === "failed") {
421
+ return {
422
+ command: "/implement",
423
+ reason: "Verification failed. Repair the current work before running /check again."
424
+ };
425
+ }
426
+ }
407
427
  // 1. Authoritative Next Action from current-stage.md
408
428
  if (stageMarkdown) {
409
429
  const stageNextActionMatch = stageMarkdown.match(/^-\s+(?:\*\*)?Next Action(?:\*\*)?:\s*`?(\/[^\r\n`]+)`?/im);
@@ -445,9 +465,23 @@ function selectNextAction(currentWork, findings, stageMarkdown) {
445
465
  reason: `Re-verify fixed finding ${fixedBlocker.id}.`
446
466
  };
447
467
  }
468
+ if (evidence && evidence.verification !== "verified") {
469
+ return {
470
+ command: "/check",
471
+ reason: evidence.verification === "incomplete"
472
+ ? "Verification is incomplete. Finish checking the current work."
473
+ : "All build steps are checked, but verification is not persisted."
474
+ };
475
+ }
476
+ if (completion && completion.state !== "ready") {
477
+ return {
478
+ command: "/doctor",
479
+ reason: `Resolve completion blockers before continuing: ${completion.blockers.join("; ")}.`
480
+ };
481
+ }
448
482
  return {
449
- command: "/check",
450
- reason: "All checklist steps are completed; run QA verification."
483
+ command: "/complete",
484
+ reason: "The current work is verified and ready for its final safety pass."
451
485
  };
452
486
  }
453
487
  const openBlocker = findings.blockers.find((finding) => finding.status === "open");
@@ -462,6 +496,54 @@ function selectNextAction(currentWork, findings, stageMarkdown) {
462
496
  reason: "Workspace is idle. Ready to spec or discover a new feature."
463
497
  };
464
498
  }
499
+ function classifyWorkEvidence(currentWork, findings, review, stageMarkdown) {
500
+ const status = currentWork.status?.trim().toLowerCase() || "";
501
+ const isVerifiedByStage = Boolean(stageMarkdown &&
502
+ (/ready\s+for\s+\/complete|Passed\s+->\s+Ready|\/complete/i.test(stageMarkdown) ||
503
+ /Current Stage:\s*check\s*\(Passed/i.test(stageMarkdown)));
504
+ const isFailedByStage = Boolean(stageMarkdown &&
505
+ (/check\s*\(Failed/i.test(stageMarkdown) || /verification failed/i.test(stageMarkdown)));
506
+ const verification = status === "verification failed" || status === "failed" || isFailedByStage
507
+ ? "failed"
508
+ : status === "verification incomplete" || status === "incomplete"
509
+ ? "incomplete"
510
+ : status === "verified" || status.includes("verified") || status === "ready" || status.includes("ready") || isVerifiedByStage
511
+ ? "verified"
512
+ : "missing";
513
+ const recordFaults = [];
514
+ if (review?.state === "malformed") {
515
+ recordFaults.push({
516
+ blocker: "independent review record is malformed",
517
+ path: "devflow/context/review.md"
518
+ });
519
+ }
520
+ for (const warning of findings.warnings) {
521
+ const blocker = warning.code === "malformed_findings"
522
+ ? "findings record is malformed"
523
+ : warning.code === "invalid_findings_path"
524
+ ? "findings path is not a regular file"
525
+ : warning.code === "unsafe_findings_path"
526
+ ? "findings path is a symbolic link and was not read"
527
+ : null;
528
+ if (blocker) {
529
+ recordFaults.push({ blocker, path: "devflow/context/findings.md" });
530
+ }
531
+ }
532
+ return { verification, recordFaults };
533
+ }
534
+ function isReviewBlocked(review, config, currentWork, runMode) {
535
+ return review.state === "malformed" ||
536
+ review.state === "pending" ||
537
+ review.state === "changes-requested" ||
538
+ (review.state === "passed" && review.freshness !== "current") ||
539
+ (review.state === "none" &&
540
+ currentWork.state === "active" &&
541
+ selectIndependentReviewPolicy(config, review, runMode) === "always");
542
+ }
543
+ function selectIndependentReviewPolicy(config, review, runMode) {
544
+ const workflow = review.workflow || (runMode === "continuous" ? "continuous" : "regular");
545
+ return config.qualityGates[workflow].independentReview;
546
+ }
465
547
  function findDrift(currentWork, git) {
466
548
  if (currentWork.state !== "active") {
467
549
  return [];
@@ -489,5 +571,5 @@ function formatHumanStatus(status, options = {}) {
489
571
  const engine = new ProjectStatusEngine(status.project?.root || process.cwd());
490
572
  return engine.formatHuman(status, options);
491
573
  }
492
- export { formatHumanStatus, readProjectStatus, shouldUseColor };
574
+ export { classifyWorkEvidence, formatHumanStatus, readProjectStatus, shouldUseColor };
493
575
  //# sourceMappingURL=project-status-engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-status-engine.js","sourceRoot":"","sources":["../../lib/project-status-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-status-engine.js","sourceRoot":"","sources":["../../lib/project-status-engine.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ interface IndependentReviewSummary {
15
15
  baseCommit: string | null;
16
16
  baseRef: string | null;
17
17
  specHash: string | null;
18
+ specSnapshot: string | null;
18
19
  preparedBy: ReviewAdapter | null;
19
20
  builderModel: string | null;
20
21
  requestedReviewer: ReviewAdapter | null;
@@ -80,10 +80,14 @@ function parseIndependentReview(markdown) {
80
80
  return emptySummary();
81
81
  }
82
82
  const fields = new Map();
83
+ let snapshotFields = 0;
83
84
  for (const line of markdown.split(/\r?\n/)) {
84
85
  const match = line.match(FIELD_PATTERN);
85
86
  if (match?.[1]) {
86
- fields.set(normalizeLabel(match[1]), (match[2] || "").trim());
87
+ const label = normalizeLabel(match[1]);
88
+ fields.set(label, (match[2] || "").trim());
89
+ if (label === "spec snapshot")
90
+ snapshotFields += 1;
87
91
  }
88
92
  }
89
93
  const state = normalizeState(fields.get("status"));
@@ -91,6 +95,11 @@ function parseIndependentReview(markdown) {
91
95
  const baseCommit = normalizeHash(fields.get("base commit"), FULL_SHA_PATTERN);
92
96
  const baseRef = normalizeBaseRef(fields.get("base ref"));
93
97
  const specHash = normalizeHash(fields.get("spec hash"), HASH_PATTERN);
98
+ const snapshotValue = fields.get("spec snapshot");
99
+ const specSnapshot = targetCommit && specHash &&
100
+ snapshotValue === `devflow/.state/review-specs/${targetCommit}-${specHash}.md`
101
+ ? snapshotValue
102
+ : null;
94
103
  const preparedBy = normalizeAdapter(fields.get("prepared by"));
95
104
  const builderModel = normalizeText(fields.get("builder model"));
96
105
  const requestedReviewer = normalizeAdapter(fields.get("requested reviewer"));
@@ -121,6 +130,7 @@ function parseIndependentReview(markdown) {
121
130
  baseCommit !== null &&
122
131
  baseRef !== null &&
123
132
  specHash !== null &&
133
+ (snapshotValue === undefined || (snapshotFields === 1 && specSnapshot !== null)) &&
124
134
  preparedBy !== null &&
125
135
  builderModel !== null &&
126
136
  requestedReviewer !== null &&
@@ -156,6 +166,7 @@ function parseIndependentReview(markdown) {
156
166
  baseCommit,
157
167
  baseRef,
158
168
  specHash,
169
+ specSnapshot,
159
170
  preparedBy,
160
171
  builderModel,
161
172
  requestedReviewer,
@@ -193,7 +204,9 @@ async function determineFreshness(projectRoot, review, specPath, reviewPath, fin
193
204
  }
194
205
  const [head, currentWork, mergeBase, permittedBaseRefs] = await Promise.all([
195
206
  runOptionalGit(projectRoot, ["rev-parse", "HEAD"]),
196
- readOptionalRegularFile(specPath),
207
+ review.specSnapshot
208
+ ? readLocalSpecSnapshot(projectRoot, review, specPath)
209
+ : readOptionalRegularFile(specPath),
197
210
  runOptionalGit(projectRoot, [
198
211
  "merge-base",
199
212
  review.baseRef,
@@ -201,7 +214,10 @@ async function determineFreshness(projectRoot, review, specPath, reviewPath, fin
201
214
  ]),
202
215
  readPermittedBaseRefs(projectRoot)
203
216
  ]);
204
- if (!head || currentWork === null) {
217
+ if (currentWork === null) {
218
+ return review.specSnapshot ? "stale" : "unknown";
219
+ }
220
+ if (!head) {
205
221
  return "unknown";
206
222
  }
207
223
  if (review.baseCommit === review.targetCommit ||
@@ -218,6 +234,44 @@ async function determineFreshness(projectRoot, review, specPath, reviewPath, fin
218
234
  const relevantDiff = await hasRelevantDiff(projectRoot, review.targetCommit, relReviewPath, relFindingsPath);
219
235
  return relevantDiff === null ? "unknown" : relevantDiff ? "stale" : "current";
220
236
  }
237
+ async function readLocalSpecSnapshot(projectRoot, review, specPath) {
238
+ if (!review.specSnapshot || !review.targetCommit || !review.specHash)
239
+ return null;
240
+ try {
241
+ const root = path.resolve(projectRoot);
242
+ if (!(await fs.lstat(root)).isDirectory())
243
+ return null;
244
+ const relativeSpecPath = path.relative(root, path.resolve(specPath)).replace(/\\/g, "/");
245
+ const files = [relativeSpecPath, review.specSnapshot];
246
+ for (const file of files) {
247
+ let directory = root;
248
+ for (const part of file.split(/[\\/]/).slice(0, -1)) {
249
+ directory = path.join(directory, part);
250
+ if (!(await fs.lstat(directory)).isDirectory())
251
+ return null;
252
+ }
253
+ if (!(await fs.lstat(path.join(root, file))).isFile())
254
+ return null;
255
+ }
256
+ const [indexed, committed, ...ignored] = await Promise.all([
257
+ runOptionalGit(root, ["ls-files", "--stage", "--", ...files]),
258
+ runOptionalGit(root, ["ls-tree", "-z", review.targetCommit, "--", ...files]),
259
+ ...files.map((file) => runOptionalGit(root, [
260
+ "check-ignore", "--no-index", "--quiet", "--", file
261
+ ]))
262
+ ]);
263
+ if (indexed !== "" || committed !== "" || ignored.some((result) => result === null)) {
264
+ return null;
265
+ }
266
+ const contents = await Promise.all(files.map((file) => fs.readFile(path.join(root, file))));
267
+ return contents.every((bytes) => createHash("sha256").update(bytes).digest("hex") === review.specHash)
268
+ ? contents[0] ?? null
269
+ : null;
270
+ }
271
+ catch {
272
+ return null;
273
+ }
274
+ }
221
275
  async function hasRelevantDiff(projectRoot, targetCommit, relReviewPath, relFindingsPath) {
222
276
  try {
223
277
  await execFileAsync("git", [
@@ -420,6 +474,7 @@ function emptySummary() {
420
474
  baseCommit: null,
421
475
  baseRef: null,
422
476
  specHash: null,
477
+ specSnapshot: null,
423
478
  preparedBy: null,
424
479
  builderModel: null,
425
480
  requestedReviewer: null,
@@ -1 +1 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../lib/review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../lib/review.ts"],"names":[],"mappings":"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"}
@@ -687,7 +687,7 @@ export class SkillRegistryEngine {
687
687
  return { updatedSkills: [], failedSkills: [], totalUpdated: 0 };
688
688
  }
689
689
  let skillsToUpdate = existingThirdParty;
690
- if (targetSkillName && targetSkillName !== "--all") {
690
+ if (targetSkillName && targetSkillName !== "--all" && targetSkillName.toLowerCase() !== "all") {
691
691
  skillsToUpdate = existingThirdParty.filter((s) => s.name === targetSkillName);
692
692
  if (skillsToUpdate.length === 0) {
693
693
  throw new Error(`Skill "${targetSkillName}" is not installed as a third-party skill.`);