@gate-forge/pack-playwright 0.7.1 → 0.9.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 (205) hide show
  1. package/README.md +31 -0
  2. package/dist/constants.d.ts +13 -140
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +13 -148
  5. package/dist/constants.js.map +1 -1
  6. package/dist/cypress/plugin.d.ts +53 -0
  7. package/dist/cypress/plugin.d.ts.map +1 -0
  8. package/dist/cypress/plugin.js +369 -0
  9. package/dist/cypress/plugin.js.map +1 -0
  10. package/dist/cypress/spec-scan.d.ts +39 -0
  11. package/dist/cypress/spec-scan.d.ts.map +1 -0
  12. package/dist/cypress/spec-scan.js +301 -0
  13. package/dist/cypress/spec-scan.js.map +1 -0
  14. package/dist/diagnosis.d.ts +39 -0
  15. package/dist/diagnosis.d.ts.map +1 -0
  16. package/dist/diagnosis.js +63 -0
  17. package/dist/diagnosis.js.map +1 -0
  18. package/dist/discovery/adapter-projection.d.ts +13 -0
  19. package/dist/discovery/adapter-projection.d.ts.map +1 -0
  20. package/dist/discovery/adapter-projection.js +84 -0
  21. package/dist/discovery/adapter-projection.js.map +1 -0
  22. package/dist/discovery/config-locations.d.ts +5 -0
  23. package/dist/discovery/config-locations.d.ts.map +1 -0
  24. package/dist/discovery/config-locations.js +19 -0
  25. package/dist/discovery/config-locations.js.map +1 -0
  26. package/dist/discovery/cypress-runner-adapter.d.ts +112 -0
  27. package/dist/discovery/cypress-runner-adapter.d.ts.map +1 -0
  28. package/dist/discovery/cypress-runner-adapter.js +501 -0
  29. package/dist/discovery/cypress-runner-adapter.js.map +1 -0
  30. package/dist/discovery/discover.d.ts +53 -1
  31. package/dist/discovery/discover.d.ts.map +1 -1
  32. package/dist/discovery/discover.js +290 -30
  33. package/dist/discovery/discover.js.map +1 -1
  34. package/dist/discovery/git-ignore.d.ts +13 -0
  35. package/dist/discovery/git-ignore.d.ts.map +1 -0
  36. package/dist/discovery/git-ignore.js +62 -0
  37. package/dist/discovery/git-ignore.js.map +1 -0
  38. package/dist/discovery/index.d.ts +10 -0
  39. package/dist/discovery/index.d.ts.map +1 -1
  40. package/dist/discovery/index.js +10 -0
  41. package/dist/discovery/index.js.map +1 -1
  42. package/dist/discovery/playwright-runner-adapter.d.ts +108 -0
  43. package/dist/discovery/playwright-runner-adapter.d.ts.map +1 -0
  44. package/dist/discovery/playwright-runner-adapter.js +185 -0
  45. package/dist/discovery/playwright-runner-adapter.js.map +1 -0
  46. package/dist/discovery/prepare-barrier.d.ts +522 -0
  47. package/dist/discovery/prepare-barrier.d.ts.map +1 -0
  48. package/dist/discovery/prepare-barrier.js +739 -0
  49. package/dist/discovery/prepare-barrier.js.map +1 -0
  50. package/dist/discovery/pytest-adapter.d.ts.map +1 -1
  51. package/dist/discovery/pytest-adapter.js +6 -2
  52. package/dist/discovery/pytest-adapter.js.map +1 -1
  53. package/dist/discovery/pytest-runner-adapter.d.ts +124 -0
  54. package/dist/discovery/pytest-runner-adapter.d.ts.map +1 -0
  55. package/dist/discovery/pytest-runner-adapter.js +454 -0
  56. package/dist/discovery/pytest-runner-adapter.js.map +1 -0
  57. package/dist/discovery/reconcile.d.ts +89 -11
  58. package/dist/discovery/reconcile.d.ts.map +1 -1
  59. package/dist/discovery/reconcile.js +440 -78
  60. package/dist/discovery/reconcile.js.map +1 -1
  61. package/dist/discovery/runner-env.d.ts +88 -2
  62. package/dist/discovery/runner-env.d.ts.map +1 -1
  63. package/dist/discovery/runner-env.js +142 -4
  64. package/dist/discovery/runner-env.js.map +1 -1
  65. package/dist/discovery/runner-file-scope.d.ts +114 -0
  66. package/dist/discovery/runner-file-scope.d.ts.map +1 -0
  67. package/dist/discovery/runner-file-scope.js +638 -0
  68. package/dist/discovery/runner-file-scope.js.map +1 -0
  69. package/dist/discovery/static-discovery.d.ts +49 -3
  70. package/dist/discovery/static-discovery.d.ts.map +1 -1
  71. package/dist/discovery/static-discovery.js +477 -18
  72. package/dist/discovery/static-discovery.js.map +1 -1
  73. package/dist/discovery/supervised-run.d.ts +199 -10
  74. package/dist/discovery/supervised-run.d.ts.map +1 -1
  75. package/dist/discovery/supervised-run.js +350 -39
  76. package/dist/discovery/supervised-run.js.map +1 -1
  77. package/dist/discovery/trusted-config.d.ts +180 -6
  78. package/dist/discovery/trusted-config.d.ts.map +1 -1
  79. package/dist/discovery/trusted-config.js +279 -10
  80. package/dist/discovery/trusted-config.js.map +1 -1
  81. package/dist/discovery/vitest-runner-adapter.d.ts +172 -0
  82. package/dist/discovery/vitest-runner-adapter.d.ts.map +1 -0
  83. package/dist/discovery/vitest-runner-adapter.js +607 -0
  84. package/dist/discovery/vitest-runner-adapter.js.map +1 -0
  85. package/dist/fixture/consumer-runner.d.ts +4 -0
  86. package/dist/fixture/consumer-runner.d.ts.map +1 -0
  87. package/dist/fixture/consumer-runner.js +38 -0
  88. package/dist/fixture/consumer-runner.js.map +1 -0
  89. package/dist/fixture/evidence.d.ts +27 -0
  90. package/dist/fixture/evidence.d.ts.map +1 -1
  91. package/dist/fixture/evidence.js +12 -0
  92. package/dist/fixture/evidence.js.map +1 -1
  93. package/dist/fixture/fixture.d.ts +2 -1
  94. package/dist/fixture/fixture.d.ts.map +1 -1
  95. package/dist/fixture/fixture.js +1 -17
  96. package/dist/fixture/fixture.js.map +1 -1
  97. package/dist/fixture/witness-client.d.ts +6 -174
  98. package/dist/fixture/witness-client.d.ts.map +1 -1
  99. package/dist/fixture/witness-client.js +6 -267
  100. package/dist/fixture/witness-client.js.map +1 -1
  101. package/dist/index.d.ts +9 -6
  102. package/dist/index.d.ts.map +1 -1
  103. package/dist/index.js +5 -4
  104. package/dist/index.js.map +1 -1
  105. package/dist/json.d.ts +6 -12
  106. package/dist/json.d.ts.map +1 -1
  107. package/dist/json.js +6 -17
  108. package/dist/json.js.map +1 -1
  109. package/dist/reporter/project-graph-reporter.d.ts +121 -0
  110. package/dist/reporter/project-graph-reporter.d.ts.map +1 -0
  111. package/dist/reporter/project-graph-reporter.js +132 -0
  112. package/dist/reporter/project-graph-reporter.js.map +1 -0
  113. package/dist/reporter/reporter.cjs.map +1 -1
  114. package/dist/reporter/reporter.d.ts +93 -4
  115. package/dist/reporter/reporter.d.ts.map +1 -1
  116. package/dist/reporter/reporter.js +174 -18
  117. package/dist/reporter/reporter.js.map +1 -1
  118. package/dist/runner-claims.d.ts +13 -0
  119. package/dist/runner-claims.d.ts.map +1 -0
  120. package/dist/runner-claims.js +46 -0
  121. package/dist/runner-claims.js.map +1 -0
  122. package/dist/runner-resolution.d.ts +3 -0
  123. package/dist/runner-resolution.d.ts.map +1 -0
  124. package/dist/runner-resolution.js +14 -0
  125. package/dist/runner-resolution.js.map +1 -0
  126. package/dist/supervisor/client.d.ts +23 -1
  127. package/dist/supervisor/client.d.ts.map +1 -1
  128. package/dist/supervisor/client.js +49 -0
  129. package/dist/supervisor/client.js.map +1 -1
  130. package/dist/supervisor/drain.d.ts +65 -0
  131. package/dist/supervisor/drain.d.ts.map +1 -1
  132. package/dist/supervisor/drain.js +353 -9
  133. package/dist/supervisor/drain.js.map +1 -1
  134. package/dist/supervisor/index.d.ts +7 -3
  135. package/dist/supervisor/index.d.ts.map +1 -1
  136. package/dist/supervisor/index.js +7 -3
  137. package/dist/supervisor/index.js.map +1 -1
  138. package/dist/supervisor/spool.d.ts +65 -2
  139. package/dist/supervisor/spool.d.ts.map +1 -1
  140. package/dist/supervisor/spool.js +47 -0
  141. package/dist/supervisor/spool.js.map +1 -1
  142. package/dist/surface.d.ts +6 -207
  143. package/dist/surface.d.ts.map +1 -1
  144. package/dist/surface.js +6 -264
  145. package/dist/surface.js.map +1 -1
  146. package/dist/vitest/index.d.ts +23 -0
  147. package/dist/vitest/index.d.ts.map +1 -0
  148. package/dist/vitest/index.js +356 -0
  149. package/dist/vitest/index.js.map +1 -0
  150. package/dist/vitest/reporter.d.ts +83 -0
  151. package/dist/vitest/reporter.d.ts.map +1 -0
  152. package/dist/vitest/reporter.js +211 -0
  153. package/dist/vitest/reporter.js.map +1 -0
  154. package/dist/vitest/worker-slot.d.ts +36 -0
  155. package/dist/vitest/worker-slot.d.ts.map +1 -0
  156. package/dist/vitest/worker-slot.js +51 -0
  157. package/dist/vitest/worker-slot.js.map +1 -0
  158. package/dist/witness/adapter-registry.d.ts +6 -50
  159. package/dist/witness/adapter-registry.d.ts.map +1 -1
  160. package/dist/witness/adapter-registry.js +6 -257
  161. package/dist/witness/adapter-registry.js.map +1 -1
  162. package/dist/witness/behavior-request.d.ts +6 -76
  163. package/dist/witness/behavior-request.d.ts.map +1 -1
  164. package/dist/witness/behavior-request.js +6 -273
  165. package/dist/witness/behavior-request.js.map +1 -1
  166. package/dist/witness/behavior.d.ts +6 -48
  167. package/dist/witness/behavior.d.ts.map +1 -1
  168. package/dist/witness/behavior.js +6 -114
  169. package/dist/witness/behavior.js.map +1 -1
  170. package/dist/witness/bin.d.ts +6 -17
  171. package/dist/witness/bin.d.ts.map +1 -1
  172. package/dist/witness/bin.js +6 -168
  173. package/dist/witness/bin.js.map +1 -1
  174. package/dist/witness/browser.d.ts +14 -206
  175. package/dist/witness/browser.d.ts.map +1 -1
  176. package/dist/witness/browser.js +15 -654
  177. package/dist/witness/browser.js.map +1 -1
  178. package/dist/witness/classifications.d.ts +6 -38
  179. package/dist/witness/classifications.d.ts.map +1 -1
  180. package/dist/witness/classifications.js +6 -83
  181. package/dist/witness/classifications.js.map +1 -1
  182. package/dist/witness/env-attestation.d.ts +6 -94
  183. package/dist/witness/env-attestation.d.ts.map +1 -1
  184. package/dist/witness/env-attestation.js +6 -198
  185. package/dist/witness/env-attestation.js.map +1 -1
  186. package/dist/witness/fixture-provider.d.ts +6 -82
  187. package/dist/witness/fixture-provider.d.ts.map +1 -1
  188. package/dist/witness/fixture-provider.js +6 -105
  189. package/dist/witness/fixture-provider.js.map +1 -1
  190. package/dist/witness/loopback-pins.d.ts +6 -75
  191. package/dist/witness/loopback-pins.d.ts.map +1 -1
  192. package/dist/witness/loopback-pins.js +6 -240
  193. package/dist/witness/loopback-pins.js.map +1 -1
  194. package/dist/witness/server.d.ts +8 -26
  195. package/dist/witness/server.d.ts.map +1 -1
  196. package/dist/witness/server.js +24 -3761
  197. package/dist/witness/server.js.map +1 -1
  198. package/dist/witness/types.d.ts +6 -882
  199. package/dist/witness/types.d.ts.map +1 -1
  200. package/dist/witness/types.js +9 -1
  201. package/dist/witness/types.js.map +1 -1
  202. package/examples/overlay-proof.spec.js +75 -0
  203. package/package.json +12 -3
  204. package/python/gateforge_pytest_plugin.py +462 -0
  205. package/python/__pycache__/gateforge_persistence_intents.cpython-314.pyc +0 -0
