@troylar/sightline 0.0.0-stage → 1.120.2
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/CHANGELOG.md +1882 -0
- package/CONTRIBUTING.md +67 -0
- package/LICENSE +21 -0
- package/README.md +153 -2
- package/THIRD-PARTY-NOTICES.md +121 -0
- package/bin/sightline.js +78 -0
- package/dist/sightline-app.py +406 -0
- package/dist/sightline-assistant.py +551 -0
- package/dist/sightline-jira-sync.py +2513 -0
- package/dist/sightline.html +14124 -0
- package/docs/assistant-workflow.md +472 -0
- package/docs/availability.md +54 -0
- package/docs/bundled-skills.md +46 -0
- package/docs/getting-started.md +99 -0
- package/docs/images/assistant-dark.png +0 -0
- package/docs/images/assistant-light.png +0 -0
- package/docs/images/bundled-skills-dark.png +0 -0
- package/docs/images/bundled-skills-light.png +0 -0
- package/docs/images/planning-decisions-dark.svg +46 -0
- package/docs/images/planning-decisions-light.svg +46 -0
- package/docs/images/planning-decisions-mobile-dark.svg +40 -0
- package/docs/images/planning-decisions-mobile-light.svg +40 -0
- package/docs/images/planning-story-dark.svg +32 -0
- package/docs/images/planning-story-light.svg +32 -0
- package/docs/images/planning-story-mobile-dark.svg +33 -0
- package/docs/images/planning-story-mobile-light.svg +33 -0
- package/docs/images/review-dark.png +0 -0
- package/docs/images/review-light.png +0 -0
- package/docs/images/roadmap-dark.png +0 -0
- package/docs/images/roadmap-light.png +0 -0
- package/docs/images/roadmap-map-dark.svg +53 -0
- package/docs/images/roadmap-map-light.svg +53 -0
- package/docs/images/roadmap-map-mobile-dark.svg +37 -0
- package/docs/images/roadmap-map-mobile-light.svg +37 -0
- package/docs/images/timeline-dark.png +0 -0
- package/docs/images/timeline-light.png +0 -0
- package/docs/images/today-dark.png +0 -0
- package/docs/images/today-light.png +0 -0
- package/docs/jira.md +66 -0
- package/docs/large-roadmaps.md +93 -0
- package/docs/onedrive.md +62 -0
- package/docs/performance-workspaces.md +39 -0
- package/docs/roadmap-planning-example.md +92 -0
- package/docs/roadmap.md +232 -0
- package/docs/screenshots.md +57 -0
- package/docs/skill-evaluation.md +71 -0
- package/docs/skills.md +85 -0
- package/docs/team-planning.md +66 -0
- package/docs/usability-test.md +215 -0
- package/docs/workspace-validation.md +152 -0
- package/docs/workspaces.md +105 -0
- package/examples/northstar/blank-plan.json +21 -0
- package/examples/northstar/brain-dump.txt +1 -0
- package/examples/northstar/jira/issues.json +1256 -0
- package/examples/northstar/jira/status.json +1542 -0
- package/examples/northstar/plan.json +341 -0
- package/examples/northstar/roadmap-session-amendments.json +42 -0
- package/examples/northstar/sightline-amendments.json +41 -0
- package/package.json +53 -4
- package/skills/sightline-edit-plan/SKILL.md +35 -0
- package/skills/sightline-meeting-to-plan/SKILL.md +34 -0
- package/skills/sightline-plan-roadmap/SKILL.md +34 -0
- package/skills/sightline-planning-guide/SKILL.md +29 -0
- package/skills/sightline-review-plan/SKILL.md +28 -0
- package/skills/sightline-sort-jira/SKILL.md +56 -0
- package/skills/sightline-status/SKILL.md +26 -0
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
# Sightline usability check and short role pilot
|
|
2
|
+
|
|
3
|
+
Use this protocol with 2 or 3 people who have not used Sightline much: a developer, a delivery lead, and an internal
|
|
4
|
+
customer or product stakeholder. Allow about 20–25 minutes each. Test reading the real plan separately from editing
|
|
5
|
+
invented work. These are planned checks; no completed sessions or pilot results are recorded here.
|
|
6
|
+
|
|
7
|
+
This small sample can show wrong turns and unclear language. Record timings for comparison within the session,
|
|
8
|
+
not as reliable performance or usability statistics.
|
|
9
|
+
|
|
10
|
+
## Four-quarter AI planning pilot
|
|
11
|
+
|
|
12
|
+
Use an isolated synthetic plan and approved synthetic requests for the AI writing exercise. Follow the
|
|
13
|
+
[first-session workflow](assistant-workflow.md#first-four-quarter-planning-session). Record the configured endpoint
|
|
14
|
+
and model in the team's private test notes, along with Sightline version, browser and plan size; omit credentials.
|
|
15
|
+
Measure assistant waiting time separately from time spent navigating, reviewing and applying.
|
|
16
|
+
|
|
17
|
+
- First launch: the welcome choices appear without another navigation click. Empty Today explains that there is
|
|
18
|
+
no work to assess. Jira-linked work without status data offers a connection action.
|
|
19
|
+
- Choose four exact quarters, including a year boundary. Find an outcome outside the range and recover it through
|
|
20
|
+
Long range. Confirm that changing the range did not change the plan file.
|
|
21
|
+
- Keep a question draft, run Test reply, and confirm the draft remains. Simulate an unavailable companion and
|
|
22
|
+
check that the person can find recovery instructions without losing the draft.
|
|
23
|
+
- Type an unsubmitted roadmap idea, open Plan with AI, visit another workspace, and return. Confirm the idea
|
|
24
|
+
remains. Switch to another plan, then back, and check that drafts stay with their own plan.
|
|
25
|
+
- Open Ask assistant about this for two outcomes without typing. Working on must follow the second outcome.
|
|
26
|
+
Type a question, then choose another outcome. The existing text and context must stay until Switch context is
|
|
27
|
+
chosen. Confirm that a single Send carries the actual notes or change request with the intended selection.
|
|
28
|
+
- Organize one small roadmap excerpt, review item matches and unresolved fields, apply an agreed change, confirm
|
|
29
|
+
the local save, then Undo. Repeat the request and inspect for duplicate proposals before applying anything.
|
|
30
|
+
- During another request, change the plan, then inspect the stale reply. The user must understand why a new request
|
|
31
|
+
is needed; this pilot does not validate automatic rebasing or scenario branching.
|
|
32
|
+
|
|
33
|
+
Proposed targets are a useful first roadmap slice within 30 minutes and a common multi-item revision within one
|
|
34
|
+
minute including review. Record actual times and failure reasons. These are adoption targets, not measured
|
|
35
|
+
performance claims. Human AI sessions and live endpoint timing have not been run here. The normal build, regression,
|
|
36
|
+
real-browser CSP, and two-device checks remain separate.
|
|
37
|
+
|
|
38
|
+
## Before each session
|
|
39
|
+
|
|
40
|
+
1. Follow the [launch instructions](../README.md) to check the prepared build before the participant arrives:
|
|
41
|
+
**dist/sightline.html**, not **src/sightline.template.html**. Confirm the version beside **What's new** (in the menu at
|
|
42
|
+
the right of the header, under your initials or **Choose yourself**) and its release entries. Give the participant the normal **index.html** start page or distributed app and synthetic plan
|
|
43
|
+
file for Task 0; do not open the app for them or explain the source/build folders. Record the expected version,
|
|
44
|
+
browser, operating system, window size, and entry point.
|
|
45
|
+
2. Use a separate browser profile for the session. Do not clear a person's existing site data or recovery drafts.
|
|
46
|
+
After Task 0, have the facilitator load the real plan with **File → Open a copy…** for the reading tasks. Confirm
|
|
47
|
+
the file chip says **This browser only**, with no linked shared filename. This reads the original without granting Sightline a
|
|
48
|
+
write handle to it. Do not edit or submit anything in this phase; the browser copy itself remains editable.
|
|
49
|
+
3. For the reading phase after Task 0, if needed, connect the approved, existing Jira output folder through
|
|
50
|
+
**Settings → Jira connection**. Reading the files does not run a sync or contact Jira. Check their timestamp and
|
|
51
|
+
record stale or partial data rather than
|
|
52
|
+
treating it as current. Do not run the helper or change its search for this session.
|
|
53
|
+
4. Choose the reading answers in advance: an open decision with its decider and due date, a person with current
|
|
54
|
+
sprint stories, and a story with a **Serves** line. If the plan lacks one, record that task as unavailable; do not
|
|
55
|
+
invent an answer or add real-plan data to make the test pass.
|
|
56
|
+
5. Prepare a separate synthetic plan for each participant. Copy **test/fixtures/sample-plan.json** to an isolated
|
|
57
|
+
local test folder, or generate current synthetic demo files with the README instructions. Keep an untouched
|
|
58
|
+
baseline. Do not make a copy of the real plan for editing exercises. Pick an unfinished **Added here** task or
|
|
59
|
+
leaf initiative with no Jira key and no existing blocker; write down its name and workstream for the prompt.
|
|
60
|
+
6. Have a timer and the observation table below ready. Keep real-plan observations in the team's approved location;
|
|
61
|
+
do not put real plan contents or screenshots in repository fixtures or example results.
|
|
62
|
+
|
|
63
|
+
Not taking an edit lock does **not** make a linked real plan safe for this test: quick updates can save immediately.
|
|
64
|
+
The detached reading phase and synthetic writing phase are intentional boundaries. Views, author stamps and the
|
|
65
|
+
edit lock are not access controls.
|
|
66
|
+
|
|
67
|
+
## What to say at the start
|
|
68
|
+
|
|
69
|
+
> "We're testing Sightline, not you. Please think out loud: what you're looking for and what you expect to happen.
|
|
70
|
+
> I won't help until you're stuck. First you'll open an invented plan, then we'll look at a reading copy of the
|
|
71
|
+
> team plan. We'll use invented work for anything that saves. Tell me if you aren't sure which file you're looking
|
|
72
|
+
> at or whether something is saved."
|
|
73
|
+
|
|
74
|
+
Read one task at a time and start the timer after the prompt. Observe without naming the next button. After about
|
|
75
|
+
90 seconds without progress, ask what they expected; give one hint only if needed and record it. A task completed
|
|
76
|
+
with a hint is useful evidence, but is not an unassisted success. Stop any attempt to submit real-plan changes.
|
|
77
|
+
|
|
78
|
+
## Task 0: launch and identify the app and plan
|
|
79
|
+
|
|
80
|
+
> "Open Sightline and this invented plan for reading, without linking changes back to its file. Which app version
|
|
81
|
+
> are you using, and how can you tell you opened the intended plan?"
|
|
82
|
+
|
|
83
|
+
- **Unassisted success:** from the supplied start page or distributed app, they open the built application, read
|
|
84
|
+
the expected version beside **What's new** (in the header's menu at the right), use **File → Open a copy…** for the supplied synthetic file, and
|
|
85
|
+
identify its plan title and **This browser only** state. They finish in the built app, with no linked write handle
|
|
86
|
+
or submitted edit. Normal supplied instructions are allowed; a facilitator pointing to a file or control counts as a hint.
|
|
87
|
+
- **Observe:** entry point chosen, help used, source-template confusion, version discoverability, wrong-file choices,
|
|
88
|
+
and whether the participant can distinguish the app from the plan. Record launch time and assistance separately
|
|
89
|
+
from the reading tasks. Only after recording this outcome should the facilitator prepare the real-plan reading copy.
|
|
90
|
+
|
|
91
|
+
## Reading tasks: detached real plan
|
|
92
|
+
|
|
93
|
+
### Task 1: what needs a decision
|
|
94
|
+
|
|
95
|
+
> "Something needs a decision soon. What is it, who makes the call, and by when?"
|
|
96
|
+
|
|
97
|
+
- **Done when:** they identify an open decision, its decider and needed-by date. If no decider is recorded, they
|
|
98
|
+
explicitly identify that gap rather than name an owner as the decider.
|
|
99
|
+
- **Where the answer is:** Work → Today, **Decisions due**; or Delivery → Decisions.
|
|
100
|
+
- **Watch for:** whether they distinguish **Decider** from **Owners**, and where they look first.
|
|
101
|
+
|
|
102
|
+
### Task 2: one person's sprint work, and what it's for
|
|
103
|
+
|
|
104
|
+
> "What is [person] working on this sprint, and which customer-facing deliverable does that work serve?"
|
|
105
|
+
|
|
106
|
+
- **Done when:** they list that person's current stories and explain at least one **Serves** line. Record missing
|
|
107
|
+
links as a data gap, not as participant failure.
|
|
108
|
+
- **Where the answer is:** Work → Sprint, with cards by person and **Serves …**. Today → Mine is another route for
|
|
109
|
+
the selected person; the menu at the right of the header (**Choose yourself**, or your initials for **You: [name]**) identifies the viewer in this browser.
|
|
110
|
+
- **Watch for:** whether they find Sprint, understand the deliverable relationship, or assume author identity is verified.
|
|
111
|
+
|
|
112
|
+
### Task 3: how current and complete is this
|
|
113
|
+
|
|
114
|
+
> "How up to date is this? When did it last hear from Jira, and what might be left out of this view?"
|
|
115
|
+
|
|
116
|
+
- **Done when:** they identify the Jira sync time, describe any partial coverage, and find at least one applicable
|
|
117
|
+
hidden-work indicator or establish that none is active. They distinguish Jira freshness from the plan's recorded
|
|
118
|
+
save time, and do not claim that either proves another computer has received the file.
|
|
119
|
+
- **Where the answer is:** **Data checked** on Today and Sprint; Timeline's hidden-work information and filters.
|
|
120
|
+
A linked file's edit strip shows its locally confirmed save/revision; that strip is absent from this detached copy.
|
|
121
|
+
- **Watch for:** trust without checking, confusion between a sync and a save, and mistaking hidden work for deletion.
|
|
122
|
+
|
|
123
|
+
## Writing tasks: synthetic shared file only
|
|
124
|
+
|
|
125
|
+
Close the real-plan reading tab before this phase. In the session profile, open the built app and choose
|
|
126
|
+
**File → Open shared plan…** for the participant's synthetic file. Confirm its test filename in the chip. Choose an
|
|
127
|
+
invented person with **Choose yourself**; do not add real people. Keep **Save as you go** off so the explicit
|
|
128
|
+
Start editing / Save / Done editing path can be observed. Explain that Jira facts remain read-only, including in
|
|
129
|
+
these exercises. If synthetic Jira files are used, connect only their matching demo folder.
|
|
130
|
+
|
|
131
|
+
### Task 4: draft, navigate, then submit a blocker
|
|
132
|
+
|
|
133
|
+
> "On [invented item], explain that you're blocked waiting for a test environment and who you're waiting on.
|
|
134
|
+
> Before submitting it, visit another work item, then return and finish the update. How do you know it was saved?"
|
|
135
|
+
|
|
136
|
+
- **Done when:** the participant opens **Mark blocked**, enters a reason and waiting-on value, visits another item,
|
|
137
|
+
and returns to the original item with both draft values intact. They submit once with **Mark blocked**, see the
|
|
138
|
+
saved blocker on that item, and confirm the test file's save/revision feedback. A second independent reader must
|
|
139
|
+
see one blocker and its corresponding update after opening or refreshing that same local test file.
|
|
140
|
+
- **Observe:** navigation route, lost text or focus, duplicate submissions, mistaken edits to another item, and
|
|
141
|
+
whether they distinguish an unsent browser-session draft from a saved plan change. Drafts survive navigation in
|
|
142
|
+
this session; this task does not establish survival after closing the page.
|
|
143
|
+
- **Facilitator check:** leaving an unsent draft must not change the file. Submitting a quick update can save
|
|
144
|
+
immediately without **Start editing**. If saving is refused, retained text and a clear next action are required;
|
|
145
|
+
do not count a visible draft alone as a saved result.
|
|
146
|
+
|
|
147
|
+
### Task 5: edit, save, and hand off
|
|
148
|
+
|
|
149
|
+
> "Change [invented item's] plan label to include 'handoff check', save it, and finish editing so the next person
|
|
150
|
+
> can continue. Ask the next person to show you the label and blocker. What have you actually verified?"
|
|
151
|
+
|
|
152
|
+
- **Done when:** the participant uses **Start editing**, makes the label change on the **Added here** item, uses
|
|
153
|
+
**Save**, then **Done editing**, and recognizes the local save and released editing state. No unsaved changes
|
|
154
|
+
remain. In a second independent browser profile on the same computer, the facilitator opens the same synthetic
|
|
155
|
+
file, verifies the exact label and blocker, and can start and finish an edit session without taking over a lock.
|
|
156
|
+
- **Observe:** whether Save is mistaken for releasing the lock, whether the file identity and revision are checked,
|
|
157
|
+
and whether the participant understands which changes were submitted immediately versus held in an edit session.
|
|
158
|
+
- **Limit:** this is a local-file handoff. It does not prove OneDrive upload, delivery to a teammate's device, or
|
|
159
|
+
concurrent editing safety. The [two-device check](onedrive.md#two-device-check-before-a-team-rollout) remains a
|
|
160
|
+
separate, **not-run** rollout requirement until someone records those results on the actual sync environment.
|
|
161
|
+
|
|
162
|
+
### Optional task 6: sorting, for the plan maintainer
|
|
163
|
+
|
|
164
|
+
> "Some invented stories aren't on this plan yet. Put one epic's work on the right workstream."
|
|
165
|
+
|
|
166
|
+
Use the synthetic demo plan and its matching Jira files for this task.
|
|
167
|
+
|
|
168
|
+
- **Done when:** the epic's work has one intended placement, without recreating its Jira facts as manual plan tasks.
|
|
169
|
+
- **Where the answer is:** Work → **Sort Jira work** → **Sort them in bulk**. The Settings route also works.
|
|
170
|
+
- **Watch for:** story-by-story duplication, confusion about **Not ours**, and attempts to change Jira-owned fields.
|
|
171
|
+
|
|
172
|
+
## Record each session
|
|
173
|
+
|
|
174
|
+
Use one row per task. Keep participant labels anonymous in any shared summary.
|
|
175
|
+
|
|
176
|
+
| Task | Time | Unassisted / hint / not completed / unavailable | First routes tried | Wrong turns or lost work | How they checked correctness and saving | Confidence 1–5 |
|
|
177
|
+
|---|---|---|---|---|---|---|
|
|
178
|
+
| Launch 0, reading 1–3 and writing 4–5, separately | | | | | | |
|
|
179
|
+
|
|
180
|
+
Record brief quotes, hints given, and the exact build and test filename. Afterward ask what was hardest to find,
|
|
181
|
+
what felt unsafe or confusing, and what they would open each morning. Separate product problems from missing plan
|
|
182
|
+
relationships or stale sync data; both can affect whether the workflow is useful.
|
|
183
|
+
|
|
184
|
+
## Short role pilot: 3–5 working days
|
|
185
|
+
|
|
186
|
+
After the sessions, invite the same three roles to try their normal reading questions each day. Read the real plan
|
|
187
|
+
through the detached route above; keep any practice writes in the synthetic plan. Observe existing Jira and plan
|
|
188
|
+
maintenance without changing it for this test. This can reveal reading value and likely maintenance costs; it does
|
|
189
|
+
not establish the cost of sustained live collaborative editing.
|
|
190
|
+
|
|
191
|
+
| Role | Daily question or action | Evidence to record |
|
|
192
|
+
|---|---|---|
|
|
193
|
+
| Developer | Find current work, its purpose, and a blocker or next action | Whether Sightline answers a question faster or requires another search; where status or notes would need entering twice |
|
|
194
|
+
| Delivery lead | Explain attention, ownership, and the next handoff | Minutes spent checking freshness, sorting work, maintaining plan-only relationships, or correcting duplication |
|
|
195
|
+
| Internal customer / product stakeholder | Understand deliverables, dates, and approved wording | Whether the answer is understandable without a guide, useful for a decision, and traceable to the relevant work |
|
|
196
|
+
|
|
197
|
+
Keep one small daily log: role, question, answer found, help needed, time spent reading, time spent maintaining the
|
|
198
|
+
plan, and any duplicated entry. Name the fields involved and their intended owner: Jira facts stay in Jira; plan
|
|
199
|
+
placement, dependencies and notes stay in Sightline. Record repeated requests to copy a Jira title, status, assignee
|
|
200
|
+
or date into a manual item as a workflow problem, not as a recommended workaround. Count one-off setup separately
|
|
201
|
+
from recurring maintenance; count time spent by the maintainer as well as time saved by readers. Mark estimates or
|
|
202
|
+
practice observations as such rather than presenting them as live-use measurements.
|
|
203
|
+
|
|
204
|
+
At the end, review these concrete criteria together:
|
|
205
|
+
|
|
206
|
+
- Each role can answer its daily question without a facilitator on the final two days; unavailable data is recorded.
|
|
207
|
+
- Every attempted synthetic draft and save remains on its intended item, with no lost text or duplicate submission.
|
|
208
|
+
- The local handoff ends with the intended file values and a released lock; cloud validation is still reported separately.
|
|
209
|
+
- Before the pilot, agree an acceptable recurring maintenance budget in minutes per day; report actual or estimated
|
|
210
|
+
time against it and identify who would own that work. No hidden setup effort is counted as zero maintenance.
|
|
211
|
+
- Identify each recurring duplicated entry, its frequency and cause. Do not expand rollout until the team accepts
|
|
212
|
+
the remaining burden or removes the duplicated step.
|
|
213
|
+
|
|
214
|
+
Report **proceed**, **revise**, or **insufficient evidence**, with task results, pilot notes and unrun checks. A small
|
|
215
|
+
pilot is a decision aid, not a claim that the product or OneDrive behavior has been broadly validated.
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Workspace and assistant validation
|
|
2
|
+
|
|
3
|
+
The version 1.86.0 changes preserve the offline HTML application and plan schema. Synthetic plans are used throughout validation.
|
|
4
|
+
|
|
5
|
+
## Automated checks
|
|
6
|
+
|
|
7
|
+
Version 1.86.0 passed **2,322 checks across 102 suites** on October 8, 2026. Run `./build.sh` and `./test/run.sh` to repeat the checks. The runner includes all browser-model harnesses, build validation and the Python Jira-sync tests. New checks cover saved source layers, contextual controls, group navigation, keyboard access, Settings memory, structural-field disclosures, release-note routing, timing labels, automatic assistant context/results, edit-safe refresh, permission loss and plan switches.
|
|
8
|
+
|
|
9
|
+
The saved-layer checks fail on the original build. The unchanged-export and closed-editor checks fail before their fixes. The Roadmap empty-section regression also fails on the original build. Existing report checks use a fixed fixture date so passing does not depend on today's calendar date; their status, frozen-copy and export assertions remain.
|
|
10
|
+
|
|
11
|
+
## Real browsers
|
|
12
|
+
|
|
13
|
+
Firefox smoke checks confirmed the primary destinations, Status update's whole-plan scope, Product updates' release list, final navigation labels and a visible explanatory failure when altered JavaScript is blocked by CSP.
|
|
14
|
+
|
|
15
|
+
Chrome Incognito completed a real browser File System Access round trip:
|
|
16
|
+
|
|
17
|
+
1. Connected a new empty synthetic assistant folder and allowed access only to it.
|
|
18
|
+
2. Confirmed Sightline created context and results, leaving the proposal file absent.
|
|
19
|
+
3. Wrote a synthetic amendments file atomically using the exported plan ID and revision.
|
|
20
|
+
4. Observed automatic detection while navigating to Work, without a manual refresh.
|
|
21
|
+
5. Reviewed and applied the capability in Sightline.
|
|
22
|
+
6. Confirmed it appeared in Product updates and in the refreshed context; results recorded `applied`.
|
|
23
|
+
7. Confirmed ordinary navigation and polling left context/results modification times unchanged.
|
|
24
|
+
|
|
25
|
+
The Chrome smoke used a browser-local synthetic plan. Confirmed shared-file sourcing, dirty shared edits, reconnection and race cases are covered by API mocks; this smoke does not prove every operating-system or sync-service permission behavior. Audience usability still needs the short [human check](usability-test.md).
|
|
26
|
+
|
|
27
|
+
## Performance
|
|
28
|
+
|
|
29
|
+
The [benchmark](performance-workspaces.md) records synthetic JavaScript/DOM costs. It does not measure real-browser layout or input latency. The new navigation caches stable controls, and unchanged assistant context is neither reconstructed nor written. Existing large-Jira checks remain in the full suite. Further large-plan optimization should use real-browser profiles, particularly for hidden chart rendering and shared DOM decoration.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
## OneDrive follow-up: version 1.87.0
|
|
33
|
+
|
|
34
|
+
Version 1.87.0 passed **2,372/2,372 checks across 104 suites** on October 8, 2026, after a fresh build. The original checkout remains unchanged. This change touches shared-plan file operations and viewer preferences; it adds no plan schema fields or Jira write access.
|
|
35
|
+
|
|
36
|
+
`harness102` passed **43/43**: default and opted-out checking, foreground checks, typing begun during a pending read, invalid or moved files, read-only recovery previews, plan identity and calendar validation, stale reviews, permission and dialog cancellation, guarded lock cleanup, crossing saves, deliberate Save, and failed new-file creation. The preceding build fails the new behavior checks. `harness103` passed **7/7**: unchanged shared-file checks update freshness with zero full renders, assistant reconstructions or output writes; an arriving revision refreshes the plan and each output once. Existing `harness4` passed **404/404**, build checks **19/19**, and Jira-sync checks **206/206**.
|
|
37
|
+
|
|
38
|
+
Firefox executed the final build and showed the explanatory startup failure for an altered-script copy blocked by CSP. Chrome displayed the final release, but native automation did not complete the file picker, so this release's recovery flow has not been verified through a live browser file round trip. API mock checks do not establish operating-system file-provider or cloud synchronization behavior.
|
|
39
|
+
|
|
40
|
+
No OneDrive installation or second-device test environment was available. The [OneDrive setup and two-device checklist](onedrive.md) records seven live cases as **Not run**, including actual sync delays, offline reconnection, file replacement and conflict copies. A local save remains distinct from OneDrive upload completion.
|
|
41
|
+
|
|
42
|
+
<details>
|
|
43
|
+
<summary>Version 1.87.0 per-suite results</summary>
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
harness2 25/25 passed
|
|
47
|
+
harness3 15/15 passed
|
|
48
|
+
harness4 404/404 passed
|
|
49
|
+
harness5 10/10 passed
|
|
50
|
+
harness6 95/95 passed
|
|
51
|
+
harness7 46/46 passed
|
|
52
|
+
harness8 50/50 passed
|
|
53
|
+
harness9 44/44 passed
|
|
54
|
+
harness10 38/38 passed
|
|
55
|
+
harness11 56/56 passed
|
|
56
|
+
harness12 37/37 passed
|
|
57
|
+
harness13 27/27 passed
|
|
58
|
+
harness14 20/20 passed
|
|
59
|
+
harness15 35/35 passed
|
|
60
|
+
harness16 36/36 passed
|
|
61
|
+
harness17 35/35 passed
|
|
62
|
+
harness18 16/16 passed
|
|
63
|
+
harness19 44/44 passed
|
|
64
|
+
harness20 9/9 passed
|
|
65
|
+
harness21 16/16 passed
|
|
66
|
+
harness22 11/11 passed
|
|
67
|
+
harness23 12/12 passed
|
|
68
|
+
harness24 16/16 passed
|
|
69
|
+
harness25 17/17 passed
|
|
70
|
+
harness26 23/23 passed
|
|
71
|
+
harness27 7/7 passed
|
|
72
|
+
harness28 13/13 passed
|
|
73
|
+
harness29 20/20 passed
|
|
74
|
+
harness30 16/16 passed
|
|
75
|
+
harness31 14/14 passed
|
|
76
|
+
harness32 10/10 passed
|
|
77
|
+
harness33 14/14 passed
|
|
78
|
+
harness34 8/8 passed
|
|
79
|
+
harness35 14/14 passed
|
|
80
|
+
harness36 22/22 passed
|
|
81
|
+
harness37 16/16 passed
|
|
82
|
+
harness38 15/15 passed
|
|
83
|
+
harness39 25/25 passed
|
|
84
|
+
harness40 21/21 passed
|
|
85
|
+
harness41 15/15 passed
|
|
86
|
+
harness42 9/9 passed
|
|
87
|
+
harness43 12/12 passed
|
|
88
|
+
harness44 14/14 passed
|
|
89
|
+
harness45 5/5 passed
|
|
90
|
+
harness46 7/7 passed
|
|
91
|
+
harness47 9/9 passed
|
|
92
|
+
harness48 9/9 passed
|
|
93
|
+
harness49 8/8 passed
|
|
94
|
+
harness50 8/8 passed
|
|
95
|
+
harness51 8/8 passed
|
|
96
|
+
harness52 11/11 passed
|
|
97
|
+
harness53 17/17 passed
|
|
98
|
+
harness54 10/10 passed
|
|
99
|
+
harness55 8/8 passed
|
|
100
|
+
harness56 21/21 passed
|
|
101
|
+
harness57 15/15 passed
|
|
102
|
+
harness58 18/18 passed
|
|
103
|
+
harness59 12/12 passed
|
|
104
|
+
harness60 10/10 passed
|
|
105
|
+
harness61 11/11 passed
|
|
106
|
+
harness62 23/23 passed
|
|
107
|
+
harness63 6/6 passed
|
|
108
|
+
harness64 12/12 passed
|
|
109
|
+
harness65 4/4 passed
|
|
110
|
+
harness66 7/7 passed
|
|
111
|
+
harness67 20/20 passed
|
|
112
|
+
harness68 18/18 passed
|
|
113
|
+
harness69 5/5 passed
|
|
114
|
+
harness70 10/10 passed
|
|
115
|
+
harness71 17/17 passed
|
|
116
|
+
harness72 21/21 passed
|
|
117
|
+
harness73 9/9 passed
|
|
118
|
+
harness74 3/3 passed
|
|
119
|
+
harness75 8/8 passed
|
|
120
|
+
harness76 8/8 passed
|
|
121
|
+
harness77 16/16 passed
|
|
122
|
+
harness78 12/12 passed
|
|
123
|
+
harness79 12/12 passed
|
|
124
|
+
harness80 11/11 passed
|
|
125
|
+
harness81 12/12 passed
|
|
126
|
+
harness82 10/10 passed
|
|
127
|
+
harness83 10/10 passed
|
|
128
|
+
harness84 9/9 passed
|
|
129
|
+
harness85 6/6 passed
|
|
130
|
+
harness86 9/9 passed
|
|
131
|
+
harness87 8/8 passed
|
|
132
|
+
harness88 7/7 passed
|
|
133
|
+
harness89 15/15 passed
|
|
134
|
+
harness90 4/4 passed
|
|
135
|
+
harness91 7/7 passed
|
|
136
|
+
harness92 9/9 passed
|
|
137
|
+
harness93 6/6 passed
|
|
138
|
+
harness94 11/11 passed
|
|
139
|
+
harness95 7/7 passed
|
|
140
|
+
harness96 12/12 passed
|
|
141
|
+
harness97 17/17 passed
|
|
142
|
+
harness98 12/12 passed
|
|
143
|
+
harness99 61/61 passed
|
|
144
|
+
harness100 36/36 passed
|
|
145
|
+
harness101 18/18 passed
|
|
146
|
+
harness102 43/43 passed
|
|
147
|
+
harness103 7/7 passed
|
|
148
|
+
build 19/19 passed
|
|
149
|
+
jira-sync 206/206 passed
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
</details>
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Find your work in Sightline
|
|
2
|
+
|
|
3
|
+
Start with the [launch instructions](../README.md#try-it-with-an-invented-team-plan): open **dist/sightline.html** in Chrome or Edge, then open the separate
|
|
4
|
+
plan file from Sightline's **File** menu. The source template is not the runnable release, and a plan link alone does
|
|
5
|
+
not grant access to its file.
|
|
6
|
+
|
|
7
|
+
The menu runs down the left side. Every page has one home:
|
|
8
|
+
|
|
9
|
+
- **Work**: Today shows attention and next actions. Sprint shows the current sprint by person, workstream or epic. Sort Jira work places synced issues on the plan, and Jira change proposals reviews what the sync suggests.
|
|
10
|
+
- **Delivery**: Timeline shows planned work. List shows the same work as rows. Capacity shows the forecast, people and time off. Status update, Decisions and Risks support delivery reviews. Milestones, Gates, Snapshots and Activity hold the supporting lists.
|
|
11
|
+
- **Product updates**: Roadmap explains what the team plans to ship. Customer release notes opens the customer wording approved for each Jira release.
|
|
12
|
+
- **Settings**: Plan (Tags, Planning guide), Team (Team, Work calendar, Meetings, Timeboxes and ceremonies) and Connections (Jira connection).
|
|
13
|
+
|
|
14
|
+
Counts and warnings sit on the page they belong to, such as open risks on Risks. Click a group's heading to fold it;
|
|
15
|
+
the group you're in stays open. The button at the top of the menu, or the `\` key, collapses the menu to a rail of
|
|
16
|
+
icons, and hovering or focusing an icon opens that group beside it. Sightline remembers the choice in this browser.
|
|
17
|
+
On a narrow window the menu starts as a rail.
|
|
18
|
+
|
|
19
|
+
Each group remembers your last page. Existing saved startup choices and links still open their original destinations. Views express audience preferences; file permissions control access.
|
|
20
|
+
|
|
21
|
+
Saved views and filters apply to Timeline, List and Capacity. Roadmap and Status update use the whole plan and say so. Your filters remain available when you return to Timeline.
|
|
22
|
+
|
|
23
|
+
## Declutter: hide what you don't need
|
|
24
|
+
|
|
25
|
+
**Show** (in the Timeline toolbar, or press H) has an eye for each kind of item: Gates, Releases, Deliverables, Meetings, Process blocks, Milestones and Done work. Click one, or press its letter while the menu is open, to hide or show it. Hiding works on Timeline, List and Capacity's People page. Today and Sprint always show everything.
|
|
26
|
+
|
|
27
|
+
- **Keys:** G hides or shows gates and M meetings, on those pages. Shift+H shows everything.
|
|
28
|
+
- **Focus** hides meetings, process blocks and done work in one click.
|
|
29
|
+
- **Hide all meetings** (or gates, process blocks, releases, milestones) is in the details of any one of them.
|
|
30
|
+
- **Pin the top rows** keeps the Gates, Releases, Deliverables, Team meetings and Process rows in view under the dates while you scroll the workstreams, up to half the chart's height.
|
|
31
|
+
- Under the toolbar, "3 hidden: meetings, process blocks, done work" names what's hidden, with **Show everything**. The Show button says how many.
|
|
32
|
+
- In **Filters**, each kind cycles: Show only, Hide, off. Hide wins over Show only. Clear filters also shows everything.
|
|
33
|
+
- What you hide is yours: it stays in this browser for each plan, and a saved view keeps its own choice. Find brings a hidden kind back when the result is one of them. Nothing is changed in the plan file.
|
|
34
|
+
|
|
35
|
+
## List
|
|
36
|
+
|
|
37
|
+
**List** (Delivery, next to Timeline, or press L) reads the plan top to bottom, like a checklist. It shows the work Timeline draws for the same filters: initiatives with their tasks, and Jira stories placed on the plan or counted under an epic. Each row has Start, End, Item, Owner, Waits on and Status.
|
|
38
|
+
|
|
39
|
+
- **Layouts:** By initiative (initiatives are group headers with their own dates, owner and item count), By person (a task with two owners appears under each, marked shared), and Everything by start date. Ties keep initiative order, then plan order. The layout stays in your browser for each plan; it isn't part of a saved view.
|
|
40
|
+
- **Dates** are Timeline's own: weekends, holidays and owners' time off are already skipped.
|
|
41
|
+
- **Owner** shows the plan's owners; for a Jira item, its Jira assignee and, separately, any plan lead. People outside the team or inactive are marked.
|
|
42
|
+
- **Waits on** lists what an item waits for: a task's links, and an initiative's waits on other initiatives, gates and process steps. In the flat layouts a task's row also shows its initiative's waits. Jira dependencies link to Jira, with a warning when one ends after the item starts. Click a name to open it.
|
|
43
|
+
- **Status** is the status Timeline shows. For a Jira item, Jira's own status and when it was synced.
|
|
44
|
+
- Work Timeline doesn't draw (parked, switched off, abandoned in Jira, or without sprint dates) is in **Not on the timeline** at the end, with the reason, so nothing goes missing.
|
|
45
|
+
- Hover or focus a row for its card; click it or press Enter for its details. Escape closes them and returns you to the row; Up and Down move between rows. A selection carries between Timeline and List, and the page, layout and selection are in the link.
|
|
46
|
+
- **Copy as table** copies the rows as shown as a markdown table. If the browser doesn't allow copying, the table appears selected so you can copy it yourself. **Print** prints every row, with the header repeated on each page.
|
|
47
|
+
|
|
48
|
+
Edits stay in the details panel; List has no editable cells.
|
|
49
|
+
|
|
50
|
+
Roadmap starts with **Four quarters**. Choose the starting calendar quarter (including its year); this is a target
|
|
51
|
+
window, not a commitment. The choice stays in your browser. **Long range** restores the broader quarters, halves,
|
|
52
|
+
years, and Later view. Work outside the four-quarter window is counted; **Show in long range** reveals it without
|
|
53
|
+
moving or deleting it. Done and dropped counts still have their own show controls. Broad targets span the quarters
|
|
54
|
+
they overlap. Fiscal calendars are not configured by this view.
|
|
55
|
+
|
|
56
|
+
Choose **Plan with AI** to select the displayed quarters, or open an outcome and choose **Ask assistant about this**.
|
|
57
|
+
The **Planning assistant** shows **Working on** above the composer. Paste notes or describe a change, then **Send**
|
|
58
|
+
once. These actions do not send or apply anything on their own. An untouched generated starter follows a new
|
|
59
|
+
selection. A question you have written keeps its original selection; **Switch context** deliberately changes that
|
|
60
|
+
selection while keeping your text. **Test reply** checks for a response, and **Connection and setup**, under **Setup and files** at the end of the panel, holds detailed
|
|
61
|
+
instructions. Read the [first planning session](assistant-workflow.md#first-four-quarter-planning-session)
|
|
62
|
+
for the in-app route. External tools use the [private-folder session](assistant-workflow.md#your-first-external-planning-session) and their own conversation.
|
|
63
|
+
|
|
64
|
+
Unsubmitted **New idea** text stays with its plan during navigation and redraws in this tab's session. It is not
|
|
65
|
+
included in the saved plan or assistant context until added. Successful submission clears only the submitted text;
|
|
66
|
+
an idea you start typing while the save finishes is retained. Copy or submit drafts before closing the app.
|
|
67
|
+
|
|
68
|
+
Today distinguishes no work loaded, missing Jira status data, and incomplete connected data. Its attention flags
|
|
69
|
+
describe the available plan and sync; a quiet summary does not establish delivery feasibility.
|
|
70
|
+
|
|
71
|
+
Open the menu at the right of the header (**Choose yourself**, or your initials once you have) and choose **Choose yourself** or **You: [name]** to identify yourself for Mine and author stamps. This is a browser preference, not a verified identity. The same menu has text size, theme, **What's new** and help.
|
|
72
|
+
|
|
73
|
+
**Text size** makes the page's text larger or smaller without browser zoom: **A+** and **A−** move in 10% steps from 90% to 150%, and **Reset** goes back to 100%. Text never goes below 9 pixels. The setting stays in this browser and never goes in the plan. There's no keyboard shortcut, so Ctrl or Cmd with + and − still zoom the whole browser.
|
|
74
|
+
|
|
75
|
+
**File** holds only what you do with the plan file: the shared file, importing a copy and exporting one. The plan's start date, default sprint length, whether linked items move automatically and where Jira links go are in **Settings → Plan details**. **Set baseline** is on **Delivery → Snapshots**, and the page Sightline opens on is under **Start Sightline with…** in the menu at the right of the header. Each Settings page is titled with its name in the menu.
|
|
76
|
+
|
|
77
|
+
**Where we are.** The sprint we're in is a soft band behind the bars, and its header reads, for example, **Sprint 42 · now**. Today is a red line with a **Today** tab in the time header; in Weeks it sits at today inside the week. Between sprints there's no band, and the next sprint's header says when it starts. Before or after the plan's dates the tab waits at that edge with the date. Capacity's load grid marks the sprint's weeks and this week, and Roadmap marks the quarter we're in. Press **.** to jump to today in either zoom. All of it prints.
|
|
78
|
+
|
|
79
|
+
On the Timeline, **View** holds the rows (by workstream, person or epic) and, when the plan has Jira work, which sources to show. The button says what's chosen, for example **View: By person · Jira only**, so a filtered review is never a surprise. R still switches rows.
|
|
80
|
+
|
|
81
|
+
Today names each due decision's decider; its owners may be different people.
|
|
82
|
+
|
|
83
|
+
Find reveals a matching milestone, gate or note through the Timeline's filters, folded rows and hidden layers. **Restore previous view** returns to the view you had before opening the result. Filter controls retain keyboard focus when the view updates, and status messages remain visible on narrow screens.
|
|
84
|
+
|
|
85
|
+
Unsent notes, quick updates and blocker explanations stay with their plan and item during this session when details redraw. They clear after successful submission. They are temporary browser-session drafts; submit the text before closing the page. Saving other plan edits does not submit a composer draft.
|
|
86
|
+
|
|
87
|
+
Use **Connect assistant** in the toolbar to set up the [private assistant folder](assistant-workflow.md). Proposed changes wait for your review. Common initiative and task updates remain visible; open **Organize this initiative** or **Move this task** for structural changes.
|
|
88
|
+
|
|
89
|
+
**Settings → Planning guide** describes project scope, workstream purposes, work breakdown, vocabulary, rules,
|
|
90
|
+
and examples for your assistant. Save the guide, then save the shared plan to include it in automatic assistant
|
|
91
|
+
context. Unsaved editor drafts stay in this tab's session and are excluded from exports. See the
|
|
92
|
+
[planning guide instructions](assistant-workflow.md#give-the-assistant-project-context) for source and compatibility details.
|
|
93
|
+
|
|
94
|
+
Use the [usability check and 3–5 day role pilot](usability-test.md) with a developer, a delivery lead and an internal
|
|
95
|
+
customer before treating the navigation as validated for your team. Read a detached copy of the real plan; use only
|
|
96
|
+
invented data for draft, save and handoff exercises. Record the maintainer's recurring effort and any duplicated
|
|
97
|
+
entry as well as whether readers find answers. The protocol and pilot have not been run here.
|
|
98
|
+
|
|
99
|
+
Quick updates can save immediately without **Start editing**. For reading-only evaluation of a real plan, use
|
|
100
|
+
**File → Open a copy…**, confirm **This browser only**, and do not edit or submit changes. The browser copy remains
|
|
101
|
+
editable, but this route does not link writes to the original file. Use **Open shared plan…** for the separate
|
|
102
|
+
synthetic save/handoff exercise. A local save or handoff does not verify cloud delivery; the
|
|
103
|
+
[OneDrive two-device check](onedrive.md#two-device-check-before-a-team-rollout) remains separate and not run.
|
|
104
|
+
|
|
105
|
+
For the meeting workflow, use [team planning](team-planning.md). To work through a large backlog with your external assistant, use [large roadmaps](large-roadmaps.md).
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"title": "My team plan",
|
|
4
|
+
"start": "2026-10-19",
|
|
5
|
+
"weeks": 52,
|
|
6
|
+
"sprintWeeks": 2,
|
|
7
|
+
"firstSprint": 0
|
|
8
|
+
},
|
|
9
|
+
"lanes": [
|
|
10
|
+
{
|
|
11
|
+
"id": "team",
|
|
12
|
+
"name": "Team work",
|
|
13
|
+
"who": "",
|
|
14
|
+
"color": "#2c6fbb"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"people": [],
|
|
18
|
+
"bars": [],
|
|
19
|
+
"deliverables": [],
|
|
20
|
+
"notes": []
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Bring customer context forward to Q1 2027. Explore offline search too, but keep it as an idea with no owner or date. Leave the rest of the roadmap as it is.
|