ttsc 0.36.0 → 0.36.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,12 +5,16 @@ import type { TtscBuildResult } from "../../../structures/internal/TtscBuildResu
5
5
  * when its read-only option and source probes succeeded. Compiler status,
6
6
  * diagnostics and user-requested file-list display remain owned by that run.
7
7
  *
8
- * Admission requires stable effective options, identical source selection and
9
- * stable physical source paths before and after emission, plus unchanged
10
- * response files and selected executable bytes. Response inspection preserves
11
- * native argument-frame boundaries and operand positions; the producer and its
12
- * probes receive the original argv. The executable's change time is excluded
13
- * from cross-command equality because that metadata changed in real executions
8
+ * Admission requires stable effective options and physical source paths before
9
+ * and after emission, plus unchanged response files and selected executable
10
+ * bytes. A reported source list proves the emitting selection independently of
11
+ * roots rediscovered by showConfig after emission. When an unreported host's
12
+ * shown roots change, the union of inspected source populations must still
13
+ * predict a unique physical owner for each previously predicted write; new
14
+ * sources can only introduce ambiguity. Response inspection preserves native
15
+ * argument-frame boundaries and operand positions; the producer and its probes
16
+ * receive the original argv. The executable's change time is excluded from
17
+ * cross-command equality because that metadata changed in real executions
14
18
  * without changing the executable object or bytes; source contents belong to
15
19
  * the compiler's own Program. Each executable read brackets its full metadata.
16
20
  * This is an external observation, not an atomic compiler-generation ledger; a
@@ -35,12 +39,12 @@ import type { TtscBuildResult } from "../../../structures/internal/TtscBuildResu
35
39
  * in emittedSourceProofFailures. These explanations preserve compiler streams
36
40
  * and status; they do not replace missing ownership with a successful claim.
37
41
  *
38
- * @evidence contracts/common.md#principled-implementation Actual TSFILE writes are matched against the supported upstream per-source extension and explicit-root layout under matching compiler-selected inputs and stable physical source identities and response/executable content observations. No emitted filename alone establishes ownership; observation gaps remain documented.
42
+ * @evidence contracts/common.md#principled-implementation Actual TSFILE writes are matched against the supported upstream per-source extension and explicit-root layout under matching compiler-selected inputs and stable physical source identities and response/executable content observations. Parsed settings exclude rediscovered showConfig.files. A reporting producer proves its emitting selection; an observed host with changed roots rechecks source selection and includes additional candidates only to reject conflicting physical owners of previously predicted writes. No emitted filename alone establishes ownership; observation gaps remain documented.
39
43
  * @evidence contracts/common.md#clear-and-simple-design One adapter owns read-only compiler probes, the single delegated emission and admission; private helpers isolate option parsing, physical observation and path prediction.
40
44
  * @evidence contracts/common.md#prohibited-implementation-shortcuts The selected executable and original arguments remain authoritative. Unknown layouts are reported unknown instead of switching compilers, guessing same-stem ownership or consulting source maps.
41
45
  * @evidence contracts/common.md#meaningful-documentation Native paragraphs explain producer preservation, unknown states and the non-atomic observation limitation; the investigation record documents the supported upstream naming subset.
42
46
  * @evidence contracts/portability.md#os-neutral-implementation Native node:path and filesystem realpath/stat separate writer spelling from physical source identity. Executables receive separate argv entries through spawnNative, without a shell or OS-based case folding.
43
- * @evidence contracts/performance.md#efficient-algorithms Source and output indexes avoid cross-product matching. Response inspection uses an iterative frame stack and active physical-path set. Response/executable observations read and hash complete files; source identity checks resolve paths without comparing mutable text; showConfig text, source/output lists, signature JSON, candidate path components and byte buffers are processed at their actual sizes alongside native probes/path operations. No native duration or report-size ceiling follows from using one index.
47
+ * @evidence contracts/performance.md#efficient-algorithms Source and output indexes avoid cross-product matching; changed observed roots add one native source probe and a deduplicated union of the two populations. Response inspection uses an iterative frame stack and active physical-path set. Response/executable observations read and hash complete files; source identity checks resolve paths without comparing mutable text; showConfig text, source/output lists, signature JSON, candidate path components and byte buffers are processed at their actual sizes alongside native probes/path operations. No native duration or report-size ceiling follows from using one index.
44
48
  * @evidence contracts/performance.md#reuse-equivalent-work Each source observation and predicted output index is shared by all outputs in this invocation. Cross-build reuse is unavailable because arbitrary external producer and filesystem dependencies have no invalidation contract.
