@aopslabs/aops 0.3.31 → 0.3.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/README.md +11 -3
  2. package/aops-assets-release/aops-assets.json.gz +0 -0
  3. package/aops-assets-release/disciplines/build-review-chat/SKILL.md +33 -0
  4. package/aops-assets-release/disciplines/coordinator-loop/SKILL.md +33 -0
  5. package/aops-assets-release/disciplines/design-first-consensus/SKILL.md +30 -0
  6. package/aops-assets-release/disciplines/solo-pm-loop/SKILL.md +31 -0
  7. package/aops-assets-release/docs/user-guides/agentspace-user-guide.md +384 -0
  8. package/aops-assets-release/docs/user-guides/aops-cli-user-guide.md +2067 -0
  9. package/aops-assets-release/docs/user-guides/chatv3-user-guide.md +500 -0
  10. package/aops-assets-release/docs/user-guides/docman-user-guide.md +1009 -0
  11. package/aops-assets-release/docs/user-guides/projectman-user-guide.md +763 -0
  12. package/aops-assets-release/docs/user-guides/tasker-user-guide.md +244 -0
  13. package/aops-assets-release/release.json +6 -0
  14. package/aops-assets-release/roles/coordinator/ROLE.md +28 -0
  15. package/aops-assets-release/roles/implementer/ROLE.md +27 -0
  16. package/aops-assets-release/roles/reviewer/ROLE.md +27 -0
  17. package/aops-assets-release/skills/aops/SKILL.md +112 -0
  18. package/aops-assets-release/skills/aops-bootstrapper-authoring/SKILL.md +245 -0
  19. package/aops-assets-release/skills/aops-cli-agentspace/SKILL.md +186 -0
  20. package/aops-assets-release/skills/aops-cli-board-lifecycle/SKILL.md +64 -0
  21. package/aops-assets-release/skills/aops-cli-chat/SKILL.md +204 -0
  22. package/aops-assets-release/skills/aops-cli-collab/SKILL.md +42 -0
  23. package/aops-assets-release/skills/aops-cli-core/SKILL.md +219 -0
  24. package/aops-assets-release/skills/aops-cli-discuss/SKILL.md +172 -0
  25. package/aops-assets-release/skills/aops-cli-docman/SKILL.md +192 -0
  26. package/aops-assets-release/skills/aops-cli-fileman/SKILL.md +169 -0
  27. package/aops-assets-release/skills/aops-cli-mission/SKILL.md +128 -0
  28. package/aops-assets-release/skills/aops-cli-operator-brief/SKILL.md +67 -0
  29. package/aops-assets-release/skills/aops-cli-projectman/SKILL.md +235 -0
  30. package/aops-assets-release/skills/aops-cli-sugar-authoring/SKILL.md +188 -0
  31. package/aops-assets-release/skills/aops-cli-tasker/SKILL.md +108 -0
  32. package/aops-assets-release/skills/aops-cli-tooling-agent/SKILL.md +112 -0
  33. package/aops-assets-release/skills/aops-cli-view/SKILL.md +210 -0
  34. package/aops-assets-release/skills/aops-collaborative-work/SKILL.md +304 -0
  35. package/aops-assets-release/skills/aops-interactive/SKILL.md +70 -0
  36. package/aops-assets-release/skills/aops-loop-interactive/SKILL.md +314 -0
  37. package/aops-assets-release/skills/aops-working-disciplines/SKILL.md +310 -0
  38. package/aops-assets-release/skills/feature-retirement-flow/SKILL.md +126 -0
  39. package/assets/skills/aops-install/SKILL.md +18 -17
  40. package/dist/commands/assets.js +93 -1264
  41. package/dist/commands/community-server.js +27 -8
  42. package/dist/commands/community-setup.js +1 -2
  43. package/dist/commands/discuss.js +1 -1
  44. package/dist/commands/doc.js +88 -27
  45. package/dist/commands/docs.js +68 -0
  46. package/dist/commands/global-update.js +28 -0
  47. package/dist/commands/init.js +3 -1
  48. package/dist/commands/loop.js +6379 -0
  49. package/dist/commands/memory.js +2 -1
  50. package/dist/commands/pm/index.js +11 -9
  51. package/dist/commands/pm/projectman.js +33 -2
  52. package/dist/commands/project.js +6 -6
  53. package/dist/commands/prompt.js +1 -1
  54. package/dist/commands/repo-sync.js +92 -27
  55. package/dist/commands/runner.js +257 -0
  56. package/dist/commands/skill.js +1 -1
  57. package/dist/commands/start.js +1 -1
  58. package/dist/commands/tasker.js +361 -0
  59. package/dist/commands/view.js +53 -9
  60. package/dist/lib/commercial-setup-readiness-adapter.js +0 -1
  61. package/dist/lib/community-migration-snapshot.js +7 -9
  62. package/dist/lib/community-native-database-recovery.js +5 -14
  63. package/dist/lib/community-native-lifecycle.js +13 -0
  64. package/dist/lib/setup-agent-assets-bridge.js +28 -148
  65. package/dist/lib/setup-agent-assets-release.js +16 -44
  66. package/dist/lib/setup-init-orchestrator.js +11 -15
  67. package/dist/lib/simple-agent-assets.js +447 -0
  68. package/dist/lib/user-guide-sections.js +488 -0
  69. package/dist/main.js +10 -2
  70. package/dist/seeds/agents-md.js +3 -3
  71. package/dist/utils/agents-md.js +1 -1
  72. package/dist/utils/guide-paths.js +7 -7
  73. package/dist/utils/hosted-workspace.js +2 -1
  74. package/dist/utils/repo-first-storage.js +26 -1
  75. package/dist/utils/session-state.js +2 -7
  76. package/launchers/aops-cockpit.sh +0 -0
  77. package/launchers/aops-server.sh +0 -0
  78. package/package.json +67 -35
  79. package/THIRD_PARTY_NOTICES +0 -16169
  80. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/SKILL.md +0 -47
  81. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/agentspace/SKILL.md +0 -72
  82. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/aops-cli-core/SKILL.md +0 -110
  83. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/chatv3/SKILL.md +0 -59
  84. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/collaborative-work/SKILL.md +0 -81
  85. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/discuss/SKILL.md +0 -66
  86. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/docman/SKILL.md +0 -75
  87. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/projectman/SKILL.md +0 -92
  88. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/sys/SKILL.md +0 -36
  89. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/view/SKILL.md +0 -58
  90. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/working-disciplines/SKILL.md +0 -66
  91. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/agent-assets.md +0 -81
  92. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/agentspace.md +0 -183
  93. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/aops-cli.md +0 -1108
  94. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/aops-system.md +0 -102
  95. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/chatv3.md +0 -113
  96. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/docman.md +0 -223
  97. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/projectman.md +0 -233
  98. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/sys.md +0 -94
  99. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/working-disciplines.md +0 -482
  100. package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/manifest.json +0 -117
  101. package/agent-assets-release/agent-assets/gateway/aops/SKILL.md +0 -14
  102. package/agent-assets-release/agent-assets/inventory.json +0 -29
  103. package/agent-assets-release/agent-assets/projection.json +0 -8
  104. package/agent-assets-release/agent-assets-release.json +0 -171
  105. package/agent-assets-release/agent-assets-release.sigstore.json +0 -67
  106. package/assets/agent-assets/core/SKILL.md +0 -47
  107. package/assets/agent-assets/core/references/agentspace/SKILL.md +0 -72
  108. package/assets/agent-assets/core/references/aops-cli-core/SKILL.md +0 -110
  109. package/assets/agent-assets/core/references/chatv3/SKILL.md +0 -59
  110. package/assets/agent-assets/core/references/collaborative-work/SKILL.md +0 -81
  111. package/assets/agent-assets/core/references/discuss/SKILL.md +0 -66
  112. package/assets/agent-assets/core/references/docman/SKILL.md +0 -75
  113. package/assets/agent-assets/core/references/projectman/SKILL.md +0 -92
  114. package/assets/agent-assets/core/references/sys/SKILL.md +0 -36
  115. package/assets/agent-assets/core/references/view/SKILL.md +0 -58
  116. package/assets/agent-assets/core/references/working-disciplines/SKILL.md +0 -66
  117. package/assets/agent-assets/core/user-guides/agent-assets.md +0 -81
  118. package/assets/agent-assets/core/user-guides/agentspace.md +0 -183
  119. package/assets/agent-assets/core/user-guides/aops-cli.md +0 -1108
  120. package/assets/agent-assets/core/user-guides/aops-system.md +0 -102
  121. package/assets/agent-assets/core/user-guides/chatv3.md +0 -113
  122. package/assets/agent-assets/core/user-guides/docman.md +0 -223
  123. package/assets/agent-assets/core/user-guides/projectman.md +0 -233
  124. package/assets/agent-assets/core/user-guides/sys.md +0 -94
  125. package/assets/agent-assets/core/user-guides/working-disciplines.md +0 -482
  126. package/assets/agent-assets/gateway/aops/SKILL.md +0 -14
  127. package/dist/lib/agent-assets/gateway.js +0 -15
  128. package/dist/lib/agent-assets/guards.js +0 -23
  129. package/dist/lib/agent-assets/hosted-discovery.js +0 -148
  130. package/dist/lib/agent-assets/hosted-package-input.js +0 -154
  131. package/dist/lib/agent-assets/legacy-pointer-migration.js +0 -677
  132. package/dist/lib/agent-assets/native-fs.js +0 -589
  133. package/dist/lib/agent-assets/roots.js +0 -45
  134. package/dist/lib/agent-assets/runtime-binding-reader.js +0 -545
  135. package/dist/lib/agent-assets/runtime-targets.js +0 -50
  136. package/dist/lib/agent-assets/store-reader.js +0 -1212
  137. package/dist/lib/agent-assets/store-writer.js +0 -1484
  138. package/native/bin/darwin-arm64/aops-agent-assets-fs +0 -0
  139. package/native/bin/darwin-x64/aops-agent-assets-fs +0 -0
  140. package/native/bin/linux-arm64/aops-agent-assets-fs +0 -0
  141. package/native/bin/linux-x64/aops-agent-assets-fs +0 -0
  142. package/native/bin/win32-x64/aops-agent-assets-fs.exe +0 -0
  143. package/native/manifest.json +0 -49
  144. package/native/qualifications/win32-x64.json +0 -23
  145. package/native/tui/darwin-arm64/aops-tui +0 -0
  146. package/native/tui/linux-x64/aops-tui +0 -0
  147. package/native/tui/win32-x64/aops-tui.exe +0 -0
