@productbrain/cli 0.1.0-beta.10904 → 0.1.0-beta.10914

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 (47) hide show
  1. package/dist/__tests__/capture-receipt-role-hint.test.js +2 -5
  2. package/dist/__tests__/capture-receipt-role-hint.test.js.map +1 -1
  3. package/dist/__tests__/capture.test.js +83 -621
  4. package/dist/__tests__/capture.test.js.map +1 -1
  5. package/dist/__tests__/rate-limit-resilience.test.js +2 -36
  6. package/dist/__tests__/rate-limit-resilience.test.js.map +1 -1
  7. package/dist/__tests__/removed-commands.test.js +8 -2
  8. package/dist/__tests__/removed-commands.test.js.map +1 -1
  9. package/dist/__tests__/session-touch.test.js +48 -112
  10. package/dist/__tests__/session-touch.test.js.map +1 -1
  11. package/dist/__tests__/workspaceNotice.test.js +3 -15
  12. package/dist/__tests__/workspaceNotice.test.js.map +1 -1
  13. package/dist/commands/capture.d.ts +4 -9
  14. package/dist/commands/capture.d.ts.map +1 -1
  15. package/dist/commands/capture.js +30 -151
  16. package/dist/commands/capture.js.map +1 -1
  17. package/dist/handleCliError.d.ts +0 -2
  18. package/dist/handleCliError.d.ts.map +1 -1
  19. package/dist/handleCliError.js +3 -0
  20. package/dist/handleCliError.js.map +1 -1
  21. package/dist/index.js +1 -2
  22. package/dist/index.js.map +1 -1
  23. package/dist/lib/client.d.ts +9 -10
  24. package/dist/lib/client.d.ts.map +1 -1
  25. package/dist/lib/client.js +19 -62
  26. package/dist/lib/client.js.map +1 -1
  27. package/dist/lib/rate-limit.js +1 -1
  28. package/dist/registerEntryCommands.d.ts.map +1 -1
  29. package/dist/registerEntryCommands.js +1 -2
  30. package/dist/registerEntryCommands.js.map +1 -1
  31. package/package.json +1 -1
  32. package/dist/__tests__/collection-registry-seed-drift.test.d.ts +0 -2
  33. package/dist/__tests__/collection-registry-seed-drift.test.d.ts.map +0 -1
  34. package/dist/__tests__/collection-registry-seed-drift.test.js +0 -102
  35. package/dist/__tests__/collection-registry-seed-drift.test.js.map +0 -1
  36. package/dist/lib/captureGrounding.d.ts +0 -48
  37. package/dist/lib/captureGrounding.d.ts.map +0 -1
  38. package/dist/lib/captureGrounding.js +0 -54
  39. package/dist/lib/captureGrounding.js.map +0 -1
  40. package/dist/lib/captureGrounding.test.d.ts +0 -2
  41. package/dist/lib/captureGrounding.test.d.ts.map +0 -1
  42. package/dist/lib/captureGrounding.test.js +0 -74
  43. package/dist/lib/captureGrounding.test.js.map +0 -1
  44. package/dist/lib/collectionRegistry.d.ts +0 -73
  45. package/dist/lib/collectionRegistry.d.ts.map +0 -1
  46. package/dist/lib/collectionRegistry.js +0 -135
  47. package/dist/lib/collectionRegistry.js.map +0 -1
@@ -283,14 +283,18 @@ const PB_TELEMETRY_SOURCE = 'cli';
283
283
  * gateway's query metric can count the requests and seconds behind each command.
284
284
  */
285
285
  const PB_COMMAND_ID = randomUUID();