45
49
  * @evidence contracts/performance.md#bound-retention-and-release-resources Response/config/source tokens and predicted owner sets live for this invocation; returned provenance/refusal records transfer to the caller. Retained bytes grow with complete reports, expanded arguments, paths and observations, while individual file reads allocate full file buffers. Probe capture cleanup is delegated and may be best effort; no timeout, output ceiling or descendant-release certification is provided here.
46
50
  */
@@ -19,12 +19,16 @@ const PassthroughFlags_1 = require("./PassthroughFlags");
19
19
  * when its read-only option and source probes succeeded. Compiler status,
20
20
  * diagnostics and user-requested file-list display remain owned by that run.
21
21
  *
22
- * Admission requires stable effective options, identical source selection and
23
- * stable physical source paths before and after emission, plus unchanged
24
- * response files and selected executable bytes. Response inspection preserves
25
- * native argument-frame boundaries and operand positions; the producer and its
26
- * probes receive the original argv. The executable's change time is excluded
27
- * from cross-command equality because that metadata changed in real executions
22
+ * Admission requires stable effective options and physical source paths before
23
+ * and after emission, plus unchanged response files and selected executable
24
+ * bytes. A reported source list proves the emitting selection independently of
25
+ * roots rediscovered by showConfig after emission. When an unreported host's
26
+ * shown roots change, the union of inspected source populations must still
27
+ * predict a unique physical owner for each previously predicted write; new
28
+ * sources can only introduce ambiguity. Response inspection preserves native
29
+ * argument-frame boundaries and operand positions; the producer and its probes
30
+ * receive the original argv. The executable's change time is excluded from
31
+ * cross-command equality because that metadata changed in real executions
28
32
  * without changing the executable object or bytes; source contents belong to
29
33
  * the compiler's own Program. Each executable read brackets its full metadata.
30
34
  * This is an external observation, not an atomic compiler-generation ledger; a
@@ -49,12 +53,12 @@ const PassthroughFlags_1 = require("./PassthroughFlags");
49
53
  * in emittedSourceProofFailures. These explanations preserve compiler streams
50
54
  * and status; they do not replace missing ownership with a successful claim.
51
55
  *
52
- * @evidence contracts/common.md#principled-implementation Actual TSFILE writes are matched against the supported upstream per-source extension and explicit-root layout under matching compiler-selected inputs and stable physical source identities and response/executable content observations. No emitted filename alone establishes ownership; observation gaps remain documented.
56
+ * @evidence contracts/common.md#principled-implementation Actual TSFILE writes are matched against the supported upstream per-source extension and explicit-root layout under matching compiler-selected inputs and stable physical source identities and response/executable content observations. Parsed settings exclude rediscovered showConfig.files. A reporting producer proves its emitting selection; an observed host with changed roots rechecks source selection and includes additional candidates only to reject conflicting physical owners of previously predicted writes. No emitted filename alone establishes ownership; observation gaps remain documented.
53
57
  * @evidence contracts/common.md#clear-and-simple-design One adapter owns read-only compiler probes, the single delegated emission and admission; private helpers isolate option parsing, physical observation and path prediction.
54
58
  * @evidence contracts/common.md#prohibited-implementation-shortcuts The selected executable and original arguments remain authoritative. Unknown layouts are reported unknown instead of switching compilers, guessing same-stem ownership or consulting source maps.
55
59
  * @evidence contracts/common.md#meaningful-documentation Native paragraphs explain producer preservation, unknown states and the non-atomic observation limitation; the investigation record documents the supported upstream naming subset.
