@opensip-cli/fitness 0.1.6 → 0.1.7

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 (119) hide show
  1. package/README.md +2 -2
  2. package/dist/__tests__/fit-execute-opts.test.js +2 -2
  3. package/dist/__tests__/fit-execute-opts.test.js.map +1 -1
  4. package/dist/__tests__/public-api.test.js +2 -1
  5. package/dist/__tests__/public-api.test.js.map +1 -1
  6. package/dist/__tests__/tool.test.js +24 -13
  7. package/dist/__tests__/tool.test.js.map +1 -1
  8. package/dist/cli/__tests__/fit-gate-mode.test.js +1 -1
  9. package/dist/cli/__tests__/fit-gate-mode.test.js.map +1 -1
  10. package/dist/cli/__tests__/fit-modes-live.test.d.ts +1 -1
  11. package/dist/cli/__tests__/fit-modes-live.test.js +13 -6
  12. package/dist/cli/__tests__/fit-modes-live.test.js.map +1 -1
  13. package/dist/cli/__tests__/report-data.test.js +3 -3
  14. package/dist/cli/__tests__/report-data.test.js.map +1 -1
  15. package/dist/cli/fit/__tests__/display-fold.test.js +2 -2
  16. package/dist/cli/fit/__tests__/display-fold.test.js.map +1 -1
  17. package/dist/cli/fit/__tests__/fit-export-command-spec.test.d.ts +9 -0
  18. package/dist/cli/fit/__tests__/fit-export-command-spec.test.d.ts.map +1 -0
  19. package/dist/cli/fit/__tests__/fit-export-command-spec.test.js +75 -0
  20. package/dist/cli/fit/__tests__/fit-export-command-spec.test.js.map +1 -0
  21. package/dist/cli/fit/check-loader.d.ts +1 -1
  22. package/dist/cli/fit/check-loader.js +1 -1
  23. package/dist/cli/fit/config-loader.d.ts +1 -1
  24. package/dist/cli/fit/config-loader.js +1 -1
  25. package/dist/cli/fit/envelope-view.d.ts.map +1 -1
  26. package/dist/cli/fit/envelope-view.js +2 -14
  27. package/dist/cli/fit/envelope-view.js.map +1 -1
  28. package/dist/cli/fit/fit-aux-command-specs.d.ts +27 -17
  29. package/dist/cli/fit/fit-aux-command-specs.d.ts.map +1 -1
  30. package/dist/cli/fit/fit-aux-command-specs.js +91 -53
  31. package/dist/cli/fit/fit-aux-command-specs.js.map +1 -1
  32. package/dist/cli/fit/recipe-selector.test.js +2 -2
  33. package/dist/cli/fit/recipe-selector.test.js.map +1 -1
  34. package/dist/cli/fit/result-builders.d.ts +29 -19
  35. package/dist/cli/fit/result-builders.d.ts.map +1 -1
  36. package/dist/cli/fit/result-builders.js +29 -24
  37. package/dist/cli/fit/result-builders.js.map +1 -1
  38. package/dist/cli/fit-modes.d.ts.map +1 -1
  39. package/dist/cli/fit-modes.js +7 -4
  40. package/dist/cli/fit-modes.js.map +1 -1
  41. package/dist/cli/fit-runner-views.d.ts +1 -1
  42. package/dist/cli/fit-runner-views.js +1 -1
  43. package/dist/cli/fit-runner.d.ts.map +1 -1
  44. package/dist/cli/fit-runner.js +18 -12
  45. package/dist/cli/fit-runner.js.map +1 -1
  46. package/dist/cli/fit-worker.d.ts.map +1 -1
  47. package/dist/cli/fit-worker.js +1 -0
  48. package/dist/cli/fit-worker.js.map +1 -1
  49. package/dist/cli/fit.d.ts +5 -3
  50. package/dist/cli/fit.d.ts.map +1 -1
  51. package/dist/cli/fit.js +6 -4
  52. package/dist/cli/fit.js.map +1 -1
  53. package/dist/framework/__tests__/concurrent-file-cache.test.d.ts +24 -0
  54. package/dist/framework/__tests__/concurrent-file-cache.test.d.ts.map +1 -0
  55. package/dist/framework/__tests__/concurrent-file-cache.test.js +151 -0
  56. package/dist/framework/__tests__/concurrent-file-cache.test.js.map +1 -0
  57. package/dist/framework/__tests__/define-check.test.js +38 -1
  58. package/dist/framework/__tests__/define-check.test.js.map +1 -1
  59. package/dist/framework/__tests__/define-regex-list-check.test.js +5 -1
  60. package/dist/framework/__tests__/define-regex-list-check.test.js.map +1 -1
  61. package/dist/framework/__tests__/execution-context.globalexcludes-parity.test.js +3 -1
  62. package/dist/framework/__tests__/execution-context.globalexcludes-parity.test.js.map +1 -1
  63. package/dist/framework/__tests__/execution-context.test.js +32 -9
  64. package/dist/framework/__tests__/execution-context.test.js.map +1 -1
  65. package/dist/framework/__tests__/file-accessor.test.js +7 -4
  66. package/dist/framework/__tests__/file-accessor.test.js.map +1 -1
  67. package/dist/framework/__tests__/file-cache-autoclear.test.d.ts +25 -0
  68. package/dist/framework/__tests__/file-cache-autoclear.test.d.ts.map +1 -0
  69. package/dist/framework/__tests__/file-cache-autoclear.test.js +116 -0
  70. package/dist/framework/__tests__/file-cache-autoclear.test.js.map +1 -0
  71. package/dist/framework/__tests__/register-helpers.test.js +2 -2
  72. package/dist/framework/__tests__/register-helpers.test.js.map +1 -1
  73. package/dist/framework/__tests__/scope-registry.test.js +2 -2
  74. package/dist/framework/__tests__/scope-registry.test.js.map +1 -1
  75. package/dist/framework/define-check.d.ts.map +1 -1
  76. package/dist/framework/define-check.js +9 -0
  77. package/dist/framework/define-check.js.map +1 -1
  78. package/dist/framework/execution-context.d.ts +9 -2
  79. package/dist/framework/execution-context.d.ts.map +1 -1
  80. package/dist/framework/execution-context.js +20 -6
  81. package/dist/framework/execution-context.js.map +1 -1
  82. package/dist/framework/file-accessor.d.ts +12 -0
  83. package/dist/framework/file-accessor.d.ts.map +1 -1
  84. package/dist/framework/file-accessor.js +8 -3
  85. package/dist/framework/file-accessor.js.map +1 -1
  86. package/dist/framework/file-cache.d.ts +11 -1
  87. package/dist/framework/file-cache.d.ts.map +1 -1
  88. package/dist/framework/file-cache.js +11 -1
  89. package/dist/framework/file-cache.js.map +1 -1
  90. package/dist/framework/ignore-processing.d.ts.map +1 -1
  91. package/dist/framework/ignore-processing.js +26 -11
  92. package/dist/framework/ignore-processing.js.map +1 -1
  93. package/dist/index.d.ts +1 -0
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/index.js +4 -1
  96. package/dist/index.js.map +1 -1
  97. package/dist/persistence/session-replay.d.ts +8 -3
  98. package/dist/persistence/session-replay.d.ts.map +1 -1
  99. package/dist/persistence/session-replay.js +7 -8
  100. package/dist/persistence/session-replay.js.map +1 -1
  101. package/dist/persistence/session-replay.test.js +9 -7
  102. package/dist/persistence/session-replay.test.js.map +1 -1
  103. package/dist/plugins/__tests__/loader.test.js +2 -2
  104. package/dist/plugins/__tests__/loader.test.js.map +1 -1
  105. package/dist/recipes/__tests__/run-one-check.test.js +16 -1
  106. package/dist/recipes/__tests__/run-one-check.test.js.map +1 -1
  107. package/dist/recipes/__tests__/service.test.js +46 -3
  108. package/dist/recipes/__tests__/service.test.js.map +1 -1
  109. package/dist/recipes/service.d.ts +8 -1
  110. package/dist/recipes/service.d.ts.map +1 -1
  111. package/dist/recipes/service.js +33 -4
  112. package/dist/recipes/service.js.map +1 -1
  113. package/dist/scope-augmentation.d.ts +7 -1
  114. package/dist/scope-augmentation.d.ts.map +1 -1
  115. package/dist/tool.d.ts +4 -3
  116. package/dist/tool.d.ts.map +1 -1
  117. package/dist/tool.js +58 -85
  118. package/dist/tool.js.map +1 -1
  119. package/package.json +14 -14
