@productbrain/cli 0.1.0-beta.6576 → 0.1.0-beta.6590
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.
- package/dist/__tests__/batch-transformations.test.js +2 -26
- package/dist/__tests__/batch-transformations.test.js.map +1 -1
- package/dist/__tests__/entryAccept-batch.test.d.ts +2 -0
- package/dist/__tests__/entryAccept-batch.test.d.ts.map +1 -0
- package/dist/__tests__/{promote-batch.test.js → entryAccept-batch.test.js} +23 -23
- package/dist/__tests__/entryAccept-batch.test.js.map +1 -0
- package/dist/__tests__/entryAccept.test.d.ts +2 -0
- package/dist/__tests__/entryAccept.test.d.ts.map +1 -0
- package/dist/__tests__/{promote.test.js → entryAccept.test.js} +30 -30
- package/dist/__tests__/entryAccept.test.js.map +1 -0
- package/dist/__tests__/handshake-augment.test.js +0 -2
- package/dist/__tests__/handshake-augment.test.js.map +1 -1
- package/dist/__tests__/handshake-preview.test.js +0 -2
- package/dist/__tests__/handshake-preview.test.js.map +1 -1
- package/dist/__tests__/handshake.e2e.test.js +0 -2
- package/dist/__tests__/handshake.e2e.test.js.map +1 -1
- package/dist/__tests__/workspaceNotice.test.js +9 -9
- package/dist/__tests__/workspaceNotice.test.js.map +1 -1
- package/dist/commands/{promote.d.ts → entryAccept.d.ts} +6 -5
- package/dist/commands/entryAccept.d.ts.map +1 -0
- package/dist/commands/{promote.js → entryAccept.js} +16 -15
- package/dist/commands/entryAccept.js.map +1 -0
- package/dist/commands/handshake.d.ts.map +1 -1
- package/dist/commands/handshake.js +5 -32
- package/dist/commands/handshake.js.map +1 -1
- package/dist/commands/method.d.ts +0 -2
- package/dist/commands/method.d.ts.map +1 -1
- package/dist/commands/method.js +0 -31
- package/dist/commands/method.js.map +1 -1
- package/dist/commands/orient.js +1 -1
- package/dist/commands/orient.js.map +1 -1
- package/dist/formatters/{promote.d.ts → entryAccept.d.ts} +4 -4
- package/dist/formatters/entryAccept.d.ts.map +1 -0
- package/dist/formatters/{promote.js → entryAccept.js} +8 -7
- package/dist/formatters/entryAccept.js.map +1 -0
- package/dist/formatters/handshake.d.ts +10 -0
- package/dist/formatters/handshake.d.ts.map +1 -1
- package/dist/formatters/handshake.js +8 -0
- package/dist/formatters/handshake.js.map +1 -1
- package/dist/generators/chain-rules.js +1 -1
- package/dist/generators/chain-rules.js.map +1 -1
- package/dist/generators/noProjectionAssets.d.ts +15 -0
- package/dist/generators/noProjectionAssets.d.ts.map +1 -0
- package/dist/generators/noProjectionAssets.js +6 -0
- package/dist/generators/noProjectionAssets.js.map +1 -0
- package/dist/generators/portable-knowledge.d.ts +0 -10
- package/dist/generators/portable-knowledge.d.ts.map +1 -1
- package/dist/generators/portable-knowledge.js +0 -55
- package/dist/generators/portable-knowledge.js.map +1 -1
- package/dist/generators/portable-knowledge.test.js +3 -81
- package/dist/generators/portable-knowledge.test.js.map +1 -1
- package/dist/generators/region-projections.js +1 -1
- package/dist/generators/region-projections.js.map +1 -1
- package/dist/lib/client.js +2 -2
- package/dist/lib/client.js.map +1 -1
- package/dist/registerEntryCommands.js +2 -2
- package/dist/registerEntryCommands.js.map +1 -1
- package/dist/surfaces/__tests__/adapter.test.js +2 -5
- package/dist/surfaces/__tests__/adapter.test.js.map +1 -1
- package/dist/surfaces/adapters/claude.d.ts.map +1 -1
- package/dist/surfaces/adapters/claude.js +22 -22
- package/dist/surfaces/adapters/claude.js.map +1 -1
- package/package.json +1 -1
- package/dist/__tests__/promote-batch.test.d.ts +0 -2
- package/dist/__tests__/promote-batch.test.d.ts.map +0 -1
- package/dist/__tests__/promote-batch.test.js.map +0 -1
- package/dist/__tests__/promote.test.d.ts +0 -2
- package/dist/__tests__/promote.test.d.ts.map +0 -1
- package/dist/__tests__/promote.test.js.map +0 -1
- package/dist/commands/promote.d.ts.map +0 -1
- package/dist/commands/promote.js.map +0 -1
- package/dist/formatters/promote.d.ts.map +0 -1
- package/dist/formatters/promote.js.map +0 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Tests applyBatchTransformations + generateCodexSkill batch mode + Claude/Cursor unchanged.
|
|
4
4
|
*/
|
|
5
5
|
import { describe, expect, it } from 'vitest';
|
|
6
|
-
import { applyBatchTransformations, generateCodexSkill, generateCursorSkill,
|
|
6
|
+
import { applyBatchTransformations, generateCodexSkill, generateCursorSkill, } from '../generators/portable-knowledge.js';
|
|
7
7
|
import { SURFACE_PROFILES } from '../generators/surface-profiles.js';
|
|
8
8
|
describe('applyBatchTransformations', () => {
|
|
9
9
|
it('strips sub-agent spawn patterns and replaces with inline step instruction', () => {
|
|
@@ -213,7 +213,7 @@ Ask the user for approval.`,
|
|
|
213
213
|
expect(output).not.toContain('Ask the user');
|
|
214
214
|
});
|
|
215
215
|
});
|
|
216
|
-
describe('generateCursorSkill
|
|
216
|
+
describe('generateCursorSkill — profile ignored (BET-270 S1)', () => {
|
|
217
217
|
const skill = {
|
|
218
218
|
name: 'test-skill',
|
|
219
219
|
description: 'Test skill',
|
|
@@ -225,13 +225,6 @@ Spawn a sub-agent.
|
|
|
225
225
|
Normal content.`,
|
|
226
226
|
sourcePath: '/tmp/.productbrain/skills/test-skill.md',
|
|
227
227
|
};
|
|
228
|
-
const rule = {
|
|
229
|
-
name: 'test-rule',
|
|
230
|
-
description: 'A test rule',
|
|
231
|
-
autoApply: true,
|
|
232
|
-
body: '# Rule body\n\nAsk the user to confirm.\nNormal content.',
|
|
233
|
-
sourcePath: '/tmp/.productbrain/rules/test-rule.md',
|
|
234
|
-
};
|
|
235
228
|
it('generateCursorSkill preserves interactive content regardless of profile', () => {
|
|
236
229
|
const withProfile = generateCursorSkill(skill, SURFACE_PROFILES.cursor);
|
|
237
230
|
const withCodexProfile = generateCursorSkill(skill, SURFACE_PROFILES.codex);
|
|
@@ -242,22 +235,5 @@ Normal content.`,
|
|
|
242
235
|
expect(output).not.toContain('Proceed autonomously');
|
|
243
236
|
}
|
|
244
237
|
});
|
|
245
|
-
it('generateClaudeRule preserves interactive content regardless of profile', () => {
|
|
246
|
-
const withProfile = generateClaudeRule(rule, SURFACE_PROFILES.claude);
|
|
247
|
-
const withCodexProfile = generateClaudeRule(rule, SURFACE_PROFILES.codex);
|
|
248
|
-
for (const output of [withProfile, withCodexProfile]) {
|
|
249
|
-
expect(output).toContain('Ask the user to confirm.');
|
|
250
|
-
expect(output).not.toContain('Batch execution mode:');
|
|
251
|
-
expect(output).not.toContain('Proceed autonomously');
|
|
252
|
-
}
|
|
253
|
-
});
|
|
254
|
-
it('generateClaudeSkillRouter preserves interactive content regardless of profile', () => {
|
|
255
|
-
const withProfile = generateClaudeSkillRouter([skill], SURFACE_PROFILES.claude);
|
|
256
|
-
const withCodexProfile = generateClaudeSkillRouter([skill], SURFACE_PROFILES.codex);
|
|
257
|
-
for (const output of [withProfile, withCodexProfile]) {
|
|
258
|
-
expect(output).toContain('test-skill');
|
|
259
|
-
expect(output).toContain('Skill Router');
|
|
260
|
-
}
|
|
261
|
-
});
|
|
262
238
|
});
|
|
263
239
|
//# sourceMappingURL=batch-transformations.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-transformations.test.js","sourceRoot":"","sources":["../../src/__tests__/batch-transformations.test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"batch-transformations.test.js","sourceRoot":"","sources":["../../src/__tests__/batch-transformations.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entryAccept-batch.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/entryAccept-batch.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* pb promote — batch (multi-ID)
|
|
3
|
-
* Accepts multiple entry IDs,
|
|
2
|
+
* pb entry accept (formerly pb promote, DEC-1578) — batch (multi-ID) accept (INS-1813).
|
|
3
|
+
* Accepts multiple entry IDs, accepts each independently, and a single failure
|
|
4
4
|
* does NOT abort the rest of the batch. Reports per-entry results and exits
|
|
5
5
|
* non-zero when any entry failed.
|
|
6
6
|
*/
|
|
7
7
|
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
8
|
-
import {
|
|
8
|
+
import { runEntryAccept } from '../commands/entryAccept.js';
|
|
9
9
|
import { CLIError, ErrorCode } from '../lib/errors.js';
|
|
10
10
|
const kernelCallWithSessionMock = vi.fn();
|
|
11
11
|
const { MockMcpError } = vi.hoisted(() => {
|
|
@@ -24,7 +24,7 @@ const { MockMcpError } = vi.hoisted(() => {
|
|
|
24
24
|
vi.mock('../lib/client.js', async () => ({
|
|
25
25
|
kernelCallWithSession: (...args) => kernelCallWithSessionMock(...args),
|
|
26
26
|
McpError: MockMcpError,
|
|
27
|
-
// WP-753 O5a fix round 2: real implementation, not a stub —
|
|
27
|
+
// WP-753 O5a fix round 2: real implementation, not a stub — entryAccept.ts's abort predicate
|
|
28
28
|
// depends on its actual per-entry-code classification, not a mocked always-true/false.
|
|
29
29
|
isPerEntryAuthorizationRefusal: (await vi.importActual('../lib/client.js')).isPerEntryAuthorizationRefusal,
|
|
30
30
|
}));
|
|
@@ -63,7 +63,7 @@ function installRoutes(opts = {}) {
|
|
|
63
63
|
function commitCallsFor(id) {
|
|
64
64
|
return kernelCallWithSessionMock.mock.calls.filter((c) => c[0] === 'chain.commitEntry' && c[1]?.entryId === id).length;
|
|
65
65
|
}
|
|
66
|
-
describe('
|
|
66
|
+
describe('runEntryAccept — batch promotion (INS-1813)', () => {
|
|
67
67
|
beforeEach(() => {
|
|
68
68
|
vi.clearAllMocks();
|
|
69
69
|
mockSession = { sessionId: 'sess-test' };
|
|
@@ -71,22 +71,22 @@ describe('runPromote — batch promotion (INS-1813)', () => {
|
|
|
71
71
|
it('promotes every ID in the batch and prints a receipt for each', async () => {
|
|
72
72
|
installRoutes();
|
|
73
73
|
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
74
|
-
await
|
|
74
|
+
await runEntryAccept({ entryIds: ['TEN-2', 'INS-3', 'DEC-4'] });
|
|
75
75
|
const output = writeSpy.mock.calls.map((c) => String(c[0])).join('');
|
|
76
76
|
writeSpy.mockRestore();
|
|
77
77
|
expect(commitCallsFor('TEN-2')).toBe(1);
|
|
78
78
|
expect(commitCallsFor('INS-3')).toBe(1);
|
|
79
79
|
expect(commitCallsFor('DEC-4')).toBe(1);
|
|
80
|
-
expect(output).toContain('
|
|
81
|
-
expect(output).toContain('
|
|
82
|
-
expect(output).toContain('
|
|
80
|
+
expect(output).toContain('Accepted TEN-2');
|
|
81
|
+
expect(output).toContain('Accepted INS-3');
|
|
82
|
+
expect(output).toContain('Accepted DEC-4');
|
|
83
83
|
});
|
|
84
84
|
it('does not abort the batch when one entry fails — the rest still promote', async () => {
|
|
85
85
|
installRoutes({ failIds: ['INS-3'] });
|
|
86
86
|
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
87
87
|
let caught;
|
|
88
88
|
try {
|
|
89
|
-
await
|
|
89
|
+
await runEntryAccept({ entryIds: ['TEN-2', 'INS-3', 'DEC-4'] });
|
|
90
90
|
}
|
|
91
91
|
catch (err) {
|
|
92
92
|
caught = err;
|
|
@@ -98,8 +98,8 @@ describe('runPromote — batch promotion (INS-1813)', () => {
|
|
|
98
98
|
expect(commitCallsFor('INS-3')).toBe(1);
|
|
99
99
|
expect(commitCallsFor('DEC-4')).toBe(1);
|
|
100
100
|
// The successful ones still got promoted.
|
|
101
|
-
expect(output).toContain('
|
|
102
|
-
expect(output).toContain('
|
|
101
|
+
expect(output).toContain('Accepted TEN-2');
|
|
102
|
+
expect(output).toContain('Accepted DEC-4');
|
|
103
103
|
// The failure is surfaced per-entry...
|
|
104
104
|
expect(output).toContain('INS-3');
|
|
105
105
|
// ...and the batch exits non-zero so automation knows.
|
|
@@ -108,11 +108,11 @@ describe('runPromote — batch promotion (INS-1813)', () => {
|
|
|
108
108
|
it('still works for a single ID passed via entryIds', async () => {
|
|
109
109
|
installRoutes();
|
|
110
110
|
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
111
|
-
await
|
|
111
|
+
await runEntryAccept({ entryIds: ['TEN-2'] });
|
|
112
112
|
const output = writeSpy.mock.calls.map((c) => String(c[0])).join('');
|
|
113
113
|
writeSpy.mockRestore();
|
|
114
114
|
expect(commitCallsFor('TEN-2')).toBe(1);
|
|
115
|
-
expect(output).toContain('
|
|
115
|
+
expect(output).toContain('Accepted TEN-2');
|
|
116
116
|
});
|
|
117
117
|
it('fails fast and preserves the category when a global precondition (auth) fails the batch', async () => {
|
|
118
118
|
// An expired/invalid key fails every id identically. The batch must NOT retry each id
|
|
@@ -136,7 +136,7 @@ describe('runPromote — batch promotion (INS-1813)', () => {
|
|
|
136
136
|
});
|
|
137
137
|
let caught;
|
|
138
138
|
try {
|
|
139
|
-
await
|
|
139
|
+
await runEntryAccept({ entryIds: ['TEN-2', 'INS-3', 'DEC-4'] });
|
|
140
140
|
}
|
|
141
141
|
catch (err) {
|
|
142
142
|
caught = err;
|
|
@@ -179,7 +179,7 @@ describe('runPromote — batch promotion (INS-1813)', () => {
|
|
|
179
179
|
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
180
180
|
let caught;
|
|
181
181
|
try {
|
|
182
|
-
await
|
|
182
|
+
await runEntryAccept({ entryIds: ['TEN-2', 'INS-3', 'DEC-4'] });
|
|
183
183
|
}
|
|
184
184
|
catch (err) {
|
|
185
185
|
caught = err;
|
|
@@ -190,8 +190,8 @@ describe('runPromote — batch promotion (INS-1813)', () => {
|
|
|
190
190
|
expect(commitCallsFor('TEN-2')).toBe(1);
|
|
191
191
|
expect(commitCallsFor('INS-3')).toBe(1);
|
|
192
192
|
expect(commitCallsFor('DEC-4')).toBe(1);
|
|
193
|
-
expect(output).toContain('
|
|
194
|
-
expect(output).toContain('
|
|
193
|
+
expect(output).toContain('Accepted TEN-2');
|
|
194
|
+
expect(output).toContain('Accepted DEC-4');
|
|
195
195
|
// The refusal is surfaced per-entry, with the server's own reason text...
|
|
196
196
|
expect(output).toContain('INS-3');
|
|
197
197
|
expect(output).toContain('not the current owning role');
|
|
@@ -217,7 +217,7 @@ describe('runPromote — batch promotion (INS-1813)', () => {
|
|
|
217
217
|
});
|
|
218
218
|
let caught;
|
|
219
219
|
try {
|
|
220
|
-
await
|
|
220
|
+
await runEntryAccept({ entryIds: ['TEN-2', 'INS-3', 'DEC-4'] });
|
|
221
221
|
}
|
|
222
222
|
catch (err) {
|
|
223
223
|
caught = err;
|
|
@@ -254,7 +254,7 @@ describe('runPromote — batch promotion (INS-1813)', () => {
|
|
|
254
254
|
});
|
|
255
255
|
let caught;
|
|
256
256
|
try {
|
|
257
|
-
await
|
|
257
|
+
await runEntryAccept({ entryIds: ['TEN-2', 'INS-3', 'DEC-4'] });
|
|
258
258
|
}
|
|
259
259
|
catch (err) {
|
|
260
260
|
caught = err;
|
|
@@ -286,7 +286,7 @@ describe('runPromote — batch promotion (INS-1813)', () => {
|
|
|
286
286
|
});
|
|
287
287
|
let caught;
|
|
288
288
|
try {
|
|
289
|
-
await
|
|
289
|
+
await runEntryAccept({ entryIds: ['TEN-2', 'INS-3'] });
|
|
290
290
|
}
|
|
291
291
|
catch (err) {
|
|
292
292
|
caught = err;
|
|
@@ -298,8 +298,8 @@ describe('runPromote — batch promotion (INS-1813)', () => {
|
|
|
298
298
|
});
|
|
299
299
|
it('rejects when the batch is empty after trimming', async () => {
|
|
300
300
|
installRoutes();
|
|
301
|
-
await expect(
|
|
301
|
+
await expect(runEntryAccept({ entryIds: [' ', ''] })).rejects.toThrow('Entry ID is required');
|
|
302
302
|
expect(kernelCallWithSessionMock).not.toHaveBeenCalled();
|
|
303
303
|
});
|
|
304
304
|
});
|
|
305
|
-
//# sourceMappingURL=
|
|
305
|
+
//# sourceMappingURL=entryAccept-batch.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entryAccept-batch.test.js","sourceRoot":"","sources":["../../src/__tests__/entryAccept-batch.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entryAccept.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/entryAccept.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* pb promote — verify kernelCallWithSession sequence and args.
|
|
2
|
+
* pb entry accept (formerly pb promote, DEC-1578) — verify kernelCallWithSession sequence and args.
|
|
3
3
|
* Covers: happy path (direct commit), governance proposal, no session, empty entryId,
|
|
4
4
|
* and the SERVER-side auto-verify receipt (WP-B, attestation-model spec §4.3 — the
|
|
5
5
|
* old client-side verify-then-retry on QUALITY_GATE_BLOCKED is deleted dead code).
|
|
6
6
|
*/
|
|
7
7
|
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
8
|
-
import {
|
|
8
|
+
import { runEntryAccept } from '../commands/entryAccept.js';
|
|
9
9
|
const kernelCallWithSessionMock = vi.fn();
|
|
10
10
|
// Hoist McpError so it's available both in the mock factory and in test bodies.
|
|
11
11
|
// The client mock must export the same class other lib consumers import; the
|
|
12
|
-
// tests use it to shape server-thrown errors (WP-B deleted
|
|
12
|
+
// tests use it to shape server-thrown errors (WP-B deleted entryAccept.ts's own
|
|
13
13
|
// McpError-instanceof retry, so only the mock factory needs the class now).
|
|
14
14
|
const { MockMcpError } = vi.hoisted(() => {
|
|
15
15
|
class MockMcpError extends Error {
|
|
@@ -27,7 +27,7 @@ const { MockMcpError } = vi.hoisted(() => {
|
|
|
27
27
|
vi.mock('../lib/client.js', async () => ({
|
|
28
28
|
kernelCallWithSession: (...args) => kernelCallWithSessionMock(...args),
|
|
29
29
|
McpError: MockMcpError,
|
|
30
|
-
// WP-753 O5a fix round 2: real implementation, not a stub —
|
|
30
|
+
// WP-753 O5a fix round 2: real implementation, not a stub — entryAccept.ts's abort predicate
|
|
31
31
|
// depends on its actual per-entry-code classification, not a mocked always-true/false.
|
|
32
32
|
isPerEntryAuthorizationRefusal: (await vi.importActual('../lib/client.js')).isPerEntryAuthorizationRefusal,
|
|
33
33
|
}));
|
|
@@ -35,7 +35,7 @@ vi.mock('../lib/config.js', () => ({
|
|
|
35
35
|
getConfigOrGuide: vi.fn(() => Promise.resolve({ apiKey: 'pb_sk_test', siteUrl: 'https://test.convex.site' })),
|
|
36
36
|
}));
|
|
37
37
|
// Output mode is controllable per-test via runnerState.jsonMode (defaults to pretty,
|
|
38
|
-
// so existing
|
|
38
|
+
// so existing formatEntryAcceptReceipt assertions keep working). The mock runCliCommand
|
|
39
39
|
// mirrors the real one: JSON.stringify in json mode, formatPretty otherwise.
|
|
40
40
|
const { runnerState } = vi.hoisted(() => ({ runnerState: { jsonMode: false } }));
|
|
41
41
|
vi.mock('../lib/runner.js', () => ({
|
|
@@ -54,7 +54,7 @@ let mockSession = { sessionId: 'sess-test' };
|
|
|
54
54
|
vi.mock('../lib/session.js', () => ({
|
|
55
55
|
readSession: () => mockSession,
|
|
56
56
|
}));
|
|
57
|
-
describe('
|
|
57
|
+
describe('runEntryAccept', () => {
|
|
58
58
|
beforeEach(() => {
|
|
59
59
|
vi.clearAllMocks();
|
|
60
60
|
mockSession = { sessionId: 'sess-test' };
|
|
@@ -71,7 +71,7 @@ describe('runPromote', () => {
|
|
|
71
71
|
version: 1,
|
|
72
72
|
});
|
|
73
73
|
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
74
|
-
await
|
|
74
|
+
await runEntryAccept({ entryId: 'TEN-951' });
|
|
75
75
|
writeSpy.mockRestore();
|
|
76
76
|
expect(kernelCallWithSessionMock).toHaveBeenCalledWith('chain.commitEntry', {
|
|
77
77
|
entryId: 'TEN-951',
|
|
@@ -90,7 +90,7 @@ describe('runPromote', () => {
|
|
|
90
90
|
version: 1,
|
|
91
91
|
});
|
|
92
92
|
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
93
|
-
await
|
|
93
|
+
await runEntryAccept({ entryId: 'TEN-951', message: 'Validated and ready' });
|
|
94
94
|
writeSpy.mockRestore();
|
|
95
95
|
expect(kernelCallWithSessionMock).toHaveBeenCalledWith('chain.commitEntry', {
|
|
96
96
|
entryId: 'TEN-951',
|
|
@@ -111,10 +111,10 @@ describe('runPromote', () => {
|
|
|
111
111
|
version: 1,
|
|
112
112
|
});
|
|
113
113
|
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
114
|
-
await
|
|
114
|
+
await runEntryAccept({ entryId: 'TEN-951' });
|
|
115
115
|
const output = writeSpy.mock.calls.map(c => String(c[0])).join('');
|
|
116
116
|
writeSpy.mockRestore();
|
|
117
|
-
expect(output).toContain('
|
|
117
|
+
expect(output).toContain('Accepted TEN-951');
|
|
118
118
|
expect(output).toContain('draft');
|
|
119
119
|
expect(output).toContain('active');
|
|
120
120
|
expect(output).toContain('v1');
|
|
@@ -131,7 +131,7 @@ describe('runPromote', () => {
|
|
|
131
131
|
name: 'Some governed decision',
|
|
132
132
|
});
|
|
133
133
|
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
134
|
-
await
|
|
134
|
+
await runEntryAccept({ entryId: 'DEC-100' });
|
|
135
135
|
const output = writeSpy.mock.calls.map(c => String(c[0])).join('');
|
|
136
136
|
writeSpy.mockRestore();
|
|
137
137
|
expect(output).toContain('Created proposal');
|
|
@@ -154,7 +154,7 @@ describe('runPromote', () => {
|
|
|
154
154
|
},
|
|
155
155
|
});
|
|
156
156
|
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
157
|
-
await
|
|
157
|
+
await runEntryAccept({ entryId: 'BET-151' });
|
|
158
158
|
const output = writeSpy.mock.calls.map(c => String(c[0])).join('');
|
|
159
159
|
writeSpy.mockRestore();
|
|
160
160
|
expect(output).toContain('Quality warnings');
|
|
@@ -163,16 +163,16 @@ describe('runPromote', () => {
|
|
|
163
163
|
});
|
|
164
164
|
it('throws CLIError with no active session', async () => {
|
|
165
165
|
mockSession = null;
|
|
166
|
-
await expect(
|
|
166
|
+
await expect(runEntryAccept({ entryId: 'TEN-951' })).rejects.toThrow('No active session');
|
|
167
167
|
expect(kernelCallWithSessionMock).not.toHaveBeenCalled();
|
|
168
168
|
});
|
|
169
169
|
it('throws CLIError with empty entryId', async () => {
|
|
170
|
-
await expect(
|
|
170
|
+
await expect(runEntryAccept({ entryId: ' ' })).rejects.toThrow('Entry ID is required');
|
|
171
171
|
expect(kernelCallWithSessionMock).not.toHaveBeenCalled();
|
|
172
172
|
});
|
|
173
173
|
it('handles server errors thrown during commit', async () => {
|
|
174
174
|
kernelCallWithSessionMock.mockRejectedValue(new Error('Entry not found.'));
|
|
175
|
-
await expect(
|
|
175
|
+
await expect(runEntryAccept({ entryId: 'TEN-999' })).rejects.toThrow('Entry not found.');
|
|
176
176
|
});
|
|
177
177
|
// WP-485 Slice 2b (R2, FEAT-1370): the client no longer decides — it discovers and hands
|
|
178
178
|
// the candidates to commitEntry as evidence. The enforcement decision (Slice 2a) lives
|
|
@@ -195,7 +195,7 @@ describe('runPromote', () => {
|
|
|
195
195
|
version: 1,
|
|
196
196
|
});
|
|
197
197
|
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
198
|
-
await
|
|
198
|
+
await runEntryAccept({ entryId: 'DEC-100' });
|
|
199
199
|
writeSpy.mockRestore();
|
|
200
200
|
expect(kernelCallWithSessionMock).toHaveBeenCalledWith('chain.commitEntry', {
|
|
201
201
|
entryId: 'DEC-100',
|
|
@@ -220,7 +220,7 @@ describe('runPromote', () => {
|
|
|
220
220
|
},
|
|
221
221
|
])
|
|
222
222
|
.mockRejectedValueOnce(new MockMcpError('Blocked by contradiction with DEC-42.', 'CONTRADICTION_BLOCKED'));
|
|
223
|
-
await expect(
|
|
223
|
+
await expect(runEntryAccept({ entryId: 'DEC-100' })).rejects.toThrow('Blocked by contradiction with DEC-42.');
|
|
224
224
|
const commitCalls = kernelCallWithSessionMock.mock.calls.filter((c) => c[0] === 'chain.commitEntry');
|
|
225
225
|
expect(commitCalls).toHaveLength(1);
|
|
226
226
|
});
|
|
@@ -259,10 +259,10 @@ describe('runPromote', () => {
|
|
|
259
259
|
},
|
|
260
260
|
});
|
|
261
261
|
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
262
|
-
await
|
|
262
|
+
await runEntryAccept({ entryId: 'DEC-100' });
|
|
263
263
|
const output = writeSpy.mock.calls.map((c) => String(c[0])).join('');
|
|
264
264
|
writeSpy.mockRestore();
|
|
265
|
-
expect(output).toContain('
|
|
265
|
+
expect(output).toContain('Accepted DEC-100');
|
|
266
266
|
expect(output).toContain('Contradiction advisory');
|
|
267
267
|
expect(output).toContain('Advisory only — not yet graduated to blocking.');
|
|
268
268
|
expect(output).toContain('DEC-42');
|
|
@@ -281,12 +281,12 @@ describe('runPromote', () => {
|
|
|
281
281
|
autoVerified: { strength: 'delegated', basis: 'attested', context: 'promote-gate', verifiedBy: 'agent for Randy Test' },
|
|
282
282
|
});
|
|
283
283
|
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
284
|
-
await
|
|
284
|
+
await runEntryAccept({ entryId: 'INS-100' });
|
|
285
285
|
const output = writeSpy.mock.calls.map(c => String(c[0])).join('');
|
|
286
286
|
writeSpy.mockRestore();
|
|
287
287
|
// THE RECEIPT SAYS SO (spec §4.3) — silence here is a structural regression.
|
|
288
|
-
expect(output).toContain('
|
|
289
|
-
expect(output).toContain('Auto-verified as part of
|
|
288
|
+
expect(output).toContain('Accepted INS-100');
|
|
289
|
+
expect(output).toContain('Auto-verified as part of accept — delegated (agent for Randy Test)');
|
|
290
290
|
// The client-side verify-then-retry is dead code: verifyEntry never called,
|
|
291
291
|
// commitEntry called exactly once.
|
|
292
292
|
expect(kernelCallWithSessionMock).not.toHaveBeenCalledWith('chain.verifyEntry', expect.anything());
|
|
@@ -301,7 +301,7 @@ describe('runPromote', () => {
|
|
|
301
301
|
.mockResolvedValueOnce([])
|
|
302
302
|
// call 3: chain.commitEntry → an OLD server still throws the verification block
|
|
303
303
|
.mockRejectedValueOnce(new MockMcpError('Agent-origin entry requires verification before commit', 'QUALITY_GATE_BLOCKED'));
|
|
304
|
-
await expect(
|
|
304
|
+
await expect(runEntryAccept({ entryId: 'INS-100' })).rejects.toThrow('requires verification');
|
|
305
305
|
expect(kernelCallWithSessionMock).not.toHaveBeenCalledWith('chain.verifyEntry', expect.anything());
|
|
306
306
|
const commitCalls = kernelCallWithSessionMock.mock.calls.filter(c => c[0] === 'chain.commitEntry');
|
|
307
307
|
expect(commitCalls).toHaveLength(1);
|
|
@@ -314,7 +314,7 @@ describe('runPromote', () => {
|
|
|
314
314
|
.mockResolvedValueOnce([])
|
|
315
315
|
// call 3: chain.commitEntry → blocked for a different reason (missing fields)
|
|
316
316
|
.mockRejectedValueOnce(new MockMcpError('Entry missing required fields', 'QUALITY_GATE_BLOCKED'));
|
|
317
|
-
await expect(
|
|
317
|
+
await expect(runEntryAccept({ entryId: 'BET-200' })).rejects.toThrow('Entry missing required fields');
|
|
318
318
|
// verifyEntry must never have been called
|
|
319
319
|
expect(kernelCallWithSessionMock).not.toHaveBeenCalledWith('chain.verifyEntry', expect.anything());
|
|
320
320
|
});
|
|
@@ -350,7 +350,7 @@ describe('runPromote', () => {
|
|
|
350
350
|
.mockResolvedValueOnce({ status: 'coherency_refused', refusal });
|
|
351
351
|
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
352
352
|
// The throw carries the gate's own reason (so humans see the cause on stderr).
|
|
353
|
-
await expect(
|
|
353
|
+
await expect(runEntryAccept({ entryId: 'DEC-500' })).rejects.toThrow(/Steering gate returned/);
|
|
354
354
|
const output = writeSpy.mock.calls.map((c) => String(c[0])).join('');
|
|
355
355
|
writeSpy.mockRestore();
|
|
356
356
|
// The structured { outcome: 'refused', refusal } envelope reached stdout (machine-readable),
|
|
@@ -371,7 +371,7 @@ describe('runPromote', () => {
|
|
|
371
371
|
refusal: { reason: 'Refused by the coherency gate.' },
|
|
372
372
|
});
|
|
373
373
|
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
374
|
-
await expect(
|
|
374
|
+
await expect(runEntryAccept({ entryId: 'DEC-500' })).rejects.toThrow(/coherency/i);
|
|
375
375
|
const output = writeSpy.mock.calls.map((c) => String(c[0])).join('');
|
|
376
376
|
writeSpy.mockRestore();
|
|
377
377
|
expect(output).not.toContain('"outcome":"refused"');
|
|
@@ -390,10 +390,10 @@ describe('runPromote', () => {
|
|
|
390
390
|
steeringAdvisory: 'This decision is not linked to the strategic spine.',
|
|
391
391
|
});
|
|
392
392
|
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
393
|
-
await
|
|
393
|
+
await runEntryAccept({ entryId: 'DEC-600' });
|
|
394
394
|
const output = writeSpy.mock.calls.map((c) => String(c[0])).join('');
|
|
395
395
|
writeSpy.mockRestore();
|
|
396
|
-
expect(output).toContain('
|
|
396
|
+
expect(output).toContain('Accepted DEC-600');
|
|
397
397
|
expect(output).toContain('Coherency advisory');
|
|
398
398
|
expect(output).toContain('This decision is not linked to the strategic spine.');
|
|
399
399
|
});
|
|
@@ -421,7 +421,7 @@ describe('runPromote', () => {
|
|
|
421
421
|
.mockResolvedValueOnce([{ chainEntryId: 'DEC-42', chainEntryName: 'Existing decision', type: 'contradiction', confidence: 0.9, explanation: 'Directly contradicts the approved baseline.' }])
|
|
422
422
|
.mockResolvedValueOnce({ _id: 'j2', entryId: 'DEC-100', versionId: 'v1', version: 1, contradictionAdvisory: advisory });
|
|
423
423
|
const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
424
|
-
await
|
|
424
|
+
await runEntryAccept({ entryIds: ['TEN-951', 'DEC-100'] });
|
|
425
425
|
const output = writeSpy.mock.calls.map((c) => String(c[0])).join('');
|
|
426
426
|
writeSpy.mockRestore();
|
|
427
427
|
const parsed = JSON.parse(output.trim());
|
|
@@ -430,4 +430,4 @@ describe('runPromote', () => {
|
|
|
430
430
|
expect(parsed[1].contradictionAdvisory).toEqual(advisory);
|
|
431
431
|
});
|
|
432
432
|
});
|
|
433
|
-
//# sourceMappingURL=
|
|
433
|
+
//# sourceMappingURL=entryAccept.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entryAccept.test.js","sourceRoot":"","sources":["../../src/__tests__/entryAccept.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,9 +78,7 @@ async function setupAugmentMocks(manifestYaml) {
|
|
|
78
78
|
generateCursorSkill: vi.fn().mockReturnValue(''),
|
|
79
79
|
generateCursorRule: vi.fn().mockReturnValue(''),
|
|
80
80
|
generateCodexSkill: vi.fn().mockReturnValue(''),
|
|
81
|
-
generateClaudeRule: vi.fn().mockReturnValue(''),
|
|
82
81
|
generateCodexSkillIndex: vi.fn().mockReturnValue(''),
|
|
83
|
-
generateClaudeSkillRouter: vi.fn().mockReturnValue(''),
|
|
84
82
|
shouldEmitToTarget: vi.fn().mockReturnValue(false),
|
|
85
83
|
filterByLevel: vi.fn().mockImplementation((items) => items),
|
|
86
84
|
evaluateConditions: vi.fn().mockReturnValue({ included: true, reasons: [] }),
|