56
60
  * @evidence contracts/portability.md#os-neutral-implementation Native node:path and filesystem realpath/stat separate writer spelling from physical source identity. Executables receive separate argv entries through spawnNative, without a shell or OS-based case folding.
57
- * @evidence contracts/performance.md#efficient-algorithms Source and output indexes avoid cross-product matching. Response inspection uses an iterative frame stack and active physical-path set. Response/executable observations read and hash complete files; source identity checks resolve paths without comparing mutable text; showConfig text, source/output lists, signature JSON, candidate path components and byte buffers are processed at their actual sizes alongside native probes/path operations. No native duration or report-size ceiling follows from using one index.
61
+ * @evidence contracts/performance.md#efficient-algorithms Source and output indexes avoid cross-product matching; changed observed roots add one native source probe and a deduplicated union of the two populations. Response inspection uses an iterative frame stack and active physical-path set. Response/executable observations read and hash complete files; source identity checks resolve paths without comparing mutable text; showConfig text, source/output lists, signature JSON, candidate path components and byte buffers are processed at their actual sizes alongside native probes/path operations. No native duration or report-size ceiling follows from using one index.
58
62
  * @evidence contracts/performance.md#reuse-equivalent-work Each source observation and predicted output index is shared by all outputs in this invocation. Cross-build reuse is unavailable because arbitrary external producer and filesystem dependencies have no invalidation contract.
59
63
  * @evidence contracts/performance.md#bound-retention-and-release-resources Response/config/source tokens and predicted owner sets live for this invocation; returned provenance/refusal records transfer to the caller. Retained bytes grow with complete reports, expanded arguments, paths and observations, while individual file reads allocate full file buffers. Probe capture cleanup is delegated and may be best effort; no timeout, output ceiling or descendant-release certification is provided here.
60
64
  */
