@productbrain/cli 0.1.0-beta.6459 → 0.1.0-beta.6461
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__/capture.test.js +127 -12
- package/dist/__tests__/capture.test.js.map +1 -1
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +159 -188
- package/dist/commands/capture.js.map +1 -1
- package/dist/lib/captureGrounding.d.ts.map +1 -1
- package/dist/lib/captureGrounding.js +9 -8
- package/dist/lib/captureGrounding.js.map +1 -1
- package/dist/lib/captureGrounding.test.js +10 -7
- package/dist/lib/captureGrounding.test.js.map +1 -1
- package/dist/lib/captureLink.d.ts +26 -0
- package/dist/lib/captureLink.d.ts.map +1 -0
- package/dist/lib/captureLink.js +96 -0
- package/dist/lib/captureLink.js.map +1 -0
- package/dist/lib/captureVersion.d.ts +38 -0
- package/dist/lib/captureVersion.d.ts.map +1 -0
- package/dist/lib/captureVersion.js +73 -0
- package/dist/lib/captureVersion.js.map +1 -0
- package/dist/lib/versionWrite.d.ts +65 -0
- package/dist/lib/versionWrite.d.ts.map +1 -0
- package/dist/lib/versionWrite.js +32 -0
- package/dist/lib/versionWrite.js.map +1 -0
- package/package.json +1 -1
package/dist/commands/capture.js
CHANGED
|
@@ -21,7 +21,8 @@ import { parseFields } from '../lib/parseFields.js';
|
|
|
21
21
|
import { emitEffectiveTenantNotice } from '../lib/workspaceNotice.js';
|
|
22
22
|
import { isPreviewCreateEntryResult } from '../lib/createEntryResult.js';
|
|
23
23
|
import { extractPrefixHint, printGroundingBanner, printGroundingPreview, promptYN, highestVerdictScore } from '../lib/captureGrounding.js';
|
|
24
|
-
import {
|
|
24
|
+
import { runVersionCapture } from '../lib/captureVersion.js';
|
|
25
|
+
import { applyCaptureLink } from '../lib/captureLink.js';
|
|
25
26
|
export async function runCapture(options) {
|
|
26
27
|
const config = await getConfigOrGuide(() => runCapture(options));
|
|
27
28
|
if (!config)
|
|
@@ -120,12 +121,8 @@ export async function runCapture(options) {
|
|
|
120
121
|
if (!json && groundingResult) {
|
|
121
122
|
printGroundingBanner(groundingResult);
|
|
122
123
|
}
|
|
123
|
-
// WP-319 S3 /
|
|
124
|
-
|
|
125
|
-
// the version write, a silent "version" verdict here still falls through to plain create; a
|
|
126
|
-
// 0.9 duplicate must not create without a prompt just because its band name is "version" not
|
|
127
|
-
// "ask". Non-TTY skips prompt and auto-proceeds (fail-open on non-interactive).
|
|
128
|
-
if (options.strict && !json && (groundingResult?.kind === 'ask' || groundingResult?.kind === 'version')) {
|
|
124
|
+
// WP-319 S3 (narrowed C2/TASK-216): --strict now prompts only on "ask" — genuine ambiguity. "version" is silent, no --strict gate (DEC-1717). Non-TTY skips.
|
|
125
|
+
if (options.strict && !json && groundingResult?.kind === 'ask') {
|
|
129
126
|
const isTTY = process.stdin.isTTY;
|
|
130
127
|
if (isTTY) {
|
|
131
128
|
const answer = await promptYN(' Possible match found. Proceed with capture? [y/N] ');
|
|
@@ -137,96 +134,145 @@ export async function runCapture(options) {
|
|
|
137
134
|
}
|
|
138
135
|
// WP-1: name the target workspace before the write so a wrong-Chain capture is never silent. After the --suggest-only/--strict abort paths; the TEN-2311 WHY check below can still throw without writing, so the user sees the target line then the validation error. stderr-only (WP-721).
|
|
139
136
|
await emitEffectiveTenantNotice();
|
|
140
|
-
//
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
137
|
+
// WP-755 C2 (TASK-216, DEC-1717): the version branch sits WHERE the create call sits — same
|
|
138
|
+
// option parsing, same --link/--source-ref/--field the create would have sent — and replaces
|
|
139
|
+
// createEntry with updateEntry via captureVersion.ts. Narrowed once so every branch below
|
|
140
|
+
// (link handling, output) shares one entryId/entryStatus/... set regardless of path.
|
|
141
|
+
const versionVerdict = groundingResult?.kind === 'version' ? groundingResult : null;
|
|
142
|
+
let entryId;
|
|
143
|
+
let receiptName = entryName;
|
|
144
|
+
let entryStatus;
|
|
145
|
+
let warnings = [];
|
|
146
|
+
let normalization;
|
|
147
|
+
let qualityHints = [];
|
|
148
|
+
let spineFloor;
|
|
149
|
+
let relationSuggestions;
|
|
150
|
+
let coaching;
|
|
151
|
+
if (versionVerdict) {
|
|
152
|
+
if (!json)
|
|
153
|
+
progress(`Saving as a new version of ${versionVerdict.entryId}...`);
|
|
154
|
+
const versionResult = await runVersionCapture({
|
|
155
|
+
groundingResult: versionVerdict,
|
|
156
|
+
// Only an EXPLICIT --name is a real title (kernel/capture/versionWrite.ts's own contract:
|
|
157
|
+
// a placeholder must never rename the target). entryName's cleanText fallback is the
|
|
158
|
+
// capture's prose body, never a title — forwarding it here renamed the target on every
|
|
159
|
+
// version write with no --name given.
|
|
160
|
+
name: options.name,
|
|
161
|
+
prose: entryDescription,
|
|
162
|
+
fields: options.field?.length ? parseFields(options.field) : undefined,
|
|
163
|
+
sourceRef: options.sourceRef,
|
|
164
|
+
sourceExcerpt: options.sourceExcerpt,
|
|
165
|
+
sessionId: session.sessionId,
|
|
166
|
+
skipGrounding,
|
|
167
|
+
groundingStart,
|
|
168
|
+
groundingElapsed,
|
|
169
|
+
});
|
|
170
|
+
entryId = versionResult.entryId;
|
|
171
|
+
receiptName = versionResult.name;
|
|
172
|
+
warnings = versionResult.warnings;
|
|
173
|
+
normalization = versionResult.normalization;
|
|
174
|
+
// No entryStatus: chain.updateEntry's return carries no status field, and the target's real
|
|
175
|
+
// status (which a version write never changes) can be draft or accepted — never guess.
|
|
160
176
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
//
|
|
167
|
-
const
|
|
168
|
-
const
|
|
169
|
-
if (
|
|
170
|
-
|
|
171
|
-
code: ErrorCode.VALIDATION_FAILED,
|
|
172
|
-
category: 'validation',
|
|
173
|
-
guidance: `Add it: --field ${contract.whyField}="<at least ${contract.minChars} characters of why>"`,
|
|
174
|
-
});
|
|
177
|
+
else {
|
|
178
|
+
// Phase 2: Create entry as draft
|
|
179
|
+
if (!json)
|
|
180
|
+
progress(`Capturing to ${collectionSlug}...`);
|
|
181
|
+
const data = { description: entryDescription };
|
|
182
|
+
// Only set date when we can infer a source date from the capture itself.
|
|
183
|
+
const datedCollections = await getDatedCollections();
|
|
184
|
+
const inferredSourceDate = inferSourceDate(entryName, entryDescription, options.sourceRef, options.sourceExcerpt);
|
|
185
|
+
if (datedCollections.has(collectionSlug) && inferredSourceDate) {
|
|
186
|
+
data.date = inferredSourceDate;
|
|
175
187
|
}
|
|
188
|
+
if (options.field?.length) {
|
|
189
|
+
Object.assign(data, parseFields(options.field));
|
|
190
|
+
}
|
|
191
|
+
// TEN-2311: live, fail-open WHY guidance — the server remains the arbiter, this only prevents a doomed governed capture when the required field is absent. The contract fetch is the ONLY fail-open surface (network or server 4xx/5xx, an McpError/CLIError, is swallowed so chain.createEntry's server gate arbitrates); the deliberate guidance throw lives OUTSIDE the try so it is never misclassified as a swallowed transport failure.
|
|
192
|
+
let contract = null;
|
|
193
|
+
try {
|
|
194
|
+
contract = await kernelCallWithSession('chain.getCollectionFields', { slug: collectionSlug });
|
|
195
|
+
}
|
|
196
|
+
catch {
|
|
197
|
+
contract = null; // fail open — let the server gate arbitrate
|
|
198
|
+
}
|
|
199
|
+
if (contract?.governed && contract.whyField) {
|
|
200
|
+
const isNonEmpty = (v) => typeof v === 'string' && v.trim().length > 0;
|
|
201
|
+
// TEN-1258: the server remaps data.description → the collection's primary field before the
|
|
202
|
+
// WHY gate (createEntryPreparation.remapDescriptionField), so a bare `pb capture "DEC: …"`
|
|
203
|
+
// satisfies the WHY when that primary field IS the why field (e.g. decisions→rationale).
|
|
204
|
+
// Mirror that here so the pre-flight does not false-block captures the server would accept.
|
|
205
|
+
const remapSatisfiesWhy = contract.descriptionFieldKey === contract.whyField && isNonEmpty(data.description);
|
|
206
|
+
const present = isNonEmpty(data[contract.whyField]) || remapSatisfiesWhy;
|
|
207
|
+
if (!present) {
|
|
208
|
+
throw new CLIError(`"${collectionSlug}" is a governed collection and needs a WHY in "${contract.whyField}".`, {
|
|
209
|
+
code: ErrorCode.VALIDATION_FAILED,
|
|
210
|
+
category: 'validation',
|
|
211
|
+
guidance: `Add it: --field ${contract.whyField}="<at least ${contract.minChars} characters of why>"`,
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
// WP-475 E1 (deterministic --link fix): when this capture will create a relation, the post-relation re-eval below owns the single LLM run — defer the LLM schedule at create time (relation-blind, race-prone otherwise); plain captures omit the flag. WP-688 S4: requires BOTH --link AND --link-type — a --link with no --link-type is refused (element 11) and never reaches the re-eval branch, so deferring there would strand llmStatus:'skipped' forever.
|
|
216
|
+
const willRelate = Boolean(options.link?.trim() && options.linkType);
|
|
217
|
+
const rawResult = await kernelCallWithSession('chain.createEntry', {
|
|
218
|
+
collectionSlug,
|
|
219
|
+
name: entryName,
|
|
220
|
+
// DEC-896 / BR-76: omit status — server resolves from governanceMode (Open→active, else draft).
|
|
221
|
+
// WP-456 E1 / TEN-2226: `--draft` opt-in forces 'draft' regardless of governanceMode.
|
|
222
|
+
// Omit entirely when absent so the default-path wire payload is byte-identical to today.
|
|
223
|
+
...(options.draft ? { forceDraft: true } : {}),
|
|
224
|
+
data,
|
|
225
|
+
sessionId: session.sessionId,
|
|
226
|
+
createdBy: `agent:${session.sessionId}`,
|
|
227
|
+
// BET-240 E2: source provenance — pass through when provided
|
|
228
|
+
...(options.sourceRef ? { sourceRef: options.sourceRef } : {}),
|
|
229
|
+
...(options.sourceExcerpt ? { sourceExcerpt: options.sourceExcerpt } : {}),
|
|
230
|
+
...(willRelate ? { deferLLMSchedule: true } : {}),
|
|
231
|
+
...(options.ownerRole ? { ownerRoleEntryId: options.ownerRole } : {}), // WP-513 rung-2 override; WP-753 O1b: team derives server-side.
|
|
232
|
+
...(options.entryType ? { canonicalKey: options.entryType } : {}), // WP-684 TASK-77 (E1.3): one-step typed create.
|
|
233
|
+
});
|
|
234
|
+
// WP-577 / TEN-2918 fallout: `pb capture` never sends `preview: true` above, so this
|
|
235
|
+
// never fires at runtime — but the declared return type is now honestly a union, so
|
|
236
|
+
// fail loudly rather than silently reading undefined preview-shaped fields below.
|
|
237
|
+
if (isPreviewCreateEntryResult(rawResult)) {
|
|
238
|
+
throw new CLIError('Unexpected preview response from chain.createEntry — pb capture never requests preview mode.', { code: ErrorCode.INTERNAL, category: 'internal' });
|
|
239
|
+
}
|
|
240
|
+
const result = rawResult;
|
|
241
|
+
entryId = result.entryId;
|
|
242
|
+
entryStatus = result.status;
|
|
243
|
+
warnings = result.warnings;
|
|
244
|
+
normalization = result.normalization;
|
|
245
|
+
qualityHints = result.qualityHints ?? [];
|
|
246
|
+
spineFloor = result.spineFloor;
|
|
247
|
+
relationSuggestions = result.relationSuggestions;
|
|
248
|
+
coaching = result.coaching;
|
|
176
249
|
}
|
|
177
|
-
//
|
|
178
|
-
|
|
179
|
-
const rawResult = await kernelCallWithSession('chain.createEntry', {
|
|
180
|
-
collectionSlug,
|
|
181
|
-
name: entryName,
|
|
182
|
-
// DEC-896 / BR-76: omit status — server resolves from governanceMode (Open→active, else draft).
|
|
183
|
-
// WP-456 E1 / TEN-2226: `--draft` opt-in forces 'draft' regardless of governanceMode.
|
|
184
|
-
// Omit entirely when absent so the default-path wire payload is byte-identical to today.
|
|
185
|
-
...(options.draft ? { forceDraft: true } : {}),
|
|
186
|
-
data,
|
|
187
|
-
sessionId: session.sessionId,
|
|
188
|
-
createdBy: `agent:${session.sessionId}`,
|
|
189
|
-
// BET-240 E2: source provenance — pass through when provided
|
|
190
|
-
...(options.sourceRef ? { sourceRef: options.sourceRef } : {}),
|
|
191
|
-
...(options.sourceExcerpt ? { sourceExcerpt: options.sourceExcerpt } : {}),
|
|
192
|
-
...(willRelate ? { deferLLMSchedule: true } : {}),
|
|
193
|
-
...(options.ownerRole ? { ownerRoleEntryId: options.ownerRole } : {}), // WP-513 rung-2 override; WP-753 O1b: team derives server-side.
|
|
194
|
-
...(options.entryType ? { canonicalKey: options.entryType } : {}), // WP-684 TASK-77 (E1.3): one-step typed create.
|
|
195
|
-
});
|
|
196
|
-
// WP-577 / TEN-2918 fallout: `pb capture` never sends `preview: true` above, so this
|
|
197
|
-
// never fires at runtime — but the declared return type is now honestly a union, so
|
|
198
|
-
// fail loudly rather than silently reading undefined preview-shaped fields below.
|
|
199
|
-
if (isPreviewCreateEntryResult(rawResult)) {
|
|
200
|
-
throw new CLIError('Unexpected preview response from chain.createEntry — pb capture never requests preview mode.', { code: ErrorCode.INTERNAL, category: 'internal' });
|
|
201
|
-
}
|
|
202
|
-
const result = rawResult;
|
|
203
|
-
// Track in session state
|
|
204
|
-
addCapturedEntry(result.entryId);
|
|
250
|
+
// Track in session state — a version write is still a capture this session touched.
|
|
251
|
+
addCapturedEntry(entryId);
|
|
205
252
|
// WP-319 S3 / WP-755 C1a: Record grounding outcome for observability (STD-155, done-when 5).
|
|
206
253
|
// Fire-and-forget — never block capture (TEN-2924: no retry, its timer would hold the loop).
|
|
207
254
|
// hadGovernance is always false post-C1a: the old suggestLinksForCapture route's per-candidate
|
|
208
255
|
// governed-collection severity (block/warn/inform) has no equivalent in the new door — a cited
|
|
209
|
-
// narrowing (see captureGrounding.ts's header), not a silent drop.
|
|
210
|
-
|
|
256
|
+
// narrowing (see captureGrounding.ts's header), not a silent drop. Version already fired its
|
|
257
|
+
// own call (inside runVersionCapture) — never double-record.
|
|
258
|
+
if (!versionVerdict && !skipGrounding && groundingStart > 0) {
|
|
211
259
|
void kernelCallWithSession('chain.recordGroundingOutcome', {
|
|
212
260
|
surface: 'cli',
|
|
213
|
-
|
|
214
|
-
// MCP reports the same pair (smart-capture.ts) so the grounding-health read model isn't
|
|
215
|
-
// fed two different definitions of "a prompt-worthy match" from its two connectors.
|
|
216
|
-
promptShown: groundingResult?.kind === 'ask' || groundingResult?.kind === 'version',
|
|
261
|
+
promptShown: groundingResult?.kind === 'ask',
|
|
217
262
|
highestRatio: highestVerdictScore(groundingResult),
|
|
218
263
|
hadGovernance: false,
|
|
219
264
|
grounding_ms: groundingElapsed,
|
|
220
265
|
}, { retryOnRateLimit: false }).catch(() => undefined);
|
|
221
266
|
}
|
|
222
|
-
// WP-301 S4: Activation ceremony — show contextual retrieval after first capture
|
|
223
|
-
|
|
267
|
+
// WP-301 S4: Activation ceremony — show contextual retrieval after first capture. Create only:
|
|
268
|
+
// a version write edits an already-accepted entry, never a "first capture".
|
|
269
|
+
if (!json && !versionVerdict) {
|
|
224
270
|
try {
|
|
225
|
-
const activation = await checkActivation(
|
|
271
|
+
const activation = await checkActivation(entryId);
|
|
226
272
|
if (activation?.isFirst && activation.relatedEntries.length > 0) {
|
|
227
273
|
process.stdout.write('\n Your first capture is on the Chain. Here\'s how it connects:\n');
|
|
228
274
|
for (const rel of activation.relatedEntries.slice(0, 3)) {
|
|
229
|
-
process.stdout.write(`
|
|
275
|
+
process.stdout.write(` → ${rel.entryId}: ${rel.name} (${rel.relation})\n`);
|
|
230
276
|
}
|
|
231
277
|
process.stdout.write('\n');
|
|
232
278
|
}
|
|
@@ -238,114 +284,24 @@ export async function runCapture(options) {
|
|
|
238
284
|
// Activation is additive — never blocks capture
|
|
239
285
|
}
|
|
240
286
|
}
|
|
241
|
-
//
|
|
242
|
-
|
|
243
|
-
//
|
|
244
|
-
const
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
let coaching = result.coaching;
|
|
250
|
-
// WP-688 S4 (TASK-105, element 11): what was ACTUALLY written — never guessed, never
|
|
251
|
-
// defaulted. Both stay undefined unless the relation call below genuinely succeeds.
|
|
252
|
-
let actualLinkedTo;
|
|
253
|
-
let actualRelationType;
|
|
254
|
-
// Deferred, not thrown here: the capture itself already succeeded above — only the LINK
|
|
255
|
-
// is refused, so the normal receipt/JSON output below must still render first.
|
|
256
|
-
let linkTypeRefusal = null;
|
|
257
|
-
if (options.link !== undefined) { // bcRpJQ: not `if (options.link)` — "" is falsy, would skip this block
|
|
258
|
-
const linkTarget = options.link.trim();
|
|
259
|
-
if (!linkTarget) {
|
|
260
|
-
// bcRUML/bcRpJQ: an empty or whitespace-only --link must not silently no-op.
|
|
261
|
-
linkTypeRefusal = new CLIError('--link requires a non-empty entry ID.', { code: ErrorCode.VALIDATION_FAILED, category: 'validation', guidance: `${result.entryId} was captured — only the link was refused. Re-run with a valid --link <entry-id>.` });
|
|
262
|
-
}
|
|
263
|
-
else if (!options.linkType) {
|
|
264
|
-
// No default, ever (element 11). Legal verbs = the workspace type row's declared valid_relation_types
|
|
265
|
-
// (matched like loadTypeMap: data.canonical_key, never a guessed entryId), filtered to what `pb relate` can create (bdB5K, cQFZ_).
|
|
266
|
-
let declaredTypes;
|
|
267
|
-
let targetMissing = false;
|
|
268
|
-
try {
|
|
269
|
-
const [created, target] = await Promise.all([
|
|
270
|
-
kernelCallWithSession('chain.getEntry', { entryId: result.entryId }),
|
|
271
|
-
kernelCallWithSession('chain.getEntry', { entryId: linkTarget }),
|
|
272
|
-
]);
|
|
273
|
-
targetMissing = target === null; // bcRUMR: never recommend `pb relate ... <missing-id>`
|
|
274
|
-
const canonicalKey = created?.canonicalKey;
|
|
275
|
-
if (canonicalKey) {
|
|
276
|
-
const typeRows = await kernelCallWithSession('chain.listEntries', { collectionSlug: 'semantic-types' });
|
|
277
|
-
declaredTypes = resolveCreatableRelationTypes(typeRows, canonicalKey, target?.canonicalKey === 'domain');
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
catch {
|
|
281
|
-
// Advisory read only — a failure here still refuses the link, just without the list.
|
|
282
|
-
}
|
|
283
|
-
const verbHint = declaredTypes && declaredTypes.length > 0 ? `Legal relation types for this entry: ${declaredTypes.join(', ')}.` : `No relation types are declared valid for this entry's type.`;
|
|
284
|
-
linkTypeRefusal = new CLIError(`--link requires --link-type — no default is written. ${verbHint}`, {
|
|
285
|
-
code: ErrorCode.VALIDATION_FAILED,
|
|
286
|
-
category: 'validation',
|
|
287
|
-
guidance: targetMissing
|
|
288
|
-
? `${result.entryId} was captured — the link was refused, and target "${linkTarget}" was not found. Verify the target entry ID.`
|
|
289
|
-
: `${result.entryId} was captured — only the link was refused. Re-run: pb relate ${result.entryId} <verb> ${linkTarget}`,
|
|
290
|
-
});
|
|
291
|
-
}
|
|
292
|
-
else {
|
|
293
|
-
const relationType = options.linkType;
|
|
294
|
-
let relationWritten = false;
|
|
295
|
-
let relateErr;
|
|
296
|
-
try {
|
|
297
|
-
const relateResult = await kernelCallWithSession('chain.createEntryRelation', {
|
|
298
|
-
fromEntryId: result.entryId, toEntryId: linkTarget, type: relationType,
|
|
299
|
-
});
|
|
300
|
-
// relationId is the ONLY "a row was inserted" marker (relations.ts:94-291) — a proposal diversion or the DEC-1399 auto-link gate return WITHOUT one.
|
|
301
|
-
relationWritten = Boolean(relateResult?.relationId);
|
|
302
|
-
if (relationWritten) {
|
|
303
|
-
actualLinkedTo = linkTarget;
|
|
304
|
-
actualRelationType = relationType;
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
catch (err) { // WP-745 review: a relate-door refusal must not escape uncaught — result.entryId above was ALREADY persisted.
|
|
308
|
-
relateErr = err;
|
|
309
|
-
}
|
|
310
|
-
// WP-745 round 3 (PRRT_kwDORS4ils6hz0vD): re-eval runs regardless of relate outcome — un-defers deferLLMSchedule; a refused link must not leave llmStatus:'skipped' forever. Diverted/refused verdicts are still discarded below.
|
|
311
|
-
try {
|
|
312
|
-
const reEval = await kernelCallWithSession('quality.evaluateHeuristicAndSchedule', { entryId: result.entryId, context: 'capture' });
|
|
313
|
-
if (relationWritten && reEval?.verdict)
|
|
314
|
-
coaching = reEval;
|
|
315
|
-
}
|
|
316
|
-
catch {
|
|
317
|
-
// Advisory — keep the pre-relation verdict rather than fail the capture.
|
|
318
|
-
}
|
|
319
|
-
if (relateErr instanceof CLIError && relateErr.code === ErrorCode.NETWORK_TIMEOUT) {
|
|
320
|
-
// WP-745 round 3 (PRRT_...h0VPP): NETWORK_TIMEOUT is outcome-UNKNOWN, not a refusal (the relate call may have landed server-side) — never buried under a contradictory blind-retry claim.
|
|
321
|
-
linkTypeRefusal = new CLIError(relateErr.message, { code: relateErr.code, category: relateErr.category, guidance: `${result.entryId} was captured. The link's outcome is UNKNOWN (not refused) — check before retrying: pb get ${result.entryId}. ${relateErr.guidance ?? ''}` });
|
|
322
|
-
}
|
|
323
|
-
else if (relateErr instanceof CLIError && relateErr.code !== ErrorCode.VALIDATION_FAILED) {
|
|
324
|
-
// WP-745 round 3 (PRRT_...h0CCc): preserve a real CLIError/McpError's own code/category (auth, rate limit) — only REL-LEGAL-2 VALIDATION (or a non-CLIError) gets the generic "was refused, re-run" guidance below.
|
|
325
|
-
const guidance = `${result.entryId} was captured — only the link was refused. Re-run: pb relate ${result.entryId} <verb> ${linkTarget}`;
|
|
326
|
-
linkTypeRefusal = new CLIError(relateErr.message, { code: relateErr.code, category: relateErr.category, guidance: relateErr.guidance ? `${guidance} (${relateErr.guidance})` : guidance });
|
|
327
|
-
}
|
|
328
|
-
else if (relateErr !== undefined) {
|
|
329
|
-
linkTypeRefusal = new CLIError(relateErr instanceof Error ? relateErr.message : String(relateErr), { code: ErrorCode.VALIDATION_FAILED, category: 'validation', guidance: `${result.entryId} was captured — only the link was refused. Re-run: pb relate ${result.entryId} <verb> ${linkTarget}` });
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
}
|
|
287
|
+
// Phase 3: Link to existing entry if --link provided (TEN-705) — applies to a version write
|
|
288
|
+
// the same as a create; entryId names whichever entry this run actually wrote (the created
|
|
289
|
+
// draft, or the version's target). Extracted to captureLink.ts (500-LOC budget, STD-2/DEC-1504).
|
|
290
|
+
const linkResult = await applyCaptureLink({ entryId, link: options.link, linkType: options.linkType, coaching });
|
|
291
|
+
const actualLinkedTo = linkResult.actualLinkedTo;
|
|
292
|
+
const actualRelationType = linkResult.actualRelationType;
|
|
293
|
+
const linkTypeRefusal = linkResult.linkTypeRefusal;
|
|
294
|
+
coaching = linkResult.coaching;
|
|
333
295
|
// BET-271 S1: Determine if any fields were rejected by normalization.
|
|
334
|
-
// `chain.createEntry`'s server return declares `normalization: Record<string, unknown> |
|
|
335
|
-
// null` (looser than this file's consumption shape — same documented residual as
|
|
336
|
-
// packages/mcp-server/src/tools/smart-capture.ts, PR #397/#398, Lane C S3b/S3c).
|
|
337
|
-
const normalization = result.normalization;
|
|
338
296
|
const rejectedFields = normalization?.rejected ?? [];
|
|
339
297
|
const hasRejected = rejectedFields.length > 0;
|
|
340
298
|
// Output
|
|
341
299
|
if (json) {
|
|
342
|
-
// Machine-readable output (TEN-709, DEC-299)
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
collection: collectionSlug,
|
|
346
|
-
status:
|
|
347
|
-
confidence: classification?.tier ?? 'explicit',
|
|
348
|
-
};
|
|
300
|
+
// Machine-readable output (TEN-709, DEC-299). Version's shape is intentionally smaller
|
|
301
|
+
// (no classification/confidence — the target's collection was never classified this run).
|
|
302
|
+
const output = versionVerdict
|
|
303
|
+
? { id: entryId, collection: versionVerdict.collectionSlug, kind: 'version' }
|
|
304
|
+
: { id: entryId, collection: collectionSlug, status: entryStatus, confidence: classification?.tier ?? 'explicit' };
|
|
349
305
|
if (hasRejected) {
|
|
350
306
|
output.fieldsRejected = true;
|
|
351
307
|
}
|
|
@@ -363,20 +319,32 @@ export async function runCapture(options) {
|
|
|
363
319
|
output.spineFloor = spineFloor;
|
|
364
320
|
process.stdout.write(JSON.stringify(output) + '\n');
|
|
365
321
|
}
|
|
322
|
+
else if (versionVerdict) {
|
|
323
|
+
// WP-755 C2: a distinct, concise receipt — entry id + name from the verdict, never the
|
|
324
|
+
// create-shaped formatCaptureReceipt (classification/confidence don't apply to an edit of
|
|
325
|
+
// an already-accepted entry). stdout carries the raw entry id (scripting contract, mirrors
|
|
326
|
+
// `pb capture ... | xargs pb get`).
|
|
327
|
+
process.stderr.write(` Saved as a new version of ${entryId} "${receiptName}".\n`);
|
|
328
|
+
if (warnings.length > 0)
|
|
329
|
+
process.stderr.write(` Warnings: ${warnings.join('; ')}\n`);
|
|
330
|
+
if (actualLinkedTo)
|
|
331
|
+
process.stderr.write(` Linked to ${actualLinkedTo} (${actualRelationType}).\n`);
|
|
332
|
+
process.stdout.write(`${entryId}\n`);
|
|
333
|
+
}
|
|
366
334
|
else {
|
|
367
335
|
process.stdout.write('\n');
|
|
368
336
|
process.stdout.write(formatCaptureReceipt({
|
|
369
|
-
entryId
|
|
337
|
+
entryId,
|
|
370
338
|
name: entryName,
|
|
371
339
|
collection: collectionSlug,
|
|
372
|
-
status: result.status,
|
|
340
|
+
status: entryStatus, // always set in the create branch above (result.status) — only the version branch leaves it undefined, and that branch never reaches here.
|
|
373
341
|
classification,
|
|
374
|
-
warnings
|
|
342
|
+
warnings,
|
|
375
343
|
normalization: normalization ?? undefined,
|
|
376
344
|
linkedTo: actualLinkedTo,
|
|
377
345
|
relationType: actualRelationType,
|
|
378
346
|
qualityHints,
|
|
379
|
-
relationSuggestions
|
|
347
|
+
relationSuggestions,
|
|
380
348
|
coaching,
|
|
381
349
|
spineFloor,
|
|
382
350
|
}) + '\n');
|
|
@@ -386,18 +354,21 @@ export async function runCapture(options) {
|
|
|
386
354
|
// NETWORK_TIMEOUT/rate-limit/auth failure preserved earlier in this file) rather than always
|
|
387
355
|
// relabeling the combined error VALIDATION_FAILED, which discarded that signal exactly when
|
|
388
356
|
// both partial failures land together.
|
|
357
|
+
// A version write's fields were validated against the TARGET's own collection, never the
|
|
358
|
+
// capture's classified one (they can differ — decide() matches across every collection).
|
|
359
|
+
const fieldsGuidanceCollection = versionVerdict ? versionVerdict.collectionSlug : collectionSlug;
|
|
389
360
|
if (hasRejected && linkTypeRefusal) {
|
|
390
361
|
throw new CLIError(`Fields rejected: ${rejectedFields.join(', ')}. ${linkTypeRefusal.message}`, {
|
|
391
362
|
code: linkTypeRefusal.code,
|
|
392
363
|
category: linkTypeRefusal.category,
|
|
393
|
-
guidance: `Run \`pb fields ${
|
|
364
|
+
guidance: `Run \`pb fields ${fieldsGuidanceCollection}\` to see valid fields. ${linkTypeRefusal.guidance ?? ''}`,
|
|
394
365
|
});
|
|
395
366
|
}
|
|
396
367
|
if (hasRejected) {
|
|
397
368
|
throw new CLIError(`Fields rejected: ${rejectedFields.join(', ')}.`, {
|
|
398
369
|
code: ErrorCode.VALIDATION_FAILED,
|
|
399
370
|
category: 'validation',
|
|
400
|
-
guidance: `Run \`pb fields ${
|
|
371
|
+
guidance: `Run \`pb fields ${fieldsGuidanceCollection}\` to see valid fields.`,
|
|
401
372
|
});
|
|
402
373
|
}
|
|
403
374
|
// WP-688 S4 (element 11): --link without --link-type — refuses non-zero identically in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/commands/capture.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/commands/capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captureGrounding.d.ts","sourceRoot":"","sources":["../../src/lib/captureGrounding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;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,8FAA8F;AAC9F,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,MAAM,CAO1E;AAID,oFAAoF;AACpF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"captureGrounding.d.ts","sourceRoot":"","sources":["../../src/lib/captureGrounding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;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,8FAA8F;AAC9F,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,MAAM,CAO1E;AAID,oFAAoF;AACpF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CA8BlE;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,GAAG,IAAI,EAC9B,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,IAAI,CAiCN;AAED,mFAAmF;AACnF,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQhE"}
|
|
@@ -32,14 +32,13 @@ export function highestVerdictScore(verdict) {
|
|
|
32
32
|
/** Print advisory verdict banner; suppress only complete checks with no matches. */
|
|
33
33
|
export function printGroundingBanner(verdict) {
|
|
34
34
|
const coverageNote = groundingCoverageNote(verdict);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
// WP-755 C2 (TASK-216, DEC-1717): "an edit versions without a question" — no banner for
|
|
36
|
+
// version any more (capture.ts's own version branch prints its own "Saving as a new
|
|
37
|
+
// version of…" progress line and receipt instead). This function's caller (capture.ts)
|
|
38
|
+
// still calls it unconditionally before branching on kind, so the no-op stays here rather
|
|
39
|
+
// than moving the guard to every call site.
|
|
40
|
+
if (verdict.kind === 'version')
|
|
41
41
|
return;
|
|
42
|
-
}
|
|
43
42
|
if (verdict.kind === 'ask') {
|
|
44
43
|
const items = verdict.candidates.slice(0, 3).map((c) => `${c.entryId} "${c.name}"`).join(', ');
|
|
45
44
|
const note = coverageNote ? `\n ${coverageNote}` : '';
|
|
@@ -72,8 +71,10 @@ export function printGroundingPreview(verdict, entryName, collectionSlug) {
|
|
|
72
71
|
if (coverageNote)
|
|
73
72
|
process.stdout.write(` ${coverageNote}\n\n`);
|
|
74
73
|
if (verdict.kind === 'version') {
|
|
74
|
+
// WP-755 C2 (TASK-216, DEC-1717): accurate now — running without --suggest-only versions
|
|
75
|
+
// silently (no question), it does not create a new entry.
|
|
75
76
|
process.stdout.write(` Looks like an edit of ${verdict.entryId} "${verdict.name}" (${Math.round(verdict.score * 100)}% match).\n`);
|
|
76
|
-
process.stdout.write('
|
|
77
|
+
process.stdout.write(' Run without --suggest-only to save this as a new version — no new entry is created.\n\n');
|
|
77
78
|
return;
|
|
78
79
|
}
|
|
79
80
|
if (verdict.kind === 'ask' || verdict.kind === 'create_and_link') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captureGrounding.js","sourceRoot":"","sources":["../../src/lib/captureGrounding.ts"],"names":[],"mappings":"AAyBA,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,8FAA8F;AAC9F,MAAM,UAAU,mBAAmB,CAAC,OAA8B;IAChE,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IACvB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC;IACrD,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACjE,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,CAAC,CAAC,sCAAsC;AAClD,CAAC;AAED,4EAA4E;AAE5E,oFAAoF;AACpF,MAAM,UAAU,oBAAoB,CAAC,OAAuB;IAC1D,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAEpD,
|
|
1
|
+
{"version":3,"file":"captureGrounding.js","sourceRoot":"","sources":["../../src/lib/captureGrounding.ts"],"names":[],"mappings":"AAyBA,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,8FAA8F;AAC9F,MAAM,UAAU,mBAAmB,CAAC,OAA8B;IAChE,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IACvB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC;IACrD,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACjE,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,CAAC,CAAC,sCAAsC;AAClD,CAAC;AAED,4EAA4E;AAE5E,oFAAoF;AACpF,MAAM,UAAU,oBAAoB,CAAC,OAAuB;IAC1D,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAEpD,wFAAwF;IACxF,oFAAoF;IACpF,uFAAuF;IACvF,0FAA0F;IAC1F,4CAA4C;IAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO;IAEvC,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;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY;gBAAE,OAAO,CAAC,gEAAgE;YAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,YAAY,MAAM,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QACD,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,kBAAkB,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,2FAA2F;AAC7F,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,qBAAqB,CACnC,OAA8B,EAC9B,SAAiB,EACjB,cAAsB;IAEtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC/E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,cAAc,MAAM,CAAC,CAAC;IAE5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACpF,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,YAAY;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,YAAY,MAAM,CAAC,CAAC;IAEhE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,yFAAyF;QACzF,0DAA0D;QAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;QACpI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;QAClH,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACjE,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;QAC1H,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;AAChF,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"}
|
|
@@ -48,21 +48,24 @@ describe('capture grounding completeness (WP-755 C1a)', () => {
|
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
50
|
describe('capture verdict rendering (WP-755 C1a four verdicts)', () => {
|
|
51
|
-
|
|
51
|
+
// WP-755 C2 (TASK-216, DEC-1717): "an edit versions without a question" — the real (non
|
|
52
|
+
// --suggest-only) path prints no banner at all for a version verdict any more; capture.ts's
|
|
53
|
+
// own version branch (captureVersion.ts's runVersionCapture) prints its own progress/receipt
|
|
54
|
+
// lines instead. This is a live-walk-found fix (PR #982 round 2): the banner still said
|
|
55
|
+
// "Versioning lands in C2 — creating a new entry for now" after C2 landed.
|
|
56
|
+
it('version prints NO banner — the write is silent, capture.ts owns its own progress line', () => {
|
|
52
57
|
const output = vi.spyOn(process.stderr, 'write').mockReturnValue(true);
|
|
53
58
|
printGroundingBanner({ kind: 'version', entryId: 'DEC-42', score: 0.95, name: 'An existing decision', collectionSlug: 'decisions', docId: 'doc-42', scanTruncated: false });
|
|
54
|
-
|
|
55
|
-
expect(text).toContain('DEC-42');
|
|
56
|
-
expect(text).toContain('An existing decision');
|
|
57
|
-
expect(text).toContain('Versioning lands in C2');
|
|
59
|
+
expect(output).not.toHaveBeenCalled();
|
|
58
60
|
});
|
|
59
|
-
it('version --suggest-only preview
|
|
61
|
+
it('version --suggest-only preview renders entryId + name and accurately describes the real run as a silent version write, not a create', () => {
|
|
60
62
|
const output = vi.spyOn(process.stdout, 'write').mockReturnValue(true);
|
|
61
63
|
printGroundingPreview({ kind: 'version', entryId: 'DEC-42', score: 0.95, name: 'An existing decision', collectionSlug: 'decisions', docId: 'doc-42', scanTruncated: false }, 'A near-duplicate capture', 'decisions');
|
|
62
64
|
const text = output.mock.calls.map(([chunk]) => String(chunk)).join('');
|
|
63
65
|
expect(text).toContain('DEC-42');
|
|
64
66
|
expect(text).toContain('An existing decision');
|
|
65
|
-
expect(text).toContain('
|
|
67
|
+
expect(text).toContain('save this as a new version');
|
|
68
|
+
expect(text).not.toContain('creating a new entry');
|
|
66
69
|
});
|
|
67
70
|
it('ask surfaces candidates for confirmation before creating', () => {
|
|
68
71
|
const output = vi.spyOn(process.stderr, 'write').mockReturnValue(true);
|