create-pmos 0.516.0 → 0.518.0
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 +33 -65
- package/payload/KIT-VERSION +1 -1
- package/payload/planning/evals/eval-calibration.md +1 -1
- package/payload/planning/okrs/health-budgets.md +1 -1
- package/payload/state/discoveries.md +1 -1
- package/workspace/changelog.json +32 -0
- package/workspace/ev-everywhere-test.js +3 -3
- package/workspace/guide/board.md +7 -63
- package/workspace/guide/breakdown.md +8 -108
- package/workspace/guide/briefing-premium.md +5 -526
- package/workspace/guide/console-calendar.md +7 -206
- package/workspace/guide/data-freshness.md +26 -4
- package/workspace/guide/docs.md +10 -125
- package/workspace/guide/home.md +8 -5
- package/workspace/guide/index.md +78 -79
- package/workspace/guide/initiatives-and-next-steps.md +6 -19
- package/workspace/guide/layout.md +23 -230
- package/workspace/guide/live-notes.md +5 -7
- package/workspace/guide/my-work.md +8 -172
- package/workspace/guide/notes.md +14 -21
- package/workspace/guide/people.md +6 -39
- package/workspace/guide/report-design.md +2 -2
- package/workspace/guide/report-structure.md +1 -1
- package/workspace/guide/reports-set-up.md +9 -10
- package/workspace/guide/reports.md +17 -1
- package/workspace/guide/settings.md +16 -69
- package/workspace/guide/today.md +12 -188
- package/workspace/lib/refresh-run.js +39 -2
- package/workspace/lib/report-checks.js +3 -0
- package/workspace/lib/report-cli.js +112 -3
- package/workspace/lib/report-engine.js +779 -0
- package/workspace/lib/report-export.js +36 -1
- package/workspace/lib/report-pyramid.js +20 -0
- package/workspace/lib/routes-ready-reports.js +3 -1
- package/workspace/lib/routes-report-design.js +7 -2
- package/workspace/lib/routes-report-setups.js +17 -2
- package/workspace/lib/routes-sources.js +6 -2
- package/workspace/lib/source-heal.js +140 -0
- package/workspace/package-lock.json +2 -2
- package/workspace/package.json +1 -1
- package/workspace/public/pm/cozy-evmodel.js +18 -1
- package/workspace/public/pm/cozy-evui.js +1 -0
- package/workspace/public/pm/cozy-nav.js +9 -6
- package/workspace/public/pm/cozy-settings.js +15 -9
- package/workspace/public/pm/premium-vw-guide.css +36 -0
- package/workspace/public/pm/premium-vw-guide.js +137 -0
- package/workspace/public/pm/premium-vw-open.js +4 -1
- package/workspace/public/pm/premium-vw-page.js +2 -1
- package/workspace/run-tests.js +6 -0
- package/workspace/skills/report-biweekly.skill +7 -0
- package/workspace/skills/report-daily.skill +7 -0
- package/workspace/skills/report-monthly.skill +7 -0
- package/workspace/skills/report-special.skill +2 -0
- package/workspace/skills/report-template.skill +8 -1
- package/workspace/skills/report-weekly.skill +7 -0
- package/workspace/skills/report-write.skill +44 -0
- package/workspace/test-lists/report-engine.json +5 -0
- package/workspace/guide/ask-the-agent.md +0 -46
- package/workspace/guide/briefing-cards.md +0 -52
- package/workspace/guide/briefing.md +0 -159
- package/workspace/guide/calendar-popup.md +0 -46
- package/workspace/guide/command-palette.md +0 -77
- package/workspace/guide/console3-sessions.md +0 -147
- package/workspace/guide/document-sheet.md +0 -89
- package/workspace/guide/initiative-boards.md +0 -123
- package/workspace/guide/initiatives-screen.md +0 -179
- package/workspace/guide/initiatives-timeline.md +0 -55
- package/workspace/guide/phone-companion.md +0 -89
- package/workspace/guide/reports-dashboards.md +0 -70
- package/workspace/guide/reports-page.md +0 -87
- package/workspace/guide/timeline.md +0 -70
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-pmos",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.518.0",
|
|
4
4
|
"description": "Scaffold the PMOS portable kit — run the PMOS product-management workflow (initiative → lane-fit spec → contract → build → three gates, with work-type lanes for features, research, maintenance, incidents, and content) entirely inside your own repo, with all state as git-versioned files. Includes `workflow-sweep`, which audits the state every board derives from and separates real defects from work you simply have not done. `create-pmos workspace` also installs + launches the local Terminal Workspace GUI. No database, no network, no telemetry.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bin": {
|
|
@@ -32,6 +32,38 @@
|
|
|
32
32
|
"audit"
|
|
33
33
|
],
|
|
34
34
|
"pmosChanges": [
|
|
35
|
+
{
|
|
36
|
+
"v": "0.518.0",
|
|
37
|
+
"at": "2026-11-04T00:33:13.219Z",
|
|
38
|
+
"f": 4,
|
|
39
|
+
"prs": [
|
|
40
|
+
{
|
|
41
|
+
"n": 1211,
|
|
42
|
+
"t": "Claude repairs a source that is behind by itself; the banner shows only when you must act",
|
|
43
|
+
"s": "Claude repairs a source that is behind by itself; the banner shows only when you must act",
|
|
44
|
+
"k": "new"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"v": "0.517.0",
|
|
50
|
+
"at": "2026-11-04T00:17:56.633Z",
|
|
51
|
+
"f": 4,
|
|
52
|
+
"prs": [
|
|
53
|
+
{
|
|
54
|
+
"n": 1207,
|
|
55
|
+
"t": "User guide in PMOS (option B) and guide pages brought up to date",
|
|
56
|
+
"s": "User guide in PMOS (option B) and guide pages brought up to date",
|
|
57
|
+
"k": "new"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"n": 1210,
|
|
61
|
+
"t": "The report engine: brief, read, find, write, one deck, no draft without a finding",
|
|
62
|
+
"s": "The report engine: brief, read, find, write, one deck, no draft without a finding",
|
|
63
|
+
"k": "new"
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
},
|
|
35
67
|
{
|
|
36
68
|
"v": "0.516.0",
|
|
37
69
|
"at": "2026-11-04T00:00:07.601Z",
|
|
@@ -372,70 +404,6 @@
|
|
|
372
404
|
"d": "The sign-in check could fail a user who was signed in, and the picker showed one login twice. Now it checks the real login and lists each one once."
|
|
373
405
|
}
|
|
374
406
|
]
|
|
375
|
-
},
|
|
376
|
-
{
|
|
377
|
-
"v": "0.498.0",
|
|
378
|
-
"at": "2026-11-03T02:56:03.824Z",
|
|
379
|
-
"f": 4,
|
|
380
|
-
"prs": [
|
|
381
|
-
{
|
|
382
|
-
"n": 1176,
|
|
383
|
-
"t": "Commit as the repo's own git identity; ask the PM once when it has none",
|
|
384
|
-
"s": "Commit as the repo's own git identity; ask the PM once when it has none",
|
|
385
|
-
"k": "fix",
|
|
386
|
-
"h": "Commits use the right name",
|
|
387
|
-
"d": "PMOS could commit under a guessed name and email. Now it uses the repo's own identity, and asks you once when there is none."
|
|
388
|
-
},
|
|
389
|
-
{
|
|
390
|
-
"n": 1178,
|
|
391
|
-
"t": "Full task names wrap; add-task chips for stage, type, dates, owner",
|
|
392
|
-
"s": "Full task names wrap; add-task chips for stage, type, dates, owner",
|
|
393
|
-
"k": "new",
|
|
394
|
-
"h": "Full task names, quicker new tasks",
|
|
395
|
-
"d": "Long task names were cut off. Now they wrap in full, and a new task has chips for its stage, type, dates and owner.",
|
|
396
|
-
"top": "Board and Timeline show full task names, and a new task takes its stage, dates and owner in one go."
|
|
397
|
-
},
|
|
398
|
-
{
|
|
399
|
-
"n": 1179,
|
|
400
|
-
"t": "Each product repo pushes with its own GitHub login",
|
|
401
|
-
"s": "Each product repo pushes with its own GitHub login",
|
|
402
|
-
"k": "new",
|
|
403
|
-
"h": "Each repo pushes as you",
|
|
404
|
-
"d": "Every product repo pushed with the same GitHub login. Now each one pushes with its own login.",
|
|
405
|
-
"top": "Setup is steadier: each repo pushes with its own GitHub login and commits with its own git identity."
|
|
406
|
-
},
|
|
407
|
-
{
|
|
408
|
-
"n": 1177,
|
|
409
|
-
"t": "A workflow routes the initiative; blocked steps ask only as ✦ proposals",
|
|
410
|
-
"s": "A workflow routes the initiative; blocked steps ask only as ✦ proposals",
|
|
411
|
-
"k": "fix",
|
|
412
|
-
"h": "Workflows guide the work",
|
|
413
|
-
"d": "A blocked step could interrupt you with a question. Now the initiative's workflow decides the next step, and a blocked one shows up only as a ✦ proposal."
|
|
414
|
-
}
|
|
415
|
-
]
|
|
416
|
-
},
|
|
417
|
-
{
|
|
418
|
-
"v": "0.497.0",
|
|
419
|
-
"at": "2026-11-03T02:09:19.399Z",
|
|
420
|
-
"f": 4,
|
|
421
|
-
"prs": [
|
|
422
|
-
{
|
|
423
|
-
"n": 1174,
|
|
424
|
-
"t": "Count only a real Jira handoff record, not keys in body text",
|
|
425
|
-
"s": "Count only a real Jira handoff record, not keys in body text",
|
|
426
|
-
"k": "fix",
|
|
427
|
-
"h": "Jira counts are honest",
|
|
428
|
-
"d": "A Jira key mentioned in some text counted as a handoff. Now only a real handoff counts."
|
|
429
|
-
},
|
|
430
|
-
{
|
|
431
|
-
"n": 1175,
|
|
432
|
-
"t": "The Viewer shows what a chat turn changed, with no refresh",
|
|
433
|
-
"s": "The Viewer shows what a chat turn changed, with no refresh",
|
|
434
|
-
"k": "fix",
|
|
435
|
-
"h": "See what a chat changed",
|
|
436
|
-
"d": "After a chat changed something, the Viewer still showed the old version until you refreshed. Now it updates on its own."
|
|
437
|
-
}
|
|
438
|
-
]
|
|
439
407
|
}
|
|
440
408
|
]
|
|
441
409
|
}
|
package/payload/KIT-VERSION
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
type: Reference
|
|
3
3
|
title: "Eval calibration log"
|
|
4
4
|
description: "Append-only record of every PM override of an evaluator verdict."
|
|
5
|
-
generated: {by: process:create-pmos, at: "2026-11-04T00:
|
|
5
|
+
generated: {by: process:create-pmos, at: "2026-11-04T00:33:09Z"}
|
|
6
6
|
status: stable
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
type: Reference
|
|
3
3
|
title: "Health budgets"
|
|
4
4
|
description: "Closed registry of health-budget anchors (D59), edited only by the PM."
|
|
5
|
-
generated: {by: process:create-pmos, at: "2026-11-04T00:
|
|
5
|
+
generated: {by: process:create-pmos, at: "2026-11-04T00:33:09Z"}
|
|
6
6
|
status: stable
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
type: Reference
|
|
3
3
|
title: "Discoveries and friction log"
|
|
4
4
|
description: "Append-only record of what runs discovered and where the process rubbed."
|
|
5
|
-
generated: {by: process:create-pmos, at: "2026-11-04T00:
|
|
5
|
+
generated: {by: process:create-pmos, at: "2026-11-04T00:33:09Z"}
|
|
6
6
|
status: stable
|
|
7
7
|
---
|
|
8
8
|
|
package/workspace/changelog.json
CHANGED
|
@@ -1,4 +1,36 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"v": "0.518.0",
|
|
4
|
+
"at": "2026-11-04T00:33:13.219Z",
|
|
5
|
+
"f": 4,
|
|
6
|
+
"prs": [
|
|
7
|
+
{
|
|
8
|
+
"n": 1211,
|
|
9
|
+
"t": "Claude repairs a source that is behind by itself; the banner shows only when you must act",
|
|
10
|
+
"s": "Claude repairs a source that is behind by itself; the banner shows only when you must act",
|
|
11
|
+
"k": "new"
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"v": "0.517.0",
|
|
17
|
+
"at": "2026-11-04T00:17:56.633Z",
|
|
18
|
+
"f": 4,
|
|
19
|
+
"prs": [
|
|
20
|
+
{
|
|
21
|
+
"n": 1207,
|
|
22
|
+
"t": "User guide in PMOS (option B) and guide pages brought up to date",
|
|
23
|
+
"s": "User guide in PMOS (option B) and guide pages brought up to date",
|
|
24
|
+
"k": "new"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"n": 1210,
|
|
28
|
+
"t": "The report engine: brief, read, find, write, one deck, no draft without a finding",
|
|
29
|
+
"s": "The report engine: brief, read, find, write, one deck, no draft without a finding",
|
|
30
|
+
"k": "new"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
},
|
|
2
34
|
{
|
|
3
35
|
"v": "0.516.0",
|
|
4
36
|
"at": "2026-11-04T00:00:07.601Z",
|
|
@@ -84,8 +84,8 @@ const put = (root, rel, text) => { fs.mkdirSync(path.dirname(path.join(root, rel
|
|
|
84
84
|
const { ctx, pg, errors, posts } = await open();
|
|
85
85
|
await menu(pg);
|
|
86
86
|
const m = await pg.evaluate(() => ({ links: [...document.querySelectorAll('#czMenu a')].map((a) => a.textContent.trim()), tray: [...document.querySelectorAll('#czMenu .ev-tray button')].map((b) => b.getAttribute('aria-label').replace(/\..*$/, '')), rows: document.querySelectorAll('#czMenu .ev-mi, #czMenu [data-cz-more], #czMenu [data-cz-news], #czMenu [data-cz-sources], #czMenu [data-ev-theme]').length }));
|
|
87
|
-
// feedback batch 16 item 5 (canvas FmA1Menu): the three places, then Search and Settings as icons, and nothing else
|
|
88
|
-
ok('U1 the menu holds Home, Board, Intelligence, then Search and Settings as
|
|
87
|
+
// feedback batch 16 item 5 (canvas FmA1Menu): the three places, then Search and Settings as icons, and nothing else; guide-in-app adds Guide between them
|
|
88
|
+
ok('U1 the menu holds Home, Board, Intelligence, then Search, Guide and Settings as three icons, and no New for you, Sources, More or Theme', m.links.join() === 'Home,Board,Intelligence' && m.tray.join() === 'Search (⌘K),Guide,Settings' && m.rows === 0, JSON.stringify(m));
|
|
89
89
|
await snap(pg, 'menu-1440-light');
|
|
90
90
|
await pg.keyboard.press('Escape');
|
|
91
91
|
ok('U2 Escape closes the menu', await until(() => pg.isHidden('#czMenu')));
|
|
@@ -180,7 +180,7 @@ const put = (root, rel, text) => { fs.mkdirSync(path.dirname(path.join(root, rel
|
|
|
180
180
|
await pg.goto(`${BASE}/premium-insights.html?ws=${encodeURIComponent(ws)}`); await pg.waitForSelector('#czFab');
|
|
181
181
|
ok('D1 the choice is kept for the next page', await pg.evaluate(() => document.documentElement.dataset.theme === 'dark'));
|
|
182
182
|
await menu(pg);
|
|
183
|
-
ok('U1 no page has More in its menu', await pg.evaluate(() => !document.querySelector('#czMenu [data-cz-more]') && document.querySelectorAll('#czMenu .ev-tray button').length ===
|
|
183
|
+
ok('U1 no page has More in its menu', await pg.evaluate(() => !document.querySelector('#czMenu [data-cz-more]') && document.querySelectorAll('#czMenu .ev-tray button').length === 3));
|
|
184
184
|
await snap(pg, 'menu-1440-dark');
|
|
185
185
|
await pg.keyboard.press('Escape');
|
|
186
186
|
await pg.keyboard.press('Control+k'); await pg.waitForSelector('#evSearch:not([hidden])'); await pg.keyboard.type('billing');
|
package/workspace/guide/board.md
CHANGED
|
@@ -1,75 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: Guide
|
|
3
|
-
title: "
|
|
4
|
-
description: "How
|
|
5
|
-
timestamp: 2026-11-
|
|
3
|
+
title: "pmos board: the items of every initiative"
|
|
4
|
+
description: "How pmos board prints the items of every initiative in four columns from a terminal, and where the workspace shows initiatives and their tasks."
|
|
5
|
+
timestamp: 2026-11-03
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
#
|
|
8
|
+
# pmos board: the items of every initiative
|
|
9
9
|
|
|
10
|
-
The Board
|
|
10
|
+
The **Board** place of the workspace shows initiatives, not items: every initiative of the products you pick, by stage, with programs, a timeline and a list. [Programs on the Board](programs.md) explains it. An initiative's tasks show under it in Home's list and in the initiative's page in the Viewer.
|
|
11
11
|
|
|
12
|
-
The
|
|
13
|
-
|
|
14
|
-
A document initiative has no items, so it has no card and no place in the filter.
|
|
15
|
-
|
|
16
|
-
## Open the Board
|
|
17
|
-
|
|
18
|
-
Press **Board** in the navigation, or press `g` then `b`. In the older layout, choose Board in the command palette. The Board opens in a tab.
|
|
19
|
-
|
|
20
|
-
## Filters
|
|
21
|
-
|
|
22
|
-
Three filters decide which cards show. Press a button at the top, or choose an initiative from the list.
|
|
23
|
-
|
|
24
|
-
- **Active** is the default. It shows an item that changed in the last days, an open item of an initiative that is ranked on the Roadmap, and every item that is yours. The number of days is `stall_days` in `planning/plan-rules.json`.
|
|
25
|
-
- **Mine** shows only the items that you own.
|
|
26
|
-
- **An initiative.** Choose one from the list to see all its items. Choose **All initiatives** to go back to Active.
|
|
27
|
-
|
|
28
|
-
Done shows the last 14 days under every filter, however long ago the item last changed. An older Done item is counted in the column ("3 older in the Tree") and stays in the Tree of its initiative.
|
|
29
|
-
|
|
30
|
-
## Add an item
|
|
31
|
-
|
|
32
|
-
Press **Add item**, the one main button of the Board. Type a title, choose the initiative and the stage, and press **Add** or Enter. The item goes into the ledger of that initiative, the same way as in the Breakdown.
|
|
33
|
-
|
|
34
|
-
## Move a card
|
|
35
|
-
|
|
36
|
-
- **On a wide screen,** drag a card to another column. A drop on Done is held for 8 seconds, so you can press **Undo**.
|
|
37
|
-
- **On a phone,** press the card to open its sheet and press a state button. A card moves in 2 taps. From another column it takes 3: first press the column name, then the card, then the state.
|
|
38
|
-
- **From the menu.** Press the three dots on a card, then choose Move to a state. Every card shows its three dots.
|
|
39
|
-
|
|
40
|
-
When you move a card that an agent owns, the card reads "moved by you". The agent's own next move can change it again.
|
|
41
|
-
|
|
42
|
-
A card that reads "Done · your call · not merged" is Done because you said so. The work in the repository is not merged yet.
|
|
43
|
-
|
|
44
|
-
## Release
|
|
45
|
-
|
|
46
|
-
When all the work items of a batch passed their checks, the Board shows a **Release** card above the columns. One press on **Release** grants the whole batch. It is one grant for the batch, and the grant names the initiative and the batch. The factory opens pull requests and never merges them.
|
|
47
|
-
|
|
48
|
-
Only you can press Release. An agent cannot. When the grant writer of the workspace is not available, the button is disabled and the card says "Release arrives in Run 2."
|
|
49
|
-
|
|
50
|
-
The same card also shows in Today when a batch is ready.
|
|
51
|
-
|
|
52
|
-
## Today
|
|
53
|
-
|
|
54
|
-
Today shows three things from the Board:
|
|
55
|
-
|
|
56
|
-
- an item in Review that waits for you;
|
|
57
|
-
- a batch that is ready for Release;
|
|
58
|
-
- an item that an agent marked Done with no evidence. Open it and add evidence, such as `commit:<sha>` or `pr:<number>`.
|
|
59
|
-
|
|
60
|
-
## Signals
|
|
61
|
-
|
|
62
|
-
| signal | meaning |
|
|
63
|
-
|---|---|
|
|
64
|
-
| Blocked | the item has a reason that it cannot go on |
|
|
65
|
-
| no evidence | an agent marked the item Done and gave no evidence |
|
|
66
|
-
| late | the due date passed and the item is not Done |
|
|
67
|
-
| moved by you | you moved a card that an agent owns |
|
|
68
|
-
| Proposed | an item an agent added before D98 that was never kept (since D98 an agent's item is live at once) |
|
|
12
|
+
The command below prints the items themselves, from a terminal.
|
|
69
13
|
|
|
70
14
|
## From a terminal
|
|
71
15
|
|
|
72
|
-
`pmos board` prints the
|
|
16
|
+
`pmos board` prints the items of every initiative as columns: Todo, Doing, Review and Done. It reads the repository, so the workspace server does not need to run.
|
|
73
17
|
|
|
74
18
|
```
|
|
75
19
|
pmos board the Active filter
|
|
@@ -1,122 +1,22 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: Guide
|
|
3
|
-
title: "
|
|
4
|
-
description: "
|
|
5
|
-
timestamp: 2026-
|
|
3
|
+
title: "An initiative's tasks, and pmos item"
|
|
4
|
+
description: "Where an initiative's tasks show in the workspace, how an agent adds tasks, who made a change, and the pmos item commands."
|
|
5
|
+
timestamp: 2026-11-03
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
#
|
|
8
|
+
# An initiative's tasks, and pmos item
|
|
9
9
|
|
|
10
|
-
An initiative
|
|
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 | Only on an item an agent added before D98 that was never kept. Since D98 an agent's item is live at once. |
|
|
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
|
-
- "Added by agent · sess-3 on 5 Oct." for an item that an agent added. It is live; withdraw it if you do not want it.
|
|
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.
|
|
10
|
+
An initiative owns its task breakdown. In the workspace, its tasks show under the initiative in Home's list (the 3 most urgent, then **Show N more tasks**) and on the initiative's page in the Viewer. Press **+** at the top of Home's list, then **Task**, to add one. A check box is a task: amber when it is late. [Home](home.md) explains the list.
|
|
95
11
|
|
|
96
12
|
## Items an agent adds
|
|
97
13
|
|
|
98
|
-
An agent can add items with `pmos item add`. Since D98 its items are live at once: they show
|
|
99
|
-
|
|
100
|
-
Today shows two breakdown cards:
|
|
101
|
-
|
|
102
|
-
- **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`.
|
|
103
|
-
- **check**: a line in `plan-items.jsonl` that has no effect, for example a Keep that the workspace page did not write.
|
|
104
|
-
|
|
105
|
-
## Hand to agent
|
|
106
|
-
|
|
107
|
-
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).
|
|
108
|
-
|
|
109
|
-
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.
|
|
110
|
-
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.
|
|
111
|
-
3. The session opens in a terminal tab. The agent reports with `pmos item`.
|
|
112
|
-
|
|
113
|
-
If a session already works on the item, the sheet says "A session is already working on this item." and offers **Open session**.
|
|
14
|
+
An agent can add items with `pmos item add`. Since D98 its items are live at once: they show under the initiative and count in its progress, with no Keep card. Each item names the agent that added it, so you can withdraw it if you do not want it. A Keep line from before D98 has no effect any more and is not flagged.
|
|
114
15
|
|
|
115
|
-
Nothing else starts a session from the Breakdown. A drag, a drop or a change of state never starts one.
|
|
116
16
|
|
|
117
17
|
## Who made a change
|
|
118
18
|
|
|
119
|
-
Each line in the file names who wrote it. The
|
|
19
|
+
Each line in the file names who wrote it. The history of an item shows it as:
|
|
120
20
|
|
|
121
21
|
| Label | Who |
|
|
122
22
|
|---|---|
|
|
@@ -124,7 +24,7 @@ Each line in the file names who wrote it. The workspace shows it as:
|
|
|
124
24
|
| agent · sess-3 | The agent session that the workspace started, from its terminal. |
|
|
125
25
|
| agent (unknown) | A command run without a session the workspace started, and not at your own terminal. |
|
|
126
26
|
|
|
127
|
-
The file records an agent with its full session token, for example `agent:sess-3.0a1b2c3d`. The workspace
|
|
27
|
+
The file records an agent with its full session token, for example `agent:sess-3.0a1b2c3d`. The workspace shows it as "agent · sess-3".
|
|
128
28
|
|
|
129
29
|
An agent can change, move and withdraw any item, the items you added included. Each of those lines names the agent, so the history of the item shows who did what.
|
|
130
30
|
|