@@ -1,5 +1,8 @@
1
- import { type Claim, type GateforgeConfig, type TestCatalog } from '@gate-forge/core';
1
+ import { type Claim, type DiagnosticSuite, type GateforgeConfig, type TestCatalog } from '@gate-forge/core';
2
2
  import { repoRelative } from './pytest-adapter.js';
3
+ import type { PytestCollectionResult } from './pytest-adapter.js';
4
+ import { type NativeInstance } from './reconcile.js';
5
+ import { type RepoRelativeFileFilter, type StaticRegistrationWarning } from './static-discovery.js';
3
6
  /** Options for one discovery run. */
4
7
  export interface DiscoverOptions {
5
8
  /** Absolute repo root. */
@@ -14,8 +17,22 @@ export interface DiscoverOptions {
14
17
  * fix, server-witnessed channel).
15
18
  */
16
19
  collectPytest?: boolean;
20
+ /**
21
+ * Optional wrapper around pytest collection. Gateforge's CLI uses this
22
+ * boundary to cache the exact collected result without coupling this
23
+ * discovery package to CLI run-state storage.
24
+ */
25
+ pytestCollection?: (suite: DiagnosticSuite, cwd: string, argv: readonly string[], collect: () => Promise<PytestCollectionResult>) => Promise<PytestCollectionResult>;
17
26
  /** Native playwright `--list` timeout (default 60s). */
18
27
  playwrightTimeoutMs?: number;
28
+ /**
29
+ * Optional veto over statically seeded candidates, forwarded to
30
+ * {@link scanTestFiles} unchanged. It filters the seed only: the
31
+ * native `--list` enumeration below stays authoritative, so a caller
32
+ * can hide the ENGINE's own generated run-state files from catalog
33
+ * construction without touching a single enumerated case.
34
+ */
35
+ excludeFile?: RepoRelativeFileFilter;
19
36
  }