@@ -26,9 +26,9 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
26
26
  import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
27
27
  import { tmpdir } from 'node:os';
28
28
  import { join } from 'node:path';
29
- import { Banner, ClockProvider, ErrorMessage, LiveProgress, normalizeBannerSize, ProjectHeader, renderToInk, RunFooterHints, RunHeader, RunSummary, RunTimingProvider, ThemeProvider, UpdateHint, VERBOSE_DETAIL_HINT, viewFindingsGroups, } from '@opensip-cli/cli-ui';
30
- import { runOffThreadOrInProcess, currentScope, } from '@opensip-cli/core';
31
- import { Box, Static, Text, useApp, render } from 'ink';
29
+ import { Banner, ClockProvider, ErrorMessage, LiveProgress, normalizeBannerSize, ProjectHeader, renderToInk, RunFooterHints, RunHeader, RunSummary, RunTimingProvider, shouldRenderRunFooterHints, shouldRenderRunUnitTable, ThemeProvider, UpdateHint, DEFAULT_RUN_FOOTER_HINTS, viewFindingsGroups, } from '@opensip-cli/cli-ui';
30
+ import { runOffThreadOrInProcess, currentScope, liveEngineCorrelation, } from '@opensip-cli/core';
31
+ import { Box, Static, useApp, render } from 'ink';
32
32
  import React, { useEffect, useState } from 'react';