286
- /** Headers every gateway request carries: connector identity and the command it serves. */
287
- export function gatewayHeaders(apiKey) {
286
+ /**
287
+ * Headers every gateway request carries: connector identity and the command it serves. TASK-894 (DEC-2113):
288
+ * `sessionId` rides as `x-pb-session` and the gateway touches that session, so no second request does.
289
+ */
290
+ export function gatewayHeaders(apiKey, sessionId) {
288
291
  return {
289
292
  'Content-Type': 'application/json',
290
293
  Authorization: `Bearer ${apiKey}`,
291
294
  // DEC-1207: attribute this connector for the gateway's context.served seam.
292
295
  'x-pb-source': PB_TELEMETRY_SOURCE,
293
296
  'x-pb-command': PB_COMMAND_ID,
297
+ ...(sessionId ? { 'x-pb-session': sessionId } : {}),
294
298
  };
295
299
  }
296
300
  /**
@@ -319,7 +323,7 @@ function boundSessionFor(args) {
319
323
  * cascade" shape WP-692's TEN-3239 warned about. Folding the check in here removes all three
320
324
  * duplicates; every caller, read or write, now shares this one call site.
321
325
  */
322
- async function fetchKernelEnvelope(fn, args, options) {
326
+ async function fetchKernelEnvelope(fn, args, options, touchSessionId) {
323
327
  const { apiKey, siteUrl } = getConfig();
324
328
  // The ONE guard call site. `describeCurrentTenantForRefusal()` only runs inside the thunk, so
325
329
  // it costs nothing on the ordinary (no session, or unchanged binding) path — invoked only
@@ -337,7 +341,7 @@ async function fetchKernelEnvelope(fn, args, options) {
337
341
  res = await fetch(`${siteUrl}/api/aki`, {
338
342
  method: 'POST',
339
343
  signal: AbortSignal.timeout(budgetMs),
340
- headers: gatewayHeaders(apiKey),
344
+ headers: gatewayHeaders(apiKey, touchSessionId),
341
345
  body: JSON.stringify({ fn, args }),
342
346
  });
343
347
  }
@@ -350,37 +354,13 @@ async function fetchKernelEnvelope(fn, args, options) {
350
354
  }
351
355
  return parsed;
352
356
  }, options));
353
- // apiKey/siteUrl travel out alongside the envelope (PR #810 review, Copilot) — kernelCallWithSession
354
- // needs them AFTER this resolves, for the post-write touch. Returning them here means getConfig()
355
- // is called exactly ONCE per kernelCall*, never re-resolved by a caller that already has them.
356
- return { envelope, apiKey, siteUrl };
357
+ return envelope;
357
358
  }
358
359
  export async function kernelCall(fn, args = {}, options) {
359
- const { envelope } = await fetchKernelEnvelope(fn, args, options);
360
+ const envelope = await fetchKernelEnvelope(fn, args, options);
360
361
  await emitEffectiveTenantNotice(); // WP-714 S3: the read path announces too (once/process).
361
362
  return envelope.data;
362
363
  }
363
- /**
364
- * Raw fetch to the gateway — no spinner, swallows errors.
365
- * Used for fire-and-forget operations (e.g. session touch) where visible feedback is noise.
366
- */
367
- async function mcpFetchRaw(fn, args, apiKey, siteUrl) {
368
- try {
369
- await fetch(`${siteUrl}/api/aki`, {
370
- method: 'POST',
371
- // WP-575: fire-and-forget still gets the declared budget. Errors are swallowed either
372
- // way, so this is not about the message — it is about not leaving a socket and a
373
- // pending promise open indefinitely on a stuck backend behind an already-returned
374
- // command. "Best-effort" was never meant to mean "unbounded".
375
- signal: AbortSignal.timeout(latencyBudgetMsForRoute(fn)),
376
- headers: gatewayHeaders(apiKey),
377
- body: JSON.stringify({ fn, args }),
378
- });
379
- }
380
- catch {
381
- // Best-effort — silently swallow all errors
382
- }
383
- }
384
364
  /**
385
365
  * kernelCall variant for write operations. Callers that need server-side session
386
366
  * validation (e.g. `chain.verifyEntry`) pass `sessionId` in `args` explicitly —
@@ -388,41 +368,18 @@ async function mcpFetchRaw(fn, args, apiKey, siteUrl) {
388
368
  * `X-Agent-Session-Id` header).
389
369
  * All write commands (update, relate, unrelate, capture) should use this.
390
370
  *
391
- * WP-711/712: the binding guard lives in the shared fetchKernelEnvelope. TEN-3398 (follow-up)
392
- * added the effective-tenant notice here too, alongside the post-write session-touch below.
393
- *
394
- * After a successful write, fires a non-blocking `agent.touchSession` call to
395
- * renew the session TTL — mirroring MCP server behavior (DEC-299, BET-181 Slice 1).
396
- * The touch is fire-and-forget: it does not block the write response, and errors
397
- * are silently swallowed. No touch is attempted if no session is active or if
398
- * the write itself fails.
371
+ * WP-711/712: the binding guard lives in the shared fetchKernelEnvelope.
372
+ * TASK-894 (DEC-2113): the write carries the ambient session as `x-pb-session` and the gateway renews it
373
+ * (DEC-299, BET-181 Slice 1), so no second request follows the write. Throttled to the server's own 5 s
374
+ * no-op window (TEN-2923); `skipSessionTouch` opts a --dry-run-style caller out (WP-688 S2a, thread bb1oj).
399
375
  */
