create-pmos 0.52.0 → 0.53.1
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/package.json +1 -1
- package/payload/KIT-VERSION +2 -2
- package/payload/mods/pmos-cockpit/README.md +13 -0
- package/payload/mods/pmos-cockpit/hooks/lib/commands.mjs +2 -1
- package/payload/mods/pmos-cockpit/hooks/lib/grants.mjs +41 -11
- package/payload/mods/pmos-cockpit/hooks/lib/guard.mjs +228 -8
- package/payload/mods/pmos-cockpit/hooks/register.tsx +11 -3
- package/payload/planning/evals/eval-calibration.md +1 -1
- package/payload/planning/okrs/health-budgets.md +1 -1
- package/payload/scripts/plan-items-stage.js +271 -0
- package/payload/scripts/pmos-log.sh +18 -7
- package/payload/scripts/workflow-state.js +28 -2
- package/payload/state/discoveries.md +1 -1
- package/payload/state/log.md +1 -1
- package/workspace/README.md +2 -0
- package/workspace/REMOTE.md +24 -63
- package/workspace/bin/pmos.js +19 -3
- package/workspace/cut-stub.js +40 -0
- package/workspace/first-paint-audit.js +145 -0
- package/workspace/fixtures/capture/requirements/capture-2026-10-04-1.md +10 -0
- package/workspace/fixtures/initiatives-api/list.json +176 -0
- package/workspace/fixtures/initiatives-api/post-403.json +5 -0
- package/workspace/fixtures/initiatives-api/post-ok.json +10 -0
- package/workspace/fixtures/initiatives-api/roadmap.json +208 -0
- package/workspace/fixtures/initiatives-api/sheet.json +112 -0
- package/workspace/fixtures/report-api/draft.json +177 -0
- package/workspace/fixtures/reports-page/draft-biweekly-2026-10-16.md +97 -0
- package/workspace/fixtures/today-api/provider-rows.json +204 -0
- package/workspace/fixtures/today-api/seam-probe-kinds.json +5 -0
- package/workspace/guide/board.md +81 -0
- package/workspace/guide/breakdown.md +154 -0
- package/workspace/guide/command-palette.md +75 -0
- package/workspace/guide/index.md +28 -17
- package/workspace/guide/initiatives-roadmap.md +130 -0
- package/workspace/guide/initiatives-screen.md +89 -0
- package/workspace/guide/initiatives-timeline.md +57 -0
- package/workspace/guide/integrated-work.md +94 -0
- package/workspace/guide/knowledge-graph.md +3 -68
- package/workspace/guide/launcher.md +51 -0
- package/workspace/guide/layout.md +102 -32
- package/workspace/guide/live-notes.md +3 -3
- package/workspace/guide/pm-only-acts.md +89 -0
- package/workspace/guide/pm-only-lines.md +61 -0
- package/workspace/guide/proactive-engine.md +21 -5
- package/workspace/guide/reports-page.md +80 -0
- package/workspace/guide/reports.md +73 -0
- package/workspace/guide/timeline.md +70 -0
- package/workspace/guide/today.md +85 -0
- package/workspace/guide/validate-with-typesafe.md +1 -1
- package/workspace/lib/actor.js +91 -0
- package/workspace/lib/board-cache.js +32 -2
- package/workspace/lib/board-cli.js +108 -0
- package/workspace/lib/board-fold.js +232 -0
- package/workspace/lib/breakdown-export.js +75 -0
- package/workspace/lib/brief.js +20 -2
- package/workspace/lib/capture.js +98 -0
- package/workspace/lib/engine/plan-items-stage.js +271 -0
- package/workspace/lib/engine/workflow-state.js +28 -2
- package/workspace/lib/factory-join.js +158 -0
- package/workspace/lib/goals.js +165 -0
- package/workspace/lib/grant-mint.js +113 -0
- package/workspace/lib/health-rules-factory.js +92 -0
- package/workspace/lib/health-rules-plan.js +164 -0
- package/workspace/lib/health.js +79 -0
- package/workspace/lib/initiative-cli.js +222 -0
- package/workspace/lib/initiative-display.js +183 -0
- package/workspace/lib/initiative-needs.js +127 -0
- package/workspace/lib/initiative-rows.js +210 -0
- package/workspace/lib/initiative-writer.js +141 -0
- package/workspace/lib/issues.js +206 -0
- package/workspace/lib/item-cli.js +195 -0
- package/workspace/lib/item-spans.js +137 -0
- package/workspace/lib/launcher-cli.js +207 -0
- package/workspace/lib/measure-cli.js +100 -0
- package/workspace/lib/measurements.js +189 -0
- package/workspace/lib/mobile-nav.js +57 -53
- package/workspace/lib/needs-providers.js +120 -0
- package/workspace/lib/placements.js +440 -0
- package/workspace/lib/plan-items.js +922 -0
- package/workspace/lib/plan-ledgers.js +85 -0
- package/workspace/lib/plan-rules.js +72 -0
- package/workspace/lib/plan-tree.js +380 -0
- package/workspace/lib/pm-guard.js +174 -0
- package/workspace/lib/pm-lines-needs.js +331 -0
- package/workspace/lib/pmos-verbs.js +69 -0
- package/workspace/lib/proactive-cli.js +58 -2
- package/workspace/lib/proactive.js +9 -6
- package/workspace/lib/qr.js +293 -0
- package/workspace/lib/remote-access.js +93 -1
- package/workspace/lib/report-cli.js +152 -0
- package/workspace/lib/report-draft.js +578 -0
- package/workspace/lib/report-needs.js +213 -0
- package/workspace/lib/route-modules.js +128 -0
- package/workspace/lib/routes-board.js +91 -0
- package/workspace/lib/routes-capture.js +52 -0
- package/workspace/lib/routes-initiatives.js +371 -0
- package/workspace/lib/routes-reports.js +163 -0
- package/workspace/lib/routes-timeline.js +197 -0
- package/workspace/lib/routes-today.js +32 -0
- package/workspace/lib/today-cli.js +99 -0
- package/workspace/lib/today.js +333 -0
- package/workspace/lib/triage.js +163 -0
- package/workspace/lib/verify-work-cli.js +81 -0
- package/workspace/lib/work-check-needs.js +99 -0
- package/workspace/package-lock.json +1 -1
- package/workspace/package.json +4 -5
- package/workspace/public/icons/apple-touch-icon.png +0 -0
- package/workspace/public/icons/icon-192.png +0 -0
- package/workspace/public/icons/icon-512.png +0 -0
- package/workspace/public/index.html +40 -19
- package/workspace/public/pm/app.js +330 -30
- package/workspace/public/pm/bd-board.js +113 -0
- package/workspace/public/pm/bd-drag.js +59 -0
- package/workspace/public/pm/bd-model.js +152 -0
- package/workspace/public/pm/bd-timeline.js +233 -0
- package/workspace/public/pm/bd-tree.js +244 -0
- package/workspace/public/pm/board-copy.js +57 -0
- package/workspace/public/pm/breakdown-api.js +58 -0
- package/workspace/public/pm/breakdown-copy.js +138 -0
- package/workspace/public/pm/components.css +3135 -0
- package/workspace/public/pm/cycle-review.js +125 -0
- package/workspace/public/pm/data.js +40 -187
- package/workspace/public/pm/dest-board.js +438 -0
- package/workspace/public/pm/dest-initiatives.js +134 -0
- package/workspace/public/pm/dest-reports.js +270 -0
- package/workspace/public/pm/dest-settings.js +217 -0
- package/workspace/public/pm/dest-today.js +182 -0
- package/workspace/public/pm/dialogs.js +88 -0
- package/workspace/public/pm/display-word.js +56 -0
- package/workspace/public/pm/dock.js +175 -0
- package/workspace/public/pm/fixture.js +8 -227
- package/workspace/public/pm/frame-copy.js +99 -0
- package/workspace/public/pm/handoff-box.js +82 -0
- package/workspace/public/pm/http.js +88 -0
- package/workspace/public/pm/icons.js +53 -0
- package/workspace/public/pm/initiative-list.js +218 -0
- package/workspace/public/pm/initiative-sheet.js +261 -0
- package/workspace/public/pm/initiatives-api.js +59 -0
- package/workspace/public/pm/initiatives-copy.js +215 -0
- package/workspace/public/pm/initiatives-timeline-copy.js +59 -0
- package/workspace/public/pm/initiatives-timeline.js +410 -0
- package/workspace/public/pm/initiatives-ui.js +123 -0
- package/workspace/public/pm/item-sheet.js +251 -0
- package/workspace/public/pm/keep-card.js +204 -0
- package/workspace/public/pm/lifecycle.js +7 -1
- package/workspace/public/pm/mobile.css +49 -20
- package/workspace/public/pm/mobile.js +157 -29
- package/workspace/public/pm/modes-live.js +7 -883
- package/workspace/public/pm/modes.js +32 -1024
- package/workspace/public/pm/new-initiative-sheet.js +74 -0
- package/workspace/public/pm/next-step-ui.js +3 -2
- package/workspace/public/pm/palette-copy.js +51 -0
- package/workspace/public/pm/palette.js +312 -0
- package/workspace/public/pm/panel-breakdown.js +702 -0
- package/workspace/public/pm/panel-cockpit.js +63 -295
- package/workspace/public/pm/panel-detail.js +25 -172
- package/workspace/public/pm/panel-initiatives.js +1 -19
- package/workspace/public/pm/panel-repos.js +31 -81
- package/workspace/public/pm/panel-tabs.js +200 -111
- package/workspace/public/pm/panel-trees.js +5 -2
- package/workspace/public/pm/portfolio-report.js +61 -0
- package/workspace/public/pm/primitives.js +656 -0
- package/workspace/public/pm/print.css +33 -0
- package/workspace/public/pm/provider-cards.js +136 -0
- package/workspace/public/pm/registry.js +194 -0
- package/workspace/public/pm/release-card.js +110 -0
- package/workspace/public/pm/report-view.js +309 -0
- package/workspace/public/pm/reports-copy.js +114 -0
- package/workspace/public/pm/roadmap.js +271 -0
- package/workspace/public/pm/sig-watch.js +41 -0
- package/workspace/public/pm/state.js +8 -4
- package/workspace/public/pm/status-banner.js +13 -5
- package/workspace/public/pm/tab-doc.js +2 -4
- package/workspace/public/pm/tab-term.js +12 -2
- package/workspace/public/pm/tab-web.js +3 -2
- package/workspace/public/pm/timeline-copy.js +48 -0
- package/workspace/public/pm/today-cards.js +244 -0
- package/workspace/public/pm/today-copy.js +126 -0
- package/workspace/public/pm/today-goals.js +172 -0
- package/workspace/public/pm/tokens.css +16 -18
- package/workspace/public/pm/topbar.js +102 -0
- package/workspace/public/pm/triage-card.js +60 -0
- package/workspace/public/pm/undo-hold.js +103 -0
- package/workspace/public/pm/view-addrepo.js +2 -1
- package/workspace/public/pm/view-livenotes.js +3 -1
- package/workspace/public/pm/view-today.js +7 -162
- package/workspace/public/vendor/Sortable.min.js +2 -0
- package/workspace/public/vendor/lucide-sprite.js +79 -0
- package/workspace/replaced-tests.json +2877 -0
- package/workspace/run-tests.js +56 -5
- package/workspace/server.js +446 -40
- package/workspace/sheet-answer.js +61 -0
- package/workspace/skills/measure.skill +41 -0
- package/workspace/skills/morning-brief.skill +15 -9
- package/workspace/skills/report-biweekly.skill +23 -25
- package/workspace/skills/tracker-refresh.skill +50 -0
- package/workspace/test-files.json +21 -3
- package/workspace/test-lists/base.json +6 -0
- package/workspace/test-lists/run2-a.json +6 -0
- package/workspace/test-lists/run2-b.json +13 -0
- package/workspace/test-lists/run2-c.json +19 -0
- package/workspace/test-lists/run2-d.json +22 -0
- package/workspace/test-lists/run3-0.json +5 -0
- package/workspace/test-lists/run3-a.json +5 -0
- package/workspace/test-lists/run3-b.json +6 -0
- package/workspace/test-lists/run3-c.json +15 -0
- package/workspace/test-lists/run3-d.json +6 -0
- package/workspace/test-lists/run4-a.json +8 -0
- package/workspace/test-lists/run4-b.json +6 -0
- package/workspace/test-lists/run4-c.json +13 -0
- package/workspace/test-lists/run4-d.json +9 -0
- package/workspace/test-lists/run5-a.json +6 -0
- package/workspace/test-lists/run5-b.json +6 -0
- package/workspace/test-lists/run5-c.json +15 -0
- package/workspace/test-lists/workspace-launcher.json +5 -0
- package/workspace/test-lists/workspace-phone-app.json +5 -0
- package/workspace/test-run.js +27 -1
- package/workspace/third-party/README.md +44 -0
- package/workspace/third-party/lucide-static-1.52.0.LICENSE +43 -0
- package/workspace/third-party/sortablejs-1.15.7.LICENSE +21 -0
- package/workspace/design-parity.js +0 -673
- package/workspace/public/pm/tab-task.js +0 -86
- package/workspace/public/pm/view-guide.js +0 -141
- package/workspace/public/pm/view-knowledge.js +0 -225
- package/workspace/public/pm/view-memory.js +0 -122
- package/workspace/public/pm/view-portfolio.js +0 -153
- package/workspace/public/pm/view-reports.js +0 -190
- package/workspace/public/pm/view-scheduled.js +0 -161
- package/workspace/public/pm/view-skills.js +0 -216
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Guide
|
|
3
|
+
title: "Breakdown: an initiative's items"
|
|
4
|
+
description: "How to break an initiative into items, move them in the Tree and on the Board, keep what an agent proposes, hand an item to an agent, and use pmos item from a terminal."
|
|
5
|
+
timestamp: 2026-10-05
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Breakdown: an initiative's items
|
|
9
|
+
|
|
10
|
+
An initiative's breakdown is the list of items that do its work. Each item has a title, an owner, a stage and a state. The state is Todo, Doing, Review or Done.
|
|
11
|
+
|
|
12
|
+
The workspace keeps the items in `planning/runs/plan-items.jsonl` in the repository. Each change adds one line to that file. Nothing is changed or removed. The workspace page and the `pmos item` command use the same writer, so they always show the same items.
|
|
13
|
+
|
|
14
|
+
## Open the Breakdown
|
|
15
|
+
|
|
16
|
+
1. Select an initiative in the list.
|
|
17
|
+
2. In the detail, press **Breakdown**. The row shows how many items are done, for example "7 of 12". It shows "no breakdown" when the initiative has no items, and "no breakdown · 9 proposed" when an agent proposed items that you did not keep yet.
|
|
18
|
+
3. The Breakdown opens in a tab. Press **Tree** or **Board** at the top to change the view. The bar on the right shows the same count as the detail.
|
|
19
|
+
|
|
20
|
+
## The Tree
|
|
21
|
+
|
|
22
|
+
The Tree shows the stages of the initiative in order, for example Intake, Spec, Contract, Build and Evaluate. A stage shows only when it has items, items an agent proposed, or a step that is still owed.
|
|
23
|
+
|
|
24
|
+
- **Stage header.** The name, CURRENT on the stage the initiative is at now, and a count such as "2 of 5 · 3 proposed". Press the arrow at the end of the header to collapse or expand the stage.
|
|
25
|
+
- **Owed row.** "Owed: contract · agent" means that the workflow still needs that step from the agent (or from you). The row has the label DERIVED. You cannot edit it, move it or tick it. It goes away when the step is done.
|
|
26
|
+
- **Show n done.** Done items are folded away. Press the line to show them.
|
|
27
|
+
- **Owed steps are not shown.** When the workflow cannot be read, the Tree shows no owed rows. A note at the top says so and gives the reason. The owed rows come back the next time the workflow can be read.
|
|
28
|
+
- **Flagged lines.** A line in `plan-items.jsonl` can have no effect: a broken line, an item added twice, or a Keep that was not written from the workspace page. The rows cannot show such a line, so a note at the top of the pane gives the number of flagged lines and the first three.
|
|
29
|
+
- **Item row.** A grip, a box to tick, the title and one line with the owner, the due date and, when an agent made the last change, which agent ("by agent · sess-3"). At most two signals show (see Signals below). Press the title to open the item sheet. Press the three dots for a menu: Open, Move to a state, Move up, Move down, Hand to agent, Withdraw.
|
|
30
|
+
- **Add item.** Press **Add item** at the end of a stage, type a title and press Enter. The field stays open for the next title. Press Enter in an empty field, or Escape, to close it. To add many items at once, paste a list with one title on each line. Markers such as `- `, `* `, `[ ] ` and `1. ` are removed. You can paste at most 50 lines.
|
|
31
|
+
|
|
32
|
+
### Signals
|
|
33
|
+
|
|
34
|
+
| Signal | What it means |
|
|
35
|
+
|---|---|
|
|
36
|
+
| Blocked | You or an agent gave a reason why the item cannot go on. The reason shows when you point at the signal, and in the item sheet. |
|
|
37
|
+
| no evidence | An agent moved the item to Done without evidence, such as a commit or a pull request. Add the evidence in the item sheet, or move the item back. |
|
|
38
|
+
| late | The due date is in the past and the item is not Done. |
|
|
39
|
+
| Doing, Review | The state of the item, in the Tree only. On the Board, the column shows the state. |
|
|
40
|
+
| moved by you | You moved an item that an agent owns. The agent sees the same signal. |
|
|
41
|
+
| Proposed | An agent added the item and you did not keep it yet. A proposed item does not count in the progress. |
|
|
42
|
+
|
|
43
|
+
### Keys in the Tree
|
|
44
|
+
|
|
45
|
+
| Key | What it does |
|
|
46
|
+
|---|---|
|
|
47
|
+
| Arrow up, Arrow down (or k, j) | Move between rows and stage headers. |
|
|
48
|
+
| Enter | Open the item sheet of the row. |
|
|
49
|
+
| Space | Tick the row Done, or tick it back to Todo. |
|
|
50
|
+
| n | Add an item after the row, or at the end of the stage. |
|
|
51
|
+
| Alt+Arrow up, Alt+Arrow down | Move the row up or down. At the top or the bottom of a stage, the row moves into the stage before or after. |
|
|
52
|
+
| Escape | Close the add field or the sheet. |
|
|
53
|
+
|
|
54
|
+
To move an item with a mouse or a finger, drag its grip. Drop it between two rows to change its order, or drop it on a stage header to put it at the end of that stage. On a phone, hold the grip for a moment before you drag.
|
|
55
|
+
|
|
56
|
+
Collapsing a stage is your own view. The workspace keeps it in this browser only. It writes nothing to the repository.
|
|
57
|
+
|
|
58
|
+
## The Board
|
|
59
|
+
|
|
60
|
+
The Board shows the same items in four columns: Todo, Doing, Review and Done. A card is always in the column of its state, so the Tree and the Board always agree.
|
|
61
|
+
|
|
62
|
+
- Each card shows the title, the stage, the owner, the due date and, when an agent made the last change, which agent. The card's menu has Move to a state, Hand to agent and Withdraw. Open it with the three dots, or, on a wide Board with a mouse, where the cards have no three dots, right-click the card or press Shift+F10 on it.
|
|
63
|
+
- An empty column says so, for example "Nothing in Review.".
|
|
64
|
+
- The Done column shows the items done in the last 14 days. Older done items stay in the Tree, and the column says how many there are.
|
|
65
|
+
- When the Board is wide enough, drag a card to another column to change its state. To make it wide on a desktop, fold the list or the detail with its `⟨` button ([Layout](layout.md#folding)).
|
|
66
|
+
- When the Board is narrow, for example on a phone, it shows one column at a time. Press Todo, Doing, Review or Done above the cards to change the column. To move a card, press the card, then press the new state in the item sheet.
|
|
67
|
+
|
|
68
|
+
If you move an item that an agent owns, the item shows "moved by you". The agent sees the same signal.
|
|
69
|
+
|
|
70
|
+
## The item sheet
|
|
71
|
+
|
|
72
|
+
The sheet shows every field of one item, from top to bottom:
|
|
73
|
+
|
|
74
|
+
1. The state: Todo, Doing, Review or Done. Under it, two lines show only when they apply:
|
|
75
|
+
- "Proposed by agent · sess-3 on 5 Oct." with **Keep all**, for an item that an agent proposed. Keep all keeps every item of that agent's card.
|
|
76
|
+
- **Add evidence**, for an item that reads Done with no evidence. Type `commit:<sha>`, `pr:<number>`, `file:<path>` or `note:<text>` and press Enter. If the workspace refuses the reference, a message tells you why and your text stays in the field to correct.
|
|
77
|
+
2. Title.
|
|
78
|
+
3. Owner: You, Agent, a person (type the name) or a tracker (type the reference).
|
|
79
|
+
4. Stage.
|
|
80
|
+
5. After: the items that must finish first. Choose an item of this initiative, or type the id of an item in another initiative and press **Add**.
|
|
81
|
+
6. Start and Due.
|
|
82
|
+
7. Milestone.
|
|
83
|
+
8. Blocked, and Blocked because. An item is blocked only when you give a reason.
|
|
84
|
+
9. Note.
|
|
85
|
+
10. **Hand to agent.**
|
|
86
|
+
11. History: who made each change, what changed, and when.
|
|
87
|
+
|
|
88
|
+
Each field saves by itself: a text field when you press Enter or leave it, the other fields when you change them. Each save adds one line to the file. Press **Close** or Escape to close the sheet.
|
|
89
|
+
|
|
90
|
+
## Undo
|
|
91
|
+
|
|
92
|
+
Done and Withdraw wait 8 seconds before they are saved. A message shows at the bottom with **Undo**. Press **Undo** to cancel. Nothing is saved. If you do not press it, the change is saved after 8 seconds. If you close the page during the 8 seconds, the change is saved at once.
|
|
93
|
+
|
|
94
|
+
A tick back from Done to Todo is saved at once.
|
|
95
|
+
|
|
96
|
+
## Items an agent proposes
|
|
97
|
+
|
|
98
|
+
An agent can add items with `pmos item add`. Its items arrive as proposed. They show in the Tree and on the Board, but they do not count in the progress until you keep them.
|
|
99
|
+
|
|
100
|
+
The Tree shows one card for each agent session, named by the session: "Agent · sess-3 proposed 9 items on 5 Oct." Today shows the same card in its needs-you list, and the Today count in the navigation counts it.
|
|
101
|
+
|
|
102
|
+
- **Keep** keeps all the items of the card. Only you can keep items, and only from the workspace page. There is no command for it.
|
|
103
|
+
- **Withdraw all** withdraws all the items of the card, with Undo.
|
|
104
|
+
|
|
105
|
+
If the agent adds more items after the card shows, they stay proposed. The card shows the new count when it refreshes.
|
|
106
|
+
|
|
107
|
+
Today also shows two other breakdown cards:
|
|
108
|
+
|
|
109
|
+
- **no evidence**: an agent marked an item Done without evidence, such as a commit or a pull request. Open the item and add the evidence, or ask the agent to run its move again with `--evidence`.
|
|
110
|
+
- **check**: a line in `plan-items.jsonl` that has no effect, for example a Keep that the workspace page did not write.
|
|
111
|
+
|
|
112
|
+
## Hand to agent
|
|
113
|
+
|
|
114
|
+
Press **Hand to agent** in the item sheet, or in the menu of a row or a card (the three dots, or a right-click or Shift+F10 on a card of a wide Board).
|
|
115
|
+
|
|
116
|
+
1. The sheet shows one line: "Agent will: …" with what the agent does first and where it works, for example on a new branch. Press **Details** to read the full prompt, the branch and the folder.
|
|
117
|
+
2. Press **Go** to start the session, or **Cancel**. Go starts exactly what you read. If the item changed after you read it, Go refuses, and you must press Hand to agent again.
|
|
118
|
+
3. The session opens in a terminal tab. The agent reports with `pmos item`.
|
|
119
|
+
|
|
120
|
+
If a session already works on the item, the sheet says "A session is already working on this item." and offers **Open session**.
|
|
121
|
+
|
|
122
|
+
Nothing else starts a session from the Breakdown. A drag, a drop or a change of state never starts one.
|
|
123
|
+
|
|
124
|
+
## Who made a change
|
|
125
|
+
|
|
126
|
+
Each line in the file names who wrote it. The workspace shows it as:
|
|
127
|
+
|
|
128
|
+
| Label | Who |
|
|
129
|
+
|---|---|
|
|
130
|
+
| you | You, from the workspace page or from your own terminal. |
|
|
131
|
+
| agent · sess-3 | The agent session that the workspace started, from its terminal. |
|
|
132
|
+
| agent (unknown) | A command run without a session the workspace started, and not at your own terminal. |
|
|
133
|
+
|
|
134
|
+
The file records an agent with its full session token, for example `agent:sess-3.0a1b2c3d`. The workspace page gets only `agent:sess-3` and shows "agent · sess-3".
|
|
135
|
+
|
|
136
|
+
An agent cannot keep its own items. An agent can withdraw only the items that it added; the items you added, only you can withdraw.
|
|
137
|
+
|
|
138
|
+
A terminal that the workspace starts for an agent is marked as that agent's, so its commands are recorded as the agent even when they run at a terminal. Your own shell terminals are not marked, so their commands are recorded as you.
|
|
139
|
+
|
|
140
|
+
## From a terminal: pmos item
|
|
141
|
+
|
|
142
|
+
Every command takes `--json` for output a script can read, and `--root <dir>` to name the repository. Without `--root`, the command uses the repository of the current folder.
|
|
143
|
+
|
|
144
|
+
| Command | What it does |
|
|
145
|
+
|---|---|
|
|
146
|
+
| `pmos item add <initiative> "<title>" --stage <stage>` | Adds an item. Options: `--due`, `--start` (YYYY-MM-DD), `--owner you\|agent\|person:<name>\|tracker:<ref>`, `--after <item>`, `--milestone`, `--note "<text>"`. |
|
|
147
|
+
| `pmos item set <item> …` | Changes fields: `--title`, `--stage`, `--due`, `--start`, `--owner`, `--after`, `--milestone` or `--no-milestone`, `--note`, `--blocked "<reason>"`. Give `none` to clear a field. |
|
|
148
|
+
| `pmos item move <item> todo\|doing\|review\|done` | Changes the state. An agent adds `--evidence commit:<sha>` (or `pr:`, `file:`, `session:`, `note:`) when it moves an item to Done. If it forgot, it runs the same move to Done again with `--evidence`. |
|
|
149
|
+
| `pmos item withdraw <item>` | Withdraws an item. An agent can withdraw only its own items. |
|
|
150
|
+
| `pmos item list <initiative>` | Lists the items by stage, with the progress. |
|
|
151
|
+
|
|
152
|
+
A stage is its id or its label, for example `build` or `Build`. An item id is the initiative id, a dot, and ten characters, for example `partner-sso.k3j9x0p2qa`.
|
|
153
|
+
|
|
154
|
+
The command decides who wrote the line from where it runs. It does not take a `--by` option.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Guide
|
|
3
|
+
title: "Command palette"
|
|
4
|
+
description: "How to use the ⌘K palette: run a command, see its command-line form, keep a note, ask the bound session, search Knowledge, Memory and the Guide, and use the compose line on a phone."
|
|
5
|
+
timestamp: 2026-10-05
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Command palette
|
|
9
|
+
|
|
10
|
+
The command palette is one box for three jobs: open something, run a command, or keep a note. Press **⌘K** (Ctrl+K on Windows and Linux) to open it. Press **Esc** to close it.
|
|
11
|
+
|
|
12
|
+
## Rows
|
|
13
|
+
|
|
14
|
+
Type in the box. The rows change as you type. They always come in this order:
|
|
15
|
+
|
|
16
|
+
1. **Matched rows.** A command, an initiative, a repository, a session, a tab or a view whose name matches what you typed. A command shows its command-line form next to its name, for example `pmos item`. You can run the same command from a terminal.
|
|
17
|
+
2. **Capture as note.** Keeps what you typed as a note.
|
|
18
|
+
3. **Ask the session.** "Ask" and the name of a session. The session is the terminal tab you are in. When you are not in a terminal tab, it is the terminal of the selected initiative, or else the latest terminal of this repository. It shows only when a terminal tab is open.
|
|
19
|
+
|
|
20
|
+
When nothing matches, **Capture as note** is the top row and is already selected. Press **Enter** to keep the note.
|
|
21
|
+
|
|
22
|
+
Press **Up** and **Down** to move the selection. Press **Enter** to choose the selected row. You can also press a row.
|
|
23
|
+
|
|
24
|
+
## Capture as note
|
|
25
|
+
|
|
26
|
+
Capture as note keeps your words in one file and changes nothing else.
|
|
27
|
+
|
|
28
|
+
- The file is `requirements/capture-YYYY-MM-DD-<n>.md` in the state folder of the selected repository. That folder is `pmos/state/` in a kit repository (one with `pmos/state/initiatives/` and no `planning/initiatives/`), and `planning/` in any other repository. It is the folder that holds the initiatives, so a later step finds the note there. `<n>` counts from 1 for each day.
|
|
29
|
+
- The file has `type: Reference`, a title, a timestamp, `source: capture` and `by`. The text is the body, unchanged.
|
|
30
|
+
- A file is never overwritten. When two notes race for one number, the second takes the next number.
|
|
31
|
+
- A toast shows the name of the note. The palette closes.
|
|
32
|
+
- When the note cannot be saved, the palette stays open, shows the reason, and keeps your text. Press **Enter** to try again.
|
|
33
|
+
- Select a repository first. A note is kept in one repository, and is never kept in another one.
|
|
34
|
+
|
|
35
|
+
The note is not a decision and not a requirement yet. A later step reads new notes and files each as a proposal for you to keep or drop.
|
|
36
|
+
|
|
37
|
+
## Ask the session
|
|
38
|
+
|
|
39
|
+
**Ask** sends what you typed to the session named on the row, then presses Enter. It works as if you had typed the text in that terminal. When the session is not connected, nothing is sent and the palette says so.
|
|
40
|
+
|
|
41
|
+
## Portfolio reports
|
|
42
|
+
|
|
43
|
+
Three commands write a report across every repository into the hub repository:
|
|
44
|
+
|
|
45
|
+
| Command | What it writes |
|
|
46
|
+
|---|---|
|
|
47
|
+
| Portfolio report: weekly | The weekly report. |
|
|
48
|
+
| Portfolio report: OKR | The OKR report. |
|
|
49
|
+
| Portfolio report: matching… | The report on the initiatives whose names match words you type. A sheet asks for the words. |
|
|
50
|
+
|
|
51
|
+
Nothing is written until you run one. When the report is written, the workspace says the path and opens the file as a tab. If a repository could not be read, the message names it. If no hub repository is set up, the message says so and nothing is written.
|
|
52
|
+
|
|
53
|
+
## Search scopes
|
|
54
|
+
|
|
55
|
+
The tabs under the box set where the search looks.
|
|
56
|
+
|
|
57
|
+
| Scope | What it searches |
|
|
58
|
+
|---|---|
|
|
59
|
+
| All | Commands, initiatives, repositories, sessions, tabs and views. Strategy documents and decision records are also found here. |
|
|
60
|
+
| Knowledge | Strategy documents, decision records, notes and governance files of the selected repository. Choose a row to open the document in a tab. |
|
|
61
|
+
| Memory | The entries in Memory. Choose a row to read the entry in a sheet. |
|
|
62
|
+
| Guide | The pages of this Guide. Choose a row to open the page in a tab. |
|
|
63
|
+
|
|
64
|
+
The palette reads the lists of all three scopes when it opens. When a list cannot be read, the palette says which scope failed and why. The other scopes still work.
|
|
65
|
+
|
|
66
|
+
## On a phone
|
|
67
|
+
|
|
68
|
+
The palette opens as a sheet from the bottom edge. Each row is at least 48 pixels high, and the rows are reached by touch.
|
|
69
|
+
|
|
70
|
+
On a phone, the scratchpad is the **compose line** at the bottom of a terminal tab. (On a desktop, open it with **▲ scratchpad** under the dock's tabs.) Type a message there and press **Send**. The text is typed into the session and the line clears. The line keeps your text for each session until you send it, so a message you did not finish is still there when you come back.
|
|
71
|
+
|
|
72
|
+
## Related
|
|
73
|
+
|
|
74
|
+
- [Live notes](live-notes.md) keeps a note for each day.
|
|
75
|
+
- [Initiatives](initiatives-and-next-steps.md) explains what an initiative shows.
|
package/workspace/guide/index.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: Guide
|
|
3
3
|
title: "Guide: start here"
|
|
4
|
-
timestamp: 2026-10-
|
|
4
|
+
timestamp: 2026-10-06
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Guide: start here
|
|
@@ -10,33 +10,44 @@ This guide describes the PMOS workspace as it works today. It ships with the app
|
|
|
10
10
|
|
|
11
11
|
## The screen
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
On a desktop the workspace is one frame. [Layout](layout.md) explains each part.
|
|
14
14
|
|
|
15
|
-
1. **
|
|
16
|
-
2. **The
|
|
17
|
-
3. **
|
|
15
|
+
1. **The top bar.** Repository ▾, the four places, search (⌘K), Sync when the repository is not in sync, and Settings.
|
|
16
|
+
2. **The place.** One of Today, Initiatives, Board or Reports. It fills the screen under the bar.
|
|
17
|
+
3. **The detail.** The item you opened: an initiative with its status, next steps and artifacts, or the profiles. It opens beside the place and closes with ×.
|
|
18
|
+
4. **The agent dock.** Terminals, documents, conversations and web pages. It is open on Today and a thin rail elsewhere.
|
|
18
19
|
|
|
19
|
-
##
|
|
20
|
+
## Where things are
|
|
20
21
|
|
|
21
|
-
|
|
|
22
|
+
| You want | Go to |
|
|
22
23
|
|---|---|
|
|
23
|
-
|
|
|
24
|
-
|
|
|
25
|
-
|
|
|
26
|
-
|
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
|
|
|
24
|
+
| What is waiting for you now | Today |
|
|
25
|
+
| The initiatives of a repository, or of every repository | Initiatives. Choose **All repositories** in Repository ▾ for every repository. |
|
|
26
|
+
| The items of an initiative | Board, or Breakdown in the initiative detail |
|
|
27
|
+
| Run reports | Reports |
|
|
28
|
+
| Repositories, Profiles, New sessions (the default CLI and model), Validate consent, Theme | Settings |
|
|
29
|
+
| Validate | Settings, under Validate consent: **Open Validate** |
|
|
30
|
+
| A document, a decision record, a memory entry, a page of this guide | ⌘K, with its scope: Knowledge, Memory or Guide |
|
|
31
|
+
| A report across every repository | ⌘K: Portfolio report |
|
|
32
|
+
| A note, or a message to a session | ⌘K |
|
|
32
33
|
|
|
33
34
|
## Where to read next
|
|
34
35
|
|
|
35
|
-
- [
|
|
36
|
+
- [Start the workspace without a terminal](launcher.md): the PMOS app, the login item and `pmos launcher`.
|
|
37
|
+
- [Layout](layout.md): the frame, the keys and the rule for where a list or a detail opens.
|
|
36
38
|
- [Statuses](statuses.md): what each status means, where it comes from, and what you can change.
|
|
37
39
|
- [Initiatives and next steps](initiatives-and-next-steps.md): the detail, the next steps, and the artifacts.
|
|
40
|
+
- [Breakdown](breakdown.md): an initiative's items in the Tree and on the Board, the item sheet, Undo, Keep, Hand to agent and `pmos item`.
|
|
38
41
|
- [Scheduled tasks and the command line](scheduled-tasks-and-cli.md): how to make, edit and run scheduled tasks.
|
|
39
42
|
- [Validate a repository](validate-with-typesafe.md): what each kind of document is compared with, how to read the verdict, and what leaves your machine.
|
|
40
43
|
- [Today and the proactive engine](proactive-engine.md): what Today finds, what you can do with an item, the settings, the commands and the limits.
|
|
41
44
|
- [Live notes](live-notes.md): take notes in a meeting, confirm each talking point, and what goes to Jev when you turn it on.
|
|
42
45
|
- [Find knowledge without reading whole files](knowledge-graph.md): what `pmos kg` finds, its commands, how to read its numbers, and its limits.
|
|
46
|
+
- [Initiatives: the Roadmap, the List and the initiative sheet](initiatives-screen.md): how to read and order the initiatives of a repository, open the sheet, make a new initiative, and review the cycle.
|
|
47
|
+
- [Initiatives and the Roadmap: Now, Next and Later](initiatives-roadmap.md): what day one shows, how an agent proposes a move, and `pmos initiative` and `pmos measure` from a terminal.
|
|
48
|
+
- [PM-only acts: what only you can do](pm-only-acts.md): which acts are yours, how the workspace checks that a press comes from your page or your terminal, and what to do when one is refused.
|
|
49
|
+
- [PM-only lines: how the workspace checks your acts](pm-only-lines.md): how each act is recorded, what the Today card "A PM-only line is not attested" means, and the grants for a bulk lifecycle change and a Release.
|
|
50
|
+
- [Breakdown › Timeline](timeline.md): an initiative's items on a time axis, split by stage, with milestones, today, and the at-risk flag when an item starts before its predecessor ends.
|
|
51
|
+
- [Initiatives › Timeline](initiatives-timeline.md): when each initiative runs, one row per initiative, and how to reorder rows by their grip.
|
|
52
|
+
- [Board](board.md): one Kanban for the items of every initiative, its filters, Release, and `pmos board`.
|
|
53
|
+
- [Integrated work](integrated-work.md): how `pmos verify-work` turns a merged commit into Done, and what "Done · your call · not merged" means.
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Guide
|
|
3
|
+
title: "Initiatives and the Roadmap: Now, Next and Later"
|
|
4
|
+
description: "How an initiative gets a place in Now, Next or Later, what day one shows, how an agent proposes a move, how to add an initiative, how to record a measurement, and how to use pmos initiative and pmos measure from a terminal."
|
|
5
|
+
timestamp: 2026-10-05
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Initiatives and the Roadmap: Now, Next and Later
|
|
9
|
+
|
|
10
|
+
The Roadmap puts each initiative of a repository in one of three horizons:
|
|
11
|
+
|
|
12
|
+
- **Now** — the work that is in progress. Only you put an initiative in Now.
|
|
13
|
+
- **Next** — the work that starts when a place in Now is free.
|
|
14
|
+
- **Later** — the rest. A new initiative starts at the top of Later.
|
|
15
|
+
|
|
16
|
+
The order in a horizon is your priority order. An initiative can also have a **check-by** date: the day you want to look at it again.
|
|
17
|
+
|
|
18
|
+
The Roadmap shows work lanes only: feature, discovery, chore, incident, content, prototype and the other lanes of the work group. A document lane (for example strategy) is a file, not a row. It is not on the Roadmap, in the list, in the sheet or in an export.
|
|
19
|
+
|
|
20
|
+
## Where the Roadmap is kept
|
|
21
|
+
|
|
22
|
+
The workspace keeps the places in `planning/runs/placements.jsonl` in the repository (`pmos/state/placements.jsonl` in a PM-artifacts repository). Each move adds one line to that file. Nothing is changed or removed. The workspace page and the `pmos initiative` command use the same writer, so they always show the same order.
|
|
23
|
+
|
|
24
|
+
Each line records who wrote it and from where. You cannot set this yourself. The writer refuses a line that names its own writer.
|
|
25
|
+
|
|
26
|
+
## Day one
|
|
27
|
+
|
|
28
|
+
The first time you open the Roadmap, the file has no lines yet. The workspace then places each initiative from its activity:
|
|
29
|
+
|
|
30
|
+
- An initiative with activity in the last 5 days reads **Now, unconfirmed**. Move it to confirm it, or move it to Next or Later.
|
|
31
|
+
- An initiative with no activity for 45 days reads **dormant**, at the end of Later.
|
|
32
|
+
- Every other initiative is in Later, the most recent activity first.
|
|
33
|
+
- An accepted or stopped initiative is never in Now. It goes to the end of Later.
|
|
34
|
+
|
|
35
|
+
The two numbers are `stall_days` and `dormant_days` in `planning/plan-rules.json`.
|
|
36
|
+
|
|
37
|
+
While an initiative reads Now, unconfirmed, the Today list shows one **Review the cycle** row. The same row shows when an agent proposal waits for you and when a check-by date has passed.
|
|
38
|
+
|
|
39
|
+
## Agent proposals
|
|
40
|
+
|
|
41
|
+
An agent session can move an initiative to Next or Later, or change the order. The workspace writes each such move as a **proposal**. A proposal does not move anything. It shows on the Roadmap with the name of the agent session.
|
|
42
|
+
|
|
43
|
+
- **Adopt** a proposal to make the move. Only you adopt a proposal.
|
|
44
|
+
- **Drop** a proposal to close it. You or the agent that made it can drop it.
|
|
45
|
+
|
|
46
|
+
When you move the same initiative yourself, your move replaces its open proposals.
|
|
47
|
+
|
|
48
|
+
## Acts only you can do
|
|
49
|
+
|
|
50
|
+
Two acts are yours only. The workspace refuses them from an agent session.
|
|
51
|
+
|
|
52
|
+
- **Move to Now**, and any reorder or check-by of an initiative that is in Now.
|
|
53
|
+
- **Adopt** an agent proposal.
|
|
54
|
+
|
|
55
|
+
On the page, each press does one initiative. The page refuses a request that moves more than one initiative to Now. In a terminal, you type the initiative id (or the proposal id) to confirm. The command refuses with no interactive terminal.
|
|
56
|
+
|
|
57
|
+
## Add an initiative
|
|
58
|
+
|
|
59
|
+
Every initiative needs an anchor: a KR of the current period or a health budget `health:<id>` from `planning/okrs/health-budgets.md`. The workspace refuses an initiative with no anchor, from the page, from the terminal and from an agent session.
|
|
60
|
+
|
|
61
|
+
The writer makes the record in `planning/initiatives/<id>.md` with its type, title, timestamp, lane and anchor. A chore also needs its intent in one paragraph. The new initiative starts at the top of Later. Commit the record to keep it.
|
|
62
|
+
|
|
63
|
+
The writer refuses:
|
|
64
|
+
|
|
65
|
+
- a lane that the repository does not have, or a document lane;
|
|
66
|
+
- an anchor that names no KR or health budget;
|
|
67
|
+
- an id that is already a record.
|
|
68
|
+
|
|
69
|
+
### From a capture
|
|
70
|
+
|
|
71
|
+
A capture note in `planning/requirements/capture-<date>-<n>.md` (`pmos/state/requirements/` in a PM-artifacts repository; a quick note from the command palette) becomes a **Proposed** row on the Today list: "Proposed: title · lane · anchor". The workspace proposes the title from the first sentence and an anchor when the words match a KR or a health budget.
|
|
72
|
+
|
|
73
|
+
When the note matches a file in `planning/out-of-scope/`, the row says **matches an earlier rejection** and names that file. Read it before you add the initiative.
|
|
74
|
+
|
|
75
|
+
Press **Add** to make the initiative, or use `pmos initiative new --from <capture>`. After that, the capture leaves the list.
|
|
76
|
+
|
|
77
|
+
### No anchor
|
|
78
|
+
|
|
79
|
+
An old record with no `parent_kr` shows on the Today list as "<title> has no anchor". Add an anchor to its record.
|
|
80
|
+
|
|
81
|
+
## Break this down
|
|
82
|
+
|
|
83
|
+
An empty Breakdown offers **Break this down** with a starter list. The list is in `planning/work-starters.md`. Change that file to change the list. See [Breakdown](breakdown.md).
|
|
84
|
+
|
|
85
|
+
## Export a breakdown
|
|
86
|
+
|
|
87
|
+
The export gives an initiative's breakdown as markdown: the title and anchor, then one heading per stage, then each item with its state, owner and dates. It writes no file. Two exports of the same breakdown are the same text.
|
|
88
|
+
|
|
89
|
+
## Measurements
|
|
90
|
+
|
|
91
|
+
A measurement is the value of a KR or a health budget on a date, with its source. The workspace keeps measurements in `planning/runs/measurements.jsonl`. The List shows the latest measurement next to each anchor.
|
|
92
|
+
|
|
93
|
+
Every measurement needs a source: the file the value comes from and its commit, as `<path>@<commit sha>`. The writer refuses a measurement with no source. An agent can record a measurement, because a measurement is evidence, not a decision. The `measure` skill tells an agent how to do this.
|
|
94
|
+
|
|
95
|
+
## From a terminal: pmos initiative
|
|
96
|
+
|
|
97
|
+
`pmos initiative` uses the same writers as the page. You need no running server.
|
|
98
|
+
|
|
99
|
+
| Command | What it does |
|
|
100
|
+
|---|---|
|
|
101
|
+
| `pmos initiative new "<title>" --lane <lane> --anchor <anchor> [--intent "<text>"] [--id <id>]` | Makes the record and puts it at the top of Later. |
|
|
102
|
+
| `pmos initiative new --from <capture> [--anchor <anchor>]` | Adds the initiative a capture proposes. |
|
|
103
|
+
| `pmos initiative now <id>` | Moves it to the end of Now. You only: type the id to confirm. |
|
|
104
|
+
| `pmos initiative next <id> [--top]` | Moves it to the end of Next, or to its top. |
|
|
105
|
+
| `pmos initiative later <id> [--top]` | Moves it to the end of Later, or to its top. |
|
|
106
|
+
| `pmos initiative top <id>` | Moves it to the top of its horizon. |
|
|
107
|
+
| `pmos initiative up <id>` | Moves it one place up. |
|
|
108
|
+
| `pmos initiative down <id>` | Moves it one place down. |
|
|
109
|
+
| `pmos initiative check-by <id> <YYYY-MM-DD\|none>` | Sets or clears its check-by date. |
|
|
110
|
+
| `pmos initiative adopt <proposal>` | Makes the move an agent proposed. You only: type the proposal id to confirm. |
|
|
111
|
+
| `pmos initiative drop <proposal>` | Closes a proposal. |
|
|
112
|
+
| `pmos initiative list` | Shows Now, Next and Later in order, with the open proposals. |
|
|
113
|
+
| `pmos initiative export <id>` | Writes the breakdown as markdown to the terminal. |
|
|
114
|
+
|
|
115
|
+
Every command takes `--json` and `--root <dir>`. In an agent session, `next`, `later`, `top`, `up`, `down` and `check-by` write a proposal. The command does not accept `--by` or `--via`.
|
|
116
|
+
|
|
117
|
+
The command exits 0 when it is done, 1 when it refuses, and 2 for a usage error.
|
|
118
|
+
|
|
119
|
+
## From a terminal: pmos measure
|
|
120
|
+
|
|
121
|
+
| Command | What it does |
|
|
122
|
+
|---|---|
|
|
123
|
+
| `pmos measure add <anchor> <value> --source <path>@<sha> [--target <number>] [--unit <unit>] [--as-of YYYY-MM-DD]` | Records a measurement. With no `--as-of`, the date is today. |
|
|
124
|
+
| `pmos measure list [<anchor>]` | Shows the measurements, oldest first, for each anchor. |
|
|
125
|
+
|
|
126
|
+
Put an anchor with a space in quotes: `pmos measure add "KR 2.1" 41 --source planning/okrs/q4.md@1a2b3c4`.
|
|
127
|
+
|
|
128
|
+
## The checks
|
|
129
|
+
|
|
130
|
+
CI runs `scripts/check-placements.js` and `scripts/check-measurements.js` on each pull request. Each check fails on a line that is not JSON, a line that breaks the format, and one event id with two different lines. It reports, and does not fail on, a line the Roadmap ignores, for example an agent line that adopts a proposal.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Guide
|
|
3
|
+
title: "Initiatives: the Roadmap, the List and the initiative sheet"
|
|
4
|
+
description: "How to read and order the initiatives of a repository on the Roadmap and the List, open the initiative sheet, make a new initiative, and review the cycle."
|
|
5
|
+
timestamp: 2026-10-05
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Initiatives: the Roadmap, the List and the initiative sheet
|
|
9
|
+
|
|
10
|
+
The Initiatives place shows every initiative of the selected repository. Each initiative is in one horizon: Now, Next or Later. A horizon is an order, not a date. The order and the horizon of each initiative are lines in `planning/runs/placements.jsonl`. The workspace page and the `pmos initiative` command write the same lines.
|
|
11
|
+
|
|
12
|
+
Press **Roadmap** or **List** at the top to change the view. The workspace keeps your choice in this browser.
|
|
13
|
+
|
|
14
|
+
## The Roadmap
|
|
15
|
+
|
|
16
|
+
The Roadmap has three columns: Now, Next and Later. Each column is a ranked list of cards. The line at the top reads, for example, "Now · 5 KR · 3 health". It counts the initiatives in Now by what they serve: a key result (KR) or a health budget. When the rules set an advisory cap for Now, the line shows it. The cap only advises. It never stops a move.
|
|
17
|
+
|
|
18
|
+
A card shows the title, the stage, "7 of 12" for the items done, the check-by date when a card in Now has one, and the reason when the initiative is not on track. An initiative that is on track shows no health text.
|
|
19
|
+
|
|
20
|
+
### Move a card
|
|
21
|
+
|
|
22
|
+
- **Drag.** Hold the grip at the start of the card, then drop it in a column. On a touch screen, hold for a moment before you drag.
|
|
23
|
+
- **Keyboard.** Select the card and press Alt and the Up or Down arrow.
|
|
24
|
+
- **The card menu.** The menu has: Open, To top, Up, Down, Move to Now, Move to Next, Move to Later and Set check-by. On a phone, press the three dots on a card. Two presses move a card up one place. On a desk the three dots are not on the card, and a line above the columns says so. Right-click the card, or press the menu key while it has focus. Set check-by is on the cards of Now only. A card that leaves Now loses its check-by date.
|
|
25
|
+
|
|
26
|
+
Only you can move an initiative into Now. The workspace writes the line as yours. If the server refuses a move, the card goes back and a message tells you why.
|
|
27
|
+
|
|
28
|
+
### Unconfirmed, proposed and dormant
|
|
29
|
+
|
|
30
|
+
- **unconfirmed.** An initiative that reads Now only because it is active, with no line from you. Confirm it in the Cycle review.
|
|
31
|
+
- **proposed.** An agent proposed a move. It changes nothing until you keep it in the Cycle review.
|
|
32
|
+
- **Dormant.** An initiative with no activity for a long time. Press the dormant line under Later to show them.
|
|
33
|
+
|
|
34
|
+
## The List
|
|
35
|
+
|
|
36
|
+
The List groups the initiatives by objective, and inside each objective by anchor. An anchor is the KR or the health budget that the initiative serves. A group shows its measured value only when the repository has one: for example "41% on 2 Oct → 55%". A group with no measured value shows none.
|
|
37
|
+
|
|
38
|
+
Press **Select** (or the `x` key) to choose rows. The bar shows what you can do with the choice:
|
|
39
|
+
|
|
40
|
+
- **Move to Next** and **Move to Later**.
|
|
41
|
+
- **Change lifecycle.** A sheet opens with the state to set: On hold, Closed, Cancelled or Active. It opens on On hold. Press **Confirm** to write it. This is off until the workspace can write one lifecycle line for each initiative on your press. Until then the button is disabled and says that the act arrives in Run 2. You can still change one initiative at a time in its sheet.
|
|
42
|
+
|
|
43
|
+
You can select 20 initiatives at most. The List never moves several initiatives into Now at once, and never changes an anchor for several. Those are one-at-a-time acts.
|
|
44
|
+
|
|
45
|
+
## The initiative sheet
|
|
46
|
+
|
|
47
|
+
Press a card or a row to open its sheet. On a desk the sheet is about 70% of the width. On a phone it fills the screen.
|
|
48
|
+
|
|
49
|
+
From the top:
|
|
50
|
+
|
|
51
|
+
1. The horizon, the health reason when there is one, and the More button.
|
|
52
|
+
2. Line 1: the stage and who the initiative waits on. Line 2: the stage steps, as a row of stages.
|
|
53
|
+
3. One line of text: "Waiting on you: approval" with **Open gate**, or "Waiting on agent: build" with **Hand to agent**. When nothing is owed it says so.
|
|
54
|
+
4. Three tabs: **Breakdown**, **Files** and **History**. The Breakdown tab is the same Breakdown as in its own tab, and it shows here too.
|
|
55
|
+
|
|
56
|
+
An initiative that is finished reads "Accepted". An initiative on hold, closed or cancelled reads that word instead of a stage. After 5 days with no activity, the line adds "idle 5 d".
|
|
57
|
+
|
|
58
|
+
The More button in the sheet has:
|
|
59
|
+
|
|
60
|
+
- **Move to Now**, **Move to Next**, **Move to Later**.
|
|
61
|
+
- **Set check-by.** On an initiative in Now. A date by which you want to look again. The Cycle review lists the dates that passed.
|
|
62
|
+
- **Lifecycle.** On hold, Close, Mark cancelled or Reopen. Only you can change it. A sheet asks you to confirm and gives you a field for the reason.
|
|
63
|
+
- **Change anchor.** Only you can change it. Enter a KR id such as KR 2.1, or health: and an id. It rewrites the anchor line in the frontmatter of the initiative record and nothing else.
|
|
64
|
+
- **Copy CLI.** Copies the `pmos initiative` command for the same act.
|
|
65
|
+
- **Export breakdown.** Copies the Breakdown as text.
|
|
66
|
+
|
|
67
|
+
## Make a new initiative
|
|
68
|
+
|
|
69
|
+
Press **New initiative**. Give a title, choose a lane and choose an anchor. An initiative with no anchor is refused. The new initiative starts in Later. When it is real work, move it to Now yourself.
|
|
70
|
+
|
|
71
|
+
The same act from a terminal is `pmos initiative new "<title>" --anchor <kr>`.
|
|
72
|
+
|
|
73
|
+
### Break this down
|
|
74
|
+
|
|
75
|
+
An initiative with no items shows **Break this down** in its Breakdown. When the repository has a file `planning/work-starters.md`, its bullet lines show as a starter list, and **Add n items** adds them all. You can also press **Break this down** and type the first item.
|
|
76
|
+
|
|
77
|
+
## Today: the triage card and the Cycle review
|
|
78
|
+
|
|
79
|
+
- **Triage.** "Proposed: Partner SSO · new feature · KR 2.1" with **Add**. An agent read a capture and proposed an initiative. One press of Add writes it, in Later.
|
|
80
|
+
- **Cycle review.** The card opens a sheet with three lists. Now, unconfirmed: **Confirm** keeps it in Now, **Move back** puts it in Later. Agent proposals: **Keep** applies the move as your line, **Drop** removes it. Check-by dates passed: set a new date, or move the initiative to Next. Each press acts on one initiative: there is no Confirm all, because Move to Now is never done in bulk.
|
|
81
|
+
- **Monthly kill check.** The same sheet opens from the monthly check of the kill conditions, with the file that the check reads.
|
|
82
|
+
|
|
83
|
+
## Keys
|
|
84
|
+
|
|
85
|
+
| Key | What it does |
|
|
86
|
+
|---|---|
|
|
87
|
+
| Alt and Up or Down | Moves the selected card up or down one place. |
|
|
88
|
+
| `x` | Starts and ends Select in the List. |
|
|
89
|
+
| Escape | Closes a menu or a sheet. |
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Guide
|
|
3
|
+
title: "Initiatives › Timeline: when each initiative runs"
|
|
4
|
+
description: "How to read the Timeline of Initiatives, what draws a bar, how to reorder rows, and what to do on a phone."
|
|
5
|
+
timestamp: 2026-10-05
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Initiatives › Timeline
|
|
9
|
+
|
|
10
|
+
The Timeline shows each initiative as a row, with its work laid out by month. Use it to see when work runs and which initiatives have no dates yet.
|
|
11
|
+
|
|
12
|
+
The Roadmap answers "in what order?". The Timeline answers "when?". The Timeline uses the placement lines that the Roadmap uses. An initiative that no line has placed reads Later. Held, closed and cancelled initiatives have no row here.
|
|
13
|
+
|
|
14
|
+
## Open the Timeline
|
|
15
|
+
|
|
16
|
+
1. Open **Initiatives**.
|
|
17
|
+
2. In the View control, press **Timeline**. The other views are **Roadmap** and **List**.
|
|
18
|
+
|
|
19
|
+
## Read the chart
|
|
20
|
+
|
|
21
|
+
- **Months.** The months run across the top. The chart starts at the first month that holds a date and ends at the last. It always includes today, and it is at least three months and at most 24 months wide. Today is the date on the machine that runs the workspace. If the dates reach outside 24 months, the chart opens a few months before today, and a note under it says that a date outside those months is cut off. The dates in a row's meta line stay complete.
|
|
22
|
+
- **Groups.** The rows are in three groups: Now, Next and Later. A group shows only when it has a dated initiative. Inside a group the rows follow the placement lines. A row that no line has placed comes after the rows that have one, in id order.
|
|
23
|
+
- **Row.** A row has a grip, a title, and one line with the lane, the number of items done ("7 of 12") and the dates the bar covers.
|
|
24
|
+
- **Bar.** The bar runs from the earliest start date to the latest due date of the initiative's items. It is split by stage, so you can see when Intake ends and when Build starts. A stage with no dated item has no part of the bar.
|
|
25
|
+
- **Diamond.** A milestone item shows as a diamond on its due date.
|
|
26
|
+
- **Today.** One line crosses the chart at today's date. On a chart wider than the screen, the chart opens with today in view.
|
|
27
|
+
- **Stages.** Press the arrow at the start of a row to show one row for each stage. A stage row shows the stage, how many items are done ("Build · 3 of 5") and its own bar. The arrow reads "Show stages of …" or "Hide stages of …" for a screen reader.
|
|
28
|
+
- **Not dated.** An initiative with no dated item has no bar. It sits below the chart, in the heading **Not dated**, in its group. It shows only the order it carries. Give one of its items a start or a due date in the Breakdown and its bar appears.
|
|
29
|
+
|
|
30
|
+
If no initiative has a dated item, the Timeline says so and shows no chart.
|
|
31
|
+
|
|
32
|
+
## What the Timeline shows
|
|
33
|
+
|
|
34
|
+
- **Work lanes only.** An initiative in a document lane (a strategy, a report, a decision record) has no row. You reach those as files.
|
|
35
|
+
- **Held, closed and cancelled initiatives** have no row.
|
|
36
|
+
- **Dates come from items.** Nothing on the Timeline has a date of its own. A date is the start or the due date of an item. You set it on the item, in the Breakdown. See [Breakdown](breakdown.md).
|
|
37
|
+
- **Bars do not move.** You cannot drag a bar to change a date. A drag that starts on a bar writes nothing.
|
|
38
|
+
|
|
39
|
+
## Reorder a row
|
|
40
|
+
|
|
41
|
+
A row reorders inside its own group. It never changes horizon here: to move an initiative to Now, Next or Later, use the Roadmap.
|
|
42
|
+
|
|
43
|
+
- **Grip.** Hold the grip at the start of the row and drag it up or down. On a phone, hold the grip for a moment first, then drag. The row is placed after the row above it.
|
|
44
|
+
- **Keyboard.** Put the focus on the title and press Alt+ArrowUp or Alt+ArrowDown.
|
|
45
|
+
- **Menu.** Press **⋯** on the row. The menu has **Open**, and then **To top**, **Up** and **Down** when the row can move that way. A row alone in its group has only **Open**.
|
|
46
|
+
|
|
47
|
+
A move writes one line to `planning/runs/placements.jsonl` (`pmos/state/placements.jsonl` in a kit repository). The line says who moved the row: it is you, from the page. A row that no line has placed cannot be named by a line that follows it. When you move a row next to such a row, the move writes one line for each row from the first row it changes to the last row that needs a line, and a message says how many. After that, those rows keep the order you see. If the workspace refuses the move, a message gives the reason and the rows stay in the order the file has.
|
|
48
|
+
|
|
49
|
+
Moving a row inside Now is a placement into Now. If the workspace asks for your press for it, the message says so.
|
|
50
|
+
|
|
51
|
+
## On a phone
|
|
52
|
+
|
|
53
|
+
At 390 px the chart scrolls sideways inside its own box. The page does not scroll sideways. The name of each row stays at the left edge while the months move under it. Every control on a row, the grip, the arrow and the **⋯** button, is at least 44 px high and wide.
|
|
54
|
+
|
|
55
|
+
## Keep the view current
|
|
56
|
+
|
|
57
|
+
The Timeline reads again about every ten seconds while the page is visible, and when you return to the page. A change made in a terminal, or by an agent, shows without a reload.
|