@troylar/sightline 0.0.0-stage → 1.120.3

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 (66) hide show
  1. package/CHANGELOG.md +1890 -0
  2. package/CONTRIBUTING.md +67 -0
  3. package/LICENSE +21 -0
  4. package/README.md +153 -2
  5. package/THIRD-PARTY-NOTICES.md +121 -0
  6. package/bin/sightline.js +78 -0
  7. package/dist/sightline-app.py +406 -0
  8. package/dist/sightline-assistant.py +551 -0
  9. package/dist/sightline-jira-sync.py +2513 -0
  10. package/dist/sightline.html +14141 -0
  11. package/docs/assistant-workflow.md +472 -0
  12. package/docs/availability.md +54 -0
  13. package/docs/bundled-skills.md +46 -0
  14. package/docs/getting-started.md +99 -0
  15. package/docs/images/assistant-dark.png +0 -0
  16. package/docs/images/assistant-light.png +0 -0
  17. package/docs/images/bundled-skills-dark.png +0 -0
  18. package/docs/images/bundled-skills-light.png +0 -0
  19. package/docs/images/planning-decisions-dark.svg +46 -0
  20. package/docs/images/planning-decisions-light.svg +46 -0
  21. package/docs/images/planning-decisions-mobile-dark.svg +40 -0
  22. package/docs/images/planning-decisions-mobile-light.svg +40 -0
  23. package/docs/images/planning-story-dark.svg +32 -0
  24. package/docs/images/planning-story-light.svg +32 -0
  25. package/docs/images/planning-story-mobile-dark.svg +33 -0
  26. package/docs/images/planning-story-mobile-light.svg +33 -0
  27. package/docs/images/review-dark.png +0 -0
  28. package/docs/images/review-light.png +0 -0
  29. package/docs/images/roadmap-dark.png +0 -0
  30. package/docs/images/roadmap-light.png +0 -0
  31. package/docs/images/roadmap-map-dark.svg +53 -0
  32. package/docs/images/roadmap-map-light.svg +53 -0
  33. package/docs/images/roadmap-map-mobile-dark.svg +37 -0
  34. package/docs/images/roadmap-map-mobile-light.svg +37 -0
  35. package/docs/images/timeline-dark.png +0 -0
  36. package/docs/images/timeline-light.png +0 -0
  37. package/docs/images/today-dark.png +0 -0
  38. package/docs/images/today-light.png +0 -0
  39. package/docs/jira.md +66 -0
  40. package/docs/large-roadmaps.md +93 -0
  41. package/docs/onedrive.md +62 -0
  42. package/docs/performance-workspaces.md +39 -0
  43. package/docs/roadmap-planning-example.md +92 -0
  44. package/docs/roadmap.md +232 -0
  45. package/docs/screenshots.md +57 -0
  46. package/docs/skill-evaluation.md +71 -0
  47. package/docs/skills.md +85 -0
  48. package/docs/team-planning.md +66 -0
  49. package/docs/usability-test.md +215 -0
  50. package/docs/workspace-validation.md +152 -0
  51. package/docs/workspaces.md +106 -0
  52. package/examples/northstar/blank-plan.json +21 -0
  53. package/examples/northstar/brain-dump.txt +1 -0
  54. package/examples/northstar/jira/issues.json +1256 -0
  55. package/examples/northstar/jira/status.json +1542 -0
  56. package/examples/northstar/plan.json +341 -0
  57. package/examples/northstar/roadmap-session-amendments.json +42 -0
  58. package/examples/northstar/sightline-amendments.json +41 -0
  59. package/package.json +53 -4
  60. package/skills/sightline-edit-plan/SKILL.md +35 -0
  61. package/skills/sightline-meeting-to-plan/SKILL.md +34 -0
  62. package/skills/sightline-plan-roadmap/SKILL.md +34 -0
  63. package/skills/sightline-planning-guide/SKILL.md +29 -0
  64. package/skills/sightline-review-plan/SKILL.md +28 -0
  65. package/skills/sightline-sort-jira/SKILL.md +56 -0
  66. package/skills/sightline-status/SKILL.md +26 -0