400
376
  export async function kernelCallWithSession(fn, args = {}, options) {
401
- // Ambient session, for the post-write touch below — deliberately NOT `boundSessionFor(args)`:
402
- // the touch always renews the marker actually in play locally, regardless of which session an
403
- // explicit `sessionId` in `args` asked the guard to validate against.
377
+ // The ambient marker, never `boundSessionFor(args)`: the touch renews the session actually in play locally.
404
378
  const session = readSession();
405
- // apiKey/siteUrl come back FROM fetchKernelEnvelope rather than a second getConfig() call here
406
- // (PR #810 review, Copilot): the old code called getConfig() once here and again inside the
407
- // shared fetch, so the touch below could in principle read a different resolution than the
408
- // write it is renewing. Reusing the pair fetchKernelEnvelope already resolved makes that
409
- // impossible by construction, not just unlikely.
410
- const { envelope, apiKey, siteUrl } = await fetchKernelEnvelope(fn, args, options);
411
- // TEN-3398 (follow-up): the write path announces too — see workspaceNotice.ts's doc comment
412
- // on emitEffectiveTenantNotice for what this closes and why it's safe to call here.
379
+ const touch = !options?.skipSessionTouch && session?.sessionId && shouldTouchSession(session.sessionId) ? session.sessionId : undefined;
380
+ const envelope = await fetchKernelEnvelope(fn, args, options, touch);
381
+ // TEN-3398 (follow-up): the write path announces too — see workspaceNotice.ts's emitEffectiveTenantNotice.
413
382
  await emitEffectiveTenantNotice();
414
- const result = envelope.data;
415
- // Fire-and-forget session touch — best-effort, never blocks the write response.
416
- // Uses mcpFetchRaw (not kernelCall) to avoid recursion and suppress the visible spinner
417
- // that would appear if kernelCall were used here (background ops are silent noise).
418
- // TEN-2923: throttled to match the server's own no-op window (shouldTouchSession) — a
419
- // touch inside that window would just burn quota on a call the server already discards.
420
- // WP-688 S2a review fix (thread bb1oj): `skipSessionTouch` opts a --dry-run-style caller
421
- // out entirely — the door itself may not write, but this touch is a REAL session-row
422
- // patch, and "no write" must mean none, not "none except telemetry".
423
- if (!options?.skipSessionTouch && session?.sessionId && shouldTouchSession(session.sessionId)) {
424
- void mcpFetchRaw('agent.touchSession', { sessionId: session.sessionId }, apiKey, siteUrl);
425
- }
426
- return result;
383
+ return envelope.data;
427
384
  }
428
385
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ export function maybeRetry(attempt, options) {
63
63
  }
