@productbrain/cli 0.1.0-beta.8652 → 0.1.0-beta.8658

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/__tests__/handshake-augment.test.js +1 -0
  2. package/dist/__tests__/handshake-augment.test.js.map +1 -1
  3. package/dist/__tests__/handshake-preview.test.js +32 -5
  4. package/dist/__tests__/handshake-preview.test.js.map +1 -1
  5. package/dist/__tests__/handshake-session-threading.test.js +2 -1
  6. package/dist/__tests__/handshake-session-threading.test.js.map +1 -1
  7. package/dist/commands/handshake.d.ts.map +1 -1
  8. package/dist/commands/handshake.js +32 -31
  9. package/dist/commands/handshake.js.map +1 -1
  10. package/dist/commands/orient.d.ts +3 -0
  11. package/dist/commands/orient.d.ts.map +1 -1
  12. package/dist/commands/orient.js.map +1 -1
  13. package/dist/generators/adapters.d.ts +6 -2
  14. package/dist/generators/adapters.d.ts.map +1 -1
  15. package/dist/generators/adapters.js +16 -37
  16. package/dist/generators/adapters.js.map +1 -1
  17. package/dist/generators/adapters.test.js +1 -1
  18. package/dist/generators/adapters.test.js.map +1 -1
  19. package/dist/generators/briefing-projections.test.d.ts +2 -0
  20. package/dist/generators/briefing-projections.test.d.ts.map +1 -0
  21. package/dist/generators/briefing-projections.test.js +97 -0
  22. package/dist/generators/briefing-projections.test.js.map +1 -0
  23. package/dist/generators/context-md.d.ts +7 -2
  24. package/dist/generators/context-md.d.ts.map +1 -1
  25. package/dist/generators/context-md.js +10 -19
  26. package/dist/generators/context-md.js.map +1 -1
  27. package/dist/generators/everyone-rules-md.d.ts +6 -7
  28. package/dist/generators/everyone-rules-md.d.ts.map +1 -1
  29. package/dist/generators/everyone-rules-md.js +17 -23
  30. package/dist/generators/everyone-rules-md.js.map +1 -1
  31. package/dist/generators/region-projections.d.ts.map +1 -1
  32. package/dist/generators/region-projections.js +6 -3
  33. package/dist/generators/region-projections.js.map +1 -1
  34. package/dist/generators/region-projections.test.js +10 -15
  35. package/dist/generators/region-projections.test.js.map +1 -1
  36. package/dist/generators/retired-projections.d.ts +7 -9
  37. package/dist/generators/retired-projections.d.ts.map +1 -1
  38. package/dist/generators/retired-projections.js +11 -15
  39. package/dist/generators/retired-projections.js.map +1 -1
  40. package/dist/generators/retired-projections.test.js +9 -7
  41. package/dist/generators/retired-projections.test.js.map +1 -1
  42. package/dist/lib/ruleListRender.d.ts +7 -4
  43. package/dist/lib/ruleListRender.d.ts.map +1 -1
  44. package/dist/lib/ruleListRender.js +32 -12
  45. package/dist/lib/ruleListRender.js.map +1 -1
  46. package/package.json +1 -1
  47. package/dist/generators/context-md.test.d.ts +0 -2
  48. package/dist/generators/context-md.test.d.ts.map +0 -1
  49. package/dist/generators/context-md.test.js +0 -82
  50. package/dist/generators/context-md.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-md.test.d.ts","sourceRoot":"","sources":["../../src/generators/context-md.test.ts"],"names":[],"mappings":""}
@@ -1,82 +0,0 @@
1
- /**
2
- * context.md renders the Everyone rule list only (TASK-436, DEC-1774). `.productbrain/context.md`
3
- * is one shared file per worktree, written by whichever session last ran `pb handshake` — Team
4
- * and Role rules are session-scoped (an agent's own role, an agent's own team), so writing them
5
- * into a file every session in the worktree reads would leak one session's rules into another's.
6
- * Team/Role rules reach an agent through `pb session start` / `pb orient` output instead, which
7
- * are per-session, not shared.
8
- */
9
- import { describe, expect, it } from 'vitest';
10
- import { generateContextMd } from './context-md.js';
11
- const REPO = {
12
- name: 'product-os',
13
- description: null,
14
- gitRemote: null,
15
- repoSlug: null,
16
- detectedStack: [],
17
- isMonorepo: false,
18
- };
19
- function makeView(overrides = {}) {
20
- return {
21
- strategicContext: {
22
- vision: null,
23
- purpose: null,
24
- activeBetCount: 0,
25
- activeWorkPackageCount: 0,
26
- currentWorkPackage: null,
27
- activeTensionCount: 0,
28
- productAreas: [],
29
- productAreaCount: 0,
30
- },
31
- activeWorkPackages: [],
32
- tensions: [],
33
- architectureNotes: [],
34
- proposals: [],
35
- absenceSignals: [],
36
- plannedWork: { uncommittedDrafts: [], inProgressEntries: [], openTensions: [] },
37
- priorSessions: [],
38
- recoveryBlock: null,
39
- ...overrides,
40
- };
41
- }
42
- describe('generateContextMd — Rules section (view.ruleLists)', () => {
43
- it('renders the Everyone rule list under "## Rules", never Team or Role', () => {
44
- const view = makeView({
45
- ruleLists: {
46
- everyone: { rows: [{ entryId: 'RULE-234', bucket: 'everyone' }], overCap: 0 },
47
- team: { rows: [{ entryId: 'RULE-99', bucket: 'team', teamId: 'TEAM-1' }], overCap: 0 },
48
- role: { rows: [{ entryId: 'RULE-42', bucket: 'role', ownerRoleId: 'ROLE-1' }], overCap: 0 },
49
- unassigned: 0,
50
- truncated: false,
51
- },
52
- });
53
- const md = generateContextMd(view, REPO, '2026-09-27T00:00:00.000Z');
54
- expect(md).toContain('## Rules');
55
- expect(md).toContain('Everyone:');
56
- expect(md).toContain('RULE-234');
57
- // Team and Role are session-scoped — never written to the shared file.
58
- expect(md).not.toContain('Team:');
59
- expect(md).not.toContain('RULE-99');
60
- expect(md).not.toContain('Role:');
61
- expect(md).not.toContain('RULE-42');
62
- });
63
- it('omits the Rules section when only Team/Role are populated (no Everyone rules)', () => {
64
- const view = makeView({
65
- ruleLists: {
66
- everyone: { rows: [], overCap: 0 },
67
- team: { rows: [{ entryId: 'RULE-99', bucket: 'team', teamId: 'TEAM-1' }], overCap: 0 },
68
- role: { rows: [{ entryId: 'RULE-42', bucket: 'role', ownerRoleId: 'ROLE-1' }], overCap: 0 },
69
- unassigned: 0,
70
- truncated: false,
71
- },
72
- });
73
- const md = generateContextMd(view, REPO, '2026-09-27T00:00:00.000Z');
74
- expect(md).not.toContain('## Rules');
75
- });
76
- it('omits the Rules section when ruleLists is absent (unseeded/pre-B1 workspace)', () => {
77
- const view = makeView();
78
- const md = generateContextMd(view, REPO, '2026-09-27T00:00:00.000Z');
79
- expect(md).not.toContain('## Rules');
80
- });
81
- });
82
- //# sourceMappingURL=context-md.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-md.test.js","sourceRoot":"","sources":["../../src/generators/context-md.test.ts"],"names":[],"mappings":"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"}