@productbrain/cli 0.1.0-beta.5981 → 0.1.0-beta.5988

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.
@@ -75,15 +75,27 @@ let stderrOutput;
75
75
  let stdoutWriteSpy;
76
76
  let stderrWriteSpy;
77
77
  let exitSpy;
78
- function withTty(isTty, fn) {
78
+ // WP-744 / 1e-B: auto mode no longer infers JSON from stdout's TTY-ness — only PB_JSON=1 opts
79
+ // in. `json=true` simulates piping to a JSON consumer; `json=false` simulates the default card.
80
+ function withJsonMode(json, fn) {
79
81
  return async () => {
80
- const original = process.stdout.isTTY;
81
- Object.defineProperty(process.stdout, 'isTTY', { value: isTty, configurable: true, writable: true });
82
+ const original = process.env.PB_JSON;
83
+ if (json) {
84
+ process.env.PB_JSON = '1';
85
+ }
86
+ else {
87
+ delete process.env.PB_JSON;
88
+ }
82
89
  try {
83
90
  await fn();
84
91
  }
85
92
  finally {
86
- Object.defineProperty(process.stdout, 'isTTY', { value: original, configurable: true, writable: true });
93
+ if (original === undefined) {
94
+ delete process.env.PB_JSON;
95
+ }
96
+ else {
97
+ process.env.PB_JSON = original;
98
+ }
87
99
  }
88
100
  };
89
101
  }
@@ -126,7 +138,7 @@ afterEach(() => {
126
138
  });
127
139
  // ─── Tests ──────────────────────────────────────────────────────────────────
128
140
  describe('runAudit — JSON mode (non-TTY)', () => {
129
- it('outputs correct JSON structure on pipe', withTty(false, async () => {
141
+ it('outputs correct JSON structure on pipe', withJsonMode(true, async () => {
130
142
  kernelCallMock.mockResolvedValue(PASS_FIXTURE);
131
143
  const exit = catchExit();
132
144
  await expect(runAudit({ entryIds: ['BET-182'] })).rejects.toThrow('process.exit');
@@ -139,13 +151,13 @@ describe('runAudit — JSON mode (non-TTY)', () => {
139
151
  expect(parsed.elapsed_ms).toBe(42);
140
152
  expect(exit.code).toBe(0);
141
153
  }));
142
- it('calls chain.auditBet with correct entryId', withTty(false, async () => {
154
+ it('calls chain.auditBet with correct entryId', withJsonMode(true, async () => {
143
155
  kernelCallMock.mockResolvedValue(PASS_FIXTURE);
144
156
  catchExit();
145
157
  await expect(runAudit({ entryIds: ['BET-182'] })).rejects.toThrow('process.exit');
146
158
  expect(kernelCallMock).toHaveBeenCalledWith('chain.auditBet', { entryId: 'BET-182' });
147
159
  }));
148
- it('strips Convex internals from JSON output', withTty(false, async () => {
160
+ it('strips Convex internals from JSON output', withJsonMode(true, async () => {
149
161
  const fixtureWithInternals = {
150
162
  ...PASS_FIXTURE,
151
163
  _id: 'sys-internal-id',
@@ -160,7 +172,7 @@ describe('runAudit — JSON mode (non-TTY)', () => {
160
172
  }));
161
173
  });
162
174
  describe('runAudit — TTY mode', () => {
163
- it('collapses PASS gates (shows count), expands FAIL gates', withTty(true, async () => {
175
+ it('collapses PASS gates (shows count), expands FAIL gates', withJsonMode(false, async () => {
164
176
  kernelCallMock.mockResolvedValue(FAIL_FIXTURE);
165
177
  catchExit();
166
178
  await expect(runAudit({ entryIds: ['BET-200'] })).rejects.toThrow('process.exit');
@@ -173,7 +185,7 @@ describe('runAudit — TTY mode', () => {
173
185
  expect(stdoutOutput).toContain('PASS: 1 gate(s)');
174
186
  expect(stdoutOutput).toContain('strategic-anchor');
175
187
  }));
176
- it('shows WARN gates expanded with hints', withTty(true, async () => {
188
+ it('shows WARN gates expanded with hints', withJsonMode(false, async () => {
177
189
  kernelCallMock.mockResolvedValue(WARN_FIXTURE);
178
190
  catchExit();
179
191
  await expect(runAudit({ entryIds: ['BET-201'] })).rejects.toThrow('process.exit');
@@ -182,7 +194,7 @@ describe('runAudit — TTY mode', () => {
182
194
  expect(stdoutOutput).toContain('2 auto-link relations found');
183
195
  expect(stdoutOutput).toContain('Consider removing auto-link noise');
184
196
  }));
185
- it('--verbose expands all gates including PASS', withTty(true, async () => {
197
+ it('--verbose expands all gates including PASS', withJsonMode(false, async () => {
186
198
  kernelCallMock.mockResolvedValue(PASS_FIXTURE);
187
199
  catchExit();
188
200
  await expect(runAudit({ entryIds: ['BET-182'], verbose: true })).rejects.toThrow('process.exit');
@@ -195,25 +207,25 @@ describe('runAudit — TTY mode', () => {
195
207
  }));
196
208
  });
197
209
  describe('runAudit — exit codes', () => {
198
- it('exit 0 for pass verdict', withTty(false, async () => {
210
+ it('exit 0 for pass verdict', withJsonMode(true, async () => {
199
211
  kernelCallMock.mockResolvedValue(PASS_FIXTURE);
200
212
  const exit = catchExit();
201
213
  await expect(runAudit({ entryIds: ['BET-182'] })).rejects.toThrow('process.exit');
202
214
  expect(exit.code).toBe(0);
203
215
  }));
204
- it('exit 1 for fail verdict', withTty(false, async () => {
216
+ it('exit 1 for fail verdict', withJsonMode(true, async () => {
205
217
  kernelCallMock.mockResolvedValue(FAIL_FIXTURE);
206
218
  const exit = catchExit();
207
219
  await expect(runAudit({ entryIds: ['BET-200'] })).rejects.toThrow('process.exit');
208
220
  expect(exit.code).toBe(1);
209
221
  }));
210
- it('exit 2 for warn verdict', withTty(false, async () => {
222
+ it('exit 2 for warn verdict', withJsonMode(true, async () => {
211
223
  kernelCallMock.mockResolvedValue(WARN_FIXTURE);
212
224
  const exit = catchExit();
213
225
  await expect(runAudit({ entryIds: ['BET-201'] })).rejects.toThrow('process.exit');
214
226
  expect(exit.code).toBe(2);
215
227
  }));
216
- it('exit 3 for error (entry not found)', withTty(false, async () => {
228
+ it('exit 3 for error (entry not found)', withJsonMode(true, async () => {
217
229
  kernelCallMock.mockRejectedValue(new Error('Entry "BET-999" not found.'));
218
230
  const exit = catchExit();
219
231
  await expect(runAudit({ entryIds: ['BET-999'] })).rejects.toThrow('process.exit');
@@ -221,7 +233,7 @@ describe('runAudit — exit codes', () => {
221
233
  }));
222
234
  });
223
235
  describe('runAudit — --gate flag', () => {
224
- it('filters JSON output to only specified gate(s)', withTty(false, async () => {
236
+ it('filters JSON output to only specified gate(s)', withJsonMode(true, async () => {
225
237
  kernelCallMock.mockResolvedValue(FAIL_FIXTURE);
226
238
  catchExit();
227
239
  await expect(runAudit({ entryIds: ['BET-200'], gate: ['field-completeness'] })).rejects.toThrow('process.exit');
@@ -230,7 +242,7 @@ describe('runAudit — --gate flag', () => {
230
242
  expect(parsed.gates).toHaveLength(1);
231
243
  expect(parsed.gates[0].gate).toBe('field-completeness');
232
244
  }));
233
- it('filters TTY output to only specified gate(s)', withTty(true, async () => {
245
+ it('filters TTY output to only specified gate(s)', withJsonMode(false, async () => {
234
246
  kernelCallMock.mockResolvedValue(FAIL_FIXTURE);
235
247
  catchExit();
236
248
  await expect(runAudit({ entryIds: ['BET-200'], gate: ['field-completeness'] })).rejects.toThrow('process.exit');
@@ -239,7 +251,7 @@ describe('runAudit — --gate flag', () => {
239
251
  // Should NOT show other gates
240
252
  expect(stdoutOutput).not.toContain('intentional-relations');
241
253
  }));
242
- it('supports multiple --gate values', withTty(false, async () => {
254
+ it('supports multiple --gate values', withJsonMode(true, async () => {
243
255
  kernelCallMock.mockResolvedValue(FAIL_FIXTURE);
244
256
  catchExit();
245
257
  await expect(runAudit({ entryIds: ['BET-200'], gate: ['intentional-relations', 'field-completeness'] })).rejects.toThrow('process.exit');
@@ -251,13 +263,13 @@ describe('runAudit — --gate flag', () => {
251
263
  }));
252
264
  });
253
265
  describe('runAudit — --phase flag', () => {
254
- it('passes phase through to MCP call', withTty(false, async () => {
266
+ it('passes phase through to MCP call', withJsonMode(true, async () => {
255
267
  kernelCallMock.mockResolvedValue(PASS_FIXTURE);
256
268
  catchExit();
257
269
  await expect(runAudit({ entryIds: ['BET-182'], phase: 'handoff' })).rejects.toThrow('process.exit');
258
270
  expect(kernelCallMock).toHaveBeenCalledWith('chain.auditBet', { entryId: 'BET-182', phase: 'handoff' });
259
271
  }));
260
- it('omits phase from MCP call when not specified', withTty(false, async () => {
272
+ it('omits phase from MCP call when not specified', withJsonMode(true, async () => {
261
273
  kernelCallMock.mockResolvedValue(PASS_FIXTURE);
262
274
  catchExit();
263
275
  await expect(runAudit({ entryIds: ['BET-182'] })).rejects.toThrow('process.exit');
@@ -265,7 +277,7 @@ describe('runAudit — --phase flag', () => {
265
277
  }));
266
278
  });
267
279
  describe('runAudit — --fix', () => {
268
- it('calls updateEntry for exact fixes and reruns audit once', withTty(false, async () => {
280
+ it('calls updateEntry for exact fixes and reruns audit once', withJsonMode(true, async () => {
269
281
  // First call: failing audit
270
282
  // Second call (after fix): passing audit
271
283
  kernelCallMock
@@ -290,7 +302,7 @@ describe('runAudit — --fix', () => {
290
302
  // Exit code should reflect the rerun result (pass = 0)
291
303
  expect(exit.code).toBe(0);
292
304
  }));
293
- it('does not count a coherency-refused update as an applied fix, and does not rerun (WP-465 #36)', withTty(true, async () => {
305
+ it('does not count a coherency-refused update as an applied fix, and does not rerun (WP-465 #36)', withJsonMode(false, async () => {
294
306
  kernelCallMock.mockResolvedValue(FAIL_FIXTURE);
295
307
  // Both auto-fix updates are refused by the coherency gate (RETURNED, not thrown).
296
308
  kernelCallWithSessionMock.mockResolvedValue({
@@ -306,7 +318,7 @@ describe('runAudit — --fix', () => {
306
318
  expect(stderrOutput).toContain('Not linked to the strategic spine.');
307
319
  expect(exit.code).toBe(1); // fail verdict stands — refusal applied nothing
308
320
  }));
309
- it('does not fix when no session is active', withTty(false, async () => {
321
+ it('does not fix when no session is active', withJsonMode(true, async () => {
310
322
  mockSession = null;
311
323
  kernelCallMock.mockResolvedValue(FAIL_FIXTURE);
312
324
  catchExit();
@@ -317,7 +329,7 @@ describe('runAudit — --fix', () => {
317
329
  const parsed = JSON.parse(stdoutOutput);
318
330
  expect(parsed.verdict).toBe('fail');
319
331
  }));
320
- it('skips non-exact fixType gates', withTty(false, async () => {
332
+ it('skips non-exact fixType gates', withJsonMode(true, async () => {
321
333
  const manualFixFixture = {
322
334
  ...FAIL_FIXTURE,
323
335
  gates: [
@@ -332,7 +344,7 @@ describe('runAudit — --fix', () => {
332
344
  expect(kernelCallWithSessionMock).not.toHaveBeenCalled();
333
345
  expect(kernelCallMock).toHaveBeenCalledTimes(1);
334
346
  }));
335
- it('stops after one rerun even if issues remain', withTty(false, async () => {
347
+ it('stops after one rerun even if issues remain', withJsonMode(true, async () => {
336
348
  // Both calls return failing audit (fix didn't resolve everything)
337
349
  kernelCallMock
338
350
  .mockResolvedValueOnce(FAIL_FIXTURE)
@@ -346,7 +358,7 @@ describe('runAudit — --fix', () => {
346
358
  }));
347
359
  });
348
360
  describe('runAudit — batch mode', () => {
349
- it('audits multiple bets sequentially', withTty(false, async () => {
361
+ it('audits multiple bets sequentially', withJsonMode(true, async () => {
350
362
  kernelCallMock
351
363
  .mockResolvedValueOnce(PASS_FIXTURE)
352
364
  .mockResolvedValueOnce(FAIL_FIXTURE);
@@ -366,7 +378,7 @@ describe('runAudit — batch mode', () => {
366
378
  expect(batchSummary.passed).toBe(1);
367
379
  expect(batchSummary.failed).toBe(1);
368
380
  }));
369
- it('shows separator between entries in TTY mode', withTty(true, async () => {
381
+ it('shows separator between entries in TTY mode', withJsonMode(false, async () => {
370
382
  kernelCallMock
371
383
  .mockResolvedValueOnce(PASS_FIXTURE)
372
384
  .mockResolvedValueOnce(WARN_FIXTURE);
@@ -378,7 +390,7 @@ describe('runAudit — batch mode', () => {
378
390
  expect(stdoutOutput).toContain('BET-182');
379
391
  expect(stdoutOutput).toContain('BET-201');
380
392
  }));
381
- it('continues after error on one entry', withTty(false, async () => {
393
+ it('continues after error on one entry', withJsonMode(true, async () => {
382
394
  kernelCallMock
383
395
  .mockRejectedValueOnce(new Error('Entry "BET-999" not found.'))
384
396
  .mockResolvedValueOnce(PASS_FIXTURE);
@@ -393,7 +405,7 @@ describe('runAudit — batch mode', () => {
393
405
  }));
394
406
  });
395
407
  describe('runAudit — error handling', () => {
396
- it('outputs JSON error on pipe when entry not found', withTty(false, async () => {
408
+ it('outputs JSON error on pipe when entry not found', withJsonMode(true, async () => {
397
409
  kernelCallMock.mockRejectedValue(new Error('Entry "BET-999" not found.'));
398
410
  const exit = catchExit();
399
411
  await expect(runAudit({ entryIds: ['BET-999'] })).rejects.toThrow('process.exit');
@@ -403,7 +415,7 @@ describe('runAudit — error handling', () => {
403
415
  expect(errParsed.error).toContain('BET-999');
404
416
  expect(errParsed.entryId).toBe('BET-999');
405
417
  }));
406
- it('outputs human error in TTY when entry not found', withTty(true, async () => {
418
+ it('outputs human error in TTY when entry not found', withJsonMode(false, async () => {
407
419
  kernelCallMock.mockRejectedValue(new Error('Entry "BET-999" not found.'));
408
420
  const exit = catchExit();
409
421
  await expect(runAudit({ entryIds: ['BET-999'] })).rejects.toThrow('process.exit');
@@ -1 +1 @@
1
- {"version":3,"file":"audit.test.js","sourceRoot":"","sources":["../../src/__tests__/audit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.test.js","sourceRoot":"","sources":["../../src/__tests__/audit.test.ts"],"names":[],"mappings":"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"}
@@ -62,15 +62,27 @@ let stdoutOutput;
62
62
  let stderrOutput;
63
63
  let stdoutWriteSpy;
64
64
  let stderrWriteSpy;
65
- function withTty(isTty, fn) {
65
+ // WP-744 / 1e-B: auto mode no longer infers JSON from stdout's TTY-ness — only PB_JSON=1 opts
66
+ // in. `json=true` simulates piping to a JSON consumer; `json=false` simulates the default card.
67
+ function withJsonMode(json, fn) {
66
68
  return async () => {
67
- const original = process.stdout.isTTY;
68
- Object.defineProperty(process.stdout, 'isTTY', { value: isTty, configurable: true, writable: true });
69
+ const original = process.env.PB_JSON;
70
+ if (json) {
71
+ process.env.PB_JSON = '1';
72
+ }
73
+ else {
74
+ delete process.env.PB_JSON;
75
+ }
69
76
  try {
70
77
  await fn();
71
78
  }
72
79
  finally {
73
- Object.defineProperty(process.stdout, 'isTTY', { value: original, configurable: true, writable: true });
80
+ if (original === undefined) {
81
+ delete process.env.PB_JSON;
82
+ }
83
+ else {
84
+ process.env.PB_JSON = original;
85
+ }
74
86
  }
75
87
  };
76
88
  }
@@ -94,12 +106,12 @@ afterEach(() => {
94
106
  setOutputMode('auto');
95
107
  });
96
108
  describe('runConstellation — JSON mode (non-TTY)', () => {
97
- it('calls chain.getConstellation with the correct entryId', withTty(false, async () => {
109
+ it('calls chain.getConstellation with the correct entryId', withJsonMode(true, async () => {
98
110
  kernelCallMock.mockResolvedValue(CONSTELLATION_FIXTURE);
99
111
  await runConstellation({ entryId: 'BET-181' });
100
112
  expect(kernelCallMock).toHaveBeenCalledWith('chain.getConstellation', { entryId: 'BET-181' });
101
113
  }));
102
- it('outputs entry and grouped relations as JSON in non-TTY mode', withTty(false, async () => {
114
+ it('outputs entry and grouped relations as JSON in non-TTY mode', withJsonMode(true, async () => {
103
115
  kernelCallMock.mockResolvedValue(CONSTELLATION_FIXTURE);
104
116
  await runConstellation({ entryId: 'BET-181' });
105
117
  const parsed = JSON.parse(stdoutOutput);
@@ -109,7 +121,7 @@ describe('runConstellation — JSON mode (non-TTY)', () => {
109
121
  expect(parsed.relations).toHaveProperty('informed_by');
110
122
  expect(parsed.summary.totalRelations).toBe(3);
111
123
  }));
112
- it('strips Convex internals in JSON mode', withTty(false, async () => {
124
+ it('strips Convex internals in JSON mode', withJsonMode(true, async () => {
113
125
  const fixtureWithInternals = {
114
126
  ...CONSTELLATION_FIXTURE,
115
127
  entry: { ...CONSTELLATION_FIXTURE.entry, _id: 'sys-id', _creationTime: 999999 },
@@ -122,13 +134,13 @@ describe('runConstellation — JSON mode (non-TTY)', () => {
122
134
  }));
123
135
  });
124
136
  describe('runConstellation — pretty mode (TTY)', () => {
125
- it('outputs human-readable grouped view in TTY mode', withTty(true, async () => {
137
+ it('outputs human-readable grouped view in TTY mode', withJsonMode(false, async () => {
126
138
  kernelCallMock.mockResolvedValue(CONSTELLATION_FIXTURE);
127
139
  await runConstellation({ entryId: 'BET-181' });
128
140
  expect(stdoutOutput).toContain('BET-181');
129
141
  expect(stdoutOutput).toContain('CLI Agent-Native Foundation');
130
142
  }));
131
- it('shows relation types grouped in TTY output', withTty(true, async () => {
143
+ it('shows relation types grouped in TTY output', withJsonMode(false, async () => {
132
144
  kernelCallMock.mockResolvedValue(CONSTELLATION_FIXTURE);
133
145
  await runConstellation({ entryId: 'BET-181' });
134
146
  expect(stdoutOutput).toContain('part_of');
@@ -136,7 +148,7 @@ describe('runConstellation — pretty mode (TTY)', () => {
136
148
  expect(stdoutOutput).toContain('DEC-299');
137
149
  expect(stdoutOutput).toContain('FEAT-100');
138
150
  }));
139
- it('shows direction arrows in TTY output', withTty(true, async () => {
151
+ it('shows direction arrows in TTY output', withJsonMode(false, async () => {
140
152
  kernelCallMock.mockResolvedValue(CONSTELLATION_FIXTURE);
141
153
  await runConstellation({ entryId: 'BET-181' });
142
154
  // outgoing → for part_of, incoming ← for informed_by
@@ -145,7 +157,7 @@ describe('runConstellation — pretty mode (TTY)', () => {
145
157
  }));
146
158
  });
147
159
  describe('runConstellation — edge case: entry with no relations', () => {
148
- it('returns entry-only output with empty relations object', withTty(false, async () => {
160
+ it('returns entry-only output with empty relations object', withJsonMode(true, async () => {
149
161
  const noRelationsFixture = {
150
162
  entry: {
151
163
  entryId: 'BET-999',
@@ -168,7 +180,7 @@ describe('runConstellation — edge case: entry with no relations', () => {
168
180
  expect(parsed.summary.totalRelations).toBe(0);
169
181
  expect(parsed.summary.relationTypes).toHaveLength(0);
170
182
  }));
171
- it('shows "No relations" in TTY mode for entry with no relations', withTty(true, async () => {
183
+ it('shows "No relations" in TTY mode for entry with no relations', withJsonMode(false, async () => {
172
184
  const noRelationsFixture = {
173
185
  entry: {
174
186
  entryId: 'BET-999',
@@ -189,7 +201,7 @@ describe('runConstellation — edge case: entry with no relations', () => {
189
201
  }));
190
202
  });
191
203
  describe('runConstellation — relation types derive from server response', () => {
192
- it('renders any relation type returned by the server, not a hardcoded list', withTty(false, async () => {
204
+ it('renders any relation type returned by the server, not a hardcoded list', withJsonMode(true, async () => {
193
205
  // Use a novel relation type that doesn't match any hardcoded list
194
206
  const customRelationFixture = {
195
207
  entry: {
@@ -246,7 +258,7 @@ describe('runConstellation — relation types derive from server response', () =
246
258
  }));
247
259
  });
248
260
  describe('runConstellation — error handling', () => {
249
- it('throws CLIError when entry is not found', withTty(false, async () => {
261
+ it('throws CLIError when entry is not found', withJsonMode(true, async () => {
250
262
  kernelCallMock.mockRejectedValue(new Error('Entry "NOTEXIST-9999" not found.'));
251
263
  await expect(runConstellation({ entryId: 'NOTEXIST-9999' })).rejects.toThrow('NOTEXIST-9999');
252
264
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"constellation.test.js","sourceRoot":"","sources":["../../src/__tests__/constellation.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constellation.test.js","sourceRoot":"","sources":["../../src/__tests__/constellation.test.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,16 @@
2
2
  * pb relate / pb unrelate — verify kernelCallWithSession sequence and args.
3
3
  * TEN-341 test contract: happy paths, no session.
4
4
  */
5
- import { beforeEach, describe, expect, it, vi } from 'vitest';
5
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
6
6
  import { runRelate, runUnrelate } from '../commands/relate.js';
7
7
  import { CLIError } from '../lib/errors.js';
8
+ import { setOutputMode } from '../lib/runner.js';
9
+ // WP-744 / 1e-B: auto mode no longer infers JSON from a non-TTY stdout (the test runner's own
10
+ // stdout), so any test asserting the raw JSON shape of the RelateResult must force JSON mode
11
+ // explicitly rather than relying on that old ambient behavior.
12
+ afterEach(() => {
13
+ setOutputMode('auto');
14
+ });
8
15
  const kernelCallWithSessionMock = vi.fn();
9
16
  vi.mock('../lib/client.js', () => ({
10
17
  kernelCallWithSession: (...args) => kernelCallWithSessionMock(...args),
@@ -49,11 +56,11 @@ describe('runRelate', () => {
49
56
  });
50
57
  it('handles alreadyExists=true response gracefully and reflects it in output', async () => {
51
58
  kernelCallWithSessionMock.mockResolvedValue({ alreadyExists: true });
59
+ setOutputMode('json'); // this test asserts the raw JSON field name, not the pretty receipt
52
60
  const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
53
61
  await runRelate({ fromId: 'BET-151', type: 'part_of', toId: 'FEAT-77', ifMissing: true });
54
62
  const output = writeSpy.mock.calls.map(c => String(c[0])).join('');
55
63
  writeSpy.mockRestore();
56
- // Output (JSON or pretty) should include the alreadyExists signal
57
64
  expect(output).toContain('alreadyExists');
58
65
  });
59
66
  it('surfaces proposal_created when backend returns a proposal instead of a relation', async () => {
@@ -64,6 +71,7 @@ describe('runRelate', () => {
64
71
  toEntryId: 'ARCH-27',
65
72
  message: 'Governs relation requires async consent.',
66
73
  });
74
+ setOutputMode('json'); // asserts the raw JSON action value below
67
75
  const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
68
76
  await runRelate({ fromId: 'STD-2', type: 'governs', toId: 'ARCH-27' });
69
77
  const output = writeSpy.mock.calls.map(c => String(c[0])).join('');
@@ -207,6 +215,7 @@ describe('runRelate', () => {
207
215
  });
208
216
  it('reports action "dry_run", never "related" — the door never wrote', async () => {
209
217
  kernelCallWithSessionMock.mockResolvedValue({ preview: true, advisories: undefined });
218
+ setOutputMode('json'); // asserts the raw JSON action value below
210
219
  const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
211
220
  await runRelate({ fromId: 'TEN-1', type: 'surfaces_tension_in', toId: 'FEAT-1', dryRun: true });
212
221
  const output = writeSpy.mock.calls.map(c => String(c[0])).join('');
@@ -220,6 +229,7 @@ describe('runRelate', () => {
220
229
  wouldBlock: true,
221
230
  blockingReason: 'anchored_to would collapse scope onto the wrong product.',
222
231
  });
232
+ setOutputMode('json'); // asserts the raw JSON wouldBlock field below
223
233
  const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
224
234
  await runRelate({ fromId: 'STR-1', type: 'anchored_to', toId: 'PROD-2', dryRun: true });
225
235
  const output = writeSpy.mock.calls.map(c => String(c[0])).join('');
@@ -256,6 +266,7 @@ describe('runRelate', () => {
256
266
  originalType: 'depends_on',
257
267
  suggestedAlternatives: [{ type: 'informs', reason: 'weaker coupling' }],
258
268
  });
269
+ setOutputMode('json'); // asserts the raw JSON action/chainDebtPrevented fields below
259
270
  const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
260
271
  await runRelate({ fromId: 'STR-1', type: 'depends_on', toId: 'STR-2', dryRun: true });
261
272
  const output = writeSpy.mock.calls.map(c => String(c[0])).join('');
@@ -270,6 +281,7 @@ describe('runRelate', () => {
270
281
  // survive into the dry-run receipt rather than being reported as an ordinary clean write.
271
282
  it('preserves the --if-missing alreadyExists outcome in a dry-run receipt', async () => {
272
283
  kernelCallWithSessionMock.mockResolvedValue({ relationId: 'rel-1', alreadyExists: true });
284
+ setOutputMode('json'); // asserts the raw JSON alreadyExists field below
273
285
  const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
274
286
  await runRelate({ fromId: 'BET-151', type: 'part_of', toId: 'FEAT-77', ifMissing: true, dryRun: true });
275
287
  const output = writeSpy.mock.calls.map(c => String(c[0])).join('');