20
37
  /** The discovery result: validated catalog, canonical JSON, and live native claims. */
21
38
  export interface DiscoverResult {
@@ -24,6 +41,41 @@ export interface DiscoverResult {
24
41
  json: string;
25
42
  /** Gateforge annotations on tests the current native list enumerated. */
26
43
  nativeClaims: Claim[];
44
+ /** Playwright JSON reporter errors from native enumeration, verbatim. */
45
+ nativeErrors: string[];
46
+ nativeInstances: NativeInstance[];
47
+ /**
48
+ * Playwright project name → the names it depends on, as the RUNNER
49
+ * resolved them (see `projectGraphReporterEntry`). Absent when the
50
+ * enumeration could not read the graph.
51
+ */
52
+ projectDependencies?: Record<string, string[]>;
53
+ /**
54
+ * Playwright project name → the `use.storageState` STRING the runner
55
+ * resolved for it. Absent when no project declares one, and absent
56
+ * together with {@link projectDependencies} whenever the graph itself
57
+ * was unreadable.
58
+ */
59
+ projectStorageStates?: Record<string, string>;
60
+ /** Static registration sites guarded by Gateforge environment state. */
61
+ registrationWarnings: StaticRegistrationWarning[];
62
+ /**
63
+ * Coarse per-step wall-clock timings (`check --timing`): static scan,
64
+ * native list, pytest collection, and
65
+ * the whole discovery in milliseconds. Observability only.
66
+ */
67
+ timings: DiscoveryTimings;
68
+ }
69
+ /** Coarse discovery step durations in milliseconds (`check --timing`). */
70
+ export interface DiscoveryTimings {
71
+ /** Static test-file scan duration. */
72
+ scanMs: number;
73
+ /** Native Playwright `--list` enumeration duration. */
74
+ nativeListMs: number;
75
+ /** All configured pytest suites' collection duration. */
76
+ pytestCollectMs: number;
77
+ /** Total `discoverTestCatalog` duration including all steps above. */
78
+ totalMs: number;
27
79
  }
28
80
  /**
29
81
  * Runs discovery + reconciliation and returns the validated catalog.
@@ -1 +1 @@
1
- {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/discovery/discover.ts"],"names":[],"mappings":"AA2BA,OAAO,EAGL,KAAK,KAAK,EAMV,KAAK,eAAe,EAGpB,KAAK,WAAW,EAGjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAEL,YAAY,EACb,MAAM,qBAAqB,CAAC;AAe7B,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,MAAM,EAAE,eAAe,CAAC;IACxB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,uFAAuF;AACvF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,WAAW,CAAC;IACrB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,YAAY,EAAE,KAAK,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA4D3F;AAgXD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIjE;AA6FD,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/discovery/discover.ts"],"names":[],"mappings":"AA4BA,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,eAAe,EAMpB,KAAK,eAAe,EAGpB,KAAK,WAAW,EAGjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAGL,YAAY,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAIlE,OAAO,EAIL,KAAK,cAAc,EAEpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAG/B,MAAM,uBAAuB,CAAC;AAS/B,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,MAAM,EAAE,eAAe,CAAC;IACxB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CACjB,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,MAAM,OAAO,CAAC,sBAAsB,CAAC,KAC3C,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACrC,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED,uFAAuF;AACvF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,WAAW,CAAC;IACrB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,YAAY,EAAE,KAAK,EAAE,CAAC;IACtB,yEAAyE;IACzE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,wEAAwE;IACxE,oBAAoB,EAAE,yBAAyB,EAAE,CAAC;IAClD;;;;OAIG;IACH,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,eAAe,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAqI3F;AA+jBD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIjE;AA6FD,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -25,11 +25,15 @@
25
25
  * project); unresolved/parse errors sort by location.
26
26
  */
27
27
  import { join } from 'node:path';
28
+ import { performance } from 'node:perf_hooks';
28
29
  import { canonicalJson, ClaimSchema, deriveLogicalKey, TestCatalogSchema, } from '@gate-forge/core';
29
30
  import { inferTestKind } from './inference.js';
30
- import { collectPytestSuite, repoRelative, } from './pytest-adapter.js';
31
+ import { collectPytestSuite, pytestCollectArgv, repoRelative, } from './pytest-adapter.js';
32
+ import { CypressRunnerAdapter } from './cypress-runner-adapter.js';
33
+ import { VitestRunnerAdapter } from './vitest-runner-adapter.js';
31
34
  import { fileDigest, listNativePlaywrightTests, reconciliationKey, } from './reconcile.js';
32
35
  import { scanTestFiles, UNRESOLVED_TITLE_PLACEHOLDER, } from './static-discovery.js';
36
+ import { playwrightFileScopes, runnerForFile, scopeSelectsFile, vitestFileScopes, } from './runner-file-scope.js';
33
37
  /**
34
38
  * Runs discovery + reconciliation and returns the validated catalog.
35
39
  *
@@ -54,23 +58,49 @@ import { scanTestFiles, UNRESOLVED_TITLE_PLACEHOLDER, } from './static-discovery
54
58
  */
55
59
  export async function discoverTestCatalog(options) {
56
60
  const { cwd, config } = options;
61
+ const discoveryStartedAtMs = performance.now();
62
+ // The repository's own runner file scopes, read BEFORE the static scan:
63
+ // a file a runner would never collect must not become one of the
64
+ // configured runner's tests, and a file whose runner injects the test
65
+ // GLOBALS (`globals: true`) registers tests without importing them.
66
+ const vitestScopes = vitestFileScopes(cwd);
67
+ const scanStartedAtMs = performance.now();
57
68
  const scan = scanTestFiles({
58
69
  cwd,
59
70
  include: config.project.paths.include,
60
71
  exclude: config.project.paths.exclude,
72
+ excludeFile: options.excludeFile,
73
+ testGlobals: (file) => vitestScopes.some((scope) => scope.globals && scopeSelectsFile(scope, cwd, file)),
61
74
  });
75
+ const scanMs = performance.now() - scanStartedAtMs;
76
+ const nativeStartedAtMs = performance.now();
62
77
  const native = await listNativePlaywrightTests({
63
78
  cwd,
64
79
  timeoutMs: options.playwrightTimeoutMs,
65
80
  });
66
- const builder = new CatalogBuilder(cwd, scan, native);
67
- const runnerSummaries = [builder.playwrightSummary()];
81
+ const nativeListMs = performance.now() - nativeStartedAtMs;
82
+ // The CONFIGURED runner's own selection, and every other runner's, so a
83
+ // static-only file can be attributed to the runner that actually collects
84
+ // it. Both sides fail open: an unreadable selection narrows nothing.
85
+ const playwrightScopes = playwrightFileScopes(native.testFileScope ?? []);
86
+ const scopes = config.runner === 'playwright'
87
+ ? { configured: playwrightScopes, other: vitestScopes }
88
+ : config.runner === 'vitest'
89
+ ? { configured: vitestScopes, other: playwrightScopes }
90
+ : { configured: [], other: [...vitestScopes, ...playwrightScopes] };
91
+ const builder = new CatalogBuilder(cwd, scan, native, config.runner, scopes);
68
92
  const entries = builder.buildEntries();
93
+ const runnerSummaries = [builder.playwrightSummary()];
69
94
  // Registered pytest suites: diagnostic-only identities (§3.5).
70
95
  const suites = config.diagnostics?.suites ?? [];
96
+ const pytestCollectStartedAtMs = performance.now();
71
97
  for (const suite of suites) {
72
98
  if (options.collectPytest === true) {
73
- const collection = await collectPytestSuite(suite, join(cwd, suite.cwd));
99
+ const suiteCwd = join(cwd, suite.cwd);
100
+ const collect = () => collectPytestSuite(suite, suiteCwd);
101
+ const collection = options.pytestCollection === undefined
102
+ ? await collect()
103
+ : await options.pytestCollection(suite, suiteCwd, pytestCollectArgv(suite), collect);
74
104
  runnerSummaries.push({
75
105
  runner: 'pytest',
76
106
  name: suite.name,
@@ -97,6 +127,30 @@ export async function discoverTestCatalog(options) {
97
127
  });
98
128
  }
99
129
  }
130
+ // The CONFIGURED runner (plan 2026-09-25, runner-agnostic evidence):
131
+ // when `runner:` names vitest or cypress, its adapter enumerates the
132
+ // expected set into catalog rows (discoveryStatus 'discovered' — the
133
+ // runner itself proved the case) so mappings, scope expansion, and
134
+ // the supervised plan resolve against it. `playwright` (the default)
135
+ // never runs this: the catalog above is byte-identical to before.
136
+ // pytest rows come from the diagnostics collection above.
137
+ if (config.runner === 'vitest' || config.runner === 'cypress') {
138
+ const adapter = config.runner === 'vitest' ? new VitestRunnerAdapter() : new CypressRunnerAdapter();
139
+ const enumeration = await adapter.enumerate(cwd);
140
+ runnerSummaries.push({
141
+ runner: config.runner,
142
+ name: config.runner,
143
+ status: enumeration.status === 'discovered' ? 'discovered' : 'unavailable',
144
+ detail: enumeration.detail,
145
+ });
146
+ if (enumeration.status === 'discovered') {
147
+ for (const test of enumeration.tests) {
148
+ const row = builder.adapterRunnerEntry(config.runner, test);
149
+ if (row !== null)
150
+ entries.push(row);
151
+ }
152
+ }
153
+ }
100
154
  const catalog = builder.finalize(entries, runnerSummaries);
101
155
  const nativeClaims = native.instances.flatMap((instance) => instance.claims.flatMap((obligationId) => {
102
156
  const parsed = ClaimSchema.safeParse({
@@ -108,32 +162,125 @@ export async function discoverTestCatalog(options) {
108
162
  });
109
163
  return parsed.success ? [parsed.data] : [];
110
164
  }));
111
- return { catalog, json: canonicalJson(catalog), nativeClaims };
165
+ return {
166
+ catalog,
167
+ json: canonicalJson(catalog),
168
+ nativeClaims,
169
+ nativeInstances: native.instances,
170
+ nativeErrors: [...native.errors],
171
+ ...(native.projectDependencies !== undefined
172
+ ? { projectDependencies: native.projectDependencies }
173
+ : {}),
174
+ ...(native.projectStorageStates !== undefined
175
+ ? { projectStorageStates: native.projectStorageStates }
176
+ : {}),
177
+ registrationWarnings: scan.registrationWarnings,
178
+ timings: {
179
+ scanMs,
180
+ nativeListMs,
181
+ pytestCollectMs: performance.now() - pytestCollectStartedAtMs,
182
+ totalMs: performance.now() - discoveryStartedAtMs,
183
+ },
184
+ };
112
185
  }
113
186
  /** Assembles catalog rows from the scan + native enumeration. */
114
187
  class CatalogBuilder {
115
188
  cwd;
116
189
  scan;
117
190
  native;
191
+ runner;
192
+ scopes;
118
193
  /** Static entries keyed by file#titlePath for matching. */
119
194
  staticByKey = new Map();
120
- constructor(cwd, scan, native) {
195
+ /** Files attributed to another runner's own selection, by runner name. */
196
+ attributed = new Map();
197
+ /** Files no runner's own selection claims (kept as blocking rows). */
198
+ unclaimed = new Set();
199
+ /** Memoized file → owning runner (`''` ⇒ claimed by no runner). */
200
+ owners = new Map();
201
+ /**
202
+ * The runner a static-only row carries when no other runner's own
203
+ * selection claims its file: the CONFIGURED runner, whose enumeration
204
+ * did not produce it. `pytest` is the exception — it selects no files by
205
+ * glob at all (its rows come from collection), so such rows keep the
206
+ * playwright label they have always carried.
207
+ */
208
+ staticRowRunner;
209
+ constructor(cwd, scan, native, runner, scopes) {
121
210
  this.cwd = cwd;
122
211
  this.scan = scan;
123
212
  this.native = native;
213
+ this.runner = runner;
214
+ this.scopes = scopes;
215
+ this.staticRowRunner = runner === 'pytest' ? 'playwright' : runner;
124
216
  for (const entry of scan.entries) {
125
217
  this.staticByKey.set(reconciliationKey(entry.file, entry.titlePath), entry);
126
218
  }
127
219
  }
220
+ /**
221
+ * Which runner's own selection collects this statically found file.
222
+ *
223
+ * Args:
224
+ * file: repo-relative posix path.
225
+ *
226
+ * Returns:
227
+ * string: the owning runner, or `''` when no runner claims the file
228
+ * (the caller keeps it a blocking row instead of inventing a runner).
229
+ */
230
+ ownerOf(file) {
231
+ const known = this.owners.get(file);
232
+ if (known !== undefined)
233
+ return known;
234
+ const owner = runnerForFile(this.runner, this.scopes.configured, this.scopes.other, this.cwd, file) ?? '';
235
+ this.owners.set(file, owner);
236
+ return owner;
237
+ }
238
+ /** Records one file's attribution for the runner summary line. */
239
+ recordAttribution(owner, file) {
240
+ if (owner === '') {
241
+ this.unclaimed.add(file);
242
+ return;
243
+ }
244
+ if (owner === this.runner)
245
+ return;
246
+ const files = this.attributed.get(owner) ?? new Set();
247
+ files.add(file);
248
+ this.attributed.set(owner, files);
249
+ }
250
+ /** The attribution clause appended to the playwright summary detail. */
251
+ attributionDetail() {
252
+ const parts = [];
253
+ for (const [owner, files] of [...this.attributed].sort()) {
254
+ parts.push(`${String(files.size)} file(s) attributed to ${owner} by its own test-file selection`);
255
+ }
256
+ if (this.unclaimed.size > 0) {
257
+ parts.push(`${String(this.unclaimed.size)} file(s) outside the configured selection are claimed by no runner`);
258
+ }
259
+ for (const scope of [...this.scopes.configured, ...this.scopes.other]) {
260
+ if (scope.note !== undefined)
261
+ parts.push(scope.note);
262
+ }
263
+ return parts.length > 0 ? `; ${parts.join('; ')}` : '';
264
+ }
128
265
  /** The playwright runner summary line for this run. */
129
266
  playwrightSummary() {
130
267
  if (this.native.status === 'unavailable') {
131
- return { runner: 'playwright', name: 'playwright', status: 'unavailable', detail: this.native.detail };
268
+ return {
269
+ runner: 'playwright',
270
+ name: 'playwright',
271
+ status: 'unavailable',
272
+ detail: `${this.native.detail}${this.attributionDetail()}`,
273
+ };
132
274
  }
133
275
  // Native reporter errors (e.g. a spec that fails to load) are DATA:
134
276
  // surfaced on the summary and reflected in inventoryComplete.
135
277
  const errors = this.native.errors.length > 0 ? `; native errors: ${this.native.errors.join(' | ').slice(0, 500)}` : '';
136
- return { runner: 'playwright', name: 'playwright', status: 'discovered', detail: `${this.native.detail}${errors}` };
278
+ return {
279
+ runner: 'playwright',
280
+ name: 'playwright',
281
+ status: 'discovered',
282
+ detail: `${this.native.detail}${errors}${this.attributionDetail()}`,
283
+ };
137
284
  }
138
285
  /** Builds every playwright row: matched, list-only, static-only, gaps. */
139
286
  buildEntries() {
@@ -317,7 +464,19 @@ class CatalogBuilder {
317
464
  suppressionSignals: suppression.mocks,
318
465
  };
319
466
  }
320
- /** One static-only row: static scan found it, native list did not. */
467
+ /**
468
+ * One static-only row: the static scan found the case and the CONFIGURED
469
+ * runner did not enumerate it.
470
+ *
471
+ * The runner whose OWN selection collects the file decides the row's
472
+ * runner: a vitest suite inside a playwright-configured repository is a
473
+ * vitest row, not a phantom playwright test that will never execute. That
474
+ * runner was never enumerated either (Gateforge runs the configured
475
+ * runner), so the row records `reconciliation: 'unavailable'` plus the
476
+ * attribution evidence instead of a reconciliation verdict it cannot
477
+ * support. A file NO runner's selection claims keeps the configured
478
+ * runner and stays the blocking gap it is — ownership is never invented.
479
+ */
321
480
  staticOnlyRow(staticEntry) {
322
481
  const inference = inferTestKind({
323
482
  file: staticEntry.file,
@@ -327,9 +486,13 @@ class CatalogBuilder {
327
486
  });
328
487
  const digest = fileDigest(this.cwd, staticEntry.file);
329
488
  const suppression = suppressionOf(staticEntry, [], staticEntry.location);
489
+ const owner = this.ownerOf(staticEntry.file);
490
+ this.recordAttribution(owner, staticEntry.file);
491
+ const foreign = owner !== '' && owner !== this.runner;
492
+ const runner = foreign ? owner : this.staticRowRunner;
330
493
  return {
331
- logicalKey: deriveLogicalKey({ runner: 'playwright', project: null, file: staticEntry.file, titlePath: staticEntry.titlePath }),
332
- runner: 'playwright',
494
+ logicalKey: deriveLogicalKey({ runner, project: null, file: staticEntry.file, titlePath: staticEntry.titlePath }),
495
+ runner,
333
496
  project: null,
334
497
  file: staticEntry.file,
335
498
  titlePath: [...staticEntry.titlePath],
@@ -337,48 +500,100 @@ class CatalogBuilder {
337
500
  sourceLocation: staticEntry.location,
338
501
  parameterIdentity: staticEntry.parameterIdentity,
339
502
  sourceDigest: digest ?? EMPTY_SHA256,
340
- discoveryStatus: 'unresolved',
341
- reconciliation: this.native.status === 'unavailable' ? 'unavailable' : 'static-only',
503
+ discoveryStatus: foreign ? 'discovered' : 'unresolved',
504
+ reconciliation: foreign || this.native.status === 'unavailable' ? 'unavailable' : 'static-only',
342
505
  resolutionOrigin: 'static',
343
506
  inferredKind: inference.inferredKind,
344
507
  kindSignals: inference.kindSignals,
345
- weakSignals: inference.weakSignals,
508
+ weakSignals: [
509
+ ...inference.weakSignals,
510
+ ...(foreign
511
+ ? [
512
+ {
513
+ ruleId: 'runner-file-scope',
514
+ evidence: `this file is outside the configured runner (${this.runner})'s own test-file selection; ` +
515
+ `the ${owner} configuration claims it, so it is ${owner}'s test (no ${owner} enumeration ran in this run)`,
516
+ location: staticEntry.location,
517
+ },
518
+ ]
519
+ : []),
520
+ // A file no runner's selection claims stays the configured
521
+ // runner's blocking gap; the typed code stays the one every
522
+ // consumer already matches, and THIS weak signal carries the
523
+ // sharper fact.
524
+ ...(owner === ''
525
+ ? [
526
+ {
527
+ ruleId: 'no-runner-claims-file',
528
+ evidence: `no configured runner's own test-file selection claims this file — the ${this.runner} runner will never collect it`,
529
+ location: staticEntry.location,
530
+ },
531
+ ]
532
+ : []),
533
+ ],
346
534
  rulesFired: inference.rulesFired,
347
535
  categorySignals: inference.categorySignals,
348
536
  suppressionSignals: [...suppression.mocks, ...suppression.flags],
349
- unresolvedReason: {
350
- code: this.native.status === 'unavailable'
351
- ? 'reconciliation-unavailable'
352
- : 'reconciliation-static-only',
353
- detail: this.native.status === 'unavailable'
354
- ? 'no native playwright enumeration ran (no playwright config) — the case is statically visible only'
355
- : 'the static scan found this case but the runner did not enumerate it (check configured globs, dynamic titles, or filters)',
356
- },
537
+ ...(foreign
538
+ ? {}
539
+ : {
540
+ unresolvedReason: {
541
+ code: this.native.status === 'unavailable'
542
+ ? 'reconciliation-unavailable'
543
+ : 'reconciliation-static-only',
544
+ detail: this.native.status === 'unavailable'
545
+ ? 'no native playwright enumeration ran (no playwright config) — the case is statically visible only'
546
+ : owner === ''
547
+ ? `the static scan found this case but no configured runner's own test-file selection claims its file — the ${this.runner} runner will never collect it (check the configured globs, dynamic titles, or filters)`
548
+ : 'the static scan found this case but the runner did not enumerate it (check configured globs, dynamic titles, or filters)',
549
+ },
550
+ }),
357
551
  };
358
552
  }
359
- /** One unresolved-gap row (unresolvable wrapper, budget, dynamic title). */
553
+ /**
554
+ * One unresolved-gap row (unresolvable wrapper, budget, dynamic title).
555
+ *
556
+ * The gap keeps its own code and stays unresolved — an unprovable call
557
+ * is unprovable wherever it lives — but it is filed under the runner
558
+ * whose own selection collects the file, so a foreign-runner gap never
559
+ * masquerades as a gap in the configured runner's inventory.
560
+ */
360
561
  unresolvedRow(gap) {
562
+ const owner = this.ownerOf(gap.file);
563
+ this.recordAttribution(owner, gap.file);
564
+ const foreign = owner !== '' && owner !== this.runner;
565
+ const runner = foreign ? owner : this.staticRowRunner;
566
+ const titlePath = gap.titlePath.length > 0 ? gap.titlePath : [UNRESOLVED_TITLE_PLACEHOLDER];
361
567
  return {
362
568
  logicalKey: deriveLogicalKey({
363
- runner: 'playwright',
569
+ runner,
364
570
  project: null,
365
571
  file: gap.file,
366
- titlePath: gap.titlePath.length > 0 ? gap.titlePath : [UNRESOLVED_TITLE_PLACEHOLDER],
572
+ titlePath,
367
573
  }),
368
- runner: 'playwright',
574
+ runner,
369
575
  project: null,
370
576
  file: gap.file,
371
- titlePath: gap.titlePath.length > 0 ? gap.titlePath : [UNRESOLVED_TITLE_PLACEHOLDER],
577
+ titlePath: [...titlePath],
372
578
  title: gap.titlePath[gap.titlePath.length - 1] ?? UNRESOLVED_TITLE_PLACEHOLDER,
373
579
  sourceLocation: gap.location,
374
580
  parameterIdentity: null,
375
581
  sourceDigest: fileDigest(this.cwd, gap.file) ?? EMPTY_SHA256,
376
582
  discoveryStatus: 'unresolved',
377
- reconciliation: this.native.status === 'unavailable' ? 'unavailable' : 'static-only',
583
+ reconciliation: foreign || this.native.status === 'unavailable' ? 'unavailable' : 'static-only',
378
584
  resolutionOrigin: 'static',
379
585
  inferredKind: 'unknown',
380
586
  kindSignals: [],
381
- weakSignals: [],
587
+ weakSignals: foreign
588
+ ? [
589
+ {
590
+ ruleId: 'runner-file-scope',
591
+ evidence: `this file is outside the configured runner (${this.runner})'s own test-file selection; ` +
592
+ `the ${owner} configuration claims it, so it is ${owner}'s test`,
593
+ location: gap.location,
594
+ },
595
+ ]
596
+ : [],
382
597
  rulesFired: [],
383
598
  categorySignals: [],
384
599
  suppressionSignals: [],
@@ -412,6 +627,46 @@ class CatalogBuilder {
412
627
  suppressionSignals: nodeId.includes('[xfail]') || nodeId.includes('[xpass]') ? [{ kind: 'fixme', detail: 'pytest xfail/xpass parameter', location: { file: repoFile, line: 1, col: 0 } }] : [],
413
628
  };
414
629
  }
630
+ /**
631
+ * One configured-runner row from the adapter enumeration (plan
632
+ * 2026-09-25, runner-agnostic evidence): the runner itself proved the
633
+ * case, so the row is DISCOVERED with the runner's own framework id —
634
+ * the same honest shape the pytest rows use (no Playwright
635
+ * reconciliation applies to it).
636
+ *
637
+ * Args:
638
+ * runner: the configured runner name (`vitest` or `cypress`).
639
+ * test: the enumerated test identity.
640
+ *
641
+ * Returns:
642
+ * TestCatalogEntry | null: the catalog row, or null when the file is
643
+ * unreadable (never a fabricated row).
644
+ */
645
+ adapterRunnerEntry(runner, test) {
646
+ const digest = fileDigest(this.cwd, test.file);
647
+ if (digest === null)
648
+ return null; // unreadable file: no fabricated row
649
+ const title = test.titlePath[test.titlePath.length - 1] ?? test.logicalKey;
650
+ return {
651
+ logicalKey: deriveLogicalKey({ runner, project: test.project, file: test.file, titlePath: [...test.titlePath] }),
652
+ runner,
653
+ project: test.project,
654
+ file: test.file,
655
+ titlePath: [...test.titlePath],
656
+ title,
657
+ sourceLocation: { file: test.file, line: 1, col: 0 },
658
+ parameterIdentity: test.frameworkId ?? test.logicalKey,
659
+ sourceDigest: digest,
660
+ discoveryStatus: 'discovered',
661
+ reconciliation: 'unavailable',
662
+ inferredKind: 'unknown',
663
+ kindSignals: [],
664
+ weakSignals: [],
665
+ rulesFired: [],
666
+ categorySignals: [],
667
+ suppressionSignals: [],
668
+ };
669
+ }
415
670
  /** Validates + orders everything into the final catalog. */
416
671
  finalize(entries, runnerSummaries) {
417
672
  const sorted = [...entries].sort((a, b) => compareRows(a, b));
@@ -438,10 +693,15 @@ class CatalogBuilder {
438
693
  // when native reconciliation reported unavailable (non-playwright
439
694
  // repos).
440
695
  const diagnosticUnavailable = runnerSummaries.some((summary) => summary.runner !== 'playwright' && summary.status === 'unavailable');
696
+ // The CONFIGURED runner's unresolved rows are this run's own gap (its
697
+ // enumeration never produced those cases), and so are playwright's:
698
+ // the union is never weaker than the playwright-only rule, and it is
699
+ // what makes a vitest-configured repository judge its OWN inventory.
441
700
  const complete = parseErrors.length === 0 &&
442
701
  !this.scan.budgetExceeded &&
443
702
  this.native.errors.length === 0 &&
444
- !sorted.some((row) => row.runner === 'playwright' && row.discoveryStatus === 'unresolved') &&
703
+ !sorted.some((row) => (row.runner === 'playwright' || row.runner === this.runner) &&
704
+ row.discoveryStatus === 'unresolved') &&
445
705
  !diagnosticUnavailable;
446
706
  // Validate through the strict schema: duplicate logical keys and
447
707
  // inconsistent roll-ups fail closed here, at construction time.
@@ -1 +1 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/discovery/discover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/discovery/discover.ts"],"names":[],"mappings":"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"}