@gate-forge/pack-playwright 0.1.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 (140) hide show
  1. package/LICENSE +202 -0
  2. package/bin/gateforge-witness.js +40 -0
  3. package/dist/attestation/proxy.d.ts +40 -0
  4. package/dist/attestation/proxy.d.ts.map +1 -0
  5. package/dist/attestation/proxy.js +78 -0
  6. package/dist/attestation/proxy.js.map +1 -0
  7. package/dist/constants.d.ts +130 -0
  8. package/dist/constants.d.ts.map +1 -0
  9. package/dist/constants.js +138 -0
  10. package/dist/constants.js.map +1 -0
  11. package/dist/discovery/adapters.d.ts +167 -0
  12. package/dist/discovery/adapters.d.ts.map +1 -0
  13. package/dist/discovery/adapters.js +276 -0
  14. package/dist/discovery/adapters.js.map +1 -0
  15. package/dist/discovery/discover.d.ts +57 -0
  16. package/dist/discovery/discover.d.ts.map +1 -0
  17. package/dist/discovery/discover.js +544 -0
  18. package/dist/discovery/discover.js.map +1 -0
  19. package/dist/discovery/index.d.ts +15 -0
  20. package/dist/discovery/index.d.ts.map +1 -0
  21. package/dist/discovery/index.js +15 -0
  22. package/dist/discovery/index.js.map +1 -0
  23. package/dist/discovery/inference.d.ts +63 -0
  24. package/dist/discovery/inference.d.ts.map +1 -0
  25. package/dist/discovery/inference.js +173 -0
  26. package/dist/discovery/inference.js.map +1 -0
  27. package/dist/discovery/pytest-adapter.d.ts +205 -0
  28. package/dist/discovery/pytest-adapter.d.ts.map +1 -0
  29. package/dist/discovery/pytest-adapter.js +548 -0
  30. package/dist/discovery/pytest-adapter.js.map +1 -0
  31. package/dist/discovery/reconcile.d.ts +106 -0
  32. package/dist/discovery/reconcile.d.ts.map +1 -0
  33. package/dist/discovery/reconcile.js +268 -0
  34. package/dist/discovery/reconcile.js.map +1 -0
  35. package/dist/discovery/runner-env.d.ts +80 -0
  36. package/dist/discovery/runner-env.d.ts.map +1 -0
  37. package/dist/discovery/runner-env.js +139 -0
  38. package/dist/discovery/runner-env.js.map +1 -0
  39. package/dist/discovery/static-discovery.d.ts +121 -0
  40. package/dist/discovery/static-discovery.d.ts.map +1 -0
  41. package/dist/discovery/static-discovery.js +1028 -0
  42. package/dist/discovery/static-discovery.js.map +1 -0
  43. package/dist/discovery/supervised-run.d.ts +110 -0
  44. package/dist/discovery/supervised-run.d.ts.map +1 -0
  45. package/dist/discovery/supervised-run.js +328 -0
  46. package/dist/discovery/supervised-run.js.map +1 -0
  47. package/dist/discovery/trusted-config.d.ts +103 -0
  48. package/dist/discovery/trusted-config.d.ts.map +1 -0
  49. package/dist/discovery/trusted-config.js +117 -0
  50. package/dist/discovery/trusted-config.js.map +1 -0
  51. package/dist/fixture/evidence.d.ts +191 -0
  52. package/dist/fixture/evidence.d.ts.map +1 -0
  53. package/dist/fixture/evidence.js +366 -0
  54. package/dist/fixture/evidence.js.map +1 -0
  55. package/dist/fixture/fixture.d.ts +37 -0
  56. package/dist/fixture/fixture.d.ts.map +1 -0
  57. package/dist/fixture/fixture.js +38 -0
  58. package/dist/fixture/fixture.js.map +1 -0
  59. package/dist/fixture/witness-client.d.ts +164 -0
  60. package/dist/fixture/witness-client.d.ts.map +1 -0
  61. package/dist/fixture/witness-client.js +253 -0
  62. package/dist/fixture/witness-client.js.map +1 -0
  63. package/dist/index.d.ts +64 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +55 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/json.d.ts +16 -0
  68. package/dist/json.d.ts.map +1 -0
  69. package/dist/json.js +21 -0
  70. package/dist/json.js.map +1 -0
  71. package/dist/reporter/ledger.d.ts +105 -0
  72. package/dist/reporter/ledger.d.ts.map +1 -0
  73. package/dist/reporter/ledger.js +197 -0
  74. package/dist/reporter/ledger.js.map +1 -0
  75. package/dist/reporter/reporter.cjs +105 -0
  76. package/dist/reporter/reporter.cjs.map +1 -0
  77. package/dist/reporter/reporter.d.cts +35 -0
  78. package/dist/reporter/reporter.d.cts.map +1 -0
  79. package/dist/reporter/reporter.d.ts +167 -0
  80. package/dist/reporter/reporter.d.ts.map +1 -0
  81. package/dist/reporter/reporter.js +673 -0
  82. package/dist/reporter/reporter.js.map +1 -0
  83. package/dist/setup.d.ts +49 -0
  84. package/dist/setup.d.ts.map +1 -0
  85. package/dist/setup.js +167 -0
  86. package/dist/setup.js.map +1 -0
  87. package/dist/supervisor/client.d.ts +73 -0
  88. package/dist/supervisor/client.d.ts.map +1 -0
  89. package/dist/supervisor/client.js +164 -0
  90. package/dist/supervisor/client.js.map +1 -0
  91. package/dist/supervisor/drain.d.ts +45 -0
  92. package/dist/supervisor/drain.d.ts.map +1 -0
  93. package/dist/supervisor/drain.js +235 -0
  94. package/dist/supervisor/drain.js.map +1 -0
  95. package/dist/supervisor/index.d.ts +16 -0
  96. package/dist/supervisor/index.d.ts.map +1 -0
  97. package/dist/supervisor/index.js +13 -0
  98. package/dist/supervisor/index.js.map +1 -0
  99. package/dist/supervisor/spool.d.ts +137 -0
  100. package/dist/supervisor/spool.d.ts.map +1 -0
  101. package/dist/supervisor/spool.js +263 -0
  102. package/dist/supervisor/spool.js.map +1 -0
  103. package/dist/surface.d.ts +134 -0
  104. package/dist/surface.d.ts.map +1 -0
  105. package/dist/surface.js +139 -0
  106. package/dist/surface.js.map +1 -0
  107. package/dist/witness/adapter-registry.d.ts +38 -0
  108. package/dist/witness/adapter-registry.d.ts.map +1 -0
  109. package/dist/witness/adapter-registry.js +158 -0
  110. package/dist/witness/adapter-registry.js.map +1 -0
  111. package/dist/witness/bin.d.ts +21 -0
  112. package/dist/witness/bin.d.ts.map +1 -0
  113. package/dist/witness/bin.js +172 -0
  114. package/dist/witness/bin.js.map +1 -0
  115. package/dist/witness/browser.d.ts +173 -0
  116. package/dist/witness/browser.d.ts.map +1 -0
  117. package/dist/witness/browser.js +580 -0
  118. package/dist/witness/browser.js.map +1 -0
  119. package/dist/witness/classifications.d.ts +42 -0
  120. package/dist/witness/classifications.d.ts.map +1 -0
  121. package/dist/witness/classifications.js +87 -0
  122. package/dist/witness/classifications.js.map +1 -0
  123. package/dist/witness/env-attestation.d.ts +98 -0
  124. package/dist/witness/env-attestation.d.ts.map +1 -0
  125. package/dist/witness/env-attestation.js +202 -0
  126. package/dist/witness/env-attestation.js.map +1 -0
  127. package/dist/witness/loopback-pins.d.ts +79 -0
  128. package/dist/witness/loopback-pins.d.ts.map +1 -0
  129. package/dist/witness/loopback-pins.js +244 -0
  130. package/dist/witness/loopback-pins.js.map +1 -0
  131. package/dist/witness/server.d.ts +34 -0
  132. package/dist/witness/server.d.ts.map +1 -0
  133. package/dist/witness/server.js +2539 -0
  134. package/dist/witness/server.js.map +1 -0
  135. package/dist/witness/types.d.ts +643 -0
  136. package/dist/witness/types.d.ts.map +1 -0
  137. package/dist/witness/types.js +2 -0
  138. package/dist/witness/types.js.map +1 -0
  139. package/package.json +64 -0
  140. package/python/gateforge_persistence_intents.py +100 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-discovery.js","sourceRoot":"","sources":["../../src/discovery/static-discovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ import type { RunnerExecutionEnv, RunnerExecutionEnvelope, RunnerSelection } from '@gate-forge/core';
