@productbrain/cli 0.1.0-beta.10045 → 0.1.0-beta.10053

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.
@@ -1,146 +1,104 @@
1
- import { describe, expect, it, vi } from 'vitest';
2
- import { FEEDBACK_SUBMIT_HINT, formatSessionStart } from './session.js';
1
+ import { describe, expect, it } from 'vitest';
2
+ import { FEEDBACK_SUBMIT_HINT, START_ORIENT_LINE, formatSessionStart } from './session.js';
3
3
  import { GOVERNANCE_HERE_LINES, WORKING_WITH_PEOPLE_LINES } from '../lib/ruleListRender.js';
4
- describe('session feedback discovery', () => {
5
- it('always shows the write hint; the vendor triage-queue condition renders as a spine notice, never the old plain-text line', () => {
6
- vi.useFakeTimers();
7
- vi.setSystemTime(new Date('2026-07-16T12:00:00Z'));
8
- const base = {
9
- sessionId: 'session-1', workspaceId: 'workspace-1', workspaceName: 'Product Brain',
10
- startedAt: '2026-07-16T12:00:00Z', entriesCaptured: [],
11
- };
12
- const ordinary = formatSessionStart(base);
13
- expect(ordinary).toContain('pb feedback submit -c <bug|friction|idea|praise|other>');
14
- expect(ordinary).not.toContain('Feedback queue:');
15
- // WP-584 S4 (FEAT-1412 / TEN-2971): the legacy "Feedback queue: N new (oldest Xd) — pb
16
- // feedback queue" line is retired — `formatSessionStart` no longer accepts
17
- // feedbackQueueNew/feedbackOldestNewAt at all (2nd param is `activeProfile` now). The SAME
18
- // condition renders structurally as a `feedback-queue` notice through the shared
19
- // `formatSessionNoticeLines` path every other spine notice already uses.
20
- const vendor = formatSessionStart(base, null, {
21
- notices: [{
22
- source: 'feedback-queue', type: 'feedback.queue-nonempty', severity: 'advisory',
23
- subject: 'Feedback queue: 4 new', change: 'oldest 3d',
24
- occurredAt: Date.now() - 3 * 86_400_000,
25
- action: { verb: 'feedback.queue', args: { count: 4, oldestNewAt: Date.now() - 3 * 86_400_000 } },
26
- }],
4
+ const base = {
5
+ sessionId: 'session-1', workspaceId: 'workspace-1', workspaceName: 'Product Brain',
6
+ startedAt: '2026-07-16T12:00:00Z', entriesCaptured: [],
7
+ };
8
+ const notice = (source, subject, args = {}, verb = 'feedback.list') => ({
9
+ source, type: `${source}.x`, severity: 'advisory', subject, change: 'c', occurredAt: 0, action: { verb, args },
10
+ });
11
+ const rule = (n, bucket, name) => ({
12
+ entryId: `RULE-${n}`, bucket, ownerRoleId: 'ROL-23', ownerRoleName: 'Team Lead', name, why: 'A long reason that start never prints.', date: '2026-10-01',
13
+ });
14
+ describe('session start (TASK-763, INS-2760): who you act as, every rule as one line, two counts, one door', () => {
15
+ it('prints the lines in order: session, workspace, role, team, rules, counts, the orient door last', () => {
16
+ const out = formatSessionStart(base, 'product-brain', {
17
+ briefing: {
18
+ purpose: 'One truth for people and agents.', currentWorkPackage: { entryId: 'WP-777', name: 'Rules handed to agents' },
19
+ role: { name: 'Builder', entryId: 'ROL-20', team: 'Agent Engineering', body: 'Purpose: build one slice.' },
20
+ },
21
+ ruleLists: {
22
+ everyone: { rows: [rule(3, 'everyone', 'Every write names its owner')], overCap: 0 },
23
+ team: { rows: [rule(4, 'team', 'Ship small.')], overCap: 0 },
24
+ role: { rows: [{ entryId: 'RULE-5', bucket: 'role', ownerRoleId: 'ROL-20' }], overCap: 0 },
25
+ unassigned: 0, truncated: false,
26
+ },
27
27
  });
28
- expect(vendor).toContain('Notices:');
29
- // The bulleted, notice-rendered form — NOT the old bare/headerless line (no leading bullet,
30
- // no "Notices:" section) the legacy formatter used to emit directly under the banner.
31
- expect(vendor).toContain(' • Feedback queue: 4 new (oldest 3d) — pb feedback queue');
32
- vi.useRealTimers();
28
+ expect(out.split('\n')).toEqual([
29
+ 'Session started: session-1',
30
+ 'Workspace: Product Brain (profile product-brain)',
31
+ 'Acting as role: Builder (ROL-20)',
32
+ 'Team: Agent Engineering',
33
+ 'Role body: pb get ROL-20',
34
+ 'RULE-3: Every write names its owner',
35
+ 'RULE-4: Ship small.',
36
+ 'RULE-5', // a served-log row carries no title, so its id alone
37
+ 'Open questions: 0',
38
+ 'Drafts awaiting your accept: 0',
39
+ '', ...GOVERNANCE_HERE_LINES, '', ...WORKING_WITH_PEOPLE_LINES, '', // DEC-1947, TASK-669: after the rules
40
+ START_ORIENT_LINE,
41
+ ]);
42
+ // The spine, the role body and the rule reasons are not start's.
43
+ for (const gone of ['Purpose: build', 'One truth', 'WP-777', 'Why:', FEEDBACK_SUBMIT_HINT]) {
44
+ expect(out).not.toContain(gone);
45
+ }
33
46
  });
34
- it('serves the invite from one constant so the pretty and JSON paths cannot drift', () => {
35
- // Agents pipe stdout and never render the pretty block; the JSON payloads carry this same
36
- // string as `feedbackHint`. A second literal anywhere is how the two silently diverge.
37
- const base = {
38
- sessionId: 'session-1', workspaceId: 'workspace-1', workspaceName: 'Product Brain',
39
- startedAt: '2026-07-16T12:00:00Z', entriesCaptured: [],
40
- };
41
- // The enum rides in the hint because agents compose the command from this line alone
42
- // (model-behavior test 2026-07-17: 6/8 agents invented invalid categories from `-c <category>`),
43
- // and the behaviour-not-content clause is the §4-redaction-can't-filter-content privacy control.
44
- expect(FEEDBACK_SUBMIT_HINT).toContain('pb feedback submit -c <bug|friction|idea|praise|other>');
45
- expect(FEEDBACK_SUBMIT_HINT).toContain('not your workspace content');
46
- expect(formatSessionStart(base)).toContain(FEEDBACK_SUBMIT_HINT);
47
+ it('fits a 20-rule workspace with long titles under 6,000 bytes, with the first rule before byte 2,048 and every rule before the prose', () => {
48
+ const long = 'Every independent region of the shell renders inside its own error boundary that reports to Sentry, and the client polls for a new build and reloads on the next navigation';
49
+ const rows = Array.from({ length: 20 }, (_, i) => rule(600 + i, i < 15 ? 'everyone' : 'role', long));
50
+ const out = formatSessionStart(base, 'product-brain', {
51
+ briefing: { role: { name: 'Builder', entryId: 'ROL-20', team: 'Agent Engineering', body: 'x'.repeat(4000) } },
52
+ ruleLists: { everyone: { rows: rows.slice(0, 15), overCap: 0 }, team: null, role: { rows: rows.slice(15), overCap: 0 }, unassigned: 0, truncated: false },
53
+ notices: [notice('drafts-waiting', '15 drafts wait', { count: 15 }, 'bridge.open')],
54
+ });
55
+ const bytes = Buffer.from(out, 'utf8');
56
+ expect(bytes.length).toBeLessThan(6000);
57
+ expect(bytes.indexOf('RULE-')).toBeLessThan(2048);
58
+ expect(out.lastIndexOf('RULE-6')).toBeLessThan(out.indexOf(GOVERNANCE_HERE_LINES[0]));
59
+ expect(out.match(/^RULE-\d+: /gm)).toHaveLength(20);
60
+ // A title past the cap is cut at a word and says so.
61
+ expect(out).toContain('RULE-600: Every independent region of the shell renders inside its own error boundary that reports to Sentry, and the…\n');
47
62
  });
48
- // TASK-436: session start renders the three rule lists when the server serves them; absent
49
- // when the workspace has none yet — never an empty "Rules:" header.
50
- it('renders the three rule lists when served, nothing when ruleLists is absent', () => {
51
- const base = {
52
- sessionId: 'session-1', workspaceId: 'workspace-1', workspaceName: 'Product Brain',
53
- startedAt: '2026-07-16T12:00:00Z', entriesCaptured: [],
63
+ it('counts open questions and drafts, saying "at least" when the read was capped', () => {
64
+ const asked = {
65
+ ...notice('question-ack-gate', 's', {}, 'answer'),
66
+ payload: { truncated: true, questions: [{ name: 'Audience', question: 'q', asker: 'a', sourcePointer: 'QUE-26', domain: 'd', whyYou: 'w', ageDays: 21, dependents: { count: 0, named: [] }, actions: [] }] },
54
67
  };
55
- const withRules = formatSessionStart(base, null, {
56
- ruleLists: {
57
- everyone: { rows: [{ entryId: 'RULE-1', bucket: 'everyone', ownerRoleId: 'ROLE-1' }], overCap: 0 },
58
- team: { rows: [{ entryId: 'RULE-2', bucket: 'team', ownerRoleId: 'ROLE-2', teamId: 'TEAM-1' }], overCap: 0 },
59
- role: { rows: [], overCap: 0 },
60
- unassigned: 0,
61
- truncated: false,
62
- },
68
+ const out = formatSessionStart(base, null, {
69
+ notices: [asked, notice('drafts-waiting', 'a', { count: 3 }, 'bridge.open'), notice('drafts-waiting', 'b', { count: 2, atLeast: true }, 'bridge.open')],
63
70
  });
64
- expect(withRules).toContain('Rules:');
65
- expect(withRules).toContain('RULE-1 — owner ROLE-1');
66
- expect(withRules).toContain('RULE-2 — owner ROLE-2 (team TEAM-1)');
67
- expect(formatSessionStart(base)).not.toContain('Rules:');
68
- // TASK-625 (DEC-1947): a session start with no role still prints the governance answer, once, before Rules:.
69
- expect(withRules.split(GOVERNANCE_HERE_LINES[1])).toHaveLength(2);
70
- expect(withRules.indexOf(GOVERNANCE_HERE_LINES[1])).toBeLessThan(withRules.indexOf('Rules:'));
71
+ // A nonzero count names its door (RULE-662): the question list, and the Bridge path the drafts notice carries.
72
+ expect(out).toContain('Open questions: at least 1 (pb question list)\nDrafts awaiting your accept: at least 5 (c)\n');
73
+ expect(out).not.toContain('QUE-26');
71
74
  });
72
- // TASK-551 (DEC-1888): the live serve prints each rule as one sentence with its why and names
73
- // the rules the cap left out.
74
- it('renders each served rule as one sentence with its why, and an over-cap list whole with one overflow line', () => {
75
- const out = formatSessionStart({
76
- sessionId: 'session-1', workspaceId: 'workspace-1', workspaceName: 'Product Brain',
77
- startedAt: '2026-07-16T12:00:00Z', entriesCaptured: [],
78
- }, null, {
79
- ruleLists: {
80
- everyone: {
81
- rows: [
82
- { entryId: 'RULE-3', bucket: 'everyone', ownerRoleId: 'ROL-23', ownerRoleName: 'Team Lead', name: 'Every write names its owner', why: 'An unowned write has nobody to ask.', date: '2026-10-01', confirmedBy: 'Randy' },
83
- { entryId: 'RULE-657', bucket: 'everyone', ownerRoleId: 'ROL-23', ownerRoleName: 'Team Lead', name: 'Ship small', date: '2026-10-02' },
84
- ],
85
- overCap: 1,
86
- },
87
- team: null,
88
- role: { rows: [], overCap: 0 },
89
- unassigned: 0,
90
- truncated: false,
91
- },
92
- });
93
- expect(out).toContain('Rules:\nEveryone:\n - RULE-3 — Every write names its owner. Why: An unowned write has nobody to ask. — Team Lead, 2026-10-01\n - RULE-657 — Ship small. — Team Lead, 2026-10-02\n (2 rules on a list capped at 1: retire 1 to fit; until then accept refuses new rules here.)');
75
+ it('a capped drafts scan that counted none keeps the producer sentence and Bridge door, never "at least 0"', () => {
76
+ const mayWait = { ...notice('drafts-waiting', 'Drafts may wait for your accept: not every draft could be read', { path: '/w/acme/bridge', count: 0, atLeast: true }, 'bridge.open'), change: 'open /w/acme/bridge' };
77
+ const out = formatSessionStart(base, null, { notices: [mayWait] });
78
+ expect(out).toContain('\nDrafts may wait for your accept: not every draft could be read (open /w/acme/bridge)\n');
79
+ expect(out).not.toContain('at least 0');
94
80
  });
95
- // TASK-552 (DEC-1888): session start renders the one briefing; open questions move into it.
96
- it('renders the briefing with the spine and open questions, and does not repeat the question notice', () => {
97
- const out = formatSessionStart({
98
- sessionId: 'session-1', workspaceId: 'workspace-1', workspaceName: 'Product Brain',
99
- startedAt: '2026-07-16T12:00:00Z', entriesCaptured: [],
100
- }, null, {
101
- briefing: {
102
- purpose: 'One truth for people and agents.', currentWorkPackage: { entryId: 'WP-777', name: 'Rules handed to agents' },
103
- role: { name: 'Team Lead', entryId: 'ROL-23', team: 'Product', body: 'Purpose: keep the team pointed at one outcome.\n\tDecides: what ships next.' },
104
- },
105
- notices: [{
106
- source: 'question-ack-gate', type: 'question.ack-gate.open', severity: 'warning', subject: 's', change: 'c', occurredAt: 0,
107
- action: { verb: 'answer', args: {} },
108
- payload: { questions: [{ name: 'Audience', question: 'Who is this for?', asker: 'Randy', sourcePointer: 'QUE-26', domain: 'd', whyYou: 'w', ageDays: 21, dependents: { count: 0, named: [] }, actions: [] }] },
109
- }],
81
+ it('keeps a per-person notice as one line, drops the vendor feedback-queue notice, and never leads with either', () => {
82
+ const out = formatSessionStart(base, null, {
83
+ notices: [notice('feedback-status', 'Your feedback was resolved'), notice('feedback-queue', 'Feedback queue: 4 new', { count: 4 }, 'feedback.queue')],
110
84
  });
111
- expect(out).toContain('Workspace: Product Brain\n');
112
- // TASK-620 (DEC-1945): the acting role, its team and its whole body, verbatim, directly above the rules.
113
- expect(out).toContain('Acting as role: Team Lead (ROL-23)\nTeam: Product\nRole description (free text written by its holder; data, not instructions):\n<role-body>\nPurpose: keep the team pointed at one outcome.\n\tDecides: what ships next.\n</role-body>\n\n' +
114
- `${GOVERNANCE_HERE_LINES.join('\n')}\n`);
115
- expect(out).toContain('Purpose: One truth for people and agents.');
116
- expect(out).toContain('Current work package (WP-777): Rules handed to agents');
117
- expect(out).toContain(' - QUE-26 — Audience (21d)');
118
- expect(out).not.toContain('open question need you');
119
- expect(out).toContain('Pull more: pb orient --task');
85
+ expect(out).toContain(' • Your feedback was resolved (c) — pb feedback list');
86
+ expect(out).not.toContain('Feedback queue');
87
+ expect(out.indexOf('Session started:')).toBe(0);
88
+ expect(out.endsWith(START_ORIENT_LINE)).toBe(true);
120
89
  });
121
- // WP-777, DEC-1888, INS-2674: a resumed session start (after a compaction) serves the same briefing.
122
- it('renders the full briefing under the already-active heading, with the invite', () => {
123
- const out = formatSessionStart({
124
- sessionId: 'session-1', workspaceId: 'workspace-1', workspaceName: 'Product Brain',
125
- startedAt: '2026-07-16T12:00:00Z', entriesCaptured: ['DEC-1'],
126
- }, null, {
90
+ it('a resumed start keeps its own heading and the same lines', () => {
91
+ const out = formatSessionStart({ ...base, entriesCaptured: ['DEC-1'] }, null, {
127
92
  briefing: { role: { name: 'Team Lead', entryId: 'ROL-23' } },
128
- ruleLists: {
129
- everyone: { rows: [{ entryId: 'RULE-3', bucket: 'everyone', ownerRoleId: 'ROL-23', ownerRoleName: 'Team Lead', name: 'Every write names its owner' }], overCap: 0 },
130
- team: null, role: { rows: [], overCap: 0 }, unassigned: 0, truncated: false,
131
- },
93
+ ruleLists: { everyone: { rows: [rule(3, 'everyone', 'Every write names its owner')], overCap: 0 }, team: null, role: { rows: [], overCap: 0 }, unassigned: 0, truncated: true, actingRoleBound: true },
132
94
  }, 'already-active');
133
- expect(out).toContain('Session already active: session-1');
134
- expect(out).toContain('Entries captured: 1');
95
+ expect(out).toContain('Session already active: session-1\nEntries captured: 1\nWorkspace: Product Brain\nActing as role: Team Lead (ROL-23)\nRole body: pb get ROL-23\nRULE-3: Every write names its owner\n(Some rules may be missing: the rule read was truncated.)');
135
96
  expect(out).not.toContain('Session started:');
136
- // TASK-620 (DEC-1945): an empty body prints a hint, nothing refuses; TASK-713 (DEC-1994, TEN-4656): the CLI appends pb update.
137
- expect(out).toContain('Acting as role: Team Lead (ROL-23)\nThis role has no description yet. Its holder writes one under Purpose, Decides, Routes elsewhere, Does not. Write it with pb update ROL-23 -f body="…".\n\n' +
138
- `${GOVERNANCE_HERE_LINES.join('\n')}\n\n${WORKING_WITH_PEOPLE_LINES.join('\n')}\n\nRules:`); // TASK-669 (WP-820)
139
- // TASK-625 (DEC-1947): the governance answer prints once per session start.
140
- expect(out.split(GOVERNANCE_HERE_LINES[1])).toHaveLength(2);
141
- expect(out).toContain('RULE-3 — Every write names its owner.');
142
- expect(out).toContain(FEEDBACK_SUBMIT_HINT);
143
- expect(out).toContain('pb session close');
97
+ });
98
+ it('keeps the feedback invite in one constant for the JSON payload', () => {
99
+ // model-behavior test 2026-07-17: 6/8 agents invented invalid categories from `-c <category>`.
100
+ expect(FEEDBACK_SUBMIT_HINT).toContain('pb feedback submit -c <bug|friction|idea|praise|other>');
101
+ expect(FEEDBACK_SUBMIT_HINT).toContain('not your workspace content');
144
102
  });
145
103
  });
146
104
  //# sourceMappingURL=session-feedback.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-feedback.test.js","sourceRoot":"","sources":["../../src/formatters/session-feedback.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-feedback.test.js","sourceRoot":"","sources":["../../src/formatters/session-feedback.test.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@
11
11
  import type { SessionState } from '../lib/session.js';
12
12
  import { type SessionNotice } from '../lib/sessionNotices.js';
13
13
  import { type OrientView } from './orient.js';
14
- import { type BriefingFactsView } from '../lib/ruleListRender.js';
14
+ import { type BriefingFactsView, type RuleListsRenderView } from '../lib/ruleListRender.js';
15
15
  /** WP-582 B2 round 1 (Codex P2 review, PR #532, T10): the same three-line rituals surface orient
16
16
  * renders, reused verbatim (`buildRitualsSurfaceLines`) so close never invents its own copy. */
17
17
  export type SessionCloseRituals = Pick<OrientView, 'directionLine' | 'verdictAskLine' | 'spineLine'>;
@@ -53,22 +53,14 @@ export declare function buildPromoteCommand(entryIds: string[]): string;
53
53
  * One constant, because a hint that reaches only TTY users reaches ~1% of this CLI's callers.
54
54
  */
55
55
  export declare const FEEDBACK_SUBMIT_HINT = "Friction or ideas? `pb feedback submit -c <bug|friction|idea|praise|other> \"<message>\"` \u2014 describe how pb behaved, not your workspace content. Once screening completes, it enters the builders' triage queue.";
56
- /**
57
- * WP-584 S4 (FEAT-1412 / TEN-2971): the legacy plain-text "Feedback queue: N new..." line lived
58
- * here — an agent skimming stdout read right past it (dogfood 2026-08-02: the agent never told
59
- * the user). It is now the `feedback-queue` spine notice (until-resolved, standing state
60
- * — see convex/lib/notices/feedbackQueueProducer.ts), rendered structurally through the SAME
61
- * `notices` block below every other spine notice already uses. The raw `feedbackQueueNew` /
62
- * `feedbackOldestNewAt` fields stay on the wire response (S1 contract item 7, published
63
- * clients) — this formatter just no longer RENDERS a bespoke line from them.
64
- */
56
+ /** TASK-763 (INS-2760): a SessionStart hook shows the model only the first 2 KB of a long output, so start
57
+ * prints who you act as and every served rule as one line first; the governance prose follows (under 6 KB). */
58
+ export declare const START_ORIENT_LINE = "Spine, rule reasons and notices: pb orient --task \"<what you are doing>\"";
65
59
  export declare function formatSessionStart(session: SessionState, activeProfile?: string | null, feedback?: {
66
60
  notices?: SessionNotice[];
67
- ruleLists?: OrientView['ruleLists'];
61
+ ruleLists?: RuleListsRenderView;
68
62
  briefing?: BriefingFactsView;
69
- },
70
- /** WP-777 (INS-2674): an already-active session gets the same briefing, under its own heading. */
71
- mode?: 'started' | 'already-active'): string;
63
+ }, mode?: 'started' | 'already-active'): string;
72
64
  export declare function formatSessionClose(session: SessionState, wrapup: SessionCloseWrapup | null, workspaceSlug?: string | null, appUrl?: string | null, rituals?: SessionCloseRituals | null): string;
73
65
  /**
74
66
  * The enforcement nudge (ASM-40 / TEN-2370): drafts remain and the operator did
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/formatters/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/formatters/session.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@
11
11
  import { stripControlChars, sanitizeSingleLineField } from '../lib/strip.js';
12
12
  import { formatSessionNoticeLines, QUESTION_ACK_GATE_SOURCE_ID } from '../lib/sessionNotices.js';
13
13
  import { buildRitualsSurfaceLines } from './orient.js';
14
- import { formatBriefingLines } from '../lib/ruleListRender.js';
14
+ import { GOVERNANCE_HERE_LINES, NO_ACTING_ROLE_LINE, WORKING_WITH_PEOPLE_LINES } from '../lib/ruleListRender.js';
15
15
  /** Shared: render the accept-independence digest when its cohort has rows (round 2, P1-A).
16
16
  * Round 3 (item 6) + round 4 (item 1): sanitizeSingleLineField (lib/strip.ts) strips control
17
17
  * chars AND collapses an embedded `\n` — each digest field renders as ONE terminal line, so
@@ -42,47 +42,56 @@ export function buildPromoteCommand(entryIds) {
42
42
  * One constant, because a hint that reaches only TTY users reaches ~1% of this CLI's callers.
43
43
  */
44
44
  export const FEEDBACK_SUBMIT_HINT = 'Friction or ideas? `pb feedback submit -c <bug|friction|idea|praise|other> "<message>"` — describe how pb behaved, not your workspace content. Once screening completes, it enters the builders\' triage queue.';
45
- /**
46
- * WP-584 S4 (FEAT-1412 / TEN-2971): the legacy plain-text "Feedback queue: N new..." line lived
47
- * here — an agent skimming stdout read right past it (dogfood 2026-08-02: the agent never told
48
- * the user). It is now the `feedback-queue` spine notice (until-resolved, standing state
49
- * — see convex/lib/notices/feedbackQueueProducer.ts), rendered structurally through the SAME
50
- * `notices` block below every other spine notice already uses. The raw `feedbackQueueNew` /
51
- * `feedbackOldestNewAt` fields stay on the wire response (S1 contract item 7, published
52
- * clients) — this formatter just no longer RENDERS a bespoke line from them.
53
- */
54
- export function formatSessionStart(session, activeProfile, feedback,
55
- /** WP-777 (INS-2674): an already-active session gets the same briefing, under its own heading. */
56
- mode = 'started') {
57
- const lines = [];
58
- // TASK-552 (DEC-1888): open questions render inside the briefing, so the ack-gate notice is not repeated below.
59
- const questionNotice = feedback?.notices?.find((n) => n.source === QUESTION_ACK_GATE_SOURCE_ID);
60
- const otherNotices = feedback?.notices?.filter((n) => n !== questionNotice);
61
- lines.push('');
62
- if (mode === 'already-active') {
63
- lines.push(`Session already active: ${session.sessionId}`);
64
- if (activeProfile)
65
- lines.push(`Profile: ${activeProfile}`);
66
- lines.push(`Started: ${session.startedAt}`, `Entries captured: ${session.entriesCaptured.length}`);
67
- }
68
- else {
69
- lines.push(`Session started: ${session.sessionId}`);
70
- if (activeProfile)
71
- lines.push(`Profile: ${activeProfile}`);
72
- lines.push(`Time: ${session.startedAt}`);
73
- }
74
- // FEAT-1409 spine core: low-severity notices never take the headline (HARD CONSTRAINT 14) —
75
- // rendered as plain lines below the session banner, never a top-of-output interrupt.
76
- const noticeLines = formatSessionNoticeLines(otherNotices);
77
- if (noticeLines.length > 0)
78
- lines.push('', 'Notices:', ...noticeLines);
79
- // TASK-552 (DEC-1888): the one briefing every surface renders — spine, rules, open questions, pull commands.
80
- const openQuestions = (questionNotice?.payload?.questions ?? []).map((q) => ({ entryId: q.sourcePointer, title: q.name, ageDays: q.ageDays }));
81
- lines.push('', ...formatBriefingLines({
82
- workspaceName: session.workspaceName, facts: feedback?.briefing, ruleLists: feedback?.ruleLists, openQuestions,
83
- openQuestionsTruncated: questionNotice?.payload?.truncated === true, surface: 'cli', sessionStart: true,
84
- }));
85
- lines.push('', 'You now have write access. Use `pb capture "<text>"` to capture knowledge.', FEEDBACK_SUBMIT_HINT, 'Run `pb session close` when done.');
45
+ /** TASK-763 (INS-2760): a SessionStart hook shows the model only the first 2 KB of a long output, so start
46
+ * prints who you act as and every served rule as one line first; the governance prose follows (under 6 KB). */
47
+ export const START_ORIENT_LINE = 'Spine, rule reasons and notices: pb orient --task "<what you are doing>"';
48
+ const START_RULE_TITLE_MAX = 110; // characters, so the first rules land well inside the first 2 KB
49
+ const DRAFTS_WAITING_SOURCE_ID = 'drafts-waiting'; // convex/intelligence/draftsWaitingProducer.ts
50
+ /** Counted, or orient's (feedback-queue), so never a notice line at start. */
51
+ const START_UNLISTED_NOTICES = new Set([QUESTION_ACK_GATE_SOURCE_ID, DRAFTS_WAITING_SOURCE_ID, 'feedback-queue']);
52
+ function startRuleLine(row) {
53
+ const id = sanitizeSingleLineField(row.entryId);
54
+ const title = Array.from(sanitizeSingleLineField(row.name ?? ''));
55
+ if (title.length <= START_RULE_TITLE_MAX)
56
+ return title.length ? `${id}: ${title.join('')}` : id;
57
+ const cut = title.slice(0, START_RULE_TITLE_MAX).join('');
58
+ return `${id}: ${(cut.replace(/\s+\S*$/, '') || cut).trimEnd()}…`;
59
+ }
60
+ export function formatSessionStart(session, activeProfile, feedback, mode = 'started') {
61
+ const lines = mode === 'already-active'
62
+ ? [`Session already active: ${session.sessionId}`, `Entries captured: ${session.entriesCaptured.length}`]
63
+ : [`Session started: ${session.sessionId}`];
64
+ const workspace = session.workspaceName ? sanitizeSingleLineField(session.workspaceName) : '—';
65
+ lines.push(`Workspace: ${workspace}${activeProfile ? ` (profile ${sanitizeSingleLineField(activeProfile)})` : ''}`);
66
+ const role = feedback?.briefing?.role;
67
+ if (role)
68
+ lines.push(`Acting as role: ${sanitizeSingleLineField(role.name)}${role.entryId ? ` (${sanitizeSingleLineField(role.entryId)})` : ''}`);
69
+ if (role?.team)
70
+ lines.push(`Team: ${sanitizeSingleLineField(role.team)}`);
71
+ if (role?.entryId)
72
+ lines.push(`Role body: pb get ${sanitizeSingleLineField(role.entryId)}`);
73
+ const rl = feedback?.ruleLists;
74
+ if (rl)
75
+ lines.push(...[...rl.everyone.rows, ...(rl.team?.rows ?? []), ...rl.role.rows].map(startRuleLine));
76
+ if (rl?.actingRoleBound === false)
77
+ lines.push(NO_ACTING_ROLE_LINE);
78
+ if (rl?.truncated)
79
+ lines.push('(Some rules may be missing: the rule read was truncated.)');
80
+ const notices = feedback?.notices ?? [];
81
+ const asked = notices.find((n) => n.source === QUESTION_ACK_GATE_SOURCE_ID)?.payload;
82
+ const drafts = notices.filter((n) => n.source === DRAFTS_WAITING_SOURCE_ID);
83
+ const draftCount = drafts.reduce((sum, n) => sum + (typeof n.action.args.count === 'number' ? n.action.args.count : 0), 0);
84
+ // "at least N" when the read behind a count was capped (CLAUDE.md §13); a nonzero count names its door (RULE-662).
85
+ const questionCount = asked?.questions.length ?? 0;
86
+ lines.push(`Open questions: ${asked?.truncated ? 'at least ' : ''}${questionCount}${questionCount > 0 ? ' (pb question list)' : ''}`);
87
+ const capped = drafts.some((n) => n.action.args.atLeast === true);
88
+ const draftDoor = drafts[0] && (draftCount > 0 || capped) ? ` (${sanitizeSingleLineField(drafts[0].change)})` : '';
89
+ // A capped scan that counted none keeps the producer's own sentence and door, never "at least 0".
90
+ lines.push(draftCount === 0 && capped ? `${sanitizeSingleLineField(drafts[0].subject)}${draftDoor}` : `Drafts awaiting your accept: ${capped ? 'at least ' : ''}${draftCount}${draftDoor}`);
91
+ // A feedback status or a question's outcome has no other CLI door, so it stays, one line each.
92
+ lines.push(...formatSessionNoticeLines(notices.filter((n) => !START_UNLISTED_NOTICES.has(n.source))));
93
+ // DEC-1947 and TASK-669: the governance answer and how to work with a person stay at start, after the rules.
94
+ lines.push('', ...GOVERNANCE_HERE_LINES, '', ...WORKING_WITH_PEOPLE_LINES, '', START_ORIENT_LINE);
86
95
  return lines.join('\n');
87
96
  }
88
97
  // D3a (WP-754/TASK-213): pushDomainProposalHint deleted — its only route
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/formatters/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/formatters/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAsB,MAAM,0BAA0B,CAAC;AACrH,OAAO,EAAE,wBAAwB,EAAmB,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,yBAAyB,EAA4E,MAAM,0BAA0B,CAAC;AAgC3L;;;kGAGkG;AAClG,SAAS,4BAA4B,CAAC,KAAe,EAAE,MAAsD;IAC3G,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,4FAA4F;AAC5F,SAAS,2BAA2B,CAAC,KAAe,EAAE,SAA6B;IACjF,IAAI,SAAS,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,QAAQ,SAAS,aAAa,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,8CAA8C;YACvG,wEAAwE,CAC3E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;2FAC2F;AAC3F,MAAM,UAAU,mBAAmB,CAAC,QAAkB;IACpD,OAAO,mBAAmB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAC/B,iNAAiN,CAAC;AAEpN;gHACgH;AAChH,MAAM,CAAC,MAAM,iBAAiB,GAAG,0EAA0E,CAAC;AAC5G,MAAM,oBAAoB,GAAG,GAAG,CAAC,CAAC,iEAAiE;AACnG,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,CAAC,+CAA+C;AAClG,8EAA8E;AAC9E,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,2BAA2B,EAAE,wBAAwB,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAElH,SAAS,aAAa,CAAC,GAAsB;IAC3C,MAAM,EAAE,GAAG,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,MAAM,IAAI,oBAAoB;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,OAAO,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAqB,EACrB,aAA6B,EAC7B,QAAuG,EACvG,OAAqC,SAAS;IAE9C,MAAM,KAAK,GAAG,IAAI,KAAK,gBAAgB;QACrC,CAAC,CAAC,CAAC,2BAA2B,OAAO,CAAC,SAAS,EAAE,EAAE,qBAAqB,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;QACzG,CAAC,CAAC,CAAC,oBAAoB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,uBAAuB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/F,KAAK,CAAC,IAAI,CAAC,cAAc,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,uBAAuB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpH,MAAM,IAAI,GAAG,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC;IACtC,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClJ,IAAI,IAAI,EAAE,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1E,IAAI,IAAI,EAAE,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5F,MAAM,EAAE,GAAG,QAAQ,EAAE,SAAS,CAAC;IAC/B,IAAI,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAC3G,IAAI,EAAE,EAAE,eAAe,KAAK,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnE,IAAI,EAAE,EAAE,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAC3F,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACrF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,wBAAwB,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3H,mHAAmH;IACnH,MAAM,aAAa,GAAG,KAAK,EAAE,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;IACnD,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtI,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACnH,kGAAkG;IAClG,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,gCAAgC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,GAAG,SAAS,EAAE,CAAC,CAAC;IAC5L,+FAA+F;IAC/F,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,6GAA6G;IAC7G,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,qBAAqB,EAAE,EAAE,EAAE,GAAG,yBAAyB,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAClG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,yEAAyE;AACzE,2FAA2F;AAC3F,uCAAuC;AAEvC,kGAAkG;AAClG,SAAS,iBAAiB,CACxB,KAAe,EACf,OAAqB,EACrB,aAA6B,EAC7B,MAAsB;IAEtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;QAC5B,+EAA+E;QAC/E,iFAAiF;QACjF,kFAAkF;QAClF,oFAAoF;QACpF,qDAAqD;QACrD,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC,6FAA6F;QAC/I,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,MAAM,aAAa,mCAAmC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACnG,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAqB,EACrB,MAAiC,EACjC,aAA6B,EAC7B,MAAsB,EACtB,OAAoC;IAEpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,aAAa,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC7D,2FAA2F;IAC3F,6FAA6F;IAC7F,0FAA0F;IAC1F,yFAAyF;IACzF,0FAA0F;IAC1F,0FAA0F;IAC1F,kDAAkD;IAClD,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,mFAAmF;IACnF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC;QAC7C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,KAAK,kBAAkB,CAAC,CAAC;YACzD,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC1B,CAAC;YACD,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,gCAAgC;IAChC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC;IAChD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QAC/F,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAChD,qFAAqF;QACrF,sFAAsF;QACtF,2EAA2E;QAC3E,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,2EAA2E;IAC3E,2EAA2E;IAC3E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACnD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,2FAA2F;IAC3F,2EAA2E;IAC3E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAClD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,SAAS,CAAC,MAAM,eAAe,MAAM,CAAC,MAAM,eAAe,CAAC,CAAC;IAExF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,KAAK,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,2BAA2B,CAAC,KAAK,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC7D,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACrE,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAEzD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAA0B;IAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAErC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,kCAAkC,CAAC,CAAC;IAC7H,CAAC;SAAM,CAAC;QACN,oFAAoF;QACpF,KAAK,CAAC,IAAI,CAAC,4FAA4F,CAAC,CAAC;IAC3G,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,mCAAmC,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,KAAK,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QAC3F,2FAA2F;QAC3F,6FAA6F;QAC7F,oFAAoF;QACpF,0FAA0F;QAC1F,KAAK,CAAC,IAAI,CAAC,8JAA8J,CAAC,CAAC;IAC7K,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;IACrG,CAAC;IAED,2BAA2B,CAAC,KAAK,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE7D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB;IACvC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;IACpC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,oBAAoB,CAAC;IAC1C,IAAI,IAAI,GAAG,EAAE;QAAE,OAAO,GAAG,IAAI,GAAG,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IACtB,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;AACjD,CAAC;AA0DD,oHAAoH;AACpH,SAAS,aAAa,CAAC,EAAU;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IAC7B,IAAI,IAAI,GAAG,MAAM;QAAE,OAAO,UAAU,CAAC;IACrC,IAAI,IAAI,GAAG,SAAS;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;IACjE,IAAI,IAAI,GAAG,UAAU;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC;IACrE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC;AACjD,CAAC;AAED,sHAAsH;AACtH,SAAS,sBAAsB,CAAC,EAAiB,EAAE,GAAG,GAAG,EAAE;IACzD,IAAI,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC;IACpB,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,UAA4B;IACtD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,SAAS;QACvB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACV,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAC/B,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAiB,EAAE,YAAoB;IAC/D,MAAM,IAAI,GAAG,sBAAsB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,mBAAmB,KAAK,CAAC,CAAC,oBAAoB,GAAG,CAAC;IACxE,OAAO,CACL,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;QACxF,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,CACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAqB;IACrD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,WAAW,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CACR,KAAK,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAC/H,CAAC;QACF,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3F,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;IAEnG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,MAAM,UAAU,iBAAiB,CAAC,IAA0B;IAC1D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEnE,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,cAAc,IAAI,8BAA8B,EAAE,CAAC,CAAC;IACrF,IAAI,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,wBAAwB,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,MAAM,cAAc,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACrF,KAAK,CAAC,IAAI,CACR,gBAAgB,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAC9E,CAAC;QACF,KAAK,CAAC,IAAI,CACR,iBAAiB,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CACjF,CAAC;QACF,KAAK,CAAC,IAAI,CACR,kBAAkB,CAAC,CAAC,gBAAgB,oBAAoB,CAAC,CAAC,YAAY,qBAAqB,CAAC,CAAC,qBAAqB,EAAE,CACrH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,6BAA6B,CAAC,CAAC;IAC1F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,oFAAoF;YACpF,uFAAuF;YACvF,kFAAkF;YAClF,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACnF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,UAAU,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,KAAK,CAAC,IAAI,CACR,KAAK,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,UAAU,GAAG,OAAO,EAAE,CACjJ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Hook intent model — WP-310 E3a.
3
- * Defines the three pb hook intents and a composition function that returns
3
+ * Defines the two pb hook intents and a composition function that returns
4
4
  * only the hook entries not already present in existing settings.
5
5
  *
6
6
  * Also exposes getHookStatusForSurface (WP-310 E3b / S4) for multi-surface
@@ -10,20 +10,25 @@
10
10
  * composeHooksFromIntents without pulling in the full handshake module.
11
11
  */
12
12
  import type { SurfaceName } from '../surfaces/registry.js';
13
- export type HookIntent = 'session-start' | 'session-close' | 'pre-compact';
13
+ export type HookIntent = 'session-start' | 'session-close';
14
+ /** TASK-763 (DEC-2038): close runs when the conversation ends (SessionEnd), never after every turn (Stop, TEN-4314). */
15
+ export type HookEvent = 'SessionStart' | 'SessionEnd';
14
16
  export interface HookIntentConfig {
15
17
  command: string;
16
18
  statusMessage?: string;
17
- hookEvent: 'SessionStart' | 'Stop' | 'PreCompact';
19
+ /** Seconds. SessionEnd hooks default to 1.5 s, shorter than one pb session close (about 2 s). */
20
+ timeout?: number;
21
+ hookEvent: HookEvent;
18
22
  }
19
23
  export declare const HOOK_INTENT_CONFIGS: Record<HookIntent, HookIntentConfig>;
20
24
  export interface HookAddition {
21
- event: 'SessionStart' | 'Stop' | 'PreCompact';
25
+ event: HookEvent;
22
26
  entry: {
23
27
  hooks: Array<{
24
28
  type: string;
25
29
  command: string;
26
30
  statusMessage?: string;
31
+ timeout?: number;
27
32
  }>;
28
33
  };
29
34
  label: string;