@@ -0,0 +1,763 @@
1
+ # Projectman User Guide v2
2
+
3
+ _Release Notes:_ Clarifies the issue/feedback list data envelope, restores launcher context, and discloses pre-release --limit availability.
4
+
5
+ ## 1 Agent fast path
6
+
7
+ ### 1.1 Overview
8
+
9
+ Projectman is the AOPS domain for planning and execution tracking. It owns the
10
+ records that answer: What work exists? How is it divided? What is its current
11
+ state? Which findings and reviews are attached to it?
12
+
13
+ The package launcher is `aops-cli`; an installed distribution may expose the
14
+ same program as `aops`. Examples use `aops` for brevity.
15
+
16
+ Use this sequence before reading the whole guide:
17
+
18
+ 1. Check the target project and server:
19
+
20
+ ```bash
21
+ aops host health --json
22
+ aops project links list --json
23
+ ```
24
+
25
+ 2. Select the intended hosted project explicitly with
26
+ `--project-slug <slug>` when more than one project is linked.
27
+ 3. Read the smallest useful inventory first:
28
+
29
+ `--limit` on issue and feedback lists requires a CLI build newer than
30
+ `@aopslabs/aops` 0.3.31. An installed 0.3.31 rejects that flag; until the
31
+ next CLI release, omit it or use the repository-built CLI.
32
+
33
+ ```bash
34
+ aops pm resume --project-slug <slug> --for <agent-id> --limit 10 --json
35
+ aops pm sprint list --project-slug <slug> --status doing --limit 10 --summary --json
36
+ aops pm issue list --project-slug <slug> --status open --limit 10 --json
37
+ aops pm feedback list --project-slug <slug> --status new --limit 10 --json
38
+ ```
39
+
40
+ 4. Fetch one exact record before changing it:
41
+
42
+ ```bash
43
+ aops pm sprint get --project-slug <slug> --id <sprint-id> --json
44
+ ```
45
+
46
+ 5. Run nested `--help` before a write. Use `--preview` where offered, then
47
+ `--apply`; destructive writes require both `--apply` and `--confirm`.
48
+ 6. Keep durable narrative context in Agentspace memory. Projectman notes should
49
+ contain planning facts, references, acceptance criteria, and short evidence.
50
+ 7. Never hand-edit `.aops/projectman/**`. It is a derived local mirror, not
51
+ planning truth.
52
+
53
+ ## 2 Ownership at a glance
54
+
55
+ ### 2.1 Overview
56
+
57
+ | Question | Owner |
58
+ |---|---|
59
+ | What work is planned and what is its status? | Projectman |
60
+ | Why did we choose this design? | Discuss for consensus; Docman for the durable decision record |
61
+ | What should another session remember? | Agentspace memory |
62
+ | What is the canonical written guide or specification? | Docman |
63
+ | Where do agents coordinate or wake one another? | ChatV3 |
64
+ | Where is an implementation review and its result canonical? | Projectman review request |
65
+
66
+ Projectman does not replace source control, documentation, durable memory, or
67
+ chat. Chat messages can announce a review, but the review request and immutable
68
+ result belong in Projectman. A Discuss conclusion can approve a design, but its
69
+ implementation scope must be bound to a Projectman task/sprint before work.
70
+
71
+ ## 3 Projectman model
72
+
73
+ ### 3.1 Project partition
74
+
75
+ #### 3.1.1 Overview
76
+
77
+ Every record belongs to one hosted project scope. Repository links in
78
+ `.aops/aops.config.json` tell the CLI which hosted projects are available. The
79
+ server record remains canonical; the link only resolves the destination.
80
+
81
+ ```bash
82
+ aops project links list --json
83
+ aops pm board list --project-slug aops --json
84
+ ```
85
+
86
+ When the current repository is linked to multiple projects, always pass
87
+ `--project-slug`. Do not rely on an ambient default for a material write.
88
+
89
+ ### 3.2 Board
90
+
91
+ #### 3.2.1 Overview
92
+
93
+ A board is a long-lived work stream. It owns ordered column placements and can
94
+ hold a bootstrap registry pointing at an active task/sprint window.
95
+
96
+ Default board columns are Backlog, Todo, Doing, and Done. `--column` replaces
97
+ that set; `--append-column` extends it. Board lifecycle sugar is:
98
+
99
+ 1. `kickoff`: reuse an open active window or create a task+sprint window
100
+ 2. `resume`: read the registry and return the active context
101
+ 3. `closeout`: operator-approved final closure of the active window
102
+
103
+ ### 3.3 Kanban task
104
+
105
+ #### 3.3.1 Overview
106
+
107
+ A kanban task is the operator-visible unit of work. Give it a semantic title.
108
+ Use its notes/references for ids and evidence instead of exposing opaque codes
109
+ as the title.
110
+
111
+ ### 3.4 Sprint, phase, and microtask
112
+
113
+ #### 3.4.1 Overview
114
+
115
+ A sprint is a bounded execution window, usually linked to one task. A phase is
116
+ a grouping inside that sprint. A microtask is the smallest explicit status and
117
+ evidence owner.
118
+
119
+ For substantive or resumable work, write the goal in this form:
120
+
121
+ ```text
122
+ NE: What will change.
123
+ NICIN: Why this work is needed.
124
+ DONE-WHEN: Observable acceptance conditions.
125
+ ```
126
+
127
+ Each phase must contain at least one microtask. Phase status is derived from its
128
+ microtasks; do not send `phase.status` in a plan payload.
129
+
130
+ `pm sprint set-status` rewrites every nested microtask to the requested status.
131
+ Use `pm utask update` when per-item evidence or mixed status must be preserved.
132
+
133
+ ### 3.5 Issue and feedback
134
+
135
+ #### 3.5.1 Overview
136
+
137
+ An issue is a concrete defect, risk, or blocker. Feedback is an observation,
138
+ request, or improvement signal that may not yet be a defect. Link either record
139
+ to its task, sprint, or microtask when that relationship exists.
140
+
141
+ Issue and feedback list commands accept a CLI-local positive `--limit`. Server
142
+ filters run first; the client then slices the returned records and reports:
143
+
144
+ 1. `data`: the records included in this response
145
+ 2. `count`: filtered records returned by the server
146
+ 3. `shown`: records included in `data`
147
+ 4. `hasMore`: whether records were withheld by the local bound
148
+
149
+ This envelope is returned whether or not `--limit` is passed. Read records from
150
+ `result.data`; `count` describes the full filtered server result while `shown`
151
+ describes the locally returned slice.
152
+
153
+ The CLI does not send `limit` to the hosted tool, because the hosted list
154
+ schemas do not declare that field.
155
+
156
+ ### 3.6 Review request and result
157
+
158
+ #### 3.6.1 Overview
159
+
160
+ A review request (RR) is the canonical review record. Review results are
161
+ append-only entries on that record. A material finding must also be an explicit
162
+ issue linked with `--review-request <rr-id>`.
163
+
164
+ A re-review is a new child review request created with `--parent <rr-id>`. Do
165
+ not overwrite the earlier result or treat a chat acknowledgement as approval.
166
+
167
+ ## 4 Routing table
168
+
169
+ ### 4.1 Overview
170
+
171
+ | Need | Command family |
172
+ |---|---|
173
+ | Board CRUD and bootstrap registry | `aops pm board ...` |
174
+ | Board column placement | `aops pm column ...` |
175
+ | Operator-visible task | `aops pm ktask ...` |
176
+ | Execution window and nested plan | `aops pm sprint ...` |
177
+ | One sprint microtask | `aops pm utask ...` |
178
+ | Completion drift audit/reconcile | `aops pm status ...` |
179
+ | Defects and risks | `aops pm issue ...` |
180
+ | Improvement signals | `aops pm feedback ...` |
181
+ | Review, result, and re-review | `aops pm review-request ...` |
182
+ | Subject-aware durable resume | `aops pm handoff ...` |
183
+ | Compact multi-surface resume brief | `aops pm resume ...` |
184
+ | Design consensus | `aops discuss ...` |
185
+ | Durable memory outside a PM subject | `aops mem ...` |
186
+ | Canonical documentation | `aops doc ...` |
187
+ | Coordination and wake | `aops chat ...` |
188
+
189
+ ## 5 Safe command discipline
190
+
191
+ ### 5.1 Read before write
192
+
193
+ #### 5.1.1 Overview
194
+
195
+ Resolve selectors and obtain the current record before changing it. Use a full
196
+ UUID in automation; human-friendly names, slugs, and supported id prefixes are
197
+ convenient for interactive reads but can become ambiguous.
198
+
199
+ ```bash
200
+ aops pm ktask get --project-slug <slug> --id <task-id> --json
201
+ aops pm sprint get --project-slug <slug> --id <sprint-id> --json
202
+ aops pm review-request get --project-slug <slug> --id <rr-id> --json
203
+ ```
204
+
205
+ ### 5.2 Guarded writes
206
+
207
+ #### 5.2.1 Overview
208
+
209
+ Create/update commands require `--apply`. Commands that delete or otherwise
210
+ declare a destructive operation require `--apply --confirm`.
211
+
212
+ ```bash
213
+ # Validation only; no write.
214
+ aops pm issue create --project-slug <slug> --title "Example" --preview --json
215
+
216
+ # Execute the validated write.
217
+ aops pm issue create --project-slug <slug> --title "Example" --apply --json
218
+
219
+ # Destructive execution requires both guards.
220
+ aops pm issue delete --project-slug <slug> --id <issue-id> --apply --confirm --json
221
+ ```
222
+
223
+ Use an idempotency key for a guarded write that may be retried by automation.
224
+ Never reuse one key with a different payload.
225
+
226
+ ### 5.3 Optimistic plan updates
227
+
228
+ #### 5.3.1 Overview
229
+
230
+ `sprint update-plan` replaces or patches the nested plan according to the
231
+ provided payload. Read the current sprint first and pass
232
+ `--expected-updated-at` when concurrent edits are possible.
233
+
234
+ ```bash
235
+ aops pm sprint get --project-slug <slug> --id <sprint-id> --json
236
+ aops pm sprint update-plan \
237
+ --project-slug <slug> \
238
+ --id <sprint-id> \
239
+ --expected-updated-at <timestamp> \
240
+ --phases-json '@./plan.json' \
241
+ --preview \
242
+ --json
243
+ ```
244
+
245
+ Do not use a stale full-plan payload for a one-microtask status change. Prefer
246
+ `pm utask update` or `pm utask set-status`.
247
+
248
+ ## 6 Common workflow scenarios
249
+
250
+ ### 6.1 Choose the project partition
251
+
252
+ #### 6.1.1 Overview
253
+
254
+ ```bash
255
+ aops project links list --json
256
+ aops pm resume --project-slug <slug> --for <agent-id> --limit 10 --json
257
+ ```
258
+
259
+ ### 6.2 Create and finish a single-step task
260
+
261
+ #### 6.2.1 Overview
262
+
263
+ ```bash
264
+ aops pm ktask create \
265
+ --project-slug <slug> \
266
+ --board <board-slug> \
267
+ --column todo \
268
+ --title "Document the release check" \
269
+ --apply \
270
+ --json
271
+
272
+ aops pm ktask set-status \
273
+ --project-slug <slug> \
274
+ --id <task-id> \
275
+ --status completed \
276
+ --apply \
277
+ --json
278
+ ```
279
+
280
+ ### 6.3 Create a multi-step sprint
281
+
282
+ #### 6.3.1 Overview
283
+
284
+ Create the task and sprint, then apply one reviewed plan payload:
285
+
286
+ ```bash
287
+ aops pm sprint create \
288
+ --project-slug <slug> \
289
+ --task <task-id> \
290
+ --name "Projectman guide release" \
291
+ --goal "NE: Publish the guide. NICIN: Give agents canonical help. DONE-WHEN: retrieval gates pass." \
292
+ --reference discuss:<topic-id> \
293
+ --apply \
294
+ --json
295
+
296
+ aops pm sprint update-plan \
297
+ --project-slug <slug> \
298
+ --id <sprint-id> \
299
+ --phases-json '@./plan.json' \
300
+ --apply \
301
+ --json
302
+ ```
303
+
304
+ Example `plan.json`:
305
+
306
+ ```json
307
+ [
308
+ {
309
+ "name": "Implementation",
310
+ "description": "Implement and validate the bounded slice.",
311
+ "microtasks": [
312
+ {
313
+ "title": "Implement the change",
314
+ "notes": "NE: change; NICIN: reason; DONE-WHEN: focused test passes"
315
+ },
316
+ {
317
+ "title": "Validate the result",
318
+ "notes": "NE: verify; NICIN: prevent regression; DONE-WHEN: evidence is recorded"
319
+ }
320
+ ]
321
+ }
322
+ ]
323
+ ```
324
+
325
+ PowerShell users should quote `@file` values exactly as shown.
326
+
327
+ ### 6.4 Update one microtask without replacing the plan
328
+
329
+ #### 6.4.1 Overview
330
+
331
+ ```bash
332
+ aops pm utask update \
333
+ --project-slug <slug> \
334
+ --sprint <sprint-id> \
335
+ --id <utask-id> \
336
+ --status completed \
337
+ --notes "Focused tests: 21/21 PASS." \
338
+ --apply \
339
+ --json
340
+ ```
341
+
342
+ ### 6.5 Board window lifecycle
343
+
344
+ #### 6.5.1 Overview
345
+
346
+ ```bash
347
+ aops pm board kickoff \
348
+ --project-slug <slug> \
349
+ --board <board-slug> \
350
+ --title "Projectman production documentation" \
351
+ --goal "Deliver the reviewed documentation slice" \
352
+ --apply \
353
+ --json
354
+
355
+ aops pm board resume --project-slug <slug> --board <board-slug> --json
356
+ ```
357
+
358
+ At an ordinary checkpoint, leave the window open and write resume context. Run
359
+ `board closeout` only after explicit operator approval:
360
+
361
+ ```bash
362
+ aops pm board closeout \
363
+ --project-slug <slug> \
364
+ --board <board-slug> \
365
+ --content "All reviewed work is complete." \
366
+ --apply \
367
+ --json
368
+ ```
369
+
370
+ ### 6.6 Record an issue or feedback item
371
+
372
+ #### 6.6.1 Overview
373
+
374
+ ```bash
375
+ aops pm issue create \
376
+ --project-slug <slug> \
377
+ --task <task-id> \
378
+ --sprint <sprint-id> \
379
+ --title "List output shape needs a compatibility note" \
380
+ --severity low \
381
+ --source agent \
382
+ --apply \
383
+ --json
384
+
385
+ aops pm feedback create \
386
+ --project-slug <slug> \
387
+ --task <task-id> \
388
+ --title "Add a compact issue inventory example" \
389
+ --type improvement \
390
+ --source agent \
391
+ --apply \
392
+ --json
393
+ ```
394
+
395
+ Use bounded reads when scouting, then fetch the exact record:
396
+
397
+ ```bash
398
+ aops pm issue list --project-slug <slug> --status open --limit 10 --json
399
+ aops pm feedback list --project-slug <slug> --status new --limit 10 --json
400
+ aops pm issue get --project-slug <slug> --id <issue-id> --json
401
+ ```
402
+
403
+ ### 6.7 Review request, result, finding, and re-review
404
+
405
+ #### 6.7.1 Overview
406
+
407
+ ```bash
408
+ aops pm review-request create \
409
+ --project-slug <slug> \
410
+ --task <task-id> \
411
+ --sprint <sprint-id> \
412
+ --title "Review the Projectman guide" \
413
+ --target-agent <reviewer> \
414
+ --review-scope "sprint:<sprint-id>" \
415
+ --instructions "Check command accuracy, safety, and retrieval." \
416
+ --apply \
417
+ --json
418
+
419
+ aops pm review-request result \
420
+ --project-slug <slug> \
421
+ --id <rr-id> \
422
+ --reviewer <reviewer> \
423
+ --outcome changes_requested \
424
+ --summary "One material finding remains." \
425
+ --issue <issue-id> \
426
+ --apply \
427
+ --json
428
+
429
+ aops pm issue create \
430
+ --project-slug <slug> \
431
+ --source review \
432
+ --review-request <rr-id> \
433
+ --title "Document the missing guard" \
434
+ --severity high \
435
+ --apply \
436
+ --json
437
+
438
+ aops pm review-request create \
439
+ --project-slug <slug> \
440
+ --parent <rr-id> \
441
+ --title "Re-review the corrected guard" \
442
+ --target-agent <reviewer> \
443
+ --review-scope "sprint:<sprint-id>" \
444
+ --apply \
445
+ --json
446
+ ```
447
+
448
+ The child RR does not erase its parent. Read the canonical status/result ids
449
+ from Projectman before announcing approval elsewhere.
450
+
451
+ ## 7 Cross-session handoff
452
+
453
+ ### 7.1 PM-bound handoff
454
+
455
+ #### 7.1.1 Overview
456
+
457
+ Use a real Projectman subject when the next session must resume a task, sprint,
458
+ issue, or feedback record:
459
+
460
+ ```bash
461
+ aops pm handoff write \
462
+ --project-slug <slug> \
463
+ --mode resume \
464
+ --subject sprint \
465
+ --id <sprint-id> \
466
+ --content "Phase 2 is next; plan RR is accepted; no publish authority." \
467
+ --apply \
468
+ --json
469
+
470
+ aops pm handoff resume \
471
+ --project-slug <slug> \
472
+ --subject sprint \
473
+ --id <sprint-id> \
474
+ --strict-subject \
475
+ --json
476
+ ```
477
+
478
+ `--strict-subject` prevents a broad fallback memory search when exact PM-bound
479
+ context is required.
480
+
481
+ ### 7.2 General project memory
482
+
483
+ #### 7.2.1 Overview
484
+
485
+ If there is no real PM subject, use Agentspace memory directly:
486
+
487
+ ```bash
488
+ aops mem write \
489
+ --project-slug <slug> \
490
+ --mode resume \
491
+ --subject project \
492
+ --content "Current state and next action" \
493
+ --apply \
494
+ --json
495
+ ```
496
+
497
+ Do not create a fake PM record solely to carry narrative memory.
498
+
499
+ ### 7.3 Compact resume brief
500
+
501
+ #### 7.3.1 Overview
502
+
503
+ `pm resume` composes active sprint windows, an agent's review queue, open
504
+ issues/feedback, and durable memory. It is a starting index, not a replacement
505
+ for exact `get` calls.
506
+
507
+ ```bash
508
+ aops pm resume --project-slug <slug> --for <agent-id> --limit 10 --json
509
+ ```
510
+
511
+ ## 8 Retrieval ladder
512
+
513
+ ### 8.1 Overview
514
+
515
+ Use the smallest surface that can answer the question:
516
+
517
+ 1. `aops pm resume --limit <n>` for a compact multi-surface starting point.
518
+ 2. `aops view board|task|sprint <selector>` for read-only operator views.
519
+ 3. Bounded `pm ... list` with server filters for discovery.
520
+ 4. Exact `pm ... get` for the canonical record.
521
+ 5. `pm status audit` for completion/review-scope drift.
522
+ 6. `pm handoff resume --strict-subject` for PM-bound context.
523
+ 7. Docman search/answer for durable guide semantics, not PM state.
524
+
525
+ For this guide's published Docman version:
526
+
527
+ ```bash
528
+ aops doc outline get --document-version-id <docver-id> --json
529
+ aops doc search --document-version-id <docver-id> --q "review request re-review" --json
530
+ aops doc answer --document-version-id <docver-id> --q "How should a material review finding be recorded?" --json
531
+ ```
532
+
533
+ Local mirrors may support local search, but hosted Projectman state remains the
534
+ canonical source for planning records.
535
+
536
+ ## 9 Status audit and reconciliation
537
+
538
+ ### 9.1 Overview
539
+
540
+ Run the read-only audit before claiming a slice is complete:
541
+
542
+ ```bash
543
+ aops pm status audit --project-slug <slug> --task <task-id> --json
544
+ ```
545
+
546
+ The audit reports task/sprint completion drift and dangling accepted review
547
+ scopes. Inspect each finding before using reconciliation:
548
+
549
+ ```bash
550
+ aops pm status reconcile \
551
+ --project-slug <slug> \
552
+ --task <task-id> \
553
+ --preview \
554
+ --json
555
+ ```
556
+
557
+ Do not use reconciliation to hide an invalid review reference or incomplete
558
+ evidence. Fix the canonical record or record the debt explicitly.
559
+
560
+ ## 10 Anti-patterns
561
+
562
+ ### 10.1 Ownership anti-patterns
563
+
564
+ #### 10.1.1 Overview
565
+
566
+ 1. Treating chat as review truth instead of Projectman RR/RRR.
567
+ 2. Storing design consensus only in PM notes instead of Discuss/Docman.
568
+ 3. Using Projectman as a long-form memory store.
569
+ 4. Creating fake tasks only to attach handoff text.
570
+
571
+ ### 10.2 File-integrity anti-patterns
572
+
573
+ #### 10.2.1 Overview
574
+
575
+ 1. Hand-editing `.aops/projectman/**`.
576
+ 2. Treating a stale mirror as current hosted state.
577
+ 3. Copying one project's cache into another project partition.
578
+
579
+ ### 10.3 Command-surface anti-patterns
580
+
581
+ #### 10.3.1 Overview
582
+
583
+ 1. Guessing flags instead of reading nested `--help`.
584
+ 2. Sending undeclared client-only fields to strict hosted schemas.
585
+ 3. Omitting `--project-slug` in a multi-project repository.
586
+ 4. Using a nonexistent `pm kanban` alias; use `pm board`.
587
+ 5. Running a destructive command without preview and explicit authority.
588
+
589
+ ### 10.4 Planning anti-patterns
590
+
591
+ #### 10.4.1 Overview
592
+
593
+ 1. Titles such as `S2`, `G12`, or a UUID with no semantic label.
594
+ 2. Vague goals without `NE`, `NICIN`, and `DONE-WHEN`.
595
+ 3. Phases with no microtasks.
596
+ 4. Replacing a full sprint plan to update one microtask.
597
+ 5. Starting consensus-backed work before its PM plan review is accepted.
598
+
599
+ ### 10.5 Lifecycle anti-patterns
600
+
601
+ #### 10.5.1 Overview
602
+
603
+ 1. Automatically closing a board window at an ordinary checkpoint.
604
+ 2. Using `sprint set-status completed` as granular proof; it bulk rewrites
605
+ nested microtasks.
606
+ 3. Announcing a review approval without reading its canonical result id.
607
+ 4. Erasing a changes-requested review instead of opening a child re-review.
608
+ 5. Closing findings merely because implementation moved on.
609
+
610
+ ## 11 Troubleshooting
611
+
612
+ ### 11.1 A list command fails after adding a client-side option
613
+
614
+ #### 11.1.1 Overview
615
+
616
+ Strict hosted schemas reject undeclared keys. Confirm the live schema before
617
+ changing a raw payload:
618
+
619
+ ```bash
620
+ aops agent schema --tool projectman.issue.list --summary --json
621
+ ```
622
+
623
+ `issue list --limit` and `feedback list --limit` are intentionally client-side.
624
+ The server receives only its declared filters.
625
+
626
+ ### 11.2 A bounded list says `hasMore: true`
627
+
628
+ #### 11.2.1 Overview
629
+
630
+ Increase the positive `--limit` or narrow server filters. Fetch one selected
631
+ record with `get`; do not assume the first page contains the newest or most
632
+ important item unless the command documents an order.
633
+
634
+ ### 11.3 A plan update loses ids or concurrent work
635
+
636
+ #### 11.3.1 Overview
637
+
638
+ Stop writing. Read the current sprint, compare its `updatedAt`, and use a narrow
639
+ microtask update when possible. For a full plan edit, preserve entity ids and
640
+ pass `--expected-updated-at`.
641
+
642
+ ### 11.4 Sprint status changed every microtask
643
+
644
+ #### 11.4.1 Overview
645
+
646
+ That is the declared behavior of `pm sprint set-status`. Restore the intended
647
+ per-item states with reviewed `pm utask update` calls and use granular updates
648
+ thereafter.
649
+
650
+ ### 11.5 The target project is wrong
651
+
652
+ #### 11.5.1 Overview
653
+
654
+ Stop before writing. Inspect project links and rerun with explicit
655
+ `--project-slug`. Do not repair hosted state by editing a local mirror.
656
+
657
+ ### 11.6 A review shows approved in chat but not in Projectman
658
+
659
+ #### 11.6.1 Overview
660
+
661
+ Chat is coordination only. Read the RR and its results from Projectman. A review
662
+ is accepted only when the canonical record contains the binding result.
663
+
664
+ ### 11.7 A delete needs to be undone
665
+
666
+ #### 11.7.1 Overview
667
+
668
+ Do not use destructive smoke tests on material records. For a disposable test,
669
+ capture the baseline count, create one uniquely named low-severity record,
670
+ retain its exact id, delete only that id with `--apply --confirm`, and verify the
671
+ baseline count is restored.
672
+
673
+ ### 11.8 Local cache and hosted state disagree
674
+
675
+ #### 11.8.1 Overview
676
+
677
+ Hosted state wins. Refresh through the supported sync/mirror command; never
678
+ hand-edit the cache. Use `aops-cli-core` for current sync and project-link
679
+ mechanics.
680
+
681
+ ## 12 Existing known gaps
682
+
683
+ ### 12.1 Overview
684
+
685
+ Before opening a duplicate issue, inspect the exact existing records:
686
+
687
+ 1. `00d73182-997c-495f-93e9-de68ad5e0808` — sprint list limit/summary drift
688
+ 2. `70dc8b67-596a-4549-8b26-e9d0b51b6a12` — task-create dedupe response
689
+ 3. `bfdf5be0-1549-487e-a45a-eccfb9847a1f` — task update/short-id gap
690
+ 4. `78995bdd-ba40-4553-bc15-5d8ca8f36663` — feedback source enum drift
691
+ 5. `acb7e287-1fc0-49fe-9219-69e9ce329134` — list tag/concurrent microtask feedback
692
+ 6. `b81eeeaf-d695-4977-8f87-0a67d1401404` — sprint status id rewrite
693
+
694
+ These references describe known debt; they do not authorize unrelated fixes.
695
+
696
+ ## 13 Canonical and distribution policy
697
+
698
+ ### 13.1 Overview
699
+
700
+ The hosted Docman record in `slug:aops` is the development canonical source for
701
+ the published guide. This repository file is the reviewed domain source used to
702
+ prepare it. After publishing:
703
+
704
+ 1. build index and summary
705
+ 2. verify search and citation-first answer
706
+ 3. mirror-pull into `.aops/docman/domain-guides/projectman-user-guide.md`
707
+ 4. materialize identical bytes into
708
+ `aops/assets/docs/user-guides/projectman-user-guide.md`
709
+
710
+ The guide must be tagged/grouped as a public asset. The repository-local
711
+ `.aops` mirror remains derived and is not committed.
712
+
713
+ ## 14 Appendix A. Verified command catalog
714
+
715
+ ### 14.1 Overview
716
+
717
+ This catalog is hand-authored from the post-change CLI help. It is not a
718
+ generated region. Run the nested help for exact flags.
719
+
720
+ | Family | Commands |
721
+ |---|---|
722
+ | `board` | `bootstrap`, `list`, `get`, `archive`, `unarchive`, `resume`, `kickoff`, `create`, `closeout`, `delete` |
723
+ | `column` | `list`, `add`, `remove`, `reorder` |
724
+ | `ktask` | `list`, `get`, `create`, `set-status`, `delete` |
725
+ | `sprint` | `list`, `get`, `create`, `update-plan`, `set-status`, `archive`, `unarchive`, `delete` |
726
+ | `utask` | `create`, `update`, `set-status`, `delete` |
727
+ | `status` | `audit`, `reconcile` |
728
+ | `issue` | `list`, `get`, `create`, `update`, `delete` |
729
+ | `feedback` | `list`, `get`, `create`, `update`, `delete` |
730
+ | `review-request` | `list`, `get`, `create`, `update`, `result`, `delete` |
731
+ | `handoff` | `resume`, `write` |
732
+ | root `pm` | `resume` |
733
+
734
+ ```bash
735
+ aops pm --help
736
+ aops pm board --help
737
+ aops pm board bootstrap --help
738
+ aops pm column --help
739
+ aops pm ktask --help
740
+ aops pm sprint --help
741
+ aops pm utask --help
742
+ aops pm status --help
743
+ aops pm issue --help
744
+ aops pm feedback --help
745
+ aops pm review-request --help
746
+ aops pm handoff --help
747
+ ```
748
+
749
+ ## 15 Appendix B. Hosted schema fallback
750
+
751
+ ### 15.1 Overview
752
+
753
+ Use schema discovery when sugar is missing or when implementing a sugar
754
+ command. Never guess a hosted tool id or input shape:
755
+
756
+ ```bash
757
+ aops agent tools --domain projectman --summary --json
758
+ aops agent schema --tool projectman.issue.list --summary --json
759
+ ```
760
+
761
+ Prefer the typed `pm` sugar for routine Projectman work. Raw invoke is an
762
+ advanced fallback and does not relax ownership, guard, or project-selection
763
+ rules.