2
+ /** Default whole-run wall-clock bound for one supervised playwright run. */
3
+ export declare const DEFAULT_RUN_TIMEOUT_MS: number;
4
+ /** The runner-outcomes document the gateforge reporter writes. */
5
+ export interface RunnerOutcomesDocument {
6
+ schemaVersion: 1;
7
+ /** The runner's final run status (FullResult.status). */
8
+ runStatus: string | null;
9
+ /** Runner-level errors (globalSetup/teardown/runner body). */
10
+ runnerErrors: string[];
11
+ /** One row per executed test instance (per project instance). */
12
+ outcomes: Array<{
13
+ testId: string;
14
+ file: string;
15
+ titlePath: string[];
16
+ project: string | null;
17
+ status: string;
18
+ attempt: number;
19
+ expectedFailure: boolean;
20
+ }>;
21
+ /** Shard declaration from TEST_SHARD, or null when unsharded. */
22
+ shard: {
23
+ index: number;
24
+ total: number;
25
+ } | null;
26
+ }
27
+ /** Options for one supervised playwright run. */
28
+ export interface SupervisedRunOptions {
29
+ /**
30
+ * Base argv of the runner command (default: the engine's pinned
31
+ * playwright CLI). Tests substitute a stub runner here; production
32
+ * never overrides it. A stub ignores the trusted `--config` flags the
33
+ * supervisor appends (it replaces the whole invocation).
34
+ */
35
+ command?: readonly string[];
36
+ /** Whole-run wall-clock bound (default {@link DEFAULT_RUN_TIMEOUT_MS}). */
37
+ timeoutMs?: number;
38
+ /** Repo root override (default: process cwd; the trusted testDir). */
39
+ cwd?: string;
40
+ /**
41
+ * Exact repo-relative posix test files to run (the supervisor's
42
+ * selection as data). Undefined = the runner default (every spec
43
+ * under the root). The consumer config's scoping never applies.
44
+ */
45
+ testFiles?: readonly string[];
46
+ /**
47
+ * Bare project names to run (identity only). Undefined = no project
48
+ * filter. Per-project code options are never honored.
49
+ */
50
+ projects?: readonly string[];
51
+ /**
52
+ * Engine reporter entry override (tests point at a built reporter;
53
+ * production resolves the pack's own dist entry).
54
+ */
55
+ reporterEntry?: string;
56
+ }
57
+ /**
58
+ * The pinned playwright version visible to this process (the pack's own
59
+ * dependency — the same CLI the supervised run uses), or 'unknown' when
60
+ * the manifest cannot be read (honest placeholder, never a guess).
61
+ */
62
+ export declare function playwrightVersion(): string;
63
+ /**
64
+ * Executes the configured playwright suite under trusted supervision and
65
+ * returns the structured outcome envelope (plan Phase 4 item 1). The
66
+ * consumer's config file is NEVER loaded (see the module doc); the run
67
+ * uses the synthesized trusted config over the exact selected files.
68
+ *
69
+ * Args:
70
+ * selection: the exact logical keys the supervisor expects (data only
71
+ * at this layer — the run itself is the full configured suite).
72
+ * env: run-state dir + run identity + pre-sanitized vars the child
73
+ * inherits (witness wiring; NEVER verifier material, NEVER state
74
+ * paths — the child must not locate the spool or outcomes files).
75
+ * options: runner command override (tests), timeout, cwd, the exact
76
+ * test files/projects to run, reporter entry override.
77
+ *
78
+ * Returns:
79
+ * Promise<RunnerExecutionEnvelope>: the structured outcome envelope —
80
+ * `complete` is false with a single-cause detail for missing/failed
81
+ * outcomes, timeout, or nonzero exit.
82
+ */
83
+ export declare function executeSupervisedPlaywright(selection: RunnerSelection, env: RunnerExecutionEnv, options?: SupervisedRunOptions): Promise<RunnerExecutionEnvelope>;
84
+ /**
85
+ * Default runner command: the engine's own pinned playwright CLI. The
86
+ * CLI is passed as a PLAIN absolute filesystem path — Node's process
87
+ * entry must be a path, never a `file:` URL (a URL argument fails with
88
+ * MODULE_NOT_FOUND before the runner starts, which would masquerade as
89
+ * a failed suite). A broken pack dependency surfaces as the typed
90
+ * incomplete envelope (the argv names the path), never a hang.
91
+ *
92
+ * Returns:
93
+ * readonly string[]: `[process.execPath, <playwright cli.js>]`.
94
+ */
95
+ export declare function defaultPlaywrightCommand(cwd?: string): readonly string[];
96
+ /**
97
+ * Reads + structurally validates the runner-outcomes document (the
98
+ * gateforge reporter's supervision input). Exported for the trusted
99
+ * supervisor (the CLI), which joins outcomes rows against its planned
100
+ * expected set — reporter data is input only, never signature authority.
101
+ *
102
+ * Args:
103
+ * path: absolute outcomes document path.
104
+ *
105
+ * Returns:
106
+ * RunnerOutcomesDocument | null: the parsed document, or null when
107
+ * missing/malformed (supervision then fails closed).
108
+ */
109
+ export declare function readRunnerOutcomes(path: string): RunnerOutcomesDocument | null;
110
+ //# sourceMappingURL=supervised-run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supervised-run.d.ts","sourceRoot":"","sources":["../../src/discovery/supervised-run.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EAEvB,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAK1B,4EAA4E;AAC5E,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AAErD,kEAAkE;AAClE,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,CAAC,CAAC;IACjB,yDAAyD;IACzD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8DAA8D;IAC9D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iEAAiE;IACjE,QAAQ,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC,CAAC;IACH,iEAAiE;IACjE,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAChD;AAED,iDAAiD;AACjD,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,kBAAkB,EACvB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,uBAAuB,CAAC,CA4IlC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAexE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAE9E"}
@@ -0,0 +1,328 @@
1
+ /**
2
+ * Supervised Playwright execution (plan 2026-09-13 Phase 4 work items
3
+ * 1-2, ADR 0005 D2; execution-authority fix: trusted-config synthesis).
4
+ * The adapter's `execute` half. Trusted supervision owns the run — the
5
+ * consumer's playwright config file is NEVER loaded (it is arbitrary
6
+ * main-process code that could fabricate the lifecycle spool and the
7
+ * outcomes document, then exit 0 before any spec executes — the
8
+ * confirmed execution bypass). Instead the supervisor synthesizes a
9
+ * minimal trusted config into the excluded run-state dir (exact selected
10
+ * test files, bare project names as data, the engine reporter forced by
11
+ * absolute path with run-state paths as constructor options, serial
12
+ * workers, zero retries) and runs the runner with `--config <trusted>`.
13
+ *
14
+ * Honesty rules:
15
+ * - Only the engine reporter writes the lifecycle spool + outcomes
16
+ * document, and only to parent-side paths the runner child never
17
+ * learns (no state paths in the child env).
18
+ * - Reporter data is input only: per-instance outcomes are
19
+ * supervision-normalized here, and the expected-set comparison happens
20
+ * in the core supervision module, not in the runner.
21
+ * - A nonzero process exit, a timeout kill, malformed/missing outcomes,
22
+ * and any non-single shard are typed incomplete runs.
23
+ * - The child environment is an ALLOWLIST (enforcement-review fix 1):
24
+ * `process.env` is never merged wholesale, so signing material
25
+ * (GATEFORGE_WITNESS_VERIFIER_KEY) and every other unlisted variable
26
+ * cannot reach the untrusted runner. See `discovery/runner-env.ts`.
27
+ * - Compatibility limits (not transparent): consumer globalSetup /
28
+ * globalTeardown / reporters / webServer / per-project `use` options
29
+ * / sharding are NOT honored. See `discovery/trusted-config.ts`.
30
+ */
31
+ import { spawn } from 'node:child_process';
32
+ import { existsSync, readFileSync, rmSync } from 'node:fs';
33
+ import { createRequire } from 'node:module';
34
+ import { join } from 'node:path';
35
+ import { buildRunnerChildEnv } from './runner-env.js';
36
+ import { localPlaywrightCliCandidates } from './reconcile.js';
37
+ import { synthesizeTrustedConfig, trustedReporterEntry } from './trusted-config.js';
38
+ /** Default whole-run wall-clock bound for one supervised playwright run. */
39
+ export const DEFAULT_RUN_TIMEOUT_MS = 30 * 60 * 1000;
40
+ /**
41
+ * The pinned playwright version visible to this process (the pack's own
42
+ * dependency — the same CLI the supervised run uses), or 'unknown' when
43
+ * the manifest cannot be read (honest placeholder, never a guess).
44
+ */
45
+ export function playwrightVersion() {
46
+ try {
47
+ const require = createRequire(import.meta.url);
48
+ const pkg = require.resolve('playwright/package.json');
49
+ return require(pkg).version ?? 'unknown';
50
+ }
51
+ catch {
52
+ return 'unknown';
53
+ }
54
+ }
55
+ /**
56
+ * Executes the configured playwright suite under trusted supervision and
57
+ * returns the structured outcome envelope (plan Phase 4 item 1). The
58
+ * consumer's config file is NEVER loaded (see the module doc); the run
59
+ * uses the synthesized trusted config over the exact selected files.
60
+ *
61
+ * Args:
62
+ * selection: the exact logical keys the supervisor expects (data only
63
+ * at this layer — the run itself is the full configured suite).
64
+ * env: run-state dir + run identity + pre-sanitized vars the child
65
+ * inherits (witness wiring; NEVER verifier material, NEVER state
66
+ * paths — the child must not locate the spool or outcomes files).
67
+ * options: runner command override (tests), timeout, cwd, the exact
68
+ * test files/projects to run, reporter entry override.
69
+ *
70
+ * Returns:
71
+ * Promise<RunnerExecutionEnvelope>: the structured outcome envelope —
72
+ * `complete` is false with a single-cause detail for missing/failed
73
+ * outcomes, timeout, or nonzero exit.
74
+ */
75
+ export async function executeSupervisedPlaywright(selection, env, options = {}) {
76
+ void selection; // the run is the full configured suite; the supervisor owns the comparison
77
+ const cwd = options.cwd ?? process.cwd();
78
+ const outcomesPath = join(env.stateDir, 'runner-outcomes.json');
79
+ // A stale outcomes file from a previous run must never be readable as
80
+ // this run's result: remove it before spawning.
81
+ rmSync(outcomesPath, { force: true });
82
+ // Trusted-config synthesis (execution-authority fix): the consumer
83
+ // config is data at most, never code. The synthesized config forces
84
+ // the engine reporter (absolute entry, parent-side paths as options)
85
+ // over the exact selected files. A hostile consumer config never
86
+ // executes, so it cannot fabricate spool/outcomes and exit early.
87
+ const { configPath } = synthesizeTrustedConfig({
88
+ cwd,
89
+ stateDir: env.stateDir,
90
+ runId: env.runId,
91
+ reporterEntry: options.reporterEntry ?? trustedReporterEntry(),
92
+ ...(options.testFiles !== undefined ? { testFiles: options.testFiles } : {}),
93
+ ...(options.projects !== undefined ? { projects: options.projects } : {}),
94
+ });
95
+ const baseCommand = options.command ?? defaultPlaywrightCommand(cwd);
96
+ const isStub = options.command !== undefined;
97
+ const argv = isStub
98
+ ? [...baseCommand, 'test', '--retries=0']
99
+ : [...baseCommand, 'test', '--config', configPath, '--retries=0', '--workers=1'];
100
+ const child = spawn(argv[0] ?? '', argv.slice(1), {
101
+ cwd,
102
+ // ALLOWLIST ONLY (enforcement-review fix 1 + execution-authority
103
+ // fix): no wholesale process.env merge — the verifier key and every
104
+ // other unlisted variable never reach the untrusted runner — and NO
105
+ // state paths (spool/outcomes/obligations locations stay parent-side
106
+ // so worker code cannot address them). stdio stdin is 'ignore'.
107
+ env: buildRunnerChildEnv(env.vars, process.env),
108
+ stdio: ['ignore', 'pipe', 'pipe'],
109
+ });
110
+ let stdout = '';
111
+ let stderr = '';
112
+ let timedOut = false;
113
+ // Diagnostic pass-through (display only): the runner's own output never
114
+ // authorizes anything, but a failed supervised run is undebuggable
115
+ // without seeing WHY the tests failed. Opt-in via environment so the
116
+ // default gate output stays pure.
117
+ const echoRunnerOutput = process.env['GATEFORGE_DEBUG_RUNNER'] === '1';
118
+ const outcome = await new Promise((settle) => {
119
+ const timer = setTimeout(() => {
120
+ timedOut = true;
121
+ child.kill('SIGKILL');
122
+ }, options.timeoutMs ?? DEFAULT_RUN_TIMEOUT_MS);
123
+ child.stdout?.on('data', (chunk) => {
124
+ stdout += chunk.toString('utf8');
125
+ if (echoRunnerOutput)
126
+ process.stderr.write(chunk);
127
+ });
128
+ child.stderr?.on('data', (chunk) => {
129
+ stderr += chunk.toString('utf8');
130
+ if (echoRunnerOutput)
131
+ process.stderr.write(chunk);
132
+ });
133
+ child.once('error', (error) => {
134
+ clearTimeout(timer);
135
+ settle({ code: null, timedOut: false, error });
136
+ });
137
+ child.once('exit', (code) => {
138
+ clearTimeout(timer);
139
+ settle({ code, timedOut, error: null });
140
+ });
141
+ });
142
+ void stdout;
143
+ if (outcome.error !== null) {
144
+ return incomplete(null, `supervised run could not start the runner (${argv.join(' ')}): ${outcome.error.message}`);
145
+ }
146
+ if (outcome.timedOut) {
147
+ return incomplete(outcome.code, `supervised run exceeded its ${String(options.timeoutMs ?? DEFAULT_RUN_TIMEOUT_MS)}ms bound and was killed — ` +
148
+ 'an incomplete run never reports success');
149
+ }
150
+ const document = readOutcomesDocument(outcomesPath);
151
+ if (document === null) {
152
+ return incomplete(outcome.code, 'runner outcomes missing or malformed — the trusted engine reporter writes them on every ' +
153
+ 'supervised run (absent = crash, kill, or lost contact; an incomplete run never reports success)');
154
+ }
155
+ const runnerErrorsFailed = document.runnerErrors.length > 0;
156
+ const fixtureOutcome = document.runStatus === 'passed' && !runnerErrorsFailed
157
+ ? 'passed'
158
+ : document.runStatus === null
159
+ ? 'unknown'
160
+ : 'failed';
161
+ const shardComplete = document.shard === null || document.shard.total <= 1;
162
+ const outcomes = document.outcomes.map((row) => ({
163
+ logicalKey: `${row.file}#${row.titlePath.join('>')}`,
164
+ project: row.project,
165
+ frameworkId: row.testId,
166
+ status: normalizeStatus(row.status),
167
+ attempt: row.attempt >= 1 ? row.attempt : 1,
168
+ expectedFailure: row.expectedFailure === true,
169
+ }));
170
+ const maxAttempt = outcomes.reduce((max, row) => Math.max(max, row.attempt), 1);
171
+ const retriesDetected = maxAttempt > 1;
172
+ const complete = document.runStatus === 'passed' &&
173
+ !runnerErrorsFailed &&
174
+ shardComplete &&
175
+ !retriesDetected &&
176
+ outcome.code === 0;
177
+ return {
178
+ processExit: outcome.code,
179
+ complete,
180
+ outcomes,
181
+ fixtureOutcome,
182
+ shards: document.shard === null ? null : { complete: shardComplete, detail: `TEST_SHARD reported ${String(document.shard.index)}/${String(document.shard.total)}` },
183
+ retriesDetected,
184
+ ...(retriesDetected
185
+ ? { retriesDetail: `an instance reported attempt ${String(maxAttempt)} (required retries are zero)` }
186
+ : {}),
187
+ engines: { node: process.version, playwright: playwrightVersion() },
188
+ browsers: {},
189
+ ...(complete
190
+ ? {}
191
+ : {
192
+ incompleteDetail: document.runStatus !== 'passed'
193
+ ? `runner reported final status '${String(document.runStatus ?? 'unknown')}'`
194
+ : runnerErrorsFailed
195
+ ? `runner-level errors observed: ${document.runnerErrors[0] ?? ''}`
196
+ : !shardComplete
197
+ ? `shard run incomplete (${String(document.shard?.total ?? '?')} shards declared)`
198
+ : outcome.code !== 0
199
+ ? `runner exited with status ${String(outcome.code)}`
200
+ : 'supervised run incomplete',
201
+ }),
202
+ };
203
+ }
204
+ /**
205
+ * Default runner command: the engine's own pinned playwright CLI. The
206
+ * CLI is passed as a PLAIN absolute filesystem path — Node's process
207
+ * entry must be a path, never a `file:` URL (a URL argument fails with
208
+ * MODULE_NOT_FOUND before the runner starts, which would masquerade as
209
+ * a failed suite). A broken pack dependency surfaces as the typed
210
+ * incomplete envelope (the argv names the path), never a hang.
211
+ *
212
+ * Returns:
213
+ * readonly string[]: `[process.execPath, <playwright cli.js>]`.
214
+ */
215
+ export function defaultPlaywrightCommand(cwd) {
216
+ // CONSUMER-FIRST resolution (consumer migration, E22): the supervised
217
+ // run must execute under the scanned repo's OWN playwright — its
218
+ // config and specs load through that version, and a mismatch dies with
219
+ // the two-versions-of-@playwright/test conflict. Fixture repos symlink
220
+ // the monorepo node_modules, so the fallback resolves identically.
221
+ if (cwd !== undefined) {
222
+ for (const candidate of localPlaywrightCliCandidates(cwd)) {
223
+ if (existsSync(candidate))
224
+ return [process.execPath, candidate];
225
+ }
226
+ }
227
+ const require = createRequire(import.meta.url);
228
+ const pkg = require.resolve('playwright/package.json');
229
+ const cli = join(pkg.slice(0, -'package.json'.length), 'cli.js');
230
+ return [process.execPath, cli];
231
+ }
232
+ /**
233
+ * Reads + structurally validates the runner-outcomes document (the
234
+ * gateforge reporter's supervision input). Exported for the trusted
235
+ * supervisor (the CLI), which joins outcomes rows against its planned
236
+ * expected set — reporter data is input only, never signature authority.
237
+ *
238
+ * Args:
239
+ * path: absolute outcomes document path.
240
+ *
241
+ * Returns:
242
+ * RunnerOutcomesDocument | null: the parsed document, or null when
243
+ * missing/malformed (supervision then fails closed).
244
+ */
245
+ export function readRunnerOutcomes(path) {
246
+ return readOutcomesDocument(path);
247
+ }
248
+ /** Reads + structurally validates the runner-outcomes document. */
249
+ function readOutcomesDocument(path) {
250
+ let raw;
251
+ try {
252
+ raw = readFileSync(path, 'utf8');
253
+ }
254
+ catch {
255
+ return null;
256
+ }
257
+ let document;
258
+ try {
259
+ document = JSON.parse(raw);
260
+ }
261
+ catch {
262
+ return null;
263
+ }
264
+ if (typeof document !== 'object' || document === null || Array.isArray(document))
265
+ return null;
266
+ const doc = document;
267
+ if (doc['schemaVersion'] !== 1 || !Array.isArray(doc['outcomes']))
268
+ return null;
269
+ const outcomes = [];
270
+ for (const entry of doc['outcomes']) {
271
+ if (typeof entry !== 'object' || entry === null)
272
+ return null;
273
+ const row = entry;
274
+ if (typeof row['testId'] !== 'string' ||
275
+ typeof row['file'] !== 'string' ||
276
+ !Array.isArray(row['titlePath']) ||
277
+ typeof row['status'] !== 'string' ||
278
+ typeof row['attempt'] !== 'number') {
279
+ return null;
280
+ }
281
+ outcomes.push({
282
+ testId: row['testId'],
283
+ file: row['file'],
284
+ titlePath: row['titlePath'].filter((s) => typeof s === 'string'),
285
+ project: typeof row['project'] === 'string' ? row['project'] : null,
286
+ status: row['status'],
287
+ attempt: row['attempt'],
288
+ expectedFailure: row['expectedFailure'] === true,
289
+ });
290
+ }
291
+ const shard = typeof doc['shard'] === 'object' && doc['shard'] !== null
292
+ ? doc['shard']
293
+ : null;
294
+ return {
295
+ schemaVersion: 1,
296
+ runStatus: typeof doc['runStatus'] === 'string' ? doc['runStatus'] : null,
297
+ runnerErrors: Array.isArray(doc['runnerErrors'])
298
+ ? doc['runnerErrors'].filter((s) => typeof s === 'string')
299
+ : [],
300
+ outcomes,
301
+ shard: shard !== null && typeof shard['index'] === 'number' && typeof shard['total'] === 'number'
302
+ ? { index: shard['index'], total: shard['total'] }
303
+ : null,
304
+ };
305
+ }
306
+ /** Maps the runner's status strings onto the envelope vocabulary. */
307
+ function normalizeStatus(status) {
308
+ if (status === 'passed' || status === 'failed' || status === 'skipped' || status === 'fixme' || status === 'not-run') {
309
+ return status;
310
+ }
311
+ // Unknown statuses (e.g. 'interrupted') block: they are not passes.
312
+ return 'failed';
313
+ }
314
+ /** Builds a typed incomplete envelope with a single-cause detail. */
315
+ function incomplete(processExit, detail) {
316
+ return {
317
+ processExit,
318
+ complete: false,
319
+ outcomes: [],
320
+ fixtureOutcome: 'unknown',
321
+ shards: null,
322
+ retriesDetected: false,
323
+ engines: { node: process.version, playwright: playwrightVersion() },
324
+ browsers: {},
325
+ incompleteDetail: detail,
326
+ };
327
+ }
328
+ //# sourceMappingURL=supervised-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supervised-run.js","sourceRoot":"","sources":["../../src/discovery/supervised-run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Trusted Playwright config synthesis (execution-authority fix): the
3
+ * supervised runner NEVER loads the consumer's `playwright.config.*`.
4
+ * That file is arbitrary code running in the runner MAIN process — the
5
+ * same process as the gateforge reporter — so a hostile config can
6
+ * write fabricated lifecycle spool events and a fabricated outcomes
7
+ * document, then exit 0 before any spec executes (the confirmed
8
+ * execution bypass). Instead the supervisor synthesizes a minimal
9
+ * trusted config into the excluded run-state dir and runs the runner
10
+ * with `--config <trusted>`:
11
+ *
12
+ * - test files: the exact repo-relative files the supervisor selected
13
+ * (from the planned expected set), or the runner default when the
14
+ * caller selected nothing;
15
+ * - projects: bare names carried as data (identity only — per-project
16
+ * code options are NOT honored);
17
+ * - reporter: the engine's own reporter entry forced by absolute path
18
+ * with run-state paths as CONSTRUCTOR OPTIONS (never env — worker
19
+ * processes must not learn the spool/outcomes locations);
20
+ * - workers: 1, fullyParallel: false (serial — one open session at a
21
+ * time, so a worker can never reach another test's open session);
22
+ * - retries: 0, forbidOnly: true (required retries are zero; `.only`
23
+ * in a required run is a runner-level error);
24
+ * - no globalSetup/globalTeardown, no webServer, no consumer reporters.
25
+ *
26
+ * Authority boundary after this fix:
27
+ * - TRUSTED: the CLI process, the witness process, and the runner MAIN
28
+ * process (Playwright native + synthesized config + engine reporter).
29
+ * - UNTRUSTED: worker processes (test files, helpers, page objects,
30
+ * and any code they import). Workers keep ONLY the witness URL + run
31
+ * token + app base in env — enough for the fixture, never enough to
32
+ * locate the spool or outcomes files.
33
+ * - Worker forgery of another test's lifecycle always collides with the
34
+ * genuine reporter events for that test; the drain records the
35
+ * collision and supervision fails the run closed.
36
+ *
37
+ * Compatibility limits (honest, not transparent):
38
+ * - consumer `globalSetup`/`globalTeardown` are NOT executed;
39
+ * - consumer reporters, `webServer`, per-project `use` options,
40
+ * `testDir`/`testIgnore` scoping, and sharding are NOT honored;
41
+ * - tests must be self-contained (app provided externally via the
42
+ * app-base env, as the fixture already requires).
43
+ */
44
+ /** File name of the synthesized trusted config inside the run-state dir. */
45
+ export declare const TRUSTED_CONFIG_FILE = "trusted.playwright.config.mjs";
46
+ /** File name of the forced reporter options (diagnostic mirror of argv). */
47
+ export declare const TRUSTED_REPORTER_OPTIONS_FILE = "trusted-reporter-options.json";
48
+ /** Options the synthesized trusted config carries for the engine reporter. */
49
+ export interface TrustedReporterOptions {
50
+ /** Absolute run-state dir (spool, outcomes, injections, obligations). */
51
+ stateDir: string;
52
+ /** The run identity (spool path segment). */
53
+ runId: string;
54
+ /** Absolute runner-outcomes document path. */
55
+ outcomesPath: string;
56
+ /** Absolute obligations document path (reporter ledger; empty when none). */
57
+ obligationsPath: string;
58
+ }
59
+ /** Inputs for one trusted config synthesis. */
60
+ export interface TrustedConfigInput {
61
+ /** Absolute repo root (the runner's testDir). */
62
+ cwd: string;
63
+ /** Absolute run-state dir (receives the synthesized config). */
64
+ stateDir: string;
65
+ /** The run identity. */
66
+ runId: string;
67
+ /** Absolute engine reporter entry (see {@link trustedReporterEntry}). */
68
+ reporterEntry: string;
69
+ /** Exact repo-relative posix test files to run (undefined = default). */
70
+ testFiles?: readonly string[];
71
+ /** Bare project names to run (undefined = no project filter). */
72
+ projects?: readonly string[];
73
+ /** Per-test timeout ms (default 60_000). */
74
+ testTimeoutMs?: number;
75
+ }
76
+ /**
77
+ * Resolves the engine reporter entry the trusted config forces: the
78
+ * pack's own BUILT reporter (the same class the consumer config would
79
+ * reference by package name). Never a repo-relative path — the entry
80
+ * must be engine-owned, never candidate-controlled.
81
+ *
82
+ * Args:
83
+ * fromModule: module URL to resolve the pack from (default: this file).
84
+ *
85
+ * Returns:
86
+ * string: absolute `<pack>/dist/reporter/reporter.js` path.
87
+ */
88
+ export declare function trustedReporterEntry(fromModule?: string): string;
89
+ /**
90
+ * Synthesizes the trusted Playwright config into the run-state dir.
91
+ *
92
+ * Args:
93
+ * input: repo root, run state, reporter entry, file/project selection.
94
+ *
95
+ * Returns:
96
+ * { configPath, reporterOptions }: absolute config path for
97
+ * `--config`, plus the reporter options embedded in it.
98
+ */
99
+ export declare function synthesizeTrustedConfig(input: TrustedConfigInput): {
100
+ configPath: string;
101
+ reporterOptions: TrustedReporterOptions;
102
+ };
103
+ //# sourceMappingURL=trusted-config.d.ts.map