@productbrain/cli 0.1.0-beta.7503 → 0.1.0-beta.7510
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 +17 -0
- package/dist/__tests__/capture.test.js.map +1 -1
- package/dist/__tests__/entryAccept.test.js +19 -0
- package/dist/__tests__/entryAccept.test.js.map +1 -1
- package/dist/__tests__/onboarding.test.js +26 -5
- package/dist/__tests__/onboarding.test.js.map +1 -1
- package/dist/__tests__/onboardingFallback.test.d.ts +2 -0
- package/dist/__tests__/onboardingFallback.test.d.ts.map +1 -0
- package/dist/__tests__/onboardingFallback.test.js +74 -0
- package/dist/__tests__/onboardingFallback.test.js.map +1 -0
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +6 -2
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/entryAccept.d.ts.map +1 -1
- package/dist/commands/entryAccept.js +8 -0
- package/dist/commands/entryAccept.js.map +1 -1
- package/dist/lib/onboarding-shared.d.ts +23 -1
- package/dist/lib/onboarding-shared.d.ts.map +1 -1
- package/dist/lib/onboarding-shared.js +42 -8
- package/dist/lib/onboarding-shared.js.map +1 -1
- package/dist/lib/onboarding-shared.test.d.ts +2 -0
- package/dist/lib/onboarding-shared.test.d.ts.map +1 -0
- package/dist/lib/onboarding-shared.test.js +131 -0
- package/dist/lib/onboarding-shared.test.js.map +1 -0
- package/dist/lib/onboarding.d.ts +5 -1
- package/dist/lib/onboarding.d.ts.map +1 -1
- package/dist/lib/onboarding.js +48 -13
- package/dist/lib/onboarding.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WP-770 why-producers (TASK-360, TEN-3918) ruling: onboarding never invents a why. A
|
|
3
|
+
* why-required extracted entry (strategy, decisions) with no LLM-supplied `why` is not
|
|
4
|
+
* captured by validateExtractedEntries — it is reported by findSkippedForMissingWhy instead
|
|
5
|
+
* of being filled with a copy of `description` (a description is what/that, not why).
|
|
6
|
+
* Onboarding batch capture is blocked on TEN-3886 (no `pb` in a worktree), so this proves the
|
|
7
|
+
* payload shape only — not a live capture.
|
|
8
|
+
*/
|
|
9
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
10
|
+
import { validateExtractedEntries, findSkippedForMissingWhy, batchCaptureEntries } from './onboarding-shared';
|
|
11
|
+
const kernelCallWithSessionMock = vi.fn();
|
|
12
|
+
vi.mock('./client.js', () => ({
|
|
13
|
+
kernelCallWithSession: (...args) => kernelCallWithSessionMock(...args),
|
|
14
|
+
}));
|
|
15
|
+
describe('validateExtractedEntries — why-required skip rule', () => {
|
|
16
|
+
it('captures a why-required entry when the LLM supplied its own `why`', () => {
|
|
17
|
+
const entries = validateExtractedEntries([
|
|
18
|
+
{ collection: 'decisions', name: 'Adopt X over Y', description: 'We chose X', why: 'X scales better' },
|
|
19
|
+
]);
|
|
20
|
+
expect(entries).toHaveLength(1);
|
|
21
|
+
expect(entries[0].why).toBe('X scales better');
|
|
22
|
+
});
|
|
23
|
+
it('does NOT capture a why-required entry with no `why` — never fabricates one from description', () => {
|
|
24
|
+
const entries = validateExtractedEntries([
|
|
25
|
+
{ collection: 'strategy', name: 'Product Vision', description: 'Automate bank transactions' },
|
|
26
|
+
]);
|
|
27
|
+
expect(entries).toHaveLength(0);
|
|
28
|
+
});
|
|
29
|
+
it('captures a non-why-required entry (tensions) with no `why` — the field stays absent, never filled', () => {
|
|
30
|
+
const entries = validateExtractedEntries([
|
|
31
|
+
{ collection: 'tensions', name: 'Two teams diverge', description: 'Team A and Team B disagree on X' },
|
|
32
|
+
]);
|
|
33
|
+
expect(entries).toHaveLength(1);
|
|
34
|
+
expect(entries[0].why).toBeUndefined();
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
describe('findSkippedForMissingWhy', () => {
|
|
38
|
+
it('reports a why-required entry with no `why` as skipped', () => {
|
|
39
|
+
const skipped = findSkippedForMissingWhy([
|
|
40
|
+
{ collection: 'strategy', name: 'Product Vision', description: 'Automate bank transactions' },
|
|
41
|
+
]);
|
|
42
|
+
expect(skipped).toEqual([{ name: 'Product Vision', collection: 'strategy' }]);
|
|
43
|
+
});
|
|
44
|
+
it('does not report an entry that has a `why`, or a non-why-required entry', () => {
|
|
45
|
+
const skipped = findSkippedForMissingWhy([
|
|
46
|
+
{ collection: 'decisions', name: 'Adopt X', description: 'We chose X', why: 'X scales better' },
|
|
47
|
+
{ collection: 'tensions', name: 'Two teams diverge', description: 'disagree' },
|
|
48
|
+
]);
|
|
49
|
+
expect(skipped).toEqual([]);
|
|
50
|
+
});
|
|
51
|
+
it('does not double-count an entry already dropped for invalid shape (empty name/description)', () => {
|
|
52
|
+
const skipped = findSkippedForMissingWhy([
|
|
53
|
+
{ collection: 'strategy', name: '', description: 'Automate bank transactions' },
|
|
54
|
+
]);
|
|
55
|
+
expect(skipped).toEqual([]);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
describe('chat→entries path — exact shape the fixed extraction schema now emits (Codex P1 PRRT_kwDORS4ils6mNFUa)', () => {
|
|
59
|
+
it('why present (a real string, not null): captured, with why threaded through', () => {
|
|
60
|
+
const entries = validateExtractedEntries([
|
|
61
|
+
{ collection: 'decisions', name: 'Chose Dropbox over S3', description: 'moves files to Dropbox', typeLabel: 'A decision', why: 'the team already uses it daily' },
|
|
62
|
+
]);
|
|
63
|
+
expect(entries).toHaveLength(1);
|
|
64
|
+
expect(entries[0].why).toBe('the team already uses it daily');
|
|
65
|
+
const skipped = findSkippedForMissingWhy([
|
|
66
|
+
{ collection: 'decisions', name: 'Chose Dropbox over S3', description: 'moves files to Dropbox', typeLabel: 'A decision', why: 'the team already uses it daily' },
|
|
67
|
+
]);
|
|
68
|
+
expect(skipped).toEqual([]);
|
|
69
|
+
});
|
|
70
|
+
it('why absent as the literal `null` the strict schema always emits: skipped, reported — never treated as a truthy string', () => {
|
|
71
|
+
const entries = validateExtractedEntries([
|
|
72
|
+
{ collection: 'strategy', name: 'Automated invoice matching', description: 'connects to Revolut and matches by confidence score', typeLabel: 'What you\'re building', why: null },
|
|
73
|
+
]);
|
|
74
|
+
expect(entries).toHaveLength(0);
|
|
75
|
+
const skipped = findSkippedForMissingWhy([
|
|
76
|
+
{ collection: 'strategy', name: 'Automated invoice matching', description: 'connects to Revolut and matches by confidence score', typeLabel: 'What you\'re building', why: null },
|
|
77
|
+
]);
|
|
78
|
+
expect(skipped).toEqual([{ name: 'Automated invoice matching', collection: 'strategy' }]);
|
|
79
|
+
});
|
|
80
|
+
it('why: null on a non-why-required kind (glossary/tensions) is fine — captured, never skipped', () => {
|
|
81
|
+
const entries = validateExtractedEntries([
|
|
82
|
+
{ collection: 'tensions', name: 'Manual review when confidence is low', description: 'have to manually review in a triage queue', typeLabel: 'A challenge', why: null },
|
|
83
|
+
]);
|
|
84
|
+
expect(entries).toHaveLength(1);
|
|
85
|
+
expect(entries[0].why).toBeUndefined();
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
describe('batchCaptureEntries — `why` in the create payload', () => {
|
|
89
|
+
it('includes `why` in the chain.createEntry data payload when the entry has one', async () => {
|
|
90
|
+
kernelCallWithSessionMock.mockResolvedValueOnce({ entryId: 'DEC-1' });
|
|
91
|
+
await batchCaptureEntries([
|
|
92
|
+
{ collection: 'decisions', name: 'Adopt X', description: 'We chose X', typeLabel: 'Decision', why: 'X scales better' },
|
|
93
|
+
]);
|
|
94
|
+
expect(kernelCallWithSessionMock).toHaveBeenCalledWith('chain.createEntry', expect.objectContaining({
|
|
95
|
+
data: { description: 'We chose X', why: 'X scales better' },
|
|
96
|
+
}));
|
|
97
|
+
});
|
|
98
|
+
it('omits `why` from the data payload when the entry has none', async () => {
|
|
99
|
+
kernelCallWithSessionMock.mockResolvedValueOnce({ entryId: 'TEN-1' });
|
|
100
|
+
await batchCaptureEntries([
|
|
101
|
+
{ collection: 'tensions', name: 'Two teams diverge', description: 'disagree', typeLabel: 'Tension' },
|
|
102
|
+
]);
|
|
103
|
+
expect(kernelCallWithSessionMock).toHaveBeenCalledWith('chain.createEntry', expect.objectContaining({
|
|
104
|
+
data: { description: 'disagree' },
|
|
105
|
+
}));
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
describe('classifyExtractedEntries — seen-tracking (WP-770 why-producers round 4, TASK-360, PRRT_kwDORS4ils6mNX-n)', () => {
|
|
109
|
+
it('a later duplicate name WITH a why replaces an earlier skipped same-named row instead of being deduped against it', () => {
|
|
110
|
+
const entries = validateExtractedEntries([
|
|
111
|
+
{ collection: 'decisions', name: 'Adopt X over Y', description: 'We chose X' }, // no why: skipped
|
|
112
|
+
{ collection: 'decisions', name: 'Adopt X over Y', description: 'We chose X', why: 'X scales better' }, // same name, now with why
|
|
113
|
+
]);
|
|
114
|
+
expect(entries).toHaveLength(1);
|
|
115
|
+
expect(entries[0].why).toBe('X scales better');
|
|
116
|
+
const skipped = findSkippedForMissingWhy([
|
|
117
|
+
{ collection: 'decisions', name: 'Adopt X over Y', description: 'We chose X' },
|
|
118
|
+
{ collection: 'decisions', name: 'Adopt X over Y', description: 'We chose X', why: 'X scales better' },
|
|
119
|
+
]);
|
|
120
|
+
expect(skipped).toEqual([{ name: 'Adopt X over Y', collection: 'decisions' }]);
|
|
121
|
+
});
|
|
122
|
+
it('a genuine duplicate (both accepted, same why-having name) still dedupes to one entry', () => {
|
|
123
|
+
const entries = validateExtractedEntries([
|
|
124
|
+
{ collection: 'decisions', name: 'Adopt X', description: 'We chose X', why: 'X scales better' },
|
|
125
|
+
{ collection: 'decisions', name: 'Adopt X', description: 'Different desc', why: 'A different reason' },
|
|
126
|
+
]);
|
|
127
|
+
expect(entries).toHaveLength(1);
|
|
128
|
+
expect(entries[0].why).toBe('X scales better'); // first-accepted wins
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
//# sourceMappingURL=onboarding-shared.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboarding-shared.test.js","sourceRoot":"","sources":["../../src/lib/onboarding-shared.test.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/onboarding.d.ts
CHANGED
|
@@ -11,7 +11,11 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export declare function runOnboardingConversation(workspaceName: string): Promise<void>;
|
|
13
13
|
/**
|
|
14
|
-
* Deterministic fallback when LLM is unavailable.
|
|
14
|
+
* Deterministic fallback when LLM is unavailable. Neither FALLBACK_QUESTIONS asks for a
|
|
15
|
+
* reason (only "what" and "what's the challenge"), so a strategy entry here never has one —
|
|
16
|
+
* WP-770 why-producers ruling (TASK-360, DEC-1792, PRRT_kwDORS4ils6mNX-o): never copy the
|
|
17
|
+
* answer into `why` as filler; skip the why-required strategy entry and report it instead of
|
|
18
|
+
* capturing it without a reason (tensions is not why-required, so it always captures).
|
|
15
19
|
*/
|
|
16
20
|
export declare function runFallbackOnboarding(workspaceName: string): Promise<void>;
|
|
17
21
|
//# sourceMappingURL=onboarding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/lib/onboarding.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/lib/onboarding.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAuCH;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmUpF;AAYD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8EhF"}
|
package/dist/lib/onboarding.js
CHANGED
|
@@ -14,9 +14,19 @@ import { detectSignals, mergeSignals } from './conversation-signals.js';
|
|
|
14
14
|
import { evaluateTopic, buildTopicDirective, sanitizeResponse, shouldSkipTopic, isTooSimilar } from './conversation-engine.js';
|
|
15
15
|
import { ONBOARDING_TOPICS, userWantsToSkip } from './onboarding-topics.js';
|
|
16
16
|
import { FEEDBACK_SUBMIT_HINT } from '../formatters/session.js';
|
|
17
|
-
import { countWords, validateExtractedEntries, displayEntryExample, showCapturedSummary, batchCaptureEntries, truncate, } from './onboarding-shared.js';
|
|
17
|
+
import { countWords, validateExtractedEntries, findSkippedForMissingWhy, displayEntryExample, showCapturedSummary, batchCaptureEntries, truncate, WHY_REQUIRED_ONBOARDING_COLLECTIONS, } from './onboarding-shared.js';
|
|
18
18
|
/** Hard cap on total exchanges across all topics. */
|
|
19
19
|
const MAX_TOTAL_EXCHANGES = 10;
|
|
20
|
+
/** WP-770 why-producers ruling (TASK-360): report entries skipped for lacking a `why` — shared
|
|
21
|
+
* by both the length-0 early-return and the normal Step 6 report below. */
|
|
22
|
+
function reportSkippedForWhy(skipped) {
|
|
23
|
+
if (skipped.length === 0)
|
|
24
|
+
return;
|
|
25
|
+
process.stdout.write(`\n ${dim(`${skipped.length} skipped, needs a why:`)}\n`);
|
|
26
|
+
for (const s of skipped) {
|
|
27
|
+
process.stdout.write(` ${dim(icons.dot)} ${s.name}\n`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
20
30
|
// ── Main conversation ───────────────────────────────────────────────────────
|
|
21
31
|
/**
|
|
22
32
|
* Run the onboarding conversation: topic-by-topic coach pattern, extraction, and auto-capture.
|
|
@@ -194,6 +204,7 @@ export async function runOnboardingConversation(workspaceName) {
|
|
|
194
204
|
return;
|
|
195
205
|
}
|
|
196
206
|
let entriesToCapture;
|
|
207
|
+
let skippedForWhy = [];
|
|
197
208
|
try {
|
|
198
209
|
const result = await kernelCall('onboarding.chat', {
|
|
199
210
|
messages: state.messages,
|
|
@@ -204,13 +215,17 @@ export async function runOnboardingConversation(workspaceName) {
|
|
|
204
215
|
process.stdout.write(`\n ${dim("Couldn't organize your answers just yet. Try")} ${bold('pb capture')} ${dim('to add knowledge manually.')}\n\n`);
|
|
205
216
|
return;
|
|
206
217
|
}
|
|
218
|
+
// WP-770 why-producers ruling (TASK-360): an extracted strategy/decisions entry with no
|
|
219
|
+
// LLM-supplied `why` is not captured — reported below instead (Step 6).
|
|
207
220
|
entriesToCapture = validateExtractedEntries(result.entries).slice(0, 5);
|
|
221
|
+
skippedForWhy = findSkippedForMissingWhy(result.entries);
|
|
208
222
|
}
|
|
209
223
|
catch {
|
|
210
224
|
process.stdout.write(`\n ${dim("Couldn't organize your answers just yet. Try")} ${bold('pb capture')} ${dim('to add knowledge manually.')}\n\n`);
|
|
211
225
|
return;
|
|
212
226
|
}
|
|
213
227
|
if (entriesToCapture.length === 0) {
|
|
228
|
+
reportSkippedForWhy(skippedForWhy);
|
|
214
229
|
process.stdout.write(`\n ${dim('Nothing to save yet. Try')} ${bold('pb capture')} ${dim('to add knowledge manually.')}\n\n`);
|
|
215
230
|
return;
|
|
216
231
|
}
|
|
@@ -258,7 +273,7 @@ export async function runOnboardingConversation(workspaceName) {
|
|
|
258
273
|
if (!shouldSave)
|
|
259
274
|
return;
|
|
260
275
|
// Step 5: Batch-capture entries
|
|
261
|
-
const { capturedCount, errors } = await batchCaptureEntries(entriesToCapture);
|
|
276
|
+
const { capturedCount, captured, errors } = await batchCaptureEntries(entriesToCapture);
|
|
262
277
|
// Step 6: Report results
|
|
263
278
|
if (capturedCount > 0) {
|
|
264
279
|
process.stdout.write(`\n ${green(icons.pass)} Saved ${capturedCount} item${capturedCount === 1 ? '' : 's'} to your product brain.\n`);
|
|
@@ -267,8 +282,11 @@ export async function runOnboardingConversation(workspaceName) {
|
|
|
267
282
|
if (errors.length > 0) {
|
|
268
283
|
process.stdout.write(`\n ${dim(`${errors.length} couldn't be saved.`)}\n`);
|
|
269
284
|
}
|
|
270
|
-
|
|
271
|
-
|
|
285
|
+
reportSkippedForWhy(skippedForWhy);
|
|
286
|
+
// Step 7: Deterministic proof + closing — WP-770 why-producers round 4 (PRRT_kwDORS4ils6mNX-o):
|
|
287
|
+
// list only entries batchCaptureEntries actually captured, never the full input list (a
|
|
288
|
+
// failed capture must not appear as "remembered").
|
|
289
|
+
showCapturedSummary(captured, capturedCount);
|
|
272
290
|
process.stdout.write(` ${dim('Run')} ${bold('pb capture')} ${dim('anytime to teach your AI tools more.')}\n\n`);
|
|
273
291
|
// WP-584 S4 (FEAT-1389 folded in): teach the feedback verb + behaviour-not-content rule at
|
|
274
292
|
// the natural end-of-onboarding beat — reuses the SAME constant session start already prints,
|
|
@@ -285,7 +303,11 @@ const FALLBACK_QUESTIONS = [
|
|
|
285
303
|
{ message: "What's the biggest challenge right now?", placeholder: 'Scaling, onboarding, pricing...' },
|
|
286
304
|
];
|
|
287
305
|
/**
|
|
288
|
-
* Deterministic fallback when LLM is unavailable.
|
|
306
|
+
* Deterministic fallback when LLM is unavailable. Neither FALLBACK_QUESTIONS asks for a
|
|
307
|
+
* reason (only "what" and "what's the challenge"), so a strategy entry here never has one —
|
|
308
|
+
* WP-770 why-producers ruling (TASK-360, DEC-1792, PRRT_kwDORS4ils6mNX-o): never copy the
|
|
309
|
+
* answer into `why` as filler; skip the why-required strategy entry and report it instead of
|
|
310
|
+
* capturing it without a reason (tensions is not why-required, so it always captures).
|
|
289
311
|
*/
|
|
290
312
|
export async function runFallbackOnboarding(workspaceName) {
|
|
291
313
|
trackEvent('setup_started', { mode: 'fallback' });
|
|
@@ -307,13 +329,19 @@ export async function runFallbackOnboarding(workspaceName) {
|
|
|
307
329
|
}
|
|
308
330
|
trackEvent('first_capture_prompted', { mode: 'fallback' });
|
|
309
331
|
const entriesToCapture = [];
|
|
332
|
+
const skippedForWhy = [];
|
|
310
333
|
if (answers[0]) {
|
|
311
|
-
|
|
312
|
-
collection: 'strategy'
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
334
|
+
if (WHY_REQUIRED_ONBOARDING_COLLECTIONS.has('strategy')) {
|
|
335
|
+
skippedForWhy.push({ name: 'Product Vision', collection: 'strategy' });
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
entriesToCapture.push({
|
|
339
|
+
collection: 'strategy',
|
|
340
|
+
name: 'Product Vision',
|
|
341
|
+
description: answers[0],
|
|
342
|
+
typeLabel: "What you're building",
|
|
343
|
+
});
|
|
344
|
+
}
|
|
317
345
|
}
|
|
318
346
|
if (answers[1]) {
|
|
319
347
|
entriesToCapture.push({
|
|
@@ -323,6 +351,11 @@ export async function runFallbackOnboarding(workspaceName) {
|
|
|
323
351
|
typeLabel: "A challenge you're facing",
|
|
324
352
|
});
|
|
325
353
|
}
|
|
354
|
+
if (entriesToCapture.length === 0) {
|
|
355
|
+
reportSkippedForWhy(skippedForWhy);
|
|
356
|
+
process.stdout.write(`\n ${dim('Nothing to save yet. Try')} ${bold('pb capture')} ${dim('to add knowledge manually.')}\n\n`);
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
326
359
|
// Show extraction
|
|
327
360
|
process.stdout.write('\n');
|
|
328
361
|
for (const entry of entriesToCapture) {
|
|
@@ -337,12 +370,14 @@ export async function runFallbackOnboarding(workspaceName) {
|
|
|
337
370
|
}
|
|
338
371
|
if (!approved)
|
|
339
372
|
return;
|
|
340
|
-
const { capturedCount } = await batchCaptureEntries(entriesToCapture);
|
|
373
|
+
const { capturedCount, captured } = await batchCaptureEntries(entriesToCapture);
|
|
341
374
|
if (capturedCount > 0) {
|
|
342
375
|
process.stdout.write(`\n ${green(icons.pass)} Saved ${capturedCount} item${capturedCount === 1 ? '' : 's'} to your product brain.\n`);
|
|
343
376
|
trackEvent('capture_completed', { mode: 'fallback', count: capturedCount });
|
|
344
377
|
}
|
|
345
|
-
|
|
378
|
+
reportSkippedForWhy(skippedForWhy);
|
|
379
|
+
// WP-770 why-producers round 4 (PRRT_kwDORS4ils6mNX-o): list only what was actually captured.
|
|
380
|
+
showCapturedSummary(captured, capturedCount);
|
|
346
381
|
process.stdout.write(` ${dim('Run')} ${bold('pb capture')} ${dim('anytime to teach your AI tools more.')}\n\n`);
|
|
347
382
|
// WP-584 S4 (FEAT-1389 folded in): same teaching beat as the LLM-mode close above — the
|
|
348
383
|
// fallback path is a real onboarding completion too, not a degraded one that skips it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/lib/onboarding.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/lib/onboarding.ts"],"names":[],"mappings":"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"}
|