@@ -0,0 +1,99 @@
1
+ # Your first useful planning session
2
+
3
+ Open an invented team plan, review two changes, and save something you can reopen. No Jira server or AI
4
+ account is needed for this example. [Back to the tour](../README.md).
5
+
6
+ ## Open the example
7
+
8
+ Build the public source with Git, Node.js 18+, Python 3.10+, and Bash:
9
+
10
+ ```sh
11
+ git clone https://github.com/troylar/sightline-planner.git sightline
12
+ cd sightline
13
+ npm ci
14
+ ./build.sh
15
+ ```
16
+
17
+ Open **dist/sightline.html** in desktop Chrome or Edge. Choose **File → Open shared plan…** and select
18
+ **examples/northstar/plan.json**. This is synthetic work, safe to explore. Choose Avery Stone for the example author stamps if asked; this is not a login. Your HTML is the app; the JSON is the plan.
19
+ Public npm and release downloads are not available yet; [check availability](availability.md) before using other instructions.
20
+
21
+ Choose **Product updates → Roadmap**. Select **Four quarters**, starting **Q4 2026**. Find:
22
+
23
+ - **Bring customer context into everyday work**, currently targeted for Q2 2027.
24
+ - **Explore a workspace for partners**, an idea for Later. Keep it there throughout this exercise.
25
+
26
+ Jira is optional. To populate the delivery views, connect **examples/northstar/jira** through
27
+ **Settings → Jira connection**. This is a dated documentation snapshot; freshness warnings can be expected as it ages.
28
+
29
+ ## Start with the rough notes
30
+
31
+ Read [brain-dump.txt](../examples/northstar/brain-dump.txt):
32
+
33
+ > Bring customer context forward to Q1 2027. Explore offline search too, but keep it as an idea with no
34
+ > owner or date. Leave the rest of the roadmap as it is.
35
+
36
+ A useful assistant separates the agreed timing change from the requested idea capture. It keeps the existing
37
+ outcome's ID, leaves the new idea unassigned, and does not turn this into a wholesale reschedule.
38
+
39
+ <picture>
40
+ <source media="(max-width: 640px) and (prefers-color-scheme: dark)" srcset="images/planning-story-mobile-dark.svg">
41
+ <source media="(max-width: 640px)" srcset="images/planning-story-mobile-light.svg">
42
+ <source media="(prefers-color-scheme: dark)" srcset="images/planning-story-dark.svg">
43
+ <img src="images/planning-story-light.svg" alt="Prepared example: one agreed quarter move and one unscheduled idea become two separately reviewable proposals." width="1320">
44
+ </picture>
45
+
46
+ ## Review two changes
47
+
48
+ The repository contains [roadmap-session-amendments.json](../examples/northstar/roadmap-session-amendments.json),
49
+ a **prepared example**, not a live model response. With the Northstar plan open:
50
+
51
+ 1. Choose **Connect assistant** in the toolbar and expand **Use individual files instead**.
52
+ 2. Choose **Connect that file**, then select **examples/northstar/roadmap-session-amendments.json**.
53
+ 3. Inspect the two proposals: move **Bring customer context into everyday work** from **Q2 2027** to **Q1 2027**;
54
+ add **Explore offline search** as an unscheduled idea with no owner.
55
+ 4. Apply either proposal independently. You can edit or skip one without accepting the other.
56
+ 5. Check the visible save state and use normal **Save** if required. **Undo** reverses a just-applied plan edit.
57
+
58
+ If both changes are ready and you apply them, the result is:
59
+
60
+ | Item | Before | After |
61
+ | --- | --- | --- |
62
+ | Customer context, `dv-integrations` | Idea, Q2 2027 | Planned, Q1 2027; same ID and workstream |
63
+ | Offline search, `dv-offline-search-idea` | Not in the plan | Idea; no owner or target date |
64
+ | Partner workspace, `dv-later` | Later | Still Later |
65
+ | Other outcomes | Existing values | Unchanged |
66
+
67
+ Giving the timed customer-context idea its new target marks it **Planned**. That is a planning state, not a capacity or delivery guarantee.
68
+
69
+ The new idea may sit outside the four-quarter window. Follow the outside-window control or choose **Long range**
70
+ to find it. Hidden does not mean lost. If a current value differs from the proposal's precondition, review the
71
+ conflict instead of forcing it. Only a ready change can be applied.
72
+
73
+ The earlier **sightline-amendments.json** remains available as a separate two-change wording example.
74
+ Do not connect both batches at once.
75
+
76
+ ## Make a plan of your own
77
+
78
+ Preserve any example edits you want first. Choose **File → Open a copy…** and select
79
+ **examples/northstar/blank-plan.json**. This opens an empty, detached plan rather than linking writes to the
80
+ example file. In Settings, set your plan title and calendar before scheduling work. On Roadmap, add an outcome
81
+ in **New idea**, such as “New teams can create their first shared plan.” Keep unknown timing and owners unknown.
82
+
83
+ Choose **File → Save as a new shared plan…** and save a separate JSON file. Confirm that the toolbar identifies
84
+ it as a shared plan. Close and reopen the app, choose **File → Open shared plan…**, and select that file.
85
+ For browser-only work, keep a **Download JSON** backup before closing. Composer drafts need to be submitted or
86
+ copied separately.
87
+
88
+ ## Bring your own assistant
89
+
90
+ 1. Open your own plan and connect a private folder using **Connect assistant → Connect your assistant**.
91
+ 2. Choose **Copy instructions for your assistant**. Paste them into your external coding tool with that folder's location.
92
+ 3. Point it at the source checkout's **skills/** folder, or install the individual skill folders where it discovers them.
93
+ 4. Start with a small real request. The assistant reads fresh context and writes proposals; you review and apply them here.
94
+
95
+ > Read my current context. Group these notes against existing outcomes, keep suggestions separate from decisions,
96
+ > and show the three questions that matter most. Do not invent owners or dates. Prepare only the changes I request.
97
+
98
+ You do not need to use the in-app **Send** button for an external tool. Continue in that tool's conversation.
99
+ [Complete external setup](assistant-workflow.md) · [Work through a large roadmap](large-roadmaps.md) · [Run a planning meeting](team-planning.md).
Binary file
Binary file
@@ -0,0 +1,46 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 530" role="img" aria-labelledby="title desc"><title id="title">Ten rough notes. Three decisions.</title><desc id="desc">Illustrative planning exercise: clarify overlapping scope, resolve a shared specialist and migration dependency, and complete demand evidence. In one Platform sprint, eight points scheduled exceeds six configured points; five issues are unestimated. No delivery forecast is implied.</desc>
2
+ <style>text{font-family:"Avenir Next","Trebuchet MS",Arial,sans-serif}</style>
3
+ <rect x="0" y="0" width="1280" height="530" rx="24" fill="#101b30"/>
4
+ <text x="40" y="66" fill="#eef4ff" font-size="41" font-weight="650" text-anchor="start">Ten rough notes. Three decisions.</text>
5
+ <text x="42" y="104" fill="#b0c1dd" font-size="21" font-weight="500" text-anchor="start">An invented planning session. See what the team needs to decide.</text>
6
+ <path d="M427 144 V472" fill="none" stroke="#314767" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
7
+ <path d="M853 144 V472" fill="none" stroke="#314767" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
8
+ <text x="42" y="170" fill="#80adff" font-size="28" font-weight="650" text-anchor="start">Scope</text>
9
+ <circle cx="150" cy="255" r="61" fill="#203c68" stroke="#80adff" stroke-width="2"/>
10
+ <circle cx="244" cy="255" r="61" fill="#192943" stroke="#80adff" stroke-width="2"/>
11
+ <text x="107" y="249" fill="#80adff" font-size="16" font-weight="600" text-anchor="start">Customer</text>
12
+ <text x="107" y="272" fill="#80adff" font-size="16" font-weight="600" text-anchor="start">context</text>
13
+ <text x="216" y="249" fill="#80adff" font-size="17" font-weight="600" text-anchor="start">Customer</text>
14
+ <text x="216" y="272" fill="#80adff" font-size="17" font-weight="600" text-anchor="start">history</text>
15
+ <text x="42" y="369" fill="#eef4ff" font-size="27" font-weight="650" text-anchor="start">Clarify what belongs</text>
16
+ <text x="42" y="405" fill="#eef4ff" font-size="27" font-weight="650" text-anchor="start">in the launch.</text>
17
+ <text x="42" y="447" fill="#b0c1dd" font-size="18" font-weight="500" text-anchor="start">Similar requests can overlap.</text>
18
+ <text x="42" y="472" fill="#b0c1dd" font-size="18" font-weight="500" text-anchor="start">That does not make both committed.</text>
19
+ <text x="465" y="170" fill="#c1a2ff" font-size="28" font-weight="650" text-anchor="start">Sequence</text>
20
+ <rect x="465" y="213" width="141" height="43" rx="5" fill="#183f42"/>
21
+ <text x="485" y="241" fill="#62d5c7" font-size="20" font-weight="600" text-anchor="start">Search</text>
22
+ <rect x="670" y="213" width="141" height="43" rx="5" fill="#362e53"/>
23
+ <text x="686" y="241" fill="#c1a2ff" font-size="20" font-weight="600" text-anchor="start">Migration</text>
24
+ <text x="638" y="221" fill="#b0c1dd" font-size="15" font-weight="500" text-anchor="middle">needs</text>
25
+ <path d="M606 235 H670" fill="none" stroke="#c1a2ff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
26
+ <path d="M659 227 L670 235 L659 243" fill="none" stroke="#c1a2ff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
27
+ <path d="M638 240 V286" fill="none" stroke="#c1a2ff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
28
+ <circle cx="638" cy="296" r="10" fill="#4d3c24" stroke="#f6c36a" stroke-width="3"/>
29
+ <text x="638" y="331" fill="#f6c36a" font-size="18" font-weight="600" text-anchor="middle">One shared specialist</text>
30
+ <text x="465" y="369" fill="#eef4ff" font-size="27" font-weight="650" text-anchor="start">Resolve the shared</text>
31
+ <text x="465" y="405" fill="#eef4ff" font-size="27" font-weight="650" text-anchor="start">specialist bottleneck.</text>
32
+ <text x="465" y="447" fill="#b0c1dd" font-size="18" font-weight="500" text-anchor="start">Check the dependency and allocation</text>
33
+ <text x="465" y="472" fill="#b0c1dd" font-size="18" font-weight="500" text-anchor="start">before relying on the target.</text>
34
+ <text x="892" y="170" fill="#62d5c7" font-size="28" font-weight="650" text-anchor="start">Capacity</text>
35
+ <text x="892" y="207" fill="#b0c1dd" font-size="18" font-weight="500" text-anchor="start">Points in one Platform sprint</text>
36
+ <rect x="892" y="229" width="307" height="26" rx="4" fill="#314767"/>
37
+ <rect x="892" y="229" width="230" height="26" rx="4" fill="#183f42"/>
38
+ <rect x="1122" y="229" width="77" height="26" rx="4" fill="#4d3c24"/>
39
+ <path d="M1122 221 V265" fill="none" stroke="#f6c36a" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
40
+ <text x="892" y="291" fill="#eef4ff" font-size="23" font-weight="650" text-anchor="start">8 scheduled / 6 configured</text>
41
+ <text x="892" y="329" fill="#b0c1dd" font-size="18" font-weight="500" text-anchor="start">5 issues unestimated; support absent</text>
42
+ <text x="892" y="369" fill="#eef4ff" font-size="25" font-weight="650" text-anchor="start">Complete the demand</text>
43
+ <text x="892" y="405" fill="#eef4ff" font-size="25" font-weight="650" text-anchor="start">picture before committing.</text>
44
+ <text x="892" y="447" fill="#b0c1dd" font-size="18" font-weight="500" text-anchor="start">Known overload is evidence.</text>
45
+ <text x="892" y="472" fill="#b0c1dd" font-size="18" font-weight="500" text-anchor="start">The full shortfall is still unknown.</text>
46
+ </svg>
@@ -0,0 +1,46 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 530" role="img" aria-labelledby="title desc"><title id="title">Ten rough notes. Three decisions.</title><desc id="desc">Illustrative planning exercise: clarify overlapping scope, resolve a shared specialist and migration dependency, and complete demand evidence. In one Platform sprint, eight points scheduled exceeds six configured points; five issues are unestimated. No delivery forecast is implied.</desc>
2
+ <style>text{font-family:"Avenir Next","Trebuchet MS",Arial,sans-serif}</style>
3
+ <rect x="0" y="0" width="1280" height="530" rx="24" fill="#f5f8fc"/>
4
+ <text x="40" y="66" fill="#172b4d" font-size="41" font-weight="650" text-anchor="start">Ten rough notes. Three decisions.</text>
5
+ <text x="42" y="104" fill="#536783" font-size="21" font-weight="500" text-anchor="start">An invented planning session. See what the team needs to decide.</text>
6
+ <path d="M427 144 V472" fill="none" stroke="#d6e1f0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
7
+ <path d="M853 144 V472" fill="none" stroke="#d6e1f0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
8
+ <text x="42" y="170" fill="#2563eb" font-size="28" font-weight="650" text-anchor="start">Scope</text>
9
+ <circle cx="150" cy="255" r="61" fill="#edf3ff" stroke="#2563eb" stroke-width="2"/>
10
+ <circle cx="244" cy="255" r="61" fill="#ffffff" stroke="#2563eb" stroke-width="2"/>
11
+ <text x="107" y="249" fill="#2563eb" font-size="16" font-weight="600" text-anchor="start">Customer</text>
12
+ <text x="107" y="272" fill="#2563eb" font-size="16" font-weight="600" text-anchor="start">context</text>
13
+ <text x="216" y="249" fill="#2563eb" font-size="17" font-weight="600" text-anchor="start">Customer</text>
14
+ <text x="216" y="272" fill="#2563eb" font-size="17" font-weight="600" text-anchor="start">history</text>
15
+ <text x="42" y="369" fill="#172b4d" font-size="27" font-weight="650" text-anchor="start">Clarify what belongs</text>
16
+ <text x="42" y="405" fill="#172b4d" font-size="27" font-weight="650" text-anchor="start">in the launch.</text>
17
+ <text x="42" y="447" fill="#536783" font-size="18" font-weight="500" text-anchor="start">Similar requests can overlap.</text>
18
+ <text x="42" y="472" fill="#536783" font-size="18" font-weight="500" text-anchor="start">That does not make both committed.</text>
19
+ <text x="465" y="170" fill="#7447ba" font-size="28" font-weight="650" text-anchor="start">Sequence</text>
20
+ <rect x="465" y="213" width="141" height="43" rx="5" fill="#e2f4f0"/>
21
+ <text x="485" y="241" fill="#08736c" font-size="20" font-weight="600" text-anchor="start">Search</text>
22
+ <rect x="670" y="213" width="141" height="43" rx="5" fill="#eee8f8"/>
23
+ <text x="686" y="241" fill="#7447ba" font-size="20" font-weight="600" text-anchor="start">Migration</text>
24
+ <text x="638" y="221" fill="#536783" font-size="15" font-weight="500" text-anchor="middle">needs</text>
25
+ <path d="M606 235 H670" fill="none" stroke="#7447ba" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
26
+ <path d="M659 227 L670 235 L659 243" fill="none" stroke="#7447ba" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
27
+ <path d="M638 240 V286" fill="none" stroke="#7447ba" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
28
+ <circle cx="638" cy="296" r="10" fill="#fff0d3" stroke="#91600a" stroke-width="3"/>
29
+ <text x="638" y="331" fill="#91600a" font-size="18" font-weight="600" text-anchor="middle">One shared specialist</text>
30
+ <text x="465" y="369" fill="#172b4d" font-size="27" font-weight="650" text-anchor="start">Resolve the shared</text>
31
+ <text x="465" y="405" fill="#172b4d" font-size="27" font-weight="650" text-anchor="start">specialist bottleneck.</text>
32
+ <text x="465" y="447" fill="#536783" font-size="18" font-weight="500" text-anchor="start">Check the dependency and allocation</text>
33
+ <text x="465" y="472" fill="#536783" font-size="18" font-weight="500" text-anchor="start">before relying on the target.</text>
34
+ <text x="892" y="170" fill="#08736c" font-size="28" font-weight="650" text-anchor="start">Capacity</text>
35
+ <text x="892" y="207" fill="#536783" font-size="18" font-weight="500" text-anchor="start">Points in one Platform sprint</text>
36
+ <rect x="892" y="229" width="307" height="26" rx="4" fill="#d6e1f0"/>
37
+ <rect x="892" y="229" width="230" height="26" rx="4" fill="#e2f4f0"/>
38
+ <rect x="1122" y="229" width="77" height="26" rx="4" fill="#fff0d3"/>
39
+ <path d="M1122 221 V265" fill="none" stroke="#91600a" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
40
+ <text x="892" y="291" fill="#172b4d" font-size="23" font-weight="650" text-anchor="start">8 scheduled / 6 configured</text>
41
+ <text x="892" y="329" fill="#536783" font-size="18" font-weight="500" text-anchor="start">5 issues unestimated; support absent</text>
42
+ <text x="892" y="369" fill="#172b4d" font-size="25" font-weight="650" text-anchor="start">Complete the demand</text>
43
+ <text x="892" y="405" fill="#172b4d" font-size="25" font-weight="650" text-anchor="start">picture before committing.</text>
44
+ <text x="892" y="447" fill="#536783" font-size="18" font-weight="500" text-anchor="start">Known overload is evidence.</text>
45
+ <text x="892" y="472" fill="#536783" font-size="18" font-weight="500" text-anchor="start">The full shortfall is still unknown.</text>
46
+ </svg>
@@ -0,0 +1,40 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 520 1120" role="img" aria-labelledby="title desc"><title id="title">Ten rough notes. Three decisions.</title><desc id="desc">Illustrative planning exercise: clarify scope overlap, resolve a shared specialist dependency, and complete capacity evidence. Eight scheduled points versus six configured points shows overload, while five unestimated issues leave the full demand unknown. Not an app screenshot or live AI output.</desc>
2
+ <style>text{font-family:"Avenir Next","Trebuchet MS",Arial,sans-serif}</style>
3
+ <rect x="0" y="0" width="520" height="1120" rx="24" fill="#101b30"/>
4
+ <text x="28" y="64" fill="#eef4ff" font-size="39" font-weight="650" text-anchor="start">Ten rough notes.</text>
5
+ <text x="28" y="113" fill="#eef4ff" font-size="39" font-weight="650" text-anchor="start">Three decisions.</text>
6
+ <text x="30" y="153" fill="#b0c1dd" font-size="19" font-weight="500" text-anchor="start">An invented planning session</text>
7
+ <text x="30" y="216" fill="#80adff" font-size="28" font-weight="650" text-anchor="start">Scope</text>
8
+ <circle cx="185" cy="283" r="56" fill="#203c68" stroke="#80adff" stroke-width="2"/>
9
+ <circle cx="274" cy="283" r="56" fill="#192943" stroke="#80adff" stroke-width="2"/>
10
+ <text x="143" y="278" fill="#80adff" font-size="16" font-weight="600" text-anchor="start">Customer</text>
11
+ <text x="143" y="300" fill="#80adff" font-size="16" font-weight="600" text-anchor="start">context</text>
12
+ <text x="246" y="278" fill="#80adff" font-size="17" font-weight="600" text-anchor="start">Customer</text>
13
+ <text x="246" y="300" fill="#80adff" font-size="17" font-weight="600" text-anchor="start">history</text>
14
+ <text x="30" y="382.0" fill="#eef4ff" font-size="24" font-weight="650" text-anchor="start">Clarify what belongs in the launch.</text>
15
+ <text x="30" y="416" fill="#b0c1dd" font-size="19" font-weight="500" text-anchor="start">Similar requests may overlap.</text>
16
+ <path d="M30 454 H490" fill="none" stroke="#314767" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
17
+ <text x="30" y="505" fill="#c1a2ff" font-size="28" font-weight="650" text-anchor="start">Sequence</text>
18
+ <rect x="50" y="544" width="155" height="43" rx="5" fill="#183f42"/>
19
+ <text x="72" y="573" fill="#62d5c7" font-size="20" font-weight="600" text-anchor="start">Search</text>
20
+ <rect x="307" y="544" width="165" height="43" rx="5" fill="#362e53"/>
21
+ <text x="326" y="573" fill="#c1a2ff" font-size="20" font-weight="600" text-anchor="start">Migration</text>
22
+ <text x="256" y="551" fill="#b0c1dd" font-size="17" font-weight="500" text-anchor="middle">needs</text>
23
+ <path d="M205 566 H307" fill="none" stroke="#c1a2ff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
24
+ <path d="M296 558 L307 566 L296 574" fill="none" stroke="#c1a2ff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
25
+ <path d="M256 570 V610" fill="none" stroke="#c1a2ff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
26
+ <circle cx="256" cy="620" r="10" fill="#4d3c24" stroke="#f6c36a" stroke-width="3"/>
27
+ <text x="256" y="661" fill="#f6c36a" font-size="20" font-weight="600" text-anchor="middle">One shared specialist</text>
28
+ <text x="30" y="708" fill="#eef4ff" font-size="24" font-weight="650" text-anchor="start">Resolve the shared bottleneck</text>
29
+ <text x="30" y="739" fill="#eef4ff" font-size="24" font-weight="650" text-anchor="start">before relying on the target.</text>
30
+ <path d="M30 777 H490" fill="none" stroke="#314767" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
31
+ <text x="30" y="828" fill="#62d5c7" font-size="28" font-weight="650" text-anchor="start">Capacity</text>
32
+ <text x="30" y="861" fill="#b0c1dd" font-size="19" font-weight="500" text-anchor="start">Points in one Platform sprint</text>
33
+ <rect x="30" y="887" width="440" height="26" rx="4" fill="#183f42"/>
34
+ <rect x="360" y="887" width="110" height="26" rx="4" fill="#4d3c24"/>
35
+ <path d="M360 880 V921" fill="none" stroke="#f6c36a" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
36
+ <text x="30" y="959" fill="#eef4ff" font-size="25" font-weight="650" text-anchor="start">8 scheduled / 6 configured</text>
37
+ <text x="30" y="995" fill="#b0c1dd" font-size="19" font-weight="500" text-anchor="start">5 unestimated issues; support absent</text>
38
+ <text x="30" y="1050" fill="#eef4ff" font-size="25" font-weight="650" text-anchor="start">Complete the demand picture</text>
39
+ <text x="30" y="1083" fill="#eef4ff" font-size="25" font-weight="650" text-anchor="start">before committing.</text>
40
+ </svg>
@@ -0,0 +1,40 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 520 1120" role="img" aria-labelledby="title desc"><title id="title">Ten rough notes. Three decisions.</title><desc id="desc">Illustrative planning exercise: clarify scope overlap, resolve a shared specialist dependency, and complete capacity evidence. Eight scheduled points versus six configured points shows overload, while five unestimated issues leave the full demand unknown. Not an app screenshot or live AI output.</desc>
2
+ <style>text{font-family:"Avenir Next","Trebuchet MS",Arial,sans-serif}</style>
3
+ <rect x="0" y="0" width="520" height="1120" rx="24" fill="#f5f8fc"/>
4
+ <text x="28" y="64" fill="#172b4d" font-size="39" font-weight="650" text-anchor="start">Ten rough notes.</text>
5
+ <text x="28" y="113" fill="#172b4d" font-size="39" font-weight="650" text-anchor="start">Three decisions.</text>
6
+ <text x="30" y="153" fill="#536783" font-size="19" font-weight="500" text-anchor="start">An invented planning session</text>
7
+ <text x="30" y="216" fill="#2563eb" font-size="28" font-weight="650" text-anchor="start">Scope</text>
8
+ <circle cx="185" cy="283" r="56" fill="#edf3ff" stroke="#2563eb" stroke-width="2"/>
9
+ <circle cx="274" cy="283" r="56" fill="#ffffff" stroke="#2563eb" stroke-width="2"/>
10
+ <text x="143" y="278" fill="#2563eb" font-size="16" font-weight="600" text-anchor="start">Customer</text>
11
+ <text x="143" y="300" fill="#2563eb" font-size="16" font-weight="600" text-anchor="start">context</text>
12
+ <text x="246" y="278" fill="#2563eb" font-size="17" font-weight="600" text-anchor="start">Customer</text>
13
+ <text x="246" y="300" fill="#2563eb" font-size="17" font-weight="600" text-anchor="start">history</text>
14
+ <text x="30" y="382.0" fill="#172b4d" font-size="24" font-weight="650" text-anchor="start">Clarify what belongs in the launch.</text>
15
+ <text x="30" y="416" fill="#536783" font-size="19" font-weight="500" text-anchor="start">Similar requests may overlap.</text>
16
+ <path d="M30 454 H490" fill="none" stroke="#d6e1f0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
17
+ <text x="30" y="505" fill="#7447ba" font-size="28" font-weight="650" text-anchor="start">Sequence</text>
18
+ <rect x="50" y="544" width="155" height="43" rx="5" fill="#e2f4f0"/>
19
+ <text x="72" y="573" fill="#08736c" font-size="20" font-weight="600" text-anchor="start">Search</text>
20
+ <rect x="307" y="544" width="165" height="43" rx="5" fill="#eee8f8"/>
21
+ <text x="326" y="573" fill="#7447ba" font-size="20" font-weight="600" text-anchor="start">Migration</text>
22
+ <text x="256" y="551" fill="#536783" font-size="17" font-weight="500" text-anchor="middle">needs</text>
23
+ <path d="M205 566 H307" fill="none" stroke="#7447ba" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
24
+ <path d="M296 558 L307 566 L296 574" fill="none" stroke="#7447ba" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
25
+ <path d="M256 570 V610" fill="none" stroke="#7447ba" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
26
+ <circle cx="256" cy="620" r="10" fill="#fff0d3" stroke="#91600a" stroke-width="3"/>
27
+ <text x="256" y="661" fill="#91600a" font-size="20" font-weight="600" text-anchor="middle">One shared specialist</text>
28
+ <text x="30" y="708" fill="#172b4d" font-size="24" font-weight="650" text-anchor="start">Resolve the shared bottleneck</text>
29
+ <text x="30" y="739" fill="#172b4d" font-size="24" font-weight="650" text-anchor="start">before relying on the target.</text>
30
+ <path d="M30 777 H490" fill="none" stroke="#d6e1f0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
31
+ <text x="30" y="828" fill="#08736c" font-size="28" font-weight="650" text-anchor="start">Capacity</text>
32
+ <text x="30" y="861" fill="#536783" font-size="19" font-weight="500" text-anchor="start">Points in one Platform sprint</text>
33
+ <rect x="30" y="887" width="440" height="26" rx="4" fill="#e2f4f0"/>
34
+ <rect x="360" y="887" width="110" height="26" rx="4" fill="#fff0d3"/>
35
+ <path d="M360 880 V921" fill="none" stroke="#91600a" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
36
+ <text x="30" y="959" fill="#172b4d" font-size="25" font-weight="650" text-anchor="start">8 scheduled / 6 configured</text>
37
+ <text x="30" y="995" fill="#536783" font-size="19" font-weight="500" text-anchor="start">5 unestimated issues; support absent</text>
38
+ <text x="30" y="1050" fill="#172b4d" font-size="25" font-weight="650" text-anchor="start">Complete the demand picture</text>
39
+ <text x="30" y="1083" fill="#172b4d" font-size="25" font-weight="650" text-anchor="start">before committing.</text>
40
+ </svg>
@@ -0,0 +1,32 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1320 490" role="img" aria-labelledby="title desc">
2
+ <title id="title">From rough notes to reviewed plan</title>
3
+ <desc id="desc">A prepared Northstar example. Separate an agreed Q1 target change from an unscheduled idea. Review each proposal before applying it. This is an illustration, not an app screenshot or live model response.</desc>
4
+ <rect width="1320" height="490" rx="18" fill="#0d1117"/>
5
+ <g font-family="system-ui, -apple-system, Segoe UI, sans-serif" fill="#f0f6fc">
6
+ <text x="24" y="35" font-size="14" font-weight="700" letter-spacing="1.5" fill="#a9b4c2">PREPARED NORTHSTAR SESSION</text>
7
+ <text x="24" y="82" font-size="38" font-weight="750">One decision. One idea. Both reviewable.</text>
8
+ <rect x="24" y="118" width="392" height="300" rx="12" fill="#161b22" stroke="#30363d"/>
9
+ <text x="46" y="157" font-size="16" font-weight="700" fill="#80b5ff">1 / Capture</text>
10
+ <text x="46" y="201" font-size="25" font-weight="700">Keep the uncertainty</text>
11
+ <text x="46" y="245" font-size="20" fill="#a9b4c2">Bring customer context</text>
12
+ <text x="46" y="275" font-size="20" fill="#a9b4c2">into Q1 2027.</text>
13
+ <text x="46" y="305" font-size="20" fill="#a9b4c2">Explore offline search.</text>
14
+ <text x="46" y="335" font-size="20" fill="#a9b4c2">No owner or date yet.</text>
15
+ <path d="M425 268h21m-7-6 7 6-7 6" fill="none" stroke="#80b5ff" stroke-width="2"/>
16
+ <rect x="464" y="118" width="392" height="300" rx="12" fill="#161b22" stroke="#30363d"/>
17
+ <text x="486" y="157" font-size="16" font-weight="700" fill="#80b5ff">2 / Make sense</text>
18
+ <text x="486" y="201" font-size="25" font-weight="700">Two distinct proposals</text>
19
+ <text x="486" y="245" font-size="20" fill="#a9b4c2">Move an existing outcome:</text>
20
+ <text x="486" y="275" font-size="20" fill="#a9b4c2">Q2 2027 → Q1 2027.</text>
21
+ <text x="486" y="305" font-size="20" fill="#a9b4c2">Add an unscheduled idea.</text>
22
+ <text x="486" y="335" font-size="20" fill="#a9b4c2">Keep the existing IDs.</text>
23
+ <path d="M865 268h21m-7-6 7 6-7 6" fill="none" stroke="#80b5ff" stroke-width="2"/>
24
+ <rect x="904" y="118" width="392" height="300" rx="12" fill="#161b22" stroke="#30363d"/>
25
+ <text x="926" y="157" font-size="16" font-weight="700" fill="#80b5ff">3 / Review</text>
26
+ <text x="926" y="201" font-size="25" font-weight="700">You choose what lands</text>
27
+ <text x="926" y="245" font-size="20" fill="#a9b4c2">Inspect each change.</text>
28
+ <text x="926" y="275" font-size="20" fill="#a9b4c2">Apply, edit, or skip.</text>
29
+ <text x="926" y="305" font-size="20" fill="#a9b4c2">Save when required.</text>
30
+ <text x="926" y="335" font-size="20" fill="#a9b4c2">Undo stays available.</text>
31
+ <text x="24" y="458" font-size="18" fill="#a9b4c2">Prepared proposals. Existing work retained. No AI account needed to try this example.</text>
32
+ </g></svg>
@@ -0,0 +1,32 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1320 490" role="img" aria-labelledby="title desc">
2
+ <title id="title">From rough notes to reviewed plan</title>
3
+ <desc id="desc">A prepared Northstar example. Separate an agreed Q1 target change from an unscheduled idea. Review each proposal before applying it. This is an illustration, not an app screenshot or live model response.</desc>
4
+ <rect width="1320" height="490" rx="18" fill="#f6f8fa"/>
5
+ <g font-family="system-ui, -apple-system, Segoe UI, sans-serif" fill="#17243b">
6
+ <text x="24" y="35" font-size="14" font-weight="700" letter-spacing="1.5" fill="#52637a">PREPARED NORTHSTAR SESSION</text>
7
+ <text x="24" y="82" font-size="38" font-weight="750">One decision. One idea. Both reviewable.</text>
8
+ <rect x="24" y="118" width="392" height="300" rx="12" fill="#ffffff" stroke="#d0d7de"/>
9
+ <text x="46" y="157" font-size="16" font-weight="700" fill="#2860ad">1 / Capture</text>
10
+ <text x="46" y="201" font-size="25" font-weight="700">Keep the uncertainty</text>
11
+ <text x="46" y="245" font-size="20" fill="#52637a">Bring customer context</text>
12
+ <text x="46" y="275" font-size="20" fill="#52637a">into Q1 2027.</text>
13
+ <text x="46" y="305" font-size="20" fill="#52637a">Explore offline search.</text>
14
+ <text x="46" y="335" font-size="20" fill="#52637a">No owner or date yet.</text>
15
+ <path d="M425 268h21m-7-6 7 6-7 6" fill="none" stroke="#2860ad" stroke-width="2"/>
16
+ <rect x="464" y="118" width="392" height="300" rx="12" fill="#ffffff" stroke="#d0d7de"/>
17
+ <text x="486" y="157" font-size="16" font-weight="700" fill="#2860ad">2 / Make sense</text>
18
+ <text x="486" y="201" font-size="25" font-weight="700">Two distinct proposals</text>
19
+ <text x="486" y="245" font-size="20" fill="#52637a">Move an existing outcome:</text>
20
+ <text x="486" y="275" font-size="20" fill="#52637a">Q2 2027 → Q1 2027.</text>
21
+ <text x="486" y="305" font-size="20" fill="#52637a">Add an unscheduled idea.</text>
22
+ <text x="486" y="335" font-size="20" fill="#52637a">Keep the existing IDs.</text>
23
+ <path d="M865 268h21m-7-6 7 6-7 6" fill="none" stroke="#2860ad" stroke-width="2"/>
24
+ <rect x="904" y="118" width="392" height="300" rx="12" fill="#ffffff" stroke="#d0d7de"/>
25
+ <text x="926" y="157" font-size="16" font-weight="700" fill="#2860ad">3 / Review</text>
26
+ <text x="926" y="201" font-size="25" font-weight="700">You choose what lands</text>
27
+ <text x="926" y="245" font-size="20" fill="#52637a">Inspect each change.</text>
28
+ <text x="926" y="275" font-size="20" fill="#52637a">Apply, edit, or skip.</text>
29
+ <text x="926" y="305" font-size="20" fill="#52637a">Save when required.</text>
30
+ <text x="926" y="335" font-size="20" fill="#52637a">Undo stays available.</text>
31
+ <text x="24" y="458" font-size="18" fill="#52637a">Prepared proposals. Existing work retained. No AI account needed to try this example.</text>
32
+ </g></svg>
@@ -0,0 +1,33 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 460 1120" role="img" aria-labelledby="title desc">
2
+ <title id="title">From rough notes to reviewed plan</title>
3
+ <desc id="desc">A prepared Northstar example. Separate an agreed Q1 target change from an unscheduled idea. Review each proposal before applying it. This is an illustration, not an app screenshot or live model response.</desc>
4
+ <rect width="460" height="1120" rx="18" fill="#0d1117"/>
5
+ <g font-family="system-ui, -apple-system, Segoe UI, sans-serif" fill="#f0f6fc">
6
+ <text x="24" y="35" font-size="12" font-weight="700" letter-spacing="1.4" fill="#a9b4c2">PREPARED NORTHSTAR SESSION</text>
7
+ <text x="24" y="77" font-size="30" font-weight="750">One decision. One idea.</text>
8
+ <rect x="24" y="110" width="412" height="280" rx="12" fill="#161b22" stroke="#30363d"/>
9
+ <text x="46" y="149" font-size="16" font-weight="700" fill="#80b5ff">1 / Capture</text>
10
+ <text x="46" y="193" font-size="25" font-weight="700">Keep the uncertainty</text>
11
+ <text x="46" y="237" font-size="20" fill="#a9b4c2">Bring customer context</text>
12
+ <text x="46" y="267" font-size="20" fill="#a9b4c2">into Q1 2027.</text>
13
+ <text x="46" y="297" font-size="20" fill="#a9b4c2">Explore offline search.</text>
14
+ <text x="46" y="327" font-size="20" fill="#a9b4c2">No owner or date yet.</text>
15
+ <path d="M230 397v15m-5-5 5 5 5-5" fill="none" stroke="#80b5ff" stroke-width="2"/>
16
+ <rect x="24" y="420" width="412" height="280" rx="12" fill="#161b22" stroke="#30363d"/>
17
+ <text x="46" y="459" font-size="16" font-weight="700" fill="#80b5ff">2 / Make sense</text>
18
+ <text x="46" y="503" font-size="25" font-weight="700">Two distinct proposals</text>
19
+ <text x="46" y="547" font-size="20" fill="#a9b4c2">Move an existing outcome:</text>
20
+ <text x="46" y="577" font-size="20" fill="#a9b4c2">Q2 2027 → Q1 2027.</text>
21
+ <text x="46" y="607" font-size="20" fill="#a9b4c2">Add an unscheduled idea.</text>
22
+ <text x="46" y="637" font-size="20" fill="#a9b4c2">Keep the existing IDs.</text>
23
+ <path d="M230 707v15m-5-5 5 5 5-5" fill="none" stroke="#80b5ff" stroke-width="2"/>
24
+ <rect x="24" y="730" width="412" height="280" rx="12" fill="#161b22" stroke="#30363d"/>
25
+ <text x="46" y="769" font-size="16" font-weight="700" fill="#80b5ff">3 / Review</text>
26
+ <text x="46" y="813" font-size="25" font-weight="700">You choose what lands</text>
27
+ <text x="46" y="857" font-size="20" fill="#a9b4c2">Inspect each change.</text>
28
+ <text x="46" y="887" font-size="20" fill="#a9b4c2">Apply, edit, or skip.</text>
29
+ <text x="46" y="917" font-size="20" fill="#a9b4c2">Save when required.</text>
30
+ <text x="46" y="947" font-size="20" fill="#a9b4c2">Undo stays available.</text>
31
+ <text x="24" y="1070" font-size="17" fill="#a9b4c2">Prepared proposals. Existing work retained.</text>
32
+ <text x="24" y="1097" font-size="17" fill="#a9b4c2">No AI account needed to try this example.</text>
33
+ </g></svg>
@@ -0,0 +1,33 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 460 1120" role="img" aria-labelledby="title desc">
2
+ <title id="title">From rough notes to reviewed plan</title>
3
+ <desc id="desc">A prepared Northstar example. Separate an agreed Q1 target change from an unscheduled idea. Review each proposal before applying it. This is an illustration, not an app screenshot or live model response.</desc>
4
+ <rect width="460" height="1120" rx="18" fill="#f6f8fa"/>
5
+ <g font-family="system-ui, -apple-system, Segoe UI, sans-serif" fill="#17243b">
6
+ <text x="24" y="35" font-size="12" font-weight="700" letter-spacing="1.4" fill="#52637a">PREPARED NORTHSTAR SESSION</text>
7
+ <text x="24" y="77" font-size="30" font-weight="750">One decision. One idea.</text>
8
+ <rect x="24" y="110" width="412" height="280" rx="12" fill="#ffffff" stroke="#d0d7de"/>
9
+ <text x="46" y="149" font-size="16" font-weight="700" fill="#2860ad">1 / Capture</text>
10
+ <text x="46" y="193" font-size="25" font-weight="700">Keep the uncertainty</text>
11
+ <text x="46" y="237" font-size="20" fill="#52637a">Bring customer context</text>
12
+ <text x="46" y="267" font-size="20" fill="#52637a">into Q1 2027.</text>
13
+ <text x="46" y="297" font-size="20" fill="#52637a">Explore offline search.</text>
14
+ <text x="46" y="327" font-size="20" fill="#52637a">No owner or date yet.</text>
15
+ <path d="M230 397v15m-5-5 5 5 5-5" fill="none" stroke="#2860ad" stroke-width="2"/>
16
+ <rect x="24" y="420" width="412" height="280" rx="12" fill="#ffffff" stroke="#d0d7de"/>
17
+ <text x="46" y="459" font-size="16" font-weight="700" fill="#2860ad">2 / Make sense</text>
18
+ <text x="46" y="503" font-size="25" font-weight="700">Two distinct proposals</text>
19
+ <text x="46" y="547" font-size="20" fill="#52637a">Move an existing outcome:</text>
20
+ <text x="46" y="577" font-size="20" fill="#52637a">Q2 2027 → Q1 2027.</text>
21
+ <text x="46" y="607" font-size="20" fill="#52637a">Add an unscheduled idea.</text>
22
+ <text x="46" y="637" font-size="20" fill="#52637a">Keep the existing IDs.</text>
23
+ <path d="M230 707v15m-5-5 5 5 5-5" fill="none" stroke="#2860ad" stroke-width="2"/>
24
+ <rect x="24" y="730" width="412" height="280" rx="12" fill="#ffffff" stroke="#d0d7de"/>
25
+ <text x="46" y="769" font-size="16" font-weight="700" fill="#2860ad">3 / Review</text>
26
+ <text x="46" y="813" font-size="25" font-weight="700">You choose what lands</text>
27
+ <text x="46" y="857" font-size="20" fill="#52637a">Inspect each change.</text>
28
+ <text x="46" y="887" font-size="20" fill="#52637a">Apply, edit, or skip.</text>
29
+ <text x="46" y="917" font-size="20" fill="#52637a">Save when required.</text>
30
+ <text x="46" y="947" font-size="20" fill="#52637a">Undo stays available.</text>
31
+ <text x="24" y="1070" font-size="17" fill="#52637a">Prepared proposals. Existing work retained.</text>
32
+ <text x="24" y="1097" font-size="17" fill="#52637a">No AI account needed to try this example.</text>
33
+ </g></svg>
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,53 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 640" role="img" aria-labelledby="title desc"><title id="title">Sightline: get your arms around a big roadmap</title><desc id="desc">Illustrative planning map: rough requests connect to Integrations, Search and Platform workstreams. Dependencies and a shared specialist lead to scope, sequencing and capacity decisions. This is a conceptual diagram, not an app screenshot.</desc>
2
+ <style>text{font-family:"Avenir Next","Trebuchet MS",Arial,sans-serif}</style>
3
+ <rect x="0" y="0" width="1280" height="640" rx="24" fill="#101b30"/>
4
+ <text x="44" y="86" fill="#eef4ff" font-size="58" font-weight="650" text-anchor="start">A big roadmap.</text>
5
+ <text x="44" y="156" fill="#eef4ff" font-size="58" font-weight="650" text-anchor="start">A clearer way through.</text>
6
+ <text x="790" y="80" fill="#b0c1dd" font-size="23" font-weight="500" text-anchor="start">Many teams. Competing requests.</text>
7
+ <text x="790" y="114" fill="#b0c1dd" font-size="23" font-weight="500" text-anchor="start">Dependencies. Limited capacity.</text>
8
+ <text x="46" y="218" fill="#b0c1dd" font-size="24" font-weight="500" text-anchor="start">Plan together. Think with AI. Review the changes.</text>
9
+ <path d="M44 252 H1236" fill="none" stroke="#314767" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
10
+ <text x="46" y="306" fill="#b0c1dd" font-size="21" font-weight="600" text-anchor="start">The rough input</text>
11
+ <rect x="46" y="344" width="214" height="44" rx="6" fill="#192943" stroke="#314767"/>
12
+ <text x="63" y="373" fill="#eef4ff" font-size="20" font-weight="500" text-anchor="start">Meeting notes</text>
13
+ <path d="M260 366 H288 Q308 366 308 426" fill="none" stroke="#314767" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
14
+ <rect x="46" y="404" width="214" height="44" rx="6" fill="#192943" stroke="#314767"/>
15
+ <text x="63" y="433" fill="#eef4ff" font-size="20" font-weight="500" text-anchor="start">Jira work</text>
16
+ <path d="M260 426 H288 Q308 426 308 426" fill="none" stroke="#314767" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
17
+ <rect x="46" y="464" width="214" height="44" rx="6" fill="#192943" stroke="#314767"/>
18
+ <text x="63" y="493" fill="#eef4ff" font-size="20" font-weight="500" text-anchor="start">New requests</text>
19
+ <path d="M260 486 H288 Q308 486 308 426" fill="none" stroke="#314767" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
20
+ <circle cx="308" cy="426" r="6" fill="#80adff"/>
21
+ <path d="M308 426 H338" fill="none" stroke="#80adff" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
22
+ <text x="350" y="306" fill="#eef4ff" font-size="24" font-weight="650" text-anchor="start">One shared plan</text>
23
+ <path d="M350 374 H885" fill="none" stroke="#80adff" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
24
+ <text x="350" y="340" fill="#80adff" font-size="18" font-weight="650" text-anchor="start">Integrations</text>
25
+ <rect x="374" y="360" width="205" height="36" rx="7" fill="#203c68"/>
26
+ <text x="388" y="385" fill="#80adff" font-size="18" font-weight="600" text-anchor="start">Customer context</text>
27
+ <circle cx="878" cy="374" r="7" fill="#101b30" stroke="#80adff" stroke-width="3"/>
28
+ <path d="M350 446 H885" fill="none" stroke="#62d5c7" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
29
+ <text x="350" y="412" fill="#62d5c7" font-size="18" font-weight="650" text-anchor="start">Search</text>
30
+ <rect x="563" y="432" width="177" height="36" rx="7" fill="#183f42"/>
31
+ <text x="577" y="457" fill="#62d5c7" font-size="18" font-weight="600" text-anchor="start">Search quality</text>
32
+ <circle cx="878" cy="446" r="7" fill="#101b30" stroke="#62d5c7" stroke-width="3"/>
33
+ <path d="M350 518 H885" fill="none" stroke="#c1a2ff" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
34
+ <text x="350" y="484" fill="#c1a2ff" font-size="18" font-weight="650" text-anchor="start">Platform</text>
35
+ <rect x="407" y="504" width="184" height="36" rx="7" fill="#362e53"/>
36
+ <text x="421" y="529" fill="#c1a2ff" font-size="18" font-weight="600" text-anchor="start">Index migration</text>
37
+ <circle cx="878" cy="518" r="7" fill="#101b30" stroke="#c1a2ff" stroke-width="3"/>
38
+ <path d="M592 522 H620 Q643 522 643 500 V484 Q643 466 663 466 H696 V448" fill="none" stroke="#c1a2ff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="6 8"/>
39
+ <circle cx="643" cy="487" r="13" fill="#101b30" stroke="#f6c36a" stroke-width="3"/>
40
+ <text x="666" y="491" fill="#f6c36a" font-size="17" font-weight="600" text-anchor="start">shared specialist</text>
41
+ <path d="M891 374 H922 Q942 374 942 402 V462 Q942 482 962 482" fill="none" stroke="#314767" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
42
+ <path d="M891 446 H942" fill="none" stroke="#314767" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
43
+ <path d="M891 518 H923 Q942 518 942 498 V482" fill="none" stroke="#314767" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
44
+ <text x="980" y="351" fill="#eef4ff" font-size="25" font-weight="650" text-anchor="start">What needs</text>
45
+ <text x="980" y="384" fill="#eef4ff" font-size="25" font-weight="650" text-anchor="start">a decision?</text>
46
+ <circle cx="990" cy="422" r="5" fill="#80adff"/>
47
+ <text x="1008" y="428" fill="#eef4ff" font-size="19" font-weight="500" text-anchor="start">Scope overlap</text>
48
+ <circle cx="990" cy="466" r="5" fill="#c1a2ff"/>
49
+ <text x="1008" y="472" fill="#eef4ff" font-size="19" font-weight="500" text-anchor="start">Shared capacity</text>
50
+ <circle cx="990" cy="510" r="5" fill="#62d5c7"/>
51
+ <text x="1008" y="516" fill="#eef4ff" font-size="19" font-weight="500" text-anchor="start">What fits next</text>
52
+ <text x="46" y="605" fill="#b0c1dd" font-size="18" font-weight="500" text-anchor="start">Illustrative planning map. Your plan and your assistant supply the real context.</text>
53
+ </svg>