@productbrain/cli 0.1.0-beta.10045 → 0.1.0-beta.10050
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__/handshake.test.js +29 -9
- package/dist/__tests__/handshake.test.js.map +1 -1
- package/dist/__tests__/hook-intents.test.js +28 -40
- package/dist/__tests__/hook-intents.test.js.map +1 -1
- package/dist/__tests__/session-role-name-sanitize.test.js +7 -14
- package/dist/__tests__/session-role-name-sanitize.test.js.map +1 -1
- package/dist/__tests__/session-switch.test.js +1 -1
- package/dist/__tests__/session-switch.test.js.map +1 -1
- package/dist/__tests__/surfaces.test.js +3 -4
- package/dist/__tests__/surfaces.test.js.map +1 -1
- package/dist/commands/handshake.js +11 -2
- package/dist/commands/handshake.js.map +1 -1
- package/dist/formatters/__tests__/session.test.js +5 -7
- package/dist/formatters/__tests__/session.test.js.map +1 -1
- package/dist/formatters/session-feedback.test.js +88 -130
- package/dist/formatters/session-feedback.test.js.map +1 -1
- package/dist/formatters/session.d.ts +6 -14
- package/dist/formatters/session.d.ts.map +1 -1
- package/dist/formatters/session.js +51 -42
- package/dist/formatters/session.js.map +1 -1
- package/dist/lib/hook-intents.d.ts +9 -4
- package/dist/lib/hook-intents.d.ts.map +1 -1
- package/dist/lib/hook-intents.js +7 -8
- package/dist/lib/hook-intents.js.map +1 -1
- package/dist/surfaces/registry.js +1 -1
- package/dist/surfaces/registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,146 +1,104 @@
|
|
|
1
|
-
import { describe, expect, it
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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('
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
expect(
|
|
45
|
-
expect(
|
|
46
|
-
expect(
|
|
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
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
|
56
|
-
|
|
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
|
-
|
|
65
|
-
expect(
|
|
66
|
-
expect(
|
|
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
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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('
|
|
112
|
-
|
|
113
|
-
expect(out
|
|
114
|
-
|
|
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
|
-
|
|
122
|
-
|
|
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
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
expect(
|
|
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":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,
|
|
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
|
-
*
|
|
58
|
-
|
|
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?:
|
|
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":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAyD,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACrH,OAAO,EAA4B,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,
|
|
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 {
|
|
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
|
-
*
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
lines
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
lines.push(`
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Hook intent model — WP-310 E3a.
|
|
3
|
-
* Defines the
|
|
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'
|
|
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
|
-
|
|
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:
|
|
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;
|