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,112 @@
|
|
|
1
|
+
{
|
|
2
|
+
"ok": true,
|
|
3
|
+
"ws": "w-north",
|
|
4
|
+
"sig": {
|
|
5
|
+
"placements": "3f786850e387550fdab836ed7e6dc881de23001b",
|
|
6
|
+
"items": "89e6c98d92887913cadf06b2adb97f26cde4849b",
|
|
7
|
+
"measurements": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
|
|
8
|
+
"records": "2b66fd261ee5c6cfc8de7fa466bab600bcfe4f69"
|
|
9
|
+
},
|
|
10
|
+
"now": "2026-10-05T12:00:00.000Z",
|
|
11
|
+
"initiative": {
|
|
12
|
+
"id": "partner-sso",
|
|
13
|
+
"title": "Partner SSO",
|
|
14
|
+
"lane": "feature",
|
|
15
|
+
"anchor": "KR 2.1",
|
|
16
|
+
"anchor_kind": "kr",
|
|
17
|
+
"horizon": "now",
|
|
18
|
+
"rank": 0,
|
|
19
|
+
"confirmed": true,
|
|
20
|
+
"dormant": false,
|
|
21
|
+
"check_by": "2026-10-30",
|
|
22
|
+
"stage": {
|
|
23
|
+
"id": "build",
|
|
24
|
+
"label": "Build"
|
|
25
|
+
},
|
|
26
|
+
"display": {
|
|
27
|
+
"word": "Build",
|
|
28
|
+
"stage": "build",
|
|
29
|
+
"waitingOn": "pm",
|
|
30
|
+
"act": "approval",
|
|
31
|
+
"idleDays": 1,
|
|
32
|
+
"line2": "Waiting on you: approval"
|
|
33
|
+
},
|
|
34
|
+
"health": {
|
|
35
|
+
"level": "at-risk",
|
|
36
|
+
"reasons": [
|
|
37
|
+
{
|
|
38
|
+
"level": "at-risk",
|
|
39
|
+
"code": "item-overdue",
|
|
40
|
+
"text": "\"Partner login page\" was due 2 Oct",
|
|
41
|
+
"source": "planning/runs/plan-items.jsonl"
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"progress": {
|
|
46
|
+
"done": 7,
|
|
47
|
+
"total": 12,
|
|
48
|
+
"label": "7 of 12"
|
|
49
|
+
},
|
|
50
|
+
"next_due": "2026-11-14",
|
|
51
|
+
"last_activity": "2026-10-04T09:00:00Z"
|
|
52
|
+
},
|
|
53
|
+
"stepper": [
|
|
54
|
+
{
|
|
55
|
+
"id": "intake",
|
|
56
|
+
"label": "Intake",
|
|
57
|
+
"state": "done"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "spec",
|
|
61
|
+
"label": "Spec",
|
|
62
|
+
"state": "done"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "build",
|
|
66
|
+
"label": "Build",
|
|
67
|
+
"state": "current"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": "evaluate",
|
|
71
|
+
"label": "Evaluate",
|
|
72
|
+
"state": "todo"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"id": "accept",
|
|
76
|
+
"label": "Accept",
|
|
77
|
+
"state": "todo"
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
"waiting": {
|
|
81
|
+
"on": "pm",
|
|
82
|
+
"act": "approval",
|
|
83
|
+
"action": {
|
|
84
|
+
"label": "Open gate",
|
|
85
|
+
"kind": "gate",
|
|
86
|
+
"target": "prd"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"files": [
|
|
90
|
+
{
|
|
91
|
+
"kind": "prd",
|
|
92
|
+
"label": "PRD",
|
|
93
|
+
"path": "planning/prd/partner-sso.md"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"kind": "rubric",
|
|
97
|
+
"label": "Rubric",
|
|
98
|
+
"path": "planning/evals/partner-sso.md"
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
"history": [
|
|
102
|
+
{
|
|
103
|
+
"at": "2026-10-04T09:00:00Z",
|
|
104
|
+
"by": "pm:wawan",
|
|
105
|
+
"text": "Moved to Now"
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"cli": {
|
|
109
|
+
"now": "pmos initiative now partner-sso",
|
|
110
|
+
"export": "pmos initiative export partner-sso"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
{
|
|
2
|
+
"ok": true,
|
|
3
|
+
"cadence": "biweekly",
|
|
4
|
+
"slot": "2026-10-16",
|
|
5
|
+
"window": {
|
|
6
|
+
"from": "2026-10-02T09:00:00Z",
|
|
7
|
+
"to": "2026-10-16T00:00:00Z",
|
|
8
|
+
"since": "last_issue"
|
|
9
|
+
},
|
|
10
|
+
"path": "planning/reports/biweekly/2026-10-16.md",
|
|
11
|
+
"issued": null,
|
|
12
|
+
"headline": "2 initiatives moved; 1 is at risk.",
|
|
13
|
+
"timeline": {
|
|
14
|
+
"from": "2026-10-02",
|
|
15
|
+
"to": "2026-10-30",
|
|
16
|
+
"today": "2026-10-16",
|
|
17
|
+
"rows": [
|
|
18
|
+
{
|
|
19
|
+
"id": "partner-sso",
|
|
20
|
+
"title": "Partner SSO",
|
|
21
|
+
"spans": [
|
|
22
|
+
{
|
|
23
|
+
"stage": "build",
|
|
24
|
+
"start": "2026-10-01",
|
|
25
|
+
"due": "2026-10-24",
|
|
26
|
+
"milestone": false
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"milestones": [
|
|
30
|
+
"2026-10-24"
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"blocks": [
|
|
36
|
+
{
|
|
37
|
+
"id": "audit-log",
|
|
38
|
+
"title": "Audit log export",
|
|
39
|
+
"stage": "Evaluate",
|
|
40
|
+
"health": {
|
|
41
|
+
"level": "at-risk",
|
|
42
|
+
"reasons": [
|
|
43
|
+
{
|
|
44
|
+
"level": "at-risk",
|
|
45
|
+
"code": "check-by-passed",
|
|
46
|
+
"text": "check-by 1 Oct passed",
|
|
47
|
+
"source": "planning/runs/placements.jsonl"
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
"progress": {
|
|
52
|
+
"done": 3,
|
|
53
|
+
"total": 5,
|
|
54
|
+
"delta": 1,
|
|
55
|
+
"label": "3 of 5 (+1)"
|
|
56
|
+
},
|
|
57
|
+
"measure": {
|
|
58
|
+
"anchor": "KR-2",
|
|
59
|
+
"value": 42,
|
|
60
|
+
"target": 60,
|
|
61
|
+
"unit": "%",
|
|
62
|
+
"as_of": "2026-10-14",
|
|
63
|
+
"source": "planning/metrics/kr-2.csv@3f2a9c1"
|
|
64
|
+
},
|
|
65
|
+
"last_cycle": {
|
|
66
|
+
"done": [
|
|
67
|
+
{
|
|
68
|
+
"id": "audit-log.a1b2c3d4e5",
|
|
69
|
+
"title": "CSV writer"
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"gates": [
|
|
73
|
+
{
|
|
74
|
+
"gate": "spec",
|
|
75
|
+
"at": "2026-10-03T10:00:00Z"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"moves": [
|
|
79
|
+
{
|
|
80
|
+
"from": "next",
|
|
81
|
+
"to": "now",
|
|
82
|
+
"at": "2026-10-03T10:00:00Z"
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"carried": [
|
|
86
|
+
{
|
|
87
|
+
"id": "audit-log.f6g7h8i9j0",
|
|
88
|
+
"title": "Retention rule",
|
|
89
|
+
"due": "2026-10-10"
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
"coming_cycle": {
|
|
94
|
+
"basis": "dates",
|
|
95
|
+
"items": [
|
|
96
|
+
{
|
|
97
|
+
"id": "audit-log.k1l2m3n4o5",
|
|
98
|
+
"title": "Export UI",
|
|
99
|
+
"start": "2026-10-17",
|
|
100
|
+
"due": "2026-10-28"
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
"note": ""
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"id": "partner-sso",
|
|
108
|
+
"title": "Partner SSO",
|
|
109
|
+
"stage": "Build",
|
|
110
|
+
"health": {
|
|
111
|
+
"level": "on",
|
|
112
|
+
"reasons": []
|
|
113
|
+
},
|
|
114
|
+
"progress": {
|
|
115
|
+
"done": 7,
|
|
116
|
+
"total": 12,
|
|
117
|
+
"delta": 4,
|
|
118
|
+
"label": "7 of 12 (+4)"
|
|
119
|
+
},
|
|
120
|
+
"measure": null,
|
|
121
|
+
"last_cycle": {
|
|
122
|
+
"done": [],
|
|
123
|
+
"gates": [],
|
|
124
|
+
"moves": [],
|
|
125
|
+
"carried": []
|
|
126
|
+
},
|
|
127
|
+
"coming_cycle": {
|
|
128
|
+
"basis": "order",
|
|
129
|
+
"items": [
|
|
130
|
+
{
|
|
131
|
+
"id": "partner-sso.p1q2r3s4t5",
|
|
132
|
+
"title": "Pilot partners on SSO",
|
|
133
|
+
"start": null,
|
|
134
|
+
"due": null
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
},
|
|
138
|
+
"note": ""
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
"new_since_last": [
|
|
142
|
+
{
|
|
143
|
+
"id": "billing-v2",
|
|
144
|
+
"title": "Billing v2",
|
|
145
|
+
"at": "2026-10-08T10:00:00Z"
|
|
146
|
+
}
|
|
147
|
+
],
|
|
148
|
+
"decided": [
|
|
149
|
+
{
|
|
150
|
+
"text": "Audit log export moved to Now",
|
|
151
|
+
"at": "2026-10-03T10:00:00Z",
|
|
152
|
+
"source": "planning/runs/placements.jsonl"
|
|
153
|
+
}
|
|
154
|
+
],
|
|
155
|
+
"needs_your_call": [
|
|
156
|
+
{
|
|
157
|
+
"text": "Approve the Partner SSO rollout scope",
|
|
158
|
+
"audience": "leadership"
|
|
159
|
+
}
|
|
160
|
+
],
|
|
161
|
+
"sources": {
|
|
162
|
+
"reached": [
|
|
163
|
+
"planning/runs/plan-items.jsonl",
|
|
164
|
+
"planning/runs/placements.jsonl"
|
|
165
|
+
],
|
|
166
|
+
"not_reached": [
|
|
167
|
+
{
|
|
168
|
+
"source": "tracker",
|
|
169
|
+
"why": "not refreshed since 2 Oct"
|
|
170
|
+
}
|
|
171
|
+
],
|
|
172
|
+
"definition": {
|
|
173
|
+
"path": "planning/reports/definitions/biweekly.md",
|
|
174
|
+
"audience": "leadership"
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Reference
|
|
3
|
+
title: "Biweekly report 2026-10-16"
|
|
4
|
+
description: "The biweekly report for 2026-10-16. pmos report draft writes every number; prose goes only between the note markers."
|
|
5
|
+
timestamp: 2026-10-16T00:00:00Z
|
|
6
|
+
cadence: biweekly
|
|
7
|
+
slot: 2026-10-16
|
|
8
|
+
window: "2026-10-02T09:00:00Z to 2026-10-16T00:00:00Z (since the last issue)"
|
|
9
|
+
synthetic: true
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Biweekly report 2026-10-16
|
|
13
|
+
|
|
14
|
+
## Headline
|
|
15
|
+
|
|
16
|
+
2 initiatives moved; 1 is at risk.
|
|
17
|
+
|
|
18
|
+
<!-- pmos:note report.headline -->
|
|
19
|
+
Audit log export is the one to watch this cycle.
|
|
20
|
+
<!-- /pmos:note -->
|
|
21
|
+
|
|
22
|
+
## Timeline
|
|
23
|
+
|
|
24
|
+
Frozen at 2026-10-16T00:00:00Z. 2 Oct to 30 Oct; today is 16 Oct.
|
|
25
|
+
|
|
26
|
+
| Initiative | Stage | Start | Due | Milestones |
|
|
27
|
+
|---|---|---|---|---|
|
|
28
|
+
| Partner SSO | build | 2026-10-01 | 2026-10-24 | 24 Oct |
|
|
29
|
+
|
|
30
|
+
## Initiatives
|
|
31
|
+
|
|
32
|
+
### Audit log export (audit-log)
|
|
33
|
+
|
|
34
|
+
Stage: Evaluate · At risk: check-by 1 Oct passed · 3 of 5 (+1)
|
|
35
|
+
|
|
36
|
+
Measured: KR-2 42% of 60%, as of 2026-10-14 (planning/metrics/kr-2.csv@3f2a9c1)
|
|
37
|
+
|
|
38
|
+
**Last cycle**
|
|
39
|
+
|
|
40
|
+
- Done: CSV writer (audit-log.a1b2c3d4e5)
|
|
41
|
+
- Gates passed: spec, 3 Oct
|
|
42
|
+
- Horizon moves: Next to Now, 3 Oct
|
|
43
|
+
- Overdue, carried over: Retention rule, due 10 Oct
|
|
44
|
+
|
|
45
|
+
**Coming cycle** (items that start or fall due)
|
|
46
|
+
|
|
47
|
+
- Export UI, starts 17 Oct, due 28 Oct
|
|
48
|
+
|
|
49
|
+
<!-- pmos:note audit-log -->
|
|
50
|
+
Legal review is the open dependency.
|
|
51
|
+
<!-- /pmos:note -->
|
|
52
|
+
|
|
53
|
+
### Partner SSO (partner-sso)
|
|
54
|
+
|
|
55
|
+
Stage: Build · On track · 7 of 12 (+4)
|
|
56
|
+
|
|
57
|
+
**Last cycle**
|
|
58
|
+
|
|
59
|
+
- Done: none
|
|
60
|
+
- Gates passed: none
|
|
61
|
+
- Horizon moves: none
|
|
62
|
+
- Overdue, carried over: none
|
|
63
|
+
|
|
64
|
+
**Coming cycle** (the next 3 by order)
|
|
65
|
+
|
|
66
|
+
- Pilot partners on SSO
|
|
67
|
+
|
|
68
|
+
<!-- pmos:note partner-sso -->
|
|
69
|
+
|
|
70
|
+
<!-- /pmos:note -->
|
|
71
|
+
|
|
72
|
+
## New since last report
|
|
73
|
+
|
|
74
|
+
- Billing v2 (billing-v2), 8 Oct
|
|
75
|
+
|
|
76
|
+
## Decided this cycle
|
|
77
|
+
|
|
78
|
+
- Audit log export moved to Now, 3 Oct (planning/runs/placements.jsonl)
|
|
79
|
+
|
|
80
|
+
## Needs your call
|
|
81
|
+
|
|
82
|
+
For leadership only.
|
|
83
|
+
|
|
84
|
+
<!-- pmos:note report.asks -->
|
|
85
|
+
|
|
86
|
+
<!-- /pmos:note -->
|
|
87
|
+
|
|
88
|
+
## Sources reached and not reached
|
|
89
|
+
|
|
90
|
+
**Reached**
|
|
91
|
+
|
|
92
|
+
- planning/runs/plan-items.jsonl
|
|
93
|
+
- planning/runs/placements.jsonl
|
|
94
|
+
|
|
95
|
+
**Not reached**
|
|
96
|
+
|
|
97
|
+
- tracker: not refreshed since 2 Oct
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
{
|
|
2
|
+
"needs": [
|
|
3
|
+
{
|
|
4
|
+
"run_id": "report-needs:issue:biweekly:2026-10-16",
|
|
5
|
+
"initiative_id": null,
|
|
6
|
+
"kind": "report-issue",
|
|
7
|
+
"derived": true,
|
|
8
|
+
"question": "The biweekly of 16 Oct is ready to issue",
|
|
9
|
+
"doc": null,
|
|
10
|
+
"ws": "w-north",
|
|
11
|
+
"provider": "report-needs",
|
|
12
|
+
"today": {
|
|
13
|
+
"kind": 1,
|
|
14
|
+
"source": "report-needs",
|
|
15
|
+
"cause": "A draft is ready to issue",
|
|
16
|
+
"evidence": "planning/reports/biweekly/2026-10-16.md",
|
|
17
|
+
"act": {
|
|
18
|
+
"label": "Issue",
|
|
19
|
+
"cli": "pmos report issue biweekly 2026-10-16"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"run_id": "work-check-needs:review:partner-sso.k3j9x0p2qa",
|
|
25
|
+
"initiative_id": "partner-sso",
|
|
26
|
+
"kind": "item-review",
|
|
27
|
+
"derived": true,
|
|
28
|
+
"question": "\"draft partner email\" is in Review",
|
|
29
|
+
"doc": null,
|
|
30
|
+
"ws": "w-north",
|
|
31
|
+
"provider": "work-check-needs",
|
|
32
|
+
"today": {
|
|
33
|
+
"kind": 4,
|
|
34
|
+
"source": "work-check-needs",
|
|
35
|
+
"cause": "An item waits in Review",
|
|
36
|
+
"evidence": "planning/runs/plan-items.jsonl",
|
|
37
|
+
"act": {
|
|
38
|
+
"label": "Open",
|
|
39
|
+
"cli": null
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"run_id": "work-check-needs:release:partner-sso:b-01",
|
|
45
|
+
"initiative_id": "partner-sso",
|
|
46
|
+
"kind": "release",
|
|
47
|
+
"derived": true,
|
|
48
|
+
"question": "3 work items are ready to release",
|
|
49
|
+
"doc": null,
|
|
50
|
+
"ws": "w-north",
|
|
51
|
+
"provider": "work-check-needs",
|
|
52
|
+
"today": {
|
|
53
|
+
"kind": 4,
|
|
54
|
+
"source": "work-check-needs",
|
|
55
|
+
"cause": "A factory batch is ready",
|
|
56
|
+
"evidence": "planning/runs/work-items.jsonl",
|
|
57
|
+
"act": {
|
|
58
|
+
"label": "Release",
|
|
59
|
+
"cli": null
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"run_id": "work-check-needs:no-evidence:partner-sso.q8d2m5h1zc",
|
|
65
|
+
"initiative_id": "partner-sso",
|
|
66
|
+
"kind": "item-no-evidence",
|
|
67
|
+
"derived": true,
|
|
68
|
+
"question": "\"update the partner FAQ\" reads Done with no evidence",
|
|
69
|
+
"doc": null,
|
|
70
|
+
"ws": "w-north",
|
|
71
|
+
"provider": "work-check-needs",
|
|
72
|
+
"today": {
|
|
73
|
+
"kind": 4,
|
|
74
|
+
"source": "work-check-needs",
|
|
75
|
+
"cause": "An agent item reads Done with no evidence",
|
|
76
|
+
"evidence": "planning/runs/plan-items.jsonl",
|
|
77
|
+
"act": {
|
|
78
|
+
"label": "Open",
|
|
79
|
+
"cli": null
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"run_id": "initiative-needs:triage:capture-2026-10-04-1",
|
|
85
|
+
"initiative_id": null,
|
|
86
|
+
"kind": "triage",
|
|
87
|
+
"derived": true,
|
|
88
|
+
"question": "Proposed: Partner SSO \u00b7 new feature \u00b7 KR 2.1",
|
|
89
|
+
"doc": null,
|
|
90
|
+
"ws": "w-north",
|
|
91
|
+
"provider": "initiative-needs",
|
|
92
|
+
"today": {
|
|
93
|
+
"kind": 6,
|
|
94
|
+
"source": "initiative-needs",
|
|
95
|
+
"cause": "A capture was triaged",
|
|
96
|
+
"evidence": "planning/requirements/capture-2026-10-04-1.md",
|
|
97
|
+
"act": {
|
|
98
|
+
"label": "Add",
|
|
99
|
+
"cli": "pmos initiative new --from capture-2026-10-04-1"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"run_id": "initiative-needs:cycle:2026-10-05",
|
|
105
|
+
"initiative_id": null,
|
|
106
|
+
"kind": "cycle-review",
|
|
107
|
+
"derived": true,
|
|
108
|
+
"question": "Confirm what is in Now",
|
|
109
|
+
"doc": null,
|
|
110
|
+
"ws": "w-north",
|
|
111
|
+
"provider": "initiative-needs",
|
|
112
|
+
"today": {
|
|
113
|
+
"kind": 7,
|
|
114
|
+
"source": "initiative-needs",
|
|
115
|
+
"cause": "Day one: 2 initiatives read Now, unconfirmed",
|
|
116
|
+
"evidence": "planning/runs/placements.jsonl",
|
|
117
|
+
"act": {
|
|
118
|
+
"label": "Review",
|
|
119
|
+
"cli": null
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"run_id": "report-needs:cycle:kill-check:2026-10",
|
|
125
|
+
"initiative_id": null,
|
|
126
|
+
"kind": "cycle-kill-check",
|
|
127
|
+
"derived": true,
|
|
128
|
+
"question": "The monthly kill-condition check is due",
|
|
129
|
+
"doc": null,
|
|
130
|
+
"ws": "w-north",
|
|
131
|
+
"provider": "report-needs",
|
|
132
|
+
"today": {
|
|
133
|
+
"kind": 7,
|
|
134
|
+
"source": "report-needs",
|
|
135
|
+
"cause": "The month ended",
|
|
136
|
+
"evidence": "planning/okrs/kill-conditions.md",
|
|
137
|
+
"act": {
|
|
138
|
+
"label": "Review",
|
|
139
|
+
"cli": null
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"run_id": "pm-lines-needs:z9y8x7w6v5u4",
|
|
145
|
+
"initiative_id": "partner-sso",
|
|
146
|
+
"kind": "pm-line",
|
|
147
|
+
"derived": true,
|
|
148
|
+
"question": "A PM-only line is not attested",
|
|
149
|
+
"doc": null,
|
|
150
|
+
"ws": "w-north",
|
|
151
|
+
"provider": "pm-lines-needs",
|
|
152
|
+
"today": {
|
|
153
|
+
"kind": 8,
|
|
154
|
+
"source": "pm-lines-needs",
|
|
155
|
+
"cause": "A placed line into Now has no via",
|
|
156
|
+
"evidence": "planning/runs/placements.jsonl line 12",
|
|
157
|
+
"act": {
|
|
158
|
+
"label": "Show line",
|
|
159
|
+
"cli": null
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"run_id": "initiative-needs:no-anchor:old-import",
|
|
165
|
+
"initiative_id": "old-import",
|
|
166
|
+
"kind": "no-anchor",
|
|
167
|
+
"derived": true,
|
|
168
|
+
"question": "Legacy importer has no anchor",
|
|
169
|
+
"doc": null,
|
|
170
|
+
"ws": "w-north",
|
|
171
|
+
"provider": "initiative-needs",
|
|
172
|
+
"today": {
|
|
173
|
+
"kind": 8,
|
|
174
|
+
"source": "initiative-needs",
|
|
175
|
+
"cause": "An initiative record names no KR or health budget",
|
|
176
|
+
"evidence": "planning/initiatives/old-import.md",
|
|
177
|
+
"act": {
|
|
178
|
+
"label": "Add anchor",
|
|
179
|
+
"cli": null
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"run_id": "report-needs:no-output:weekly:2026-10-02",
|
|
185
|
+
"initiative_id": null,
|
|
186
|
+
"kind": "schedule-no-output",
|
|
187
|
+
"derived": true,
|
|
188
|
+
"question": "The weekly schedule left no output",
|
|
189
|
+
"doc": null,
|
|
190
|
+
"ws": "w-north",
|
|
191
|
+
"provider": "report-needs",
|
|
192
|
+
"today": {
|
|
193
|
+
"kind": 8,
|
|
194
|
+
"source": "report-needs",
|
|
195
|
+
"cause": "No draft for the slot of 2 Oct",
|
|
196
|
+
"evidence": "planning/reports/weekly",
|
|
197
|
+
"act": {
|
|
198
|
+
"label": "Draft now",
|
|
199
|
+
"cli": "pmos report draft weekly"
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
]
|
|
204
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Guide
|
|
3
|
+
title: "Board: the items of every initiative"
|
|
4
|
+
description: "How to read and use the Board destination, filter it, add an item, move a card, release a batch of work items, and print the same Board with pmos board."
|
|
5
|
+
timestamp: 2026-10-05
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Board: the items of every initiative
|
|
9
|
+
|
|
10
|
+
The Board shows the items of all your work initiatives in one place. It has four columns: Todo, Doing, Review and Done. A card is one item. The Board is a view of the same items that the Breakdown of each initiative shows, so a card is always in the column that its row has in the Tree.
|
|
11
|
+
|
|
12
|
+
A document initiative has no items, so it has no card and no place in the filter.
|
|
13
|
+
|
|
14
|
+
## Open the Board
|
|
15
|
+
|
|
16
|
+
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.
|
|
17
|
+
|
|
18
|
+
## Filters
|
|
19
|
+
|
|
20
|
+
Three filters decide which cards show. Press a button at the top, or choose an initiative from the list.
|
|
21
|
+
|
|
22
|
+
- **Active** is the default. It shows an item that changed in the last days, an open item of an initiative that is in Now, and every item that is yours. The number of days is `stall_days` in `planning/plan-rules.json`.
|
|
23
|
+
- **Mine** shows only the items that you own.
|
|
24
|
+
- **An initiative.** Choose one from the list to see all its items. Choose **All initiatives** to go back to Active.
|
|
25
|
+
|
|
26
|
+
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.
|
|
27
|
+
|
|
28
|
+
## Add an item
|
|
29
|
+
|
|
30
|
+
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.
|
|
31
|
+
|
|
32
|
+
## Move a card
|
|
33
|
+
|
|
34
|
+
- **On a wide screen,** drag a card to another column. A drop on Done is held for 8 seconds, so you can press **Undo**.
|
|
35
|
+
- **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.
|
|
36
|
+
- **From the menu.** Press the three dots on a card, then choose Move to a state.
|
|
37
|
+
|
|
38
|
+
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.
|
|
39
|
+
|
|
40
|
+
A card that reads "Done · your call · not merged" is Done because you said so. The work in the repository is not merged yet.
|
|
41
|
+
|
|
42
|
+
## Release
|
|
43
|
+
|
|
44
|
+
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.
|
|
45
|
+
|
|
46
|
+
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."
|
|
47
|
+
|
|
48
|
+
The same card also shows in Today when a batch is ready.
|
|
49
|
+
|
|
50
|
+
## Today
|
|
51
|
+
|
|
52
|
+
Today shows three things from the Board:
|
|
53
|
+
|
|
54
|
+
- an item in Review that waits for you;
|
|
55
|
+
- a batch that is ready for Release;
|
|
56
|
+
- an item that an agent marked Done with no evidence. Open it and add evidence, such as `commit:<sha>` or `pr:<number>`.
|
|
57
|
+
|
|
58
|
+
## Signals
|
|
59
|
+
|
|
60
|
+
| signal | meaning |
|
|
61
|
+
|---|---|
|
|
62
|
+
| Blocked | the item has a reason that it cannot go on |
|
|
63
|
+
| no evidence | an agent marked the item Done and gave no evidence |
|
|
64
|
+
| late | the due date passed and the item is not Done |
|
|
65
|
+
| moved by you | you moved a card that an agent owns |
|
|
66
|
+
| Proposed | an agent proposed the item and you did not keep it |
|
|
67
|
+
|
|
68
|
+
## From a terminal
|
|
69
|
+
|
|
70
|
+
`pmos board` prints the same Board that the page shows. It reads the repository, so the workspace server does not need to run.
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
pmos board the Active filter
|
|
74
|
+
pmos board --mine your own items
|
|
75
|
+
pmos board --init <initiative> one initiative
|
|
76
|
+
pmos board --json the same answer as GET /api/board, for scripts
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
The text form prints one column per block, then one line for each card: the initiative, the stage, the title and the owner, and what needs your notice. The command only reads. It writes no line to any ledger.
|
|
80
|
+
|
|
81
|
+
`pmos board` exits with 0 when it printed the Board, 1 when the initiative is not on the Board, and 2 when the command line is wrong.
|