@@ -120,6 +124,7 @@ function runExternalEmitProvenance(options) {
120
124
  : `Emitting source selection differs from its inspection (${probe.files.length} inspected, ${listed.length} reported); first differing inspected path ${JSON.stringify(probe.files[firstDifference])}, reported path ${JSON.stringify(listed[firstDifference === -1 ? probe.files.length : firstDifference])}.`;
121
125
  let stage = "response-file reinspection";
122
126
  try {
127
+ let sources = probe.files;
123
128
  for (const [file, before] of probe.responseObservations) {
124
129
  if (!stable)
125
130
  break;
@@ -128,10 +133,21 @@ function runExternalEmitProvenance(options) {
128
133
  failure = `Compiler response file changed across emission: ${JSON.stringify(file)}.`;
129
134
  }
130
135
  stage = "effective configuration reinspection";
131
- if (stable && readConfig(options)?.text !== probe.text) {
132
- stable = false;
133
- failure =
134
- "Effective configuration changed or could not be reinspected after emission.";
136
+ if (stable) {
137
+ const after = readConfig(options);
138
+ if (after?.signature !== probe.signature) {
139
+ stable = false;
140
+ failure =
141
+ "Effective configuration changed or could not be reinspected after emission.";
142
+ }
143
+ else if (observed &&
144
+ JSON.stringify(after.config.files) !==
145
+ JSON.stringify(probe.config.files)) {
146
+ stage = "post-emission source-list inspection";
147
+ // An added root can import an output-colliding source, so inspect its
148
+ // full dependency selection rather than only predicting that root.
149
+ sources = [...new Set([...sources, ...readSourceList(options)])];
150
+ }
135
151
  }
136
152
  stage = `executable observation of ${JSON.stringify(probe.binaryPath)}`;
137
153
  if (stable) {
@@ -163,13 +179,15 @@ function runExternalEmitProvenance(options) {
163
179
  const predictOutputs = createOutputPrediction(probe.config, probe.base);
164
180
  let predictedSources = 0;
165
181
  let sourceExample;
166
- for (const source of probe.files) {
182
+ for (const source of sources) {
167
183
  const outputs = predictOutputs(source);
168
184
  if (outputs.length === 0)
169
185
  continue;
170
186
  predictedSources++;
171
187
  sourceExample ??= source;
172
- const physicalSource = probe.observations.get(source);
188
+ // Observed writes were predicted before the host ran. A newly selected
189
+ // source can make their ownership ambiguous, never establish a new write.
190
+ const physicalSource = probe.observations.get(source) ?? observeSourceIdentity(source);
173
191
  for (const output of outputs) {
174
192
  const sources = owners.get(output) ?? new Set();
175
193
  sources.add(physicalSource);
@@ -273,20 +291,7 @@ function prepareProbe(options, onUnavailable) {
273
291
  if (base === undefined)
274
292
  return unavailable("Original argv does not establish a supported selected configuration directory.");
275
293
  stage = "compiler source-list inspection";
276
- const listed = (0, spawnNative_1.spawnNative)(options.binary, [
277
- ...options.args,
278
- "--listFilesOnly",
279
- "true",
280
- "--listEmittedFiles",
281
- "false",
282
- ], options);
283
- if (listed.error || listed.status === null || listed.signal !== null)
284
- return unavailable(`Selected producer source-list inspection did not complete normally (status ${listed.status}, signal ${listed.signal}, error ${listed.error?.message ?? "none"}).`);
285
- const files = compilerSourceList(String(listed.stdout).split(/\r?\n/), options.cwd);
286
- if (files.length === 0 ||
287
- !files.every((file) => node_path_1.default.isAbsolute(file) &&
288
- /\.(?:ts|tsx|mts|cts|js|jsx|mjs|cjs|json)$/.test(file)))
289
- return unavailable(`Source-list inspection returned ${files.length} paths and no complete supported source population; first unsupported candidate: ${JSON.stringify(files.find((file) => !node_path_1.default.isAbsolute(file) || !/\.(?:ts|tsx|mts|cts|js|jsx|mjs|cjs|json)$/.test(file)))}.`);
294
+ const files = readSourceList(options);
290
295
  const observations = new Map();
291
296
  for (const source of files) {
292
297
  stage = `initial source observation of ${JSON.stringify(source)}`;
@@ -309,6 +314,18 @@ function prepareProbe(options, onUnavailable) {
309
314
  return unavailable(`Provenance inspection failed during ${stage}: ${error instanceof Error ? error.message : String(error)}.`);
310
315
  }
311
316
  }
317
+ /** Both source inspections use the same native reporting and admission rules. */
318
+ function readSourceList(options) {
319
+ const listed = (0, spawnNative_1.spawnNative)(options.binary, [...options.args, "--listFilesOnly", "true", "--listEmittedFiles", "false"], options);
320
+ if (listed.error || listed.status === null || listed.signal !== null)
321
+ throw new Error(`Selected producer source-list inspection did not complete normally (status ${listed.status}, signal ${listed.signal}, error ${listed.error?.message ?? "none"}).`);
322
+ const files = compilerSourceList(String(listed.stdout).split(/\r?\n/), options.cwd);
323
+ if (files.length === 0 ||
324
+ !files.every((file) => node_path_1.default.isAbsolute(file) &&
325
+ /\.(?:ts|tsx|mts|cts|js|jsx|mjs|cjs|json)$/.test(file)))
326
+ throw new Error(`Source-list inspection returned ${files.length} paths and no complete supported source population; first unsupported candidate: ${JSON.stringify(files.find((file) => !node_path_1.default.isAbsolute(file) || !/\.(?:ts|tsx|mts|cts|js|jsx|mjs|cjs|json)$/.test(file)))}.`);
327
+ return files;
328
+ }
312
329
  /**
313
330
  * Compiler diagnostics may start with an absolute filename too. Exclude only
314
331
  * recognized diagnostic renderings, preserving every other absolute candidate
@@ -319,13 +336,17 @@ function compilerSourceList(lines, cwd) {
319
336
  return lines.filter((line) => node_path_1.default.isAbsolute(line) &&
320
337
  CompilerDiagnostics_1.CompilerDiagnostics.parseDiagnosticLine(CompilerDiagnostics_1.CompilerDiagnostics.stripAnsi(line), cwd) === null);
321
338
  }
322
- /** ShowConfig resolves inherited settings and argv overrides in the producer. */
339
+ /**
340
+ * ShowConfig resolves inherited settings and argv overrides in the producer.
341
+ * Its expanded files describe the current directory, not the completed emit.
342
+ * Root changes are handled separately from settings: reporting producers name
343
+ * their emitting sources, while observed hosts recheck possible contributors.
344
+ */
323
345
  function readConfig(options) {
324
346
  const result = (0, spawnNative_1.spawnNative)(options.binary, [...options.args, "--showConfig"], options);
325
347
  if (result.error || result.status !== 0)
326
348
  return undefined;
327
- const text = String(result.stdout);
328
- const config = JSON.parse(text);
349
+ const config = JSON.parse(String(result.stdout));
329
350
  if (!config ||
330
351
  typeof config !== "object" ||
331
352
  !config.compilerOptions ||
@@ -333,7 +354,9 @@ function readConfig(options) {
333
354
  Array.isArray(config.compilerOptions) ||
334
355
  (config.references !== undefined && !Array.isArray(config.references)))
335
356
  return undefined;
336
- return { config, text };
357
+ const settings = { ...config };
358
+ delete settings.files;
359
+ return { config, signature: JSON.stringify(settings) };
337
360
  }
338
361
  /** ShowConfig path options are relative to the selected config's directory. */
339
362
  function projectBase(args, cwd) {
@@ -1 +1 @@
1
- {"version":3,"file":"runExternalEmitProvenance.js","sourceRoot":"","sources":["../../../../src/compiler/internal/build/runExternalEmitProvenance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runExternalEmitProvenance.js","sourceRoot":"","sources":["../../../../src/compiler/internal/build/runExternalEmitProvenance.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ttsc",
3
- "version": "0.36.0",
3
+ "version": "0.36.1",
4
4
  "description": "General-purpose TypeScript-Go compiler, runtime, plugin host, and LSP host.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -64,13 +64,13 @@
64
64
  },
65
65
  "optionalDependencies": {
66
66
  "fsevents": "^2.3.3",
67
- "@ttsc/linux-x64": "0.36.0",
68
- "@ttsc/linux-arm64": "0.36.0",
69
- "@ttsc/linux-arm": "0.36.0",
70
- "@ttsc/win32-x64": "0.36.0",
71
- "@ttsc/darwin-x64": "0.36.0",
72
- "@ttsc/darwin-arm64": "0.36.0",
73
- "@ttsc/win32-arm64": "0.36.0"
67
+ "@ttsc/linux-x64": "0.36.1",
68
+ "@ttsc/linux-arm": "0.36.1",
69
+ "@ttsc/linux-arm64": "0.36.1",
70
+ "@ttsc/darwin-x64": "0.36.1",
71
+ "@ttsc/darwin-arm64": "0.36.1",
72
+ "@ttsc/win32-x64": "0.36.1",
73
+ "@ttsc/win32-arm64": "0.36.1"
74
74
  },
75
75
  "sideEffects": [
76
76
  "./lib/register.js",
@@ -16,12 +16,16 @@ import { PassthroughFlags } from "./PassthroughFlags";
16
16
  * when its read-only option and source probes succeeded. Compiler status,
17
17
  * diagnostics and user-requested file-list display remain owned by that run.
18
18
  *
19
- * Admission requires stable effective options, identical source selection and
20
- * stable physical source paths before and after emission, plus unchanged
21
- * response files and selected executable bytes. Response inspection preserves
22
- * native argument-frame boundaries and operand positions; the producer and its
23
- * probes receive the original argv. The executable's change time is excluded
24
- * from cross-command equality because that metadata changed in real executions
19
+ * Admission requires stable effective options and physical source paths before
20
+ * and after emission, plus unchanged response files and selected executable
21
+ * bytes. A reported source list proves the emitting selection independently of
22
+ * roots rediscovered by showConfig after emission. When an unreported host's
23
+ * shown roots change, the union of inspected source populations must still
24
+ * predict a unique physical owner for each previously predicted write; new
25
+ * sources can only introduce ambiguity. Response inspection preserves native
26
+ * argument-frame boundaries and operand positions; the producer and its probes
27
+ * receive the original argv. The executable's change time is excluded from
28
+ * cross-command equality because that metadata changed in real executions
25
29
  * without changing the executable object or bytes; source contents belong to
26
30
  * the compiler's own Program. Each executable read brackets its full metadata.
27
31
  * This is an external observation, not an atomic compiler-generation ledger; a
@@ -46,12 +50,12 @@ import { PassthroughFlags } from "./PassthroughFlags";
46
50
  * in emittedSourceProofFailures. These explanations preserve compiler streams
47
51
  * and status; they do not replace missing ownership with a successful claim.
48
52
  *
49
- * @evidence contracts/common.md#principled-implementation Actual TSFILE writes are matched against the supported upstream per-source extension and explicit-root layout under matching compiler-selected inputs and stable physical source identities and response/executable content observations. No emitted filename alone establishes ownership; observation gaps remain documented.
53
+ * @evidence contracts/common.md#principled-implementation Actual TSFILE writes are matched against the supported upstream per-source extension and explicit-root layout under matching compiler-selected inputs and stable physical source identities and response/executable content observations. Parsed settings exclude rediscovered showConfig.files. A reporting producer proves its emitting selection; an observed host with changed roots rechecks source selection and includes additional candidates only to reject conflicting physical owners of previously predicted writes. No emitted filename alone establishes ownership; observation gaps remain documented.
50
54
  * @evidence contracts/common.md#clear-and-simple-design One adapter owns read-only compiler probes, the single delegated emission and admission; private helpers isolate option parsing, physical observation and path prediction.
51
55
  * @evidence contracts/common.md#prohibited-implementation-shortcuts The selected executable and original arguments remain authoritative. Unknown layouts are reported unknown instead of switching compilers, guessing same-stem ownership or consulting source maps.
52
56
  * @evidence contracts/common.md#meaningful-documentation Native paragraphs explain producer preservation, unknown states and the non-atomic observation limitation; the investigation record documents the supported upstream naming subset.
53
57
  * @evidence contracts/portability.md#os-neutral-implementation Native node:path and filesystem realpath/stat separate writer spelling from physical source identity. Executables receive separate argv entries through spawnNative, without a shell or OS-based case folding.
54
- * @evidence contracts/performance.md#efficient-algorithms Source and output indexes avoid cross-product matching. Response inspection uses an iterative frame stack and active physical-path set. Response/executable observations read and hash complete files; source identity checks resolve paths without comparing mutable text; showConfig text, source/output lists, signature JSON, candidate path components and byte buffers are processed at their actual sizes alongside native probes/path operations. No native duration or report-size ceiling follows from using one index.
58
+ * @evidence contracts/performance.md#efficient-algorithms Source and output indexes avoid cross-product matching; changed observed roots add one native source probe and a deduplicated union of the two populations. Response inspection uses an iterative frame stack and active physical-path set. Response/executable observations read and hash complete files; source identity checks resolve paths without comparing mutable text; showConfig text, source/output lists, signature JSON, candidate path components and byte buffers are processed at their actual sizes alongside native probes/path operations. No native duration or report-size ceiling follows from using one index.
55
59
  * @evidence contracts/performance.md#reuse-equivalent-work Each source observation and predicted output index is shared by all outputs in this invocation. Cross-build reuse is unavailable because arbitrary external producer and filesystem dependencies have no invalidation contract.
56
60
  * @evidence contracts/performance.md#bound-retention-and-release-resources Response/config/source tokens and predicted owner sets live for this invocation; returned provenance/refusal records transfer to the caller. Retained bytes grow with complete reports, expanded arguments, paths and observations, while individual file reads allocate full file buffers. Probe capture cleanup is delegated and may be best effort; no timeout, output ceiling or descendant-release certification is provided here.
57
61
  */
@@ -158,6 +162,7 @@ export function runExternalEmitProvenance(options: {
158
162
  : `Emitting source selection differs from its inspection (${probe.files.length} inspected, ${listed.length} reported); first differing inspected path ${JSON.stringify(probe.files[firstDifference])}, reported path ${JSON.stringify(listed[firstDifference === -1 ? probe.files.length : firstDifference])}.`;
159
163
  let stage = "response-file reinspection";
160
164
  try {
165
+ let sources = probe.files;
161
166
  for (const [file, before] of probe.responseObservations) {
162
167
  if (!stable) break;
163
168
  stable = CompilerArgumentsInspection.observeInputFile(file) === before;
@@ -165,10 +170,22 @@ export function runExternalEmitProvenance(options: {
165
170
  failure = `Compiler response file changed across emission: ${JSON.stringify(file)}.`;
166
171
  }
167
172
  stage = "effective configuration reinspection";
168
- if (stable && readConfig(options)?.text !== probe.text) {
169
- stable = false;
170
- failure =
171
- "Effective configuration changed or could not be reinspected after emission.";
173
+ if (stable) {
174
+ const after = readConfig(options);
175
+ if (after?.signature !== probe.signature) {
176
+ stable = false;
177
+ failure =
178
+ "Effective configuration changed or could not be reinspected after emission.";
179
+ } else if (
180
+ observed &&
181
+ JSON.stringify(after.config.files) !==
182
+ JSON.stringify(probe.config.files)
183
+ ) {
184
+ stage = "post-emission source-list inspection";
185
+ // An added root can import an output-colliding source, so inspect its
186
+ // full dependency selection rather than only predicting that root.
187
+ sources = [...new Set([...sources, ...readSourceList(options)])];
188
+ }
172
189
  }
173
190
  stage = `executable observation of ${JSON.stringify(probe.binaryPath)}`;
174
191
  if (stable) {
@@ -201,12 +218,15 @@ export function runExternalEmitProvenance(options: {
201
218
  const predictOutputs = createOutputPrediction(probe.config, probe.base);
202
219
  let predictedSources = 0;
203
220
  let sourceExample: string | undefined;
204
- for (const source of probe.files) {
221
+ for (const source of sources) {
205
222
  const outputs = predictOutputs(source);
206
223
  if (outputs.length === 0) continue;
207
224
  predictedSources++;
208
225
  sourceExample ??= source;
209
- const physicalSource = probe.observations.get(source)!;
226
+ // Observed writes were predicted before the host ran. A newly selected
227
+ // source can make their ownership ambiguous, never establish a new write.
228
+ const physicalSource =
229
+ probe.observations.get(source) ?? observeSourceIdentity(source);
210
230
  for (const output of outputs) {
211
231
  const sources = owners.get(output) ?? new Set<string>();
212
232
  sources.add(physicalSource);
@@ -332,36 +352,7 @@ function prepareProbe(
332
352
  "Original argv does not establish a supported selected configuration directory.",
333
353
  );
334
354
  stage = "compiler source-list inspection";
335
- const listed = spawnNative(
336
- options.binary,
337
- [
338
- ...options.args,
339
- "--listFilesOnly",
340
- "true",
341
- "--listEmittedFiles",
342
- "false",
343
- ],
344
- options,
345
- );
346
- if (listed.error || listed.status === null || listed.signal !== null)
347
- return unavailable(
348
- `Selected producer source-list inspection did not complete normally (status ${listed.status}, signal ${listed.signal}, error ${listed.error?.message ?? "none"}).`,
349
- );
350
- const files = compilerSourceList(
351
- String(listed.stdout).split(/\r?\n/),
352
- options.cwd,
353
- );
354
- if (
355
- files.length === 0 ||
356
- !files.every(
357
- (file) =>
358
- path.isAbsolute(file) &&
359
- /\.(?:ts|tsx|mts|cts|js|jsx|mjs|cjs|json)$/.test(file),
360
- )
361
- )
362
- return unavailable(
363
- `Source-list inspection returned ${files.length} paths and no complete supported source population; first unsupported candidate: ${JSON.stringify(files.find((file) => !path.isAbsolute(file) || !/\.(?:ts|tsx|mts|cts|js|jsx|mjs|cjs|json)$/.test(file)))}.`,
364
- );
355
+ const files = readSourceList(options);
365
356
  const observations = new Map<string, string>();
366
357
  for (const source of files) {
367
358
  stage = `initial source observation of ${JSON.stringify(source)}`;
@@ -388,6 +379,37 @@ function prepareProbe(
388
379
  }
389
380
  }
390
381
 
382
+ /** Both source inspections use the same native reporting and admission rules. */
383
+ function readSourceList(
384
+ options: Parameters<typeof runExternalEmitProvenance>[0],
385
+ ): string[] {
386
+ const listed = spawnNative(
387
+ options.binary,
388
+ [...options.args, "--listFilesOnly", "true", "--listEmittedFiles", "false"],
389
+ options,
390
+ );
391
+ if (listed.error || listed.status === null || listed.signal !== null)
392
+ throw new Error(
393
+ `Selected producer source-list inspection did not complete normally (status ${listed.status}, signal ${listed.signal}, error ${listed.error?.message ?? "none"}).`,
394
+ );
395
+ const files = compilerSourceList(
396
+ String(listed.stdout).split(/\r?\n/),
397
+ options.cwd,
398
+ );
399
+ if (
400
+ files.length === 0 ||
401
+ !files.every(
402
+ (file) =>
403
+ path.isAbsolute(file) &&
404
+ /\.(?:ts|tsx|mts|cts|js|jsx|mjs|cjs|json)$/.test(file),
405
+ )
406
+ )
407
+ throw new Error(
408
+ `Source-list inspection returned ${files.length} paths and no complete supported source population; first unsupported candidate: ${JSON.stringify(files.find((file) => !path.isAbsolute(file) || !/\.(?:ts|tsx|mts|cts|js|jsx|mjs|cjs|json)$/.test(file)))}.`,
409
+ );
410
+ return files;
411
+ }
412
+
391
413
  /**
392
414
  * Compiler diagnostics may start with an absolute filename too. Exclude only
393
415
  * recognized diagnostic renderings, preserving every other absolute candidate
@@ -405,14 +427,20 @@ function compilerSourceList(lines: readonly string[], cwd: string): string[] {
405
427
  );
406
428
  }
407
429
 
408
- /** ShowConfig resolves inherited settings and argv overrides in the producer. */
430
+ /**
431
+ * ShowConfig resolves inherited settings and argv overrides in the producer.
432
+ * Its expanded files describe the current directory, not the completed emit.
433
+ * Root changes are handled separately from settings: reporting producers name
434
+ * their emitting sources, while observed hosts recheck possible contributors.
435
+ */
409
436
  function readConfig(options: Parameters<typeof runExternalEmitProvenance>[0]):
410
437
  | {
411
438
  config: {
412
439
  compilerOptions: Record<string, unknown>;
413
440
  references?: unknown[];
441
+ files?: string[];
414
442
  };
415
- text: string;
443
+ signature: string;
416
444
  }
417
445
  | undefined {
418
446
  const result = spawnNative(
@@ -421,8 +449,7 @@ function readConfig(options: Parameters<typeof runExternalEmitProvenance>[0]):
421
449
  options,
422
450
  );
423
451
  if (result.error || result.status !== 0) return undefined;
424
- const text = String(result.stdout);
425
- const config = JSON.parse(text);
452
+ const config = JSON.parse(String(result.stdout));
426
453
  if (
427
454
  !config ||
428
455
  typeof config !== "object" ||
@@ -432,7 +459,9 @@ function readConfig(options: Parameters<typeof runExternalEmitProvenance>[0]):
432
459
  (config.references !== undefined && !Array.isArray(config.references))
433
460
  )
434
461
  return undefined;
435
- return { config, text };
462
+ const settings = { ...config };
463
+ delete settings.files;
464
+ return { config, signature: JSON.stringify(settings) };
436
465
  }
437
466
 
438
467
  /** ShowConfig path options are relative to the selected config's directory. */