33
33
  import { envelopeToFitRows } from './fit/envelope-view.js';
34
34
  import { buildFitnessSessionPayload } from './fit/result-builders.js';
@@ -82,8 +82,18 @@ function FitRunner({ args, setExitCode, onEnvelope, onSession, liveContext, }) {
82
82
  const specDir = mkdtempSync(join(tmpdir(), 'fit-worker-'));
83
83
  const specPath = join(specDir, 'spec.json');
84
84
  writeFileSync(specPath, JSON.stringify(args), 'utf8');
85
+ // Forward the parent run's correlation bag (composition root, Phase 0) so
86
+ // the forked live-engine worker's logs attribute to this run — symmetric to
87
+ // the spawn-path shard-runner. The transport injects OPENSIP_RUN_ID from
88
+ // currentScope()?.runId (B1); the descriptor omits runId and marks the
89
+ // live-engine fork via workerKind.
90
+ const correlation = liveEngineCorrelation(currentScope()?.correlation);
85
91
  const run = runOffThreadOrInProcess({
86
- descriptor: { command: process.argv[1] ?? '', argv: ['fit-run-worker', specPath] },
92
+ descriptor: {
93
+ command: process.argv[1] ?? '',
94
+ argv: ['fit-run-worker', specPath],
95
+ ...(correlation ? { correlation } : {}),
96
+ },
87
97
  inProcess: (emit) => executeFitWithProgress(args, emit),
88
98
  });
89
99
  setState({ phase: 'running', checkCount, subscribe: run.onProgress });
@@ -103,6 +113,7 @@ function FitRunner({ args, setExitCode, onEnvelope, onSession, liveContext, }) {
103
113
  return;
104
114
  }
105
115
  const { result } = fitResult;
116
+ const warnings = fitResult.warnings ?? [];
106
117
  // ADR-0035: the host owns the findings exit. The live renderer returns the
107
118
  // envelope to `setUpFitLiveView`, which calls `deliverSignals`; the root
108
119
  // sets the exit from `envelope.verdict.passed` there. No setExitCode here.
@@ -123,7 +134,7 @@ function FitRunner({ args, setExitCode, onEnvelope, onSession, liveContext, }) {
123
134
  // now (ADR-0011): `renderFitLive` returns this envelope and the tool's
124
135
  // `registerLiveView` callback delivers it once the Ink app exits.
125
136
  onEnvelope?.(result.envelope);
126
- setState({ phase: 'done', result, checkCount });
137
+ setState({ phase: 'done', result, warnings, checkCount });
127
138
  setTimeout(() => exit(), 100);
128
139
  })();