64
64
  /**
65
65
  * TEN-2923: client-side throttle mirroring packages/mcp-server/src/client.ts's
66
- * touchSessionActivity — the server already no-ops a touch made <5s after the last one
66
+ * sessionTouchHeader — the server already no-ops a touch made <5s after the last one
67
67
  * for this session (TOUCH_SESSION_THROTTLE_MS, DEC-75), so a touch inside that window is
68
68
  * pure wasted quota. Matching the server's own window here removes the waste without
69
69
  * changing renewal semantics at all (a throttled call was already a server-side no-op).
@@ -1 +1 @@
1
- {"version":3,"file":"registerEntryCommands.d.ts","sourceRoot":"","sources":["../src/registerEntryCommands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqG5D;AAOD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgB7D"}
1
+ {"version":3,"file":"registerEntryCommands.d.ts","sourceRoot":"","sources":["../src/registerEntryCommands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoG5D;AAOD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgB7D"}
@@ -30,7 +30,6 @@ export function registerEntryCommands(program) {
30
30
  .option('--source-excerpt <text>', 'Verbatim source excerpt (BET-240 E2)')
31
31
  .option('--draft', 'Force the entry to draft regardless of workspace governance mode (TEN-2226)')
32
32
  .option('--json', 'Output machine-readable JSON (deprecated: use global --json flag)')
33
- .option('--strict', 'Prompt y/N before capturing when a possible duplicate is detected (WP-319)')
34
33
  // WP-640 SWEEP (#653 review): `propose` is advertised as the same draft door as
35
34
  // `pb capture` (DEC-1583), but this rung-2 ownership option was never registered or
36
35
  // forwarded here — an ownership-scoped propose hit "unknown option" instead of reaching
@@ -49,7 +48,7 @@ export function registerEntryCommands(program) {
49
48
  await runCapture({
50
49
  text: text || opts.name || '', name: opts.name, description: opts.description, collection: opts.collection,
51
50
  field: opts.field, link: opts.link, linkType: opts.linkType, sourceRef: opts.sourceRef, sourceExcerpt: opts.sourceExcerpt,
52
- draft: opts.draft, json: opts.json, strict: opts.strict,
51
+ draft: opts.draft, json: opts.json,
53
52
  ownerRole: opts.ownerRole, team: opts.team,
54
53
  });
55
54
  });
@@ -1 +1 @@
1
- {"version":3,"file":"registerEntryCommands.js","sourceRoot":"","sources":["../src/registerEntryCommands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registerEntryCommands.js","sourceRoot":"","sources":["../src/registerEntryCommands.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@productbrain/cli",
3
- "version": "0.1.0-beta.10904",
3
+ "version": "0.1.0-beta.10914",
4
4
  "description": "Product Brain — Chain knowledge and write-back CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=collection-registry-seed-drift.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collection-registry-seed-drift.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/collection-registry-seed-drift.test.ts"],"names":[],"mappings":""}
@@ -1,102 +0,0 @@
1
- /**
2
- * WP-480 S2 (FEAT-1359) — content pin for the CLI collection-registry SEED
3
- * fallback (TEN-2219's second named instance, explicitly dispositioned).
4
- *
5
- * The online path derives from `chain.listCollections`; SEED in
6
- * src/lib/collectionRegistry.ts is the OFFLINE FAIL-OPEN FALLBACK only, so it
7
- * needs day-zero accuracy — pinned here against the canonical day-zero seed
8
- * truth, `convex/lib/seedClassificationRegistry.ts`, on the {slug, idPrefix}
9
- * projection (both sides are seed truth; runtime values live on collection
10
- * docs and are out of scope for the fallback).
11
- *
12
- * Fingerprint is a rule, not a per-instance hash (INS-2177): the canonical
13
- * entries are re-extracted from the source on every run, so adding, removing,
14
- * or re-prefixing a collection upstream fails here until SEED is updated.
15
- *
16
- * Carve-outs: CLI-only legacy/launch aliases with no canonical counterpart, excluded
17
- * from the comparison —
18
- * - `work-packages → BET` (BET-230 rename backward compat; canonical maps only WP).
19
- * - `objectives → KEY` (P1 review PRRT_kwDORS4ils6cUz6M, WP-686 S6): the canonical
20
- * registry flipped objectives's idPrefix from KEY to OBJ in place rather than
21
- * adding a parallel row, but a version-skewed offline CLI against a not-yet-
22
- * migrated workspace still needs "KEY: ..." capture-prefix routing to work.
23
- * - `rules → RULE` (PR #778 review round 2, P2 PRRT_kwDORS4ils6c4_9J): 'rules' is
24
- * launch-14-v1's fold target, a SEED_TYPE_REGISTRY-only concept with no row in
25
- * SEED_CLASSIFICATION_REGISTRY (the canonical source this pin compares against),
26
- * but "RULE: ..." must still take the offline prefix fast path.
27
- * - `vision → VIS`, `purpose → PUR` (WP-707 S1 round 3.1, DEC-1622, Codex post-round-3
28
- * P2): brand-new 1:1 drawers this same PR adds — no canonical day-zero seed row
29
- * exists yet, but the generalized --entry-type derivation and "VIS:"/"PUR:"
30
- * capture-prefix routing both need them present offline.
31
- *
32
- * Retirements — the inverse of a carve-out: canonical still declares these rows (they
33
- * describe the classifier's day-zero prompt inputs, unrelated to catalog retirement), but
34
- * SEED must NOT route a prefix to a retired drawer (P3b U0 review round 2, TASK-401; WP-780,
35
- * DEC-1962, PR #1543 review). The retired set is read from the catalog file
36
- * (dev-system-collections.json, rows carrying retiredAt), never a hand list, and excluded from
37
- * the canonical side of the comparison.
38
- *
39
- * CLI tests run with the repo root as the vitest root; the canonical source is
40
- * reached relative to this test file (same pattern as coaching-mirror-drift).
41
- */
42
- import { describe, it, expect } from 'vitest';
43
- import { readFileSync } from 'node:fs';
44
- import { join, dirname } from 'node:path';
45
- import { fileURLToPath } from 'node:url';
46
- import { SEED } from '../lib/collectionRegistry.js';
47
- const __dirname = dirname(fileURLToPath(import.meta.url));
48
- const CANONICAL_PATH = join(__dirname, '..', '..', '..', '..', 'convex', 'lib', 'seedClassificationRegistry.ts');
49
- /** The legacy aliases the pin deliberately ignores (no canonical counterpart). */
50
- const CARVE_OUTS = [
51
- { slug: 'work-packages', idPrefix: 'BET' },
52
- { slug: 'objectives', idPrefix: 'KEY' },
53
- { slug: 'rules', idPrefix: 'RULE' },
54
- { slug: 'vision', idPrefix: 'VIS' },
55
- { slug: 'purpose', idPrefix: 'PUR' },
56
- ];
57
- /** Collections the catalog marks retired (WP-780, DEC-1962): the canonical classifier registry still declares
58
- * them (a separate, unrelated concept), but SEED must not offer their prefix as an offline route to a retired
59
- * drawer. Read from the catalog file — the one decider of retirement. */
60
- const CATALOG_PATH = join(__dirname, '..', '..', '..', '..', 'dev-system-collections.json');
61
- const RETIRED_SLUGS = new Set(JSON.parse(readFileSync(CATALOG_PATH, 'utf-8'))
62
- .filter((row) => row.retiredAt !== undefined && row.retiredAt !== null)
63
- .map((row) => row.slug));
64
- /** Extraction rule: each SEED_CLASSIFICATION_REGISTRY entry is a one-line object
65
- * declaring `slug: '<s>'` and `idPrefix: '<p>'`. Extract only within the array. */
66
- function extractCanonicalProjection(source) {
67
- const arrayMatch = source.match(/SEED_CLASSIFICATION_REGISTRY[^=]*=\s*\[([\s\S]*?)\n\];/);
68
- expect(arrayMatch, 'SEED_CLASSIFICATION_REGISTRY array not found — extraction rule is stale').not.toBeNull();
69
- const body = arrayMatch[1];
70
- const entries = [];
71
- const entryRe = /^\s*\{\s*slug:\s*'([^']+)'.*?idPrefix:\s*'([^']+)'/gm;
72
- let m;
73
- while ((m = entryRe.exec(body)) !== null) {
74
- entries.push({ slug: m[1], idPrefix: m[2] });
75
- }
76
- return entries;
77
- }
78
- describe('collectionRegistry SEED content pin (WP-480 S2)', () => {
79
- it('SEED (minus the legacy-alias carve-outs and the retired-collection exclusions) matches the canonical {slug, idPrefix} projection', () => {
80
- const canonicalAll = extractCanonicalProjection(readFileSync(CANONICAL_PATH, 'utf-8'));
81
- // WP-690 S7 (TASK-120): 30 -> 20-plus — SEED_CLASSIFICATION_REGISTRY lost 9 rows for
82
- // retired canonicalKeys (45 -> 23 rows in SEED_TYPE_REGISTRY this same slice).
83
- expect(canonicalAll.length).toBeGreaterThanOrEqual(20);
84
- const project = (rows) => rows.map((r) => `${r.slug} → ${r.idPrefix}`).sort();
85
- const isCarveOut = (r) => CARVE_OUTS.some((c) => r.slug === c.slug && r.idPrefix === c.idPrefix);
86
- const isRetired = (r) => RETIRED_SLUGS.has(r.slug);
87
- const seedWithoutCarveOuts = SEED.filter((r) => !isCarveOut(r));
88
- const canonical = canonicalAll.filter((r) => !isRetired(r));
89
- expect(project(seedWithoutCarveOuts)).toEqual(project(canonical));
90
- });
91
- it('every carve-out alias is still present in SEED (each is load-bearing for its own prefix)', () => {
92
- for (const carveOut of CARVE_OUTS) {
93
- expect(SEED.some((r) => r.slug === carveOut.slug && r.idPrefix === carveOut.idPrefix), `expected SEED to still carry the ${carveOut.slug} → ${carveOut.idPrefix} legacy-alias row`).toBe(true);
94
- }
95
- });
96
- it('every collection the catalog marks retired is absent from SEED (no offline prefix route to a retired drawer)', () => {
97
- expect(RETIRED_SLUGS.size).toBeGreaterThanOrEqual(24); // the 24 retired catalog rows today (WP-780)
98
- const routed = SEED.filter((r) => RETIRED_SLUGS.has(r.slug)).map((r) => `${r.slug} → ${r.idPrefix}`);
99
- expect(routed, 'SEED routes a prefix to a collection the catalog marks retired').toEqual([]);
100
- });
101
- });
102
- //# sourceMappingURL=collection-registry-seed-drift.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collection-registry-seed-drift.test.js","sourceRoot":"","sources":["../../src/__tests__/collection-registry-seed-drift.test.ts"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- /**
2
- * `pb capture` grounding presentation helpers — extracted from capture.ts (WP-688 S4, TASK-105)
3
- * purely to fund that file's shrink-only LOC budget (STD-2/DEC-1504); no behavior change at
4
- * the time of that extraction.
5
- *
6
- * WP-755 C1a (TASK-215, DEC-1717): re-pointed at the one capture door's verdict shape
7
- * (`chain.capture`, replacing the deleted `chain.suggestLinksForCapture`). The old
8
- * related[]/duplicates[]/governance[] shape is gone — rendering now switches on
9
- * `CaptureVerdict.kind`. Known narrowing, cited here rather than silently dropped: the old
10
- * route's per-candidate governance severity (block/warn/inform on governed collections) has
11
- * no equivalent in the new door for C1a — it scored a DIFFERENT concern (governed-collection
12
- * advisory) layered on top of link suggestion, not one of DEC-1717's verdicts. Revisit
13
- * if governance advisory needs to ride the new door in a later slice. (A fourth verdict, `split`,
14
- * was scoped for C3/TASK-217 and never built — TEN-3699's ruling closed C3 as deletion-only.)
15
- *
16
- * `promptYN` stays used only by `--strict`'s "ask" verdict confirmation, unchanged.
17
- *
18
- * TASK-608 (WP-802, DEC-1915): the "Related" banner and the `--suggest-only` preview are deleted —
19
- * a capture reply shows no guessed relations; the door's "create" verdict carries no candidates.
20
- */
21
- import type { GatewayRouteReturnByName } from '@productbrain/kernel-client';
22
- /**
23
- * WP-755 C1a: the one door's verdict, as returned by chain.capture — the verdict union plus
24
- * `scanTruncated` (the candidate pool's own completeness signal, attached by the Convex wrapper
25
- * alongside the pure kernel verdict; see convex/capture/decide.ts).
26
- */
27
- export type CaptureVerdict = GatewayRouteReturnByName<'chain.capture'>;
28
- /**
29
- * Extract a known ID prefix hint from capture text.
30
- * Pattern: "FLO: description" or "TEN: something broken" — prefix must be uppercase,
31
- * followed by colon and optional whitespace, then the actual text.
32
- * Returns the resolved collection slug and the cleaned text (prefix stripped).
33
- */
34
- export declare function extractPrefixHint(text: string, prefixMap: Record<string, string>): {
35
- resolvedCollection: string | null;
36
- cleanText: string;
37
- };
38
- /** The verdict's top-scoring candidate, if any — used for grounding telemetry. */
39
- export declare function highestVerdictScore(verdict: CaptureVerdict | null): number;
40
- /**
41
- * Print the possible-match warning for an "ask" verdict, and the coverage note when the scan was
42
- * truncated — stderr only. TASK-608 (DEC-1915): a "create" verdict names no candidates, so no
43
- * related list is ever printed.
44
- */
45
- export declare function printPossibleMatch(verdict: CaptureVerdict): void;
46
- /** Prompt the user with a y/N question. Resolves true for "y", false otherwise. */
47
- export declare function promptYN(message: string): Promise<boolean>;
48
- //# sourceMappingURL=captureGrounding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"captureGrounding.d.ts","sourceRoot":"","sources":["../../src/lib/captureGrounding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAE5E;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;AAMvE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAAE,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAO3I;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,MAAM,CAI1E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAShE;AAED,mFAAmF;AACnF,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQhE"}
@@ -1,54 +0,0 @@
1
- function groundingCoverageNote(verdict) {
2
- return verdict.scanTruncated ? 'Grounding sample omitted accepted entries; additional matching entries may exist.' : null;
3
- }
4
- /**
5
- * Extract a known ID prefix hint from capture text.
6
- * Pattern: "FLO: description" or "TEN: something broken" — prefix must be uppercase,
7
- * followed by colon and optional whitespace, then the actual text.
8
- * Returns the resolved collection slug and the cleaned text (prefix stripped).
9
- */
10
- export function extractPrefixHint(text, prefixMap) {
11
- const match = text.match(/^([A-Z]{2,4}):\s*(.+)$/s);
12
- if (!match)
13
- return { resolvedCollection: null, cleanText: text };
14
- const [, prefix, rest] = match;
15
- const slug = prefixMap[prefix];
16
- if (!slug)
17
- return { resolvedCollection: null, cleanText: text };
18
- return { resolvedCollection: slug, cleanText: rest.trim() };
19
- }
20
- /** The verdict's top-scoring candidate, if any — used for grounding telemetry. */
21
- export function highestVerdictScore(verdict) {
22
- if (!verdict)
23
- return 0;
24
- if (verdict.kind === 'ask')
25
- return Math.max(...verdict.candidates.map((c) => c.score), 0); // raw max — candidates are ordered for display (lifted first), not by score
26
- return 0; // create — names no candidates (TASK-608, DEC-1915).
27
- }
28
- /**
29
- * Print the possible-match warning for an "ask" verdict, and the coverage note when the scan was
30
- * truncated — stderr only. TASK-608 (DEC-1915): a "create" verdict names no candidates, so no
31
- * related list is ever printed.
32
- */
33
- export function printPossibleMatch(verdict) {
34
- const coverageNote = groundingCoverageNote(verdict);
35
- if (verdict.kind === 'ask') {
36
- const items = verdict.candidates.slice(0, 3).map((c) => `${c.entryId} "${c.name}"`).join(', ');
37
- const note = coverageNote ? `\n ${coverageNote}` : '';
38
- process.stderr.write(`\n ⚠ Possible match — confirm before creating: ${items}${note}\n\n`);
39
- return;
40
- }
41
- if (verdict.kind === 'create' && coverageNote)
42
- process.stderr.write(`\n ${coverageNote}\n\n`);
43
- }
44
- /** Prompt the user with a y/N question. Resolves true for "y", false otherwise. */
45
- export async function promptYN(message) {
46
- return new Promise((resolve) => {
47
- process.stderr.write(message);
48
- process.stdin.once('data', (data) => {
49
- const answer = data.toString().trim().toLowerCase();
50
- resolve(answer === 'y');
51
- });
52
- });
53
- }
54
- //# sourceMappingURL=captureGrounding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"captureGrounding.js","sourceRoot":"","sources":["../../src/lib/captureGrounding.ts"],"names":[],"mappings":"AA6BA,SAAS,qBAAqB,CAAC,OAAuB;IACpD,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,mFAAmF,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5H,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,SAAiC;IAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACjE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;IAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAChE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;AAC9D,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,mBAAmB,CAAC,OAA8B;IAChE,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IACvB,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,4EAA4E;IACvK,OAAO,CAAC,CAAC,CAAC,qDAAqD;AACjE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAuB;IACxD,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/F,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC;QAC5F,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,YAAY;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,YAAY,MAAM,CAAC,CAAC;AACjG,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAe;IAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpD,OAAO,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=captureGrounding.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"captureGrounding.test.d.ts","sourceRoot":"","sources":["../../src/lib/captureGrounding.test.ts"],"names":[],"mappings":""}
@@ -1,74 +0,0 @@
1
- import { afterEach, describe, expect, it, vi } from 'vitest';
2
- import { printPossibleMatch, highestVerdictScore } from './captureGrounding.js';
3
- function candidate(overrides = {}) {
4
- return {
5
- entryId: 'DEC-1',
6
- name: 'Some entry',
7
- collectionSlug: 'decisions',
8
- score: 0,
9
- docId: 'doc-1',
10
- boosted: false,
11
- titleExact: false,
12
- ...overrides,
13
- };
14
- }
15
- const create = { kind: 'create', candidates: [], scanTruncated: false };
16
- afterEach(() => vi.restoreAllMocks());
17
- describe('capture verdict rendering (WP-755 C1a; create and ask only, TASK-619)', () => {
18
- // TASK-608 (WP-802, DEC-1915): a create verdict names no candidates, so the reply carries no
19
- // "Related" line — only the coverage note when the scan was truncated.
20
- it.each([true, false])('create prints no related list; coverage note only when truncated=%s', (scanTruncated) => {
21
- const output = vi.spyOn(process.stderr, 'write').mockReturnValue(true);
22
- printPossibleMatch({ ...create, scanTruncated });
23
- const text = output.mock.calls.map(([chunk]) => String(chunk)).join('');
24
- expect(text).not.toContain('Related');
25
- expect(text.includes('additional matching entries may exist')).toBe(scanTruncated);
26
- if (!scanTruncated)
27
- expect(output).not.toHaveBeenCalled();
28
- });
29
- it('ask surfaces candidates for confirmation before creating, with the truncation caveat', () => {
30
- const output = vi.spyOn(process.stderr, 'write').mockReturnValue(true);
31
- printPossibleMatch({
32
- kind: 'ask',
33
- candidates: [candidate({ entryId: 'DEC-7', name: 'Related decision', score: 0.75 })],
34
- scanTruncated: true,
35
- });
36
- const text = output.mock.calls.map(([chunk]) => String(chunk)).join('');
37
- expect(text).toContain('Possible match');
38
- expect(text).toContain('DEC-7');
39
- expect(text).toContain('additional matching entries may exist');
40
- });
41
- });
42
- describe('highestVerdictScore', () => {
43
- it('is 0 for a null verdict', () => {
44
- expect(highestVerdictScore(null)).toBe(0);
45
- });
46
- it('reads the highest candidate score for ask', () => {
47
- const verdict = {
48
- kind: 'ask',
49
- candidates: [
50
- candidate({ entryId: 'DEC-1', name: 'a', score: 0.75 }),
51
- candidate({ entryId: 'DEC-2', name: 'b', score: 0.72 }),
52
- ],
53
- scanTruncated: false,
54
- };
55
- expect(highestVerdictScore(verdict)).toBe(0.75);
56
- });
57
- // TASK-619: the judge lists a lifted (boosted / title-exact) candidate first for display, so the
58
- // first row is not the highest raw score — telemetry reads the max, never the first row.
59
- it('reads the max raw score when a lifted low-score candidate is listed first', () => {
60
- const verdict = {
61
- kind: 'ask',
62
- candidates: [
63
- candidate({ entryId: 'QUE-1', name: 'lifted', score: 0.3, boosted: true }),
64
- candidate({ entryId: 'QUE-2', name: 'raw', score: 0.95 }),
65
- ],
66
- scanTruncated: false,
67
- };
68
- expect(highestVerdictScore(verdict)).toBe(0.95);
69
- });
70
- it('is 0 for a create verdict', () => {
71
- expect(highestVerdictScore(create)).toBe(0);
72
- });
73
- });
74
- //# sourceMappingURL=captureGrounding.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"captureGrounding.test.js","sourceRoot":"","sources":["../../src/lib/captureGrounding.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAuB,MAAM,uBAAuB,CAAC;AAIrG,SAAS,SAAS,CAAC,YAAgC,EAAE;IACnD,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,cAAc,EAAE,WAAW;QAC3B,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AACxF,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;AAEtC,QAAQ,CAAC,uEAAuE,EAAE,GAAG,EAAE;IACrF,6FAA6F;IAC7F,uEAAuE;IACvE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,qEAAqE,EAAE,CAAC,aAAa,EAAE,EAAE;QAC9G,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACvE,kBAAkB,CAAC,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,uCAAuC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnF,IAAI,CAAC,aAAa;YAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,GAAG,EAAE;QAC9F,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACvE,kBAAkB,CAAC;YACjB,IAAI,EAAE,KAAK;YACX,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpF,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,OAAO,GAAmB;YAC9B,IAAI,EAAE,KAAK;YACX,UAAU,EAAE;gBACV,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBACvD,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aACxD;YACD,aAAa,EAAE,KAAK;SACrB,CAAC;QACF,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,iGAAiG;IACjG,yFAAyF;IACzF,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,OAAO,GAAmB;YAC9B,IAAI,EAAE,KAAK;YACX,UAAU,EAAE;gBACV,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC1E,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aAC1D;YACD,aAAa,EAAE,KAAK;SACrB,CAAC;QACF,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}