129
140
  return () => {
@@ -176,6 +187,7 @@ function FitRunner({ args, setExitCode, onEnvelope, onSession, liveContext, }) {
176
187
  case 'done': {
177
188
  const { envelope, verboseDetail } = state.result;
178
189
  const { summary } = envelope.verdict;
190
+ const renderPolicy = { verbose: args.verbose === true };
179
191
  // Host-owned timing (via provider from liveContext or outer host wrap):
180
192
  // omit explicit durationMs so RunSummary reads from RunTimingProvider.
181
193
  // The displayed Duration now matches the value stamped into StoredSession
@@ -189,13 +201,7 @@ function FitRunner({ args, setExitCode, onEnvelope, onSession, liveContext, }) {
189
201
  : undefined;
190
202
  const summaryEl = (_jsx(RunSummary, { passed: envelope.verdict.passed, errors: summary.errors, warnings: summary.warnings }));
191
203
  const timedSummary = liveContext?.runSession ? (_jsx(RunTimingProvider, { timer: liveContext.runSession.timing, children: summaryEl })) : (summaryEl);
192
- return (_jsxs(_Fragment, { children: [staticHeader, _jsxs(Box, { flexDirection: "column", children: [!args.quiet && args.verbose === true && (_jsx(Box, { paddingTop: 1, flexDirection: "column", children: _jsx(ResultsTable, { rows: envelopeToFitRows(envelope) }) })), timedSummary, !args.quiet && state.result.warnings && state.result.warnings.length > 0 && (_jsx(WarningsBlock, { warnings: state.result.warnings })), !args.quiet && findingsDetail !== undefined && (_jsx(Box, { children: renderToInk(viewFindingsGroups(findingsDetail.groups)) })), !args.quiet && args.verbose !== true && (_jsx(RunFooterHints, { hints: [
193
- VERBOSE_DETAIL_HINT,
194
- {
195
- text: 'opensip report for HTML report',
196
- bold: ['opensip report'],
197
- },
198
- ] })), !args.quiet && state.result.configFound === false && (_jsx(Box, { paddingLeft: 2, children: _jsxs(Text, { dimColor: true, children: ["No config file found. Run ", _jsx(Text, { bold: true, children: "opensip init" }), " to customize targets and settings."] }) }))] })] }));
204
+ return (_jsxs(_Fragment, { children: [staticHeader, _jsxs(Box, { flexDirection: "column", children: [!args.quiet && shouldRenderRunUnitTable(renderPolicy) && (_jsx(Box, { paddingTop: 1, flexDirection: "column", children: _jsx(ResultsTable, { rows: envelopeToFitRows(envelope) }) })), timedSummary, !args.quiet && state.warnings.length > 0 && (_jsx(WarningsBlock, { warnings: state.warnings })), !args.quiet && findingsDetail !== undefined && (_jsx(Box, { children: renderToInk(viewFindingsGroups(findingsDetail.groups)) })), !args.quiet && shouldRenderRunFooterHints(renderPolicy) && (_jsx(RunFooterHints, { hints: DEFAULT_RUN_FOOTER_HINTS }))] })] }));
199
205
  }
200
206
  case 'error': {
201
207
  return _jsx(ErrorMessage, { message: state.result.message, suggestion: state.result.suggestion });
@@ -1 +1 @@
1
- {"version":3,"file":"fit-runner.js","sourceRoot":"","sources":["../../src/cli/fit-runner.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fit-runner.js","sourceRoot":"","sources":["../../src/cli/fit-runner.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fit-worker.d.ts","sourceRoot":"","sources":["../../src/cli/fit-worker.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAgB3B;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBtE;AAED,2EAA2E;AAC3E,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,OAAO,EAAE,cAAc,CAgBvE,CAAC"}
1
+ {"version":3,"file":"fit-worker.d.ts","sourceRoot":"","sources":["../../src/cli/fit-worker.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAgB3B;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBtE;AAED,2EAA2E;AAC3E,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,OAAO,EAAE,cAAc,CAiBvE,CAAC"}
@@ -53,6 +53,7 @@ export async function executeFitWorker(specPath) {
53
53
  /** `fit-run-worker` — [internal] headless fit run, IPC progress/result. */
54
54
  export const fitRunWorkerCommandSpec = defineCommand({
55
55
  name: 'fit-run-worker',
56
+ visibility: 'internal',
56
57
  description: '[internal] Run fit headless and stream progress + result over IPC (forked by the live view)',
57
58
  commonFlags: [],
58
59
  args: [{ name: 'specPath', description: 'Path to a JSON FitOptions spec file' }],
@@ -1 +1 @@
1
- {"version":3,"file":"fit-worker.js","sourceRoot":"","sources":["../../src/cli/fit-worker.ts"],"names":[],"mappings":"AAAA,iSAAiS;AACjS;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EACL,aAAa,GAId,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAStC,kEAAkE;AAClE,SAAS,IAAI,CAAC,GAAkD;IAC9D,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACrD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAe,CAAC;QACtE,IAAI,CAAC;YACH,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE;SAC5E,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE;YACvC,UAAU,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAC/B,IAAI,CAAC;gBACH,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE;aACrE,CAAC;SACL,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/D,GAAG,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,uBAAuB,GAAyC,aAAa,CAGxF;IACA,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,6FAA6F;IAC/F,WAAW,EAAE,EAAE;IACf,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;IAChF,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,YAAY;IACpB,eAAe,EAAE,YAAY;IAC7B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAiB,EAAE;QACxC,MAAM,QAAQ,GAAI,OAAyC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7E,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"fit-worker.js","sourceRoot":"","sources":["../../src/cli/fit-worker.ts"],"names":[],"mappings":"AAAA,iSAAiS;AACjS;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EACL,aAAa,GAId,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAStC,kEAAkE;AAClE,SAAS,IAAI,CAAC,GAAkD;IAC9D,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACrD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAe,CAAC;QACtE,IAAI,CAAC;YACH,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE;SAC5E,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE;YACvC,UAAU,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAC/B,IAAI,CAAC;gBACH,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE;aACrE,CAAC;SACL,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/D,GAAG,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,uBAAuB,GAAyC,aAAa,CAGxF;IACA,IAAI,EAAE,gBAAgB;IACtB,UAAU,EAAE,UAAU;IACtB,WAAW,EACT,6FAA6F;IAC/F,WAAW,EAAE,EAAE;IACf,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;IAChF,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,YAAY;IACpB,eAAe,EAAE,YAAY;IAC7B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAiB,EAAE;QACxC,MAAM,QAAQ,GAAI,OAAyC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7E,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;CACF,CAAC,CAAC"}
package/dist/cli/fit.d.ts CHANGED
@@ -13,14 +13,14 @@
13
13
  * - `fit/display-registry.ts` — merged check display map
14
14
  * - `fit/config-loader.ts` — config parse + language validation
15
15
  * - `fit/recipe-selector.ts` — recipe-pick + run
16
- * - `fit/result-builders.ts` — SignalEnvelope / FitDoneResult / session persist
16
+ * - `fit/result-builders.ts` — SignalEnvelope / RunPresentation / session persist
17
17
  *
18
18
  * This file re-exports the public surface (`executeFit`,
19
19
  * `ensureChecksLoaded`, and the display accessors) so existing consumers
20
20
  * (`opensip-cli`, `report-data.ts`, the fitness `index.ts` barrel) keep
21
21
  * resolving the same names.
22
22
  */
23
- import type { FitOptions, SignalEnvelope, FitDoneResult, ErrorResult } from '@opensip-cli/contracts';
23
+ import type { FitOptions, SignalEnvelope, RunPresentation, ErrorResult } from '@opensip-cli/contracts';
24
24
  export { ensureChecksLoaded, getEnabledCheckCount, getLoadWarnings, getPluginLoadErrors, } from './fit/check-loader.js';
25
25
  export { getDisplayName, getIcon } from './fit/display-registry.js';
26
26
  /**
@@ -65,10 +65,12 @@ export interface ExecuteFitOptions {
65
65
  * those reads be safe.
66
66
  */
67
67
  export declare function executeFit(args: FitOptions, opts?: ExecuteFitOptions): Promise<{
68
- result: FitDoneResult;
68
+ result: RunPresentation;
69
69
  envelope: SignalEnvelope;
70
+ warnings?: readonly string[];
70
71
  } | {
71
72
  result: ErrorResult;
72
73
  envelope?: undefined;
74
+ warnings?: undefined;
73
75
  }>;
74
76
  //# sourceMappingURL=fit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fit.d.ts","sourceRoot":"","sources":["../../src/cli/fit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAcH,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAShC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAMpE;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,UAAU,EAChB,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CACN;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,GACnD;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,CAChD,CA8FA"}
1
+ {"version":3,"file":"fit.d.ts","sourceRoot":"","sources":["../../src/cli/fit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAkBH,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAShC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAMpE;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,UAAU,EAChB,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAMN;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACnF;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,CACtE,CAgGA"}
package/dist/cli/fit.js CHANGED
@@ -13,7 +13,7 @@
13
13
  * - `fit/display-registry.ts` — merged check display map
14
14
  * - `fit/config-loader.ts` — config parse + language validation
15
15
  * - `fit/recipe-selector.ts` — recipe-pick + run
16
- * - `fit/result-builders.ts` — SignalEnvelope / FitDoneResult / session persist
16
+ * - `fit/result-builders.ts` — SignalEnvelope / RunPresentation / session persist
17
17
  *
18
18
  * This file re-exports the public surface (`executeFit`,
19
19
  * `ensureChecksLoaded`, and the display accessors) so existing consumers
@@ -28,7 +28,7 @@ import { ensureChecksLoaded, getLoadWarnings } from './fit/check-loader.js';
28
28
  import { loadFitConfig, validateLanguagesAgainstAdapters } from './fit/config-loader.js';
29
29
  import { runRecipeOrAdHoc, selectRecipe } from './fit/recipe-selector.js';
30
30
  import { resolvedFitnessConfig } from './fit/resolved-fitness-config.js';
31
- import { buildFitEnvelope, buildFitCallbacks, buildFitDoneResult } from './fit/result-builders.js';
31
+ import { buildFitEnvelope, buildFitCallbacks, buildFitPresentation, } from './fit/result-builders.js';
32
32
  // ---------------------------------------------------------------------------
33
33
  // Re-exports — preserve the public surface that external consumers
34
34
  // (`opensip-cli`, `report-data.ts`, fitness's barrel) import from
@@ -125,13 +125,12 @@ export async function executeFit(args, opts = {}) {
125
125
  // through the result rather than direct stderr writes so the live renderer
126
126
  // can surface them without breaking Ink's frame tracking.
127
127
  const warnings = [...getLoadWarnings(), ...validationWarnings];
128
- const result = buildFitDoneResult({
128
+ const result = buildFitPresentation({
129
129
  args,
130
130
  fitnessResult,
131
131
  envelope,
132
132
  signalersConfig,
133
133
  recipeName,
134
- warnings,
135
134
  });
136
135
  logger.info({
137
136
  evt: 'cli.fit.complete',
@@ -144,6 +143,9 @@ export async function executeFit(args, opts = {}) {
144
143
  return {
145
144
  result,
146
145
  envelope,
146
+ // warnings ride as a sibling field (not on the presentation): the non-Ink
147
+ // paths surface them via emitWarningsToStderr, the live runner in its summary.
148
+ ...(warnings.length > 0 ? { warnings } : {}),
147
149
  };
148
150
  }
149
151
  //# sourceMappingURL=fit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fit.js","sourceRoot":"","sources":["../../src/cli/fit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fit.js","sourceRoot":"","sources":["../../src/cli/fit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Acceptance test for the instance-vs-global FileCache bug
3
+ * (parallel-tool-invocations Phase 1).
4
+ *
5
+ * Was RED on the Phase-0 tree: two logical runs shared the module singleton
6
+ * `fileCache`, so one run's `clear()` evicted the other's entries. Phase 1 gives
7
+ * each `RunScope` its OWN `scope.fitness.fileCache` (built by the fitness tool's
8
+ * `contributeScope()`), so an unrelated run's `clear()` can no longer touch
9
+ * another run's cache. This rewrite onto two distinct scope-owned caches flips
10
+ * it green.
11
+ *
12
+ * The fitness engine's own tests must NOT import `@opensip-cli/test-support`
13
+ * (the package graph would go cyclic), so we construct the `RunScope`s directly
14
+ * from `@opensip-cli/core` and populate each scope's fitness subscope via the
15
+ * fitness tool's `contributeScope()` (through core's `applyToolContributeScope`,
16
+ * the same unwrap-and-install seam production uses). Phase 4 adds interleaving + identity
17
+ * cases on top of this:
18
+ * - distinct object identity (`scopeA.fitness.fileCache !== scopeB.fitness.fileCache`,
19
+ * read through the same `currentScope()?.fitness?.fileCache` seam production uses);
20
+ * - explicit-await interleaving (A prewarms → B clears its OWN cache mid-flight →
21
+ * A reads and still sees its prewarmed entries; no cross-eviction).
22
+ */
23
+ export {};
24
+ //# sourceMappingURL=concurrent-file-cache.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrent-file-cache.test.d.ts","sourceRoot":"","sources":["../../../src/framework/__tests__/concurrent-file-cache.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
@@ -0,0 +1,151 @@
1
+ /**
2
+ * Acceptance test for the instance-vs-global FileCache bug
3
+ * (parallel-tool-invocations Phase 1).
4
+ *
5
+ * Was RED on the Phase-0 tree: two logical runs shared the module singleton
6
+ * `fileCache`, so one run's `clear()` evicted the other's entries. Phase 1 gives
7
+ * each `RunScope` its OWN `scope.fitness.fileCache` (built by the fitness tool's
8
+ * `contributeScope()`), so an unrelated run's `clear()` can no longer touch
9
+ * another run's cache. This rewrite onto two distinct scope-owned caches flips
10
+ * it green.
11
+ *
12
+ * The fitness engine's own tests must NOT import `@opensip-cli/test-support`
13
+ * (the package graph would go cyclic), so we construct the `RunScope`s directly
14
+ * from `@opensip-cli/core` and populate each scope's fitness subscope via the
15
+ * fitness tool's `contributeScope()` (through core's `applyToolContributeScope`,
16
+ * the same unwrap-and-install seam production uses). Phase 4 adds interleaving + identity
17
+ * cases on top of this:
18
+ * - distinct object identity (`scopeA.fitness.fileCache !== scopeB.fitness.fileCache`,
19
+ * read through the same `currentScope()?.fitness?.fileCache` seam production uses);
20
+ * - explicit-await interleaving (A prewarms → B clears its OWN cache mid-flight →
21
+ * A reads and still sees its prewarmed entries; no cross-eviction).
22
+ */
23
+ import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
24
+ import { tmpdir } from 'node:os';
25
+ import path from 'node:path';
26
+ import { applyToolContributeScope, RunScope, runWithScope, runWithScopeSync, } from '@opensip-cli/core';
27
+ import { describe, expect, it } from 'vitest';
28
+ import { fitnessTool } from '../../tool.js';
29
+ /** Build a fresh RunScope carrying its OWN scope.fitness.fileCache. */
30
+ function makeScopeWithCache() {
31
+ const scope = new RunScope();
32
+ applyToolContributeScope(scope, fitnessTool);
33
+ const cache = scope.fitness?.fileCache;
34
+ if (!cache)
35
+ throw new Error('expected scope.fitness.fileCache to be installed');
36
+ return { scope, cache };
37
+ }
38
+ describe('concurrent fit runs do not share a file cache', () => {
39
+ it('run A clear() must not evict run B entries (each scope owns its own cache)', async () => {
40
+ const dir = mkdtempSync(path.join(tmpdir(), 'opensip-concurrent-cache-'));
41
+ const fileB = path.join(dir, 'run-b.ts');
42
+ const contentB = 'export const b = 1;\n';
43
+ writeFileSync(fileB, contentB);
44
+ // Two independent runs → two independent scope-owned caches.
45
+ const runA = makeScopeWithCache();
46
+ const runB = makeScopeWithCache();
47
+ // The two scopes carry DISTINCT cache instances (no shared module singleton).
48
+ expect(runA.cache).not.toBe(runB.cache);
49
+ try {
50
+ // Run B reads its file → cached in run B's OWN cache.
51
+ await runB.cache.get(fileB);
52
+ expect(runB.cache.getCached(fileB)).toBe(contentB);
53
+ // Run A finishes and clears ITS cache. With per-scope caches this cannot
54
+ // reach run B's entries (the Phase-0 bug was both runs sharing one Map).
55
+ runA.cache.clear();
56
+ // Run B's entry survives the unrelated run's clear().
57
+ expect(runB.cache.getCached(fileB)).toBe(contentB);
58
+ }
59
+ finally {
60
+ runA.scope.dispose();
61
+ runB.scope.dispose();
62
+ rmSync(dir, { recursive: true, force: true });
63
+ }
64
+ });
65
+ it('each scope.fitness.fileCache is a distinct object identity', () => {
66
+ // The spec success criterion: two scopes never alias the same cache object.
67
+ // (The old module singleton would have made `currentScope()?.fitness?.fileCache`
68
+ // resolve to the SAME instance for both runs.)
69
+ const runA = makeScopeWithCache();
70
+ const runB = makeScopeWithCache();
71
+ try {
72
+ // Read through the scope seam exactly like production
73
+ // (currentScope()?.fitness?.fileCache), not the captured locals.
74
+ const fromA = runWithScopeSync(runA.scope, () => runA.scope.fitness?.fileCache);
75
+ const fromB = runWithScopeSync(runB.scope, () => runB.scope.fitness?.fileCache);
76
+ expect(fromA).toBe(runA.cache);
77
+ expect(fromB).toBe(runB.cache);
78
+ expect(fromA).not.toBe(fromB);
79
+ }
80
+ finally {
81
+ runA.scope.dispose();
82
+ runB.scope.dispose();
83
+ }
84
+ });
85
+ it('interleaving: A prewarms, B clears mid-flight, A still reads its own entries', async () => {
86
+ // The spec's interleaving success criterion. Two scopes run under
87
+ // `runWithScope` (the concurrency-safe binding); explicit `await` points
88
+ // hand control back and forth so run B's clear() lands BETWEEN run A's
89
+ // prewarm and run A's read. With per-scope caches, B clearing its OWN
90
+ // cache cannot evict A's entries (the Phase-0 bug was both runs sharing
91
+ // one Map, so B.clear() would have wiped A's prewarmed content).
92
+ const dir = mkdtempSync(path.join(tmpdir(), 'opensip-interleave-cache-'));
93
+ const fileA = path.join(dir, 'run-a.ts');
94
+ const fileB = path.join(dir, 'run-b.ts');
95
+ const contentA = 'export const a = 1;\n';
96
+ const contentB = 'export const b = 2;\n';
97
+ writeFileSync(fileA, contentA);
98
+ writeFileSync(fileB, contentB);
99
+ const runA = makeScopeWithCache();
100
+ const runB = makeScopeWithCache();
101
+ expect(runA.cache).not.toBe(runB.cache);
102
+ // A barrier pair that lets the two bodies hand control back and forth at
103
+ // explicit points (deterministic interleaving, no reliance on timer races).
104
+ let releaseB;
105
+ const bMayClear = new Promise((resolve) => {
106
+ releaseB = resolve;
107
+ });
108
+ let releaseA;
109
+ const aMayRead = new Promise((resolve) => {
110
+ releaseA = resolve;
111
+ });
112
+ try {
113
+ const aResult = runWithScope(runA.scope, async () => {
114
+ // 1. A prewarms its OWN cache (reads fileA into run A's cache).
115
+ await runA.cache.get(fileA);
116
+ expect(runA.cache.getCached(fileA)).toBe(contentA);
117
+ // 2. Yield: let B clear its cache now.
118
+ releaseB();
119
+ await aMayRead;
120
+ // 4. A reads AFTER B.clear() — served from A's own (uncleared) cache.
121
+ // Assert it's the cached value, and that the cache still reports the
122
+ // entry (a disk re-read would re-populate, masking eviction; here we
123
+ // assert the *synchronous* cached hit survived B's clear()).
124
+ expect(runA.cache.getCached(fileA)).toBe(contentA);
125
+ return runA.cache.getCached(fileA);
126
+ });
127
+ const bResult = runWithScope(runB.scope, async () => {
128
+ await bMayClear;
129
+ // 3. B prewarms then clears its OWN cache while A is mid-flight.
130
+ await runB.cache.get(fileB);
131
+ expect(runB.cache.getCached(fileB)).toBe(contentB);
132
+ runB.cache.clear();
133
+ expect(runB.cache.getCached(fileB)).toBeUndefined();
134
+ // Hand control back to A so it reads post-clear.
135
+ releaseA();
136
+ });
137
+ const [aValue] = await Promise.all([aResult, bResult]);
138
+ // A's entry was served from A's cache, unaffected by B's clear().
139
+ expect(aValue).toBe(contentA);
140
+ // A's cache is still intact; B's was cleared. No cross-eviction.
141
+ expect(runA.cache.getCached(fileA)).toBe(contentA);
142
+ expect(runB.cache.getCached(fileB)).toBeUndefined();
143
+ }
144
+ finally {
145
+ runA.scope.dispose();
146
+ runB.scope.dispose();
147
+ rmSync(dir, { recursive: true, force: true });
148
+ }
149
+ });
150
+ });
151
+ //# sourceMappingURL=concurrent-file-cache.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrent-file-cache.test.js","sourceRoot":"","sources":["../../../src/framework/__tests__/concurrent-file-cache.test.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
3
3
  import { tmpdir } from 'node:os';
4
4
  import { dirname, join } from 'node:path';
5
- import { LanguageRegistry, RunScope, runWithScopeSync } from '@opensip-cli/core';
5
+ import { enterScope, LanguageRegistry, RunScope, runWithScopeSync } from '@opensip-cli/core';
6
6
  import { afterEach, beforeEach, describe, expect, it } from 'vitest';
7
7
  import { defineCheck } from '../define-check.js';
8
8
  import { fileCache } from '../file-cache.js';
@@ -244,8 +244,17 @@ function fixture(rel, content) {
244
244
  writeFileSync(abs, content);
245
245
  return abs;
246
246
  }
247
+ let runScope;
247
248
  beforeEach(() => {
248
249
  testDir = mkdtempSync(join(tmpdir(), 'opensip-define-check-run-'));
250
+ // Check.run() resolves the per-run cache from currentScope()?.fitness?.fileCache
251
+ // (no module-singleton fallback — parallel-tool-invocations Phase 1). These
252
+ // end-to-end run tests prewarm the (test-only) module singleton, so enter a
253
+ // scope whose fitness.fileCache IS that singleton — keeping the existing
254
+ // `fileCache.prewarm(...)` calls valid while the scope resolution finds it.
255
+ runScope = new RunScope();
256
+ Object.assign(runScope, { fitness: { fileCache } });
257
+ enterScope(runScope);
249
258
  });
250
259
  afterEach(() => {
251
260
  fileCache.clear();
@@ -349,6 +358,34 @@ describe('defineCheck — analyzeAll mode end-to-end run', () => {
349
358
  const result = await check.run(testDir, { verbose: true });
350
359
  expect(result.signals).toHaveLength(1);
351
360
  });
361
+ it('threads the per-run scope cache into the FileAccessor (analyzeAll reads prewarmed content, not disk)', async () => {
362
+ // Call-site guardrail (parallel-tool-invocations Phase 1, Task 1.5): the
363
+ // analyzeAll executor passes currentScope()?.fitness?.fileCache into
364
+ // createFileAccessor. We prewarm the scope cache (the module singleton here)
365
+ // with the on-disk content, then MUTATE disk. If the call site threads the
366
+ // scope cache, the accessor returns the prewarmed bytes; if it bypassed the
367
+ // cache (the historical global-miss bug) it would read the mutated disk.
368
+ const file = fixture('only.ts', 'export const cached = true');
369
+ await fileCache.prewarm(testDir, ['**/*.ts']);
370
+ writeFileSync(file, 'export const cached = false /* DISK MUTATED */');
371
+ const check = defineCheck({
372
+ id: 'bb000000-bb00-4bb0-8bb0-bb0000000003',
373
+ slug: 'reads-scope-cache',
374
+ description: 'reads from the injected scope cache',
375
+ tags: ['quality'],
376
+ analyzeAll: async (accessor) => {
377
+ const content = await accessor.read(file);
378
+ return content.includes('DISK MUTATED')
379
+ ? [{ line: 1, message: 'read disk', severity: 'error', filePath: file }]
380
+ : [];
381
+ },
382
+ });
383
+ const result = await check.run(testDir);
384
+ // No violation ⇒ the accessor returned the prewarmed (cached) content, i.e.
385
+ // the call site threaded the scope cache.
386
+ expect(result.signals).toHaveLength(0);
387
+ expect(result.passed).toBe(true);
388
+ });
352
389
  });
353
390
  describe('defineCheck — command mode end-to-end run', () => {
354
391
  it('runs the configured external command and parses output', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"define-check.test.js","sourceRoot":"","sources":["../../../src/framework/__tests__/define-check.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define-check.test.js","sourceRoot":"","sources":["../../../src/framework/__tests__/define-check.test.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ import { tmpdir } from 'node:os';
16
16
  import { join, dirname } from 'node:path';
17
17
  import { describe, expect, it } from 'vitest';
18
18
  import { defineRegexListCheck } from '../define-regex-list-check.js';
19
+ import { FileCache } from '../file-cache.js';
19
20
  const FIXED_ID = '11111111-1111-4111-8111-111111111111';
20
21
  const PATTERN_ID_A = '22222222-2222-4222-8222-222222222222';
21
22
  const PATTERN_ID_B = '33333333-3333-4333-8333-333333333333';
@@ -32,7 +33,10 @@ async function runOnContent(check, content, filename = 'fixture.ts') {
32
33
  const abs = join(cwd, filename);
33
34
  mkdirSync(dirname(abs), { recursive: true });
34
35
  writeFileSync(abs, content);
35
- const result = await check.run(cwd, { targetFiles: [abs] });
36
+ // No-scope test path: pass a fresh per-call FileCache explicitly.
37
+ // createExecutionContext no longer falls back to a module singleton
38
+ // (parallel-tool-invocations Phase 1); the empty cache reads through to disk.
39
+ const result = await check.run(cwd, { targetFiles: [abs], fileCache: new FileCache() });
36
40
  return result.signals ?? [];
37
41
  }
38
42
  finally {