planr 1.7.0 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -22
- package/docs/ARCHITECTURE.md +3 -2
- package/docs/RELEASE.md +50 -7
- package/docs/SWITCHLOOM_COMPATIBILITY.md +46 -0
- package/docs/documentation/CONTRACT.md +7 -7
- package/docs/documentation/COVERAGE.md +5 -3
- package/docs/documentation/INFORMATION_ARCHITECTURE.md +5 -2
- package/npm/native/darwin-arm64/planr +0 -0
- package/npm/native/darwin-x86_64/planr +0 -0
- package/npm/native/linux-arm64/planr +0 -0
- package/npm/native/linux-x86_64/planr +0 -0
- package/package.json +5 -1
- package/plugins/planr/.claude-plugin/plugin.json +1 -1
- package/plugins/planr/.codex-plugin/plugin.json +1 -1
- package/plugins/planr/agents/planr-worker.md +1 -1
- package/plugins/planr/skills/planr-goal/SKILL.md +21 -49
- package/plugins/planr/skills/planr-loop/SKILL.md +28 -94
- package/plugins/planr/skills/planr-loop/agents/planr-worker.md +1 -1
- package/plugins/planr/skills/planr-loop/references/host-dispatch.md +10 -0
- package/plugins/planr/skills/planr-loop/references/recovery-and-verification.md +24 -0
- package/plugins/planr/skills/planr-task-graph/SKILL.md +21 -190
- package/docs/CI.md +0 -55
- package/docs/CLAUDE_CODE.md +0 -52
- package/docs/CLI_REFERENCE.md +0 -170
- package/docs/CODEX.md +0 -56
- package/docs/CURSOR.md +0 -114
- package/docs/EXAMPLE_WEBAPP.md +0 -103
- package/docs/GOALS.md +0 -175
- package/docs/HANDOFFS_AND_STORIES.md +0 -121
- package/docs/HOOKS.md +0 -34
- package/docs/IMPORT.md +0 -23
- package/docs/INSTALL.md +0 -115
- package/docs/MCP_CONTRACT.md +0 -78
- package/docs/MCP_GUIDE.md +0 -40
- package/docs/MODEL_ROUTING.md +0 -33
- package/docs/NPM.md +0 -40
- package/docs/OPERATING_MODEL.md +0 -250
- package/docs/ROUTING_BUNDLES.md +0 -15
- package/docs/SECURITY.md +0 -8
- package/docs/SKILLS.md +0 -261
- package/docs/TASK_GRAPH_MODEL.md +0 -272
- package/docs/TESTING.md +0 -87
- package/docs/TROUBLESHOOTING.md +0 -30
- package/docs/planr-spec/ADRS.md +0 -160
- package/docs/planr-spec/AI_SPEC.md +0 -138
- package/docs/planr-spec/ANALYTICS_OBSERVABILITY_SPEC.md +0 -124
- package/docs/planr-spec/API_AND_DATA_MODEL.md +0 -519
- package/docs/planr-spec/BACKEND_IMPLEMENTATION_SPEC.md +0 -178
- package/docs/planr-spec/CLIENT_IMPLEMENTATION_SPEC.md +0 -119
- package/docs/planr-spec/DESIGN_SYSTEM_SPEC.md +0 -102
- package/docs/planr-spec/PRODUCT_SPEC.md +0 -193
- package/docs/planr-spec/QA_ACCEPTANCE_TESTS.md +0 -146
- package/docs/planr-spec/README.md +0 -68
- package/docs/planr-spec/REFERENCES.md +0 -29
- package/docs/planr-spec/RELEASE_READINESS.md +0 -95
- package/docs/planr-spec/SAFETY_PRIVACY_SECURITY.md +0 -169
- package/docs/planr-spec/TASKS.md +0 -932
- package/docs/planr-spec/TECH_ARCHITECTURE.md +0 -145
- package/docs/planr-spec/UX_FLOWS.md +0 -235
- package/docs/release-candidates/planr-v1.5.2.md +0 -156
- /package/docs/{planr-spec → contracts}/EVAL_CONTRACT_V1.md +0 -0
- /package/docs/{planr-spec → contracts}/V1_1_DIFFERENTIATION_CONTRACT.md +0 -0
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
# Analytics And Observability Specification
|
|
2
|
-
|
|
3
|
-
## Observability Goals
|
|
4
|
-
|
|
5
|
-
- Help users debug item state, picks, MCP setup, and agent runs.
|
|
6
|
-
- Avoid collecting source code, prompts, responses, secrets, or private plan content.
|
|
7
|
-
- Make local diagnostics exportable for bug reports after user review.
|
|
8
|
-
|
|
9
|
-
## Local Event Log
|
|
10
|
-
|
|
11
|
-
Events stored in SQLite:
|
|
12
|
-
|
|
13
|
-
- project_created
|
|
14
|
-
- item_created
|
|
15
|
-
- item_ready
|
|
16
|
-
- item_picked
|
|
17
|
-
- item_heartbeat
|
|
18
|
-
- item_progress
|
|
19
|
-
- item_paused
|
|
20
|
-
- item_resumed
|
|
21
|
-
- item_started
|
|
22
|
-
- item_closed
|
|
23
|
-
- item_blocked
|
|
24
|
-
- item_failed
|
|
25
|
-
- dependency_added
|
|
26
|
-
- plan_parsed
|
|
27
|
-
- plan_parse_failed
|
|
28
|
-
- log_created
|
|
29
|
-
- artifact_created
|
|
30
|
-
- review_annotation_added
|
|
31
|
-
- review_feedback_ingested
|
|
32
|
-
- review_artifact_written
|
|
33
|
-
- review_requested
|
|
34
|
-
- review_closed
|
|
35
|
-
- context_created
|
|
36
|
-
- import_completed
|
|
37
|
-
- import_parsed
|
|
38
|
-
- export_written
|
|
39
|
-
- mcp_tool_called
|
|
40
|
-
- doctor_check_completed
|
|
41
|
-
|
|
42
|
-
## Metrics
|
|
43
|
-
|
|
44
|
-
Local aggregate metrics:
|
|
45
|
-
|
|
46
|
-
- items by status;
|
|
47
|
-
- ready queue size;
|
|
48
|
-
- running item count;
|
|
49
|
-
- blocked item count;
|
|
50
|
-
- average pick-to-close duration;
|
|
51
|
-
- failed run count;
|
|
52
|
-
- review finding count;
|
|
53
|
-
- MCP call count by tool name;
|
|
54
|
-
- database schema version.
|
|
55
|
-
|
|
56
|
-
## Logs
|
|
57
|
-
|
|
58
|
-
Default logs:
|
|
59
|
-
|
|
60
|
-
- command name;
|
|
61
|
-
- exit status;
|
|
62
|
-
- duration;
|
|
63
|
-
- error code;
|
|
64
|
-
- item id/project id;
|
|
65
|
-
- client type.
|
|
66
|
-
|
|
67
|
-
Forbidden logs:
|
|
68
|
-
|
|
69
|
-
- full source code;
|
|
70
|
-
- plan body content by default;
|
|
71
|
-
- prompts/responses;
|
|
72
|
-
- command output unless explicitly attached by user;
|
|
73
|
-
- secrets or environment values.
|
|
74
|
-
|
|
75
|
-
Debug bundle preview must include counts, ids, paths, event metadata, and logs, but must not inline source file content or prompt/response transcripts. Inline artifact content is only present when the user explicitly attached small content as an artifact.
|
|
76
|
-
|
|
77
|
-
## Doctor Diagnostics
|
|
78
|
-
|
|
79
|
-
`planr doctor` must check:
|
|
80
|
-
|
|
81
|
-
- binary version;
|
|
82
|
-
- database open/schema-upgrade status;
|
|
83
|
-
- `.planr` pack presence;
|
|
84
|
-
- Git repo status;
|
|
85
|
-
- Codex availability and MCP config hint;
|
|
86
|
-
- Claude Code availability/config hint;
|
|
87
|
-
- Cursor config hint;
|
|
88
|
-
- MCP stdio server startup;
|
|
89
|
-
- optional HTTP server startup;
|
|
90
|
-
- permission issues.
|
|
91
|
-
|
|
92
|
-
## Alerts
|
|
93
|
-
|
|
94
|
-
V1 has no remote alerts. CLI/TUI should visibly show:
|
|
95
|
-
|
|
96
|
-
- stale running items without heartbeat;
|
|
97
|
-
- database lock issues;
|
|
98
|
-
- parse errors;
|
|
99
|
-
- failed agent runs;
|
|
100
|
-
- blocked critical path.
|
|
101
|
-
|
|
102
|
-
## Cost Monitoring
|
|
103
|
-
|
|
104
|
-
Planr does not call providers by default. Optional runner wrappers may record provider/model metadata and token/cost estimates only when exposed by the client and only as metadata.
|
|
105
|
-
|
|
106
|
-
## Debug Bundle
|
|
107
|
-
|
|
108
|
-
`planr debug bundle` should create a local archive containing:
|
|
109
|
-
|
|
110
|
-
- version;
|
|
111
|
-
- schema version;
|
|
112
|
-
- redacted config;
|
|
113
|
-
- event metadata;
|
|
114
|
-
- doctor output;
|
|
115
|
-
- selected item/log metadata.
|
|
116
|
-
|
|
117
|
-
It must exclude plan bodies, source files, prompts, responses, and secrets by default.
|
|
118
|
-
|
|
119
|
-
## Acceptance Criteria
|
|
120
|
-
|
|
121
|
-
- REQ-ANA-001: A user can diagnose why no items are ready.
|
|
122
|
-
- REQ-ANA-002: A user can diagnose why an MCP client cannot see Planr tools.
|
|
123
|
-
- REQ-ANA-003: Debug export is redacted by default.
|
|
124
|
-
- REQ-ANA-004: No content analytics are emitted in V1.
|
|
@@ -1,519 +0,0 @@
|
|
|
1
|
-
# API And Data Model
|
|
2
|
-
|
|
3
|
-
Eval Contract v1, including the additive v1.1 efficiency-evidence amendment, is frozen in [EVAL_CONTRACT_V1.md](EVAL_CONTRACT_V1.md). That document owns the canonical eval manifest fields, normalized snapshot, stored objects, attempt lineage, metering basis, effective treatment identity, derived efficiency metrics, status values, reason codes, evidence identities, response examples, exit codes, database rules, and safety constraints. This file keeps the higher-level product API summary.
|
|
4
|
-
|
|
5
|
-
## Storage Locations
|
|
6
|
-
|
|
7
|
-
- SQLite: authoritative map graph state, picks, contexts, logs, runs, events, search indexes.
|
|
8
|
-
- `.planr/project/*.md`: durable project context pack.
|
|
9
|
-
- `.planr/plans/product/<slug>/`: product specification packages.
|
|
10
|
-
- `.planr/plans/build/*.plan.md`: Markdown implementation plans.
|
|
11
|
-
- `.planr/reviews/*.review.md`: optional saved review artifacts.
|
|
12
|
-
- Git: source diffs, commits, branches, and worktrees.
|
|
13
|
-
|
|
14
|
-
## Core Tables
|
|
15
|
-
|
|
16
|
-
### projects
|
|
17
|
-
|
|
18
|
-
```text
|
|
19
|
-
id TEXT PRIMARY KEY
|
|
20
|
-
name TEXT NOT NULL
|
|
21
|
-
root_path TEXT NOT NULL
|
|
22
|
-
description TEXT
|
|
23
|
-
status TEXT NOT NULL
|
|
24
|
-
metadata JSON
|
|
25
|
-
created_at DATETIME
|
|
26
|
-
updated_at DATETIME
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### items
|
|
30
|
-
|
|
31
|
-
```text
|
|
32
|
-
id TEXT PRIMARY KEY
|
|
33
|
-
project_id TEXT NOT NULL
|
|
34
|
-
parent_item_id TEXT
|
|
35
|
-
title TEXT NOT NULL
|
|
36
|
-
description TEXT
|
|
37
|
-
status TEXT NOT NULL
|
|
38
|
-
work_type TEXT NOT NULL
|
|
39
|
-
priority INTEGER
|
|
40
|
-
worker_id TEXT
|
|
41
|
-
plan_path TEXT
|
|
42
|
-
pick_token TEXT
|
|
43
|
-
picked_at DATETIME
|
|
44
|
-
last_heartbeat_at DATETIME
|
|
45
|
-
progress_percent INTEGER
|
|
46
|
-
progress_note TEXT
|
|
47
|
-
paused_at DATETIME
|
|
48
|
-
timeout_seconds INTEGER
|
|
49
|
-
max_retries INTEGER
|
|
50
|
-
retry_count INTEGER
|
|
51
|
-
retry_backoff TEXT
|
|
52
|
-
retry_delay_ms INTEGER
|
|
53
|
-
pre_condition TEXT
|
|
54
|
-
post_condition TEXT
|
|
55
|
-
approval_status TEXT
|
|
56
|
-
approval_requested_at DATETIME
|
|
57
|
-
approved_by TEXT
|
|
58
|
-
approval_comment TEXT
|
|
59
|
-
started_at DATETIME
|
|
60
|
-
completed_at DATETIME
|
|
61
|
-
result JSON
|
|
62
|
-
error TEXT
|
|
63
|
-
metadata JSON
|
|
64
|
-
created_at DATETIME
|
|
65
|
-
updated_at DATETIME
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Item work types:
|
|
69
|
-
|
|
70
|
-
- generic
|
|
71
|
-
- research
|
|
72
|
-
- plan
|
|
73
|
-
- code
|
|
74
|
-
- review
|
|
75
|
-
- fix
|
|
76
|
-
- test
|
|
77
|
-
- shell
|
|
78
|
-
- release
|
|
79
|
-
|
|
80
|
-
Item statuses:
|
|
81
|
-
|
|
82
|
-
- pending
|
|
83
|
-
- ready
|
|
84
|
-
- picked
|
|
85
|
-
- running
|
|
86
|
-
- in_review
|
|
87
|
-
- blocked
|
|
88
|
-
- closed
|
|
89
|
-
- closed_partial
|
|
90
|
-
- failed
|
|
91
|
-
- cancelled
|
|
92
|
-
|
|
93
|
-
### links
|
|
94
|
-
|
|
95
|
-
```text
|
|
96
|
-
id INTEGER PRIMARY KEY
|
|
97
|
-
from_item TEXT NOT NULL
|
|
98
|
-
to_item TEXT NOT NULL
|
|
99
|
-
kind TEXT NOT NULL
|
|
100
|
-
condition TEXT NOT NULL
|
|
101
|
-
metadata JSON
|
|
102
|
-
UNIQUE(from_item, to_item, kind)
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
Link kinds:
|
|
106
|
-
|
|
107
|
-
- blocks: upstream must complete before downstream is ready.
|
|
108
|
-
- hands_to: upstream result is included in downstream handoff.
|
|
109
|
-
- reviews: review item blocks parent/target closure.
|
|
110
|
-
- relates_to: non-blocking context relationship.
|
|
111
|
-
|
|
112
|
-
### plans
|
|
113
|
-
|
|
114
|
-
```text
|
|
115
|
-
id TEXT PRIMARY KEY
|
|
116
|
-
project_id TEXT NOT NULL
|
|
117
|
-
stage TEXT NOT NULL
|
|
118
|
-
path TEXT NOT NULL
|
|
119
|
-
title TEXT NOT NULL
|
|
120
|
-
slug TEXT NOT NULL
|
|
121
|
-
package_manifest JSON
|
|
122
|
-
frontmatter JSON
|
|
123
|
-
parse_status TEXT NOT NULL
|
|
124
|
-
content_hash TEXT NOT NULL
|
|
125
|
-
created_at DATETIME
|
|
126
|
-
updated_at DATETIME
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
Plan stages:
|
|
130
|
-
|
|
131
|
-
- product
|
|
132
|
-
- build
|
|
133
|
-
- review
|
|
134
|
-
|
|
135
|
-
### source_links
|
|
136
|
-
|
|
137
|
-
```text
|
|
138
|
-
id INTEGER PRIMARY KEY
|
|
139
|
-
source_type TEXT NOT NULL
|
|
140
|
-
source_id TEXT NOT NULL
|
|
141
|
-
item_id TEXT NOT NULL
|
|
142
|
-
section_id TEXT
|
|
143
|
-
relationship TEXT NOT NULL
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
Relationships:
|
|
147
|
-
|
|
148
|
-
- scopes
|
|
149
|
-
- implements
|
|
150
|
-
- verifies
|
|
151
|
-
- reviews
|
|
152
|
-
- references
|
|
153
|
-
|
|
154
|
-
### contexts
|
|
155
|
-
|
|
156
|
-
```text
|
|
157
|
-
id TEXT PRIMARY KEY
|
|
158
|
-
project_id TEXT NOT NULL
|
|
159
|
-
item_id TEXT
|
|
160
|
-
worker_id TEXT
|
|
161
|
-
kind TEXT NOT NULL
|
|
162
|
-
content TEXT NOT NULL
|
|
163
|
-
tags JSON
|
|
164
|
-
created_at DATETIME
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
Kinds:
|
|
168
|
-
|
|
169
|
-
- discovery
|
|
170
|
-
- decision
|
|
171
|
-
- constraint
|
|
172
|
-
- pattern
|
|
173
|
-
- blocker
|
|
174
|
-
- bug
|
|
175
|
-
- risk
|
|
176
|
-
|
|
177
|
-
### runs
|
|
178
|
-
|
|
179
|
-
```text
|
|
180
|
-
id TEXT PRIMARY KEY
|
|
181
|
-
project_id TEXT NOT NULL
|
|
182
|
-
item_id TEXT NOT NULL
|
|
183
|
-
worker_id TEXT NOT NULL
|
|
184
|
-
client TEXT NOT NULL
|
|
185
|
-
profile TEXT
|
|
186
|
-
command TEXT
|
|
187
|
-
cwd TEXT
|
|
188
|
-
worktree_path TEXT
|
|
189
|
-
status TEXT NOT NULL
|
|
190
|
-
started_at DATETIME
|
|
191
|
-
ended_at DATETIME
|
|
192
|
-
exit_code INTEGER
|
|
193
|
-
metadata JSON
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
Clients:
|
|
197
|
-
|
|
198
|
-
- codex
|
|
199
|
-
- claude-code
|
|
200
|
-
- cursor
|
|
201
|
-
- generic-mcp
|
|
202
|
-
- human
|
|
203
|
-
- ci
|
|
204
|
-
|
|
205
|
-
### logs
|
|
206
|
-
|
|
207
|
-
```text
|
|
208
|
-
id TEXT PRIMARY KEY
|
|
209
|
-
project_id TEXT NOT NULL
|
|
210
|
-
item_id TEXT NOT NULL
|
|
211
|
-
run_id TEXT
|
|
212
|
-
kind TEXT NOT NULL
|
|
213
|
-
summary TEXT NOT NULL
|
|
214
|
-
files JSON
|
|
215
|
-
commands JSON
|
|
216
|
-
tests JSON
|
|
217
|
-
review_findings JSON
|
|
218
|
-
blocked_or_unverified JSON
|
|
219
|
-
created_at DATETIME
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
Log kinds:
|
|
223
|
-
|
|
224
|
-
- completion
|
|
225
|
-
- review
|
|
226
|
-
- failure
|
|
227
|
-
- handoff
|
|
228
|
-
- verification
|
|
229
|
-
|
|
230
|
-
### artifacts
|
|
231
|
-
|
|
232
|
-
```text
|
|
233
|
-
id TEXT PRIMARY KEY
|
|
234
|
-
project_id TEXT NOT NULL
|
|
235
|
-
item_id TEXT
|
|
236
|
-
name TEXT NOT NULL
|
|
237
|
-
kind TEXT
|
|
238
|
-
path TEXT
|
|
239
|
-
content TEXT
|
|
240
|
-
mime_type TEXT
|
|
241
|
-
size_bytes INTEGER
|
|
242
|
-
metadata JSON
|
|
243
|
-
created_at DATETIME
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
### events
|
|
247
|
-
|
|
248
|
-
```text
|
|
249
|
-
id INTEGER PRIMARY KEY
|
|
250
|
-
project_id TEXT
|
|
251
|
-
item_id TEXT
|
|
252
|
-
worker_id TEXT
|
|
253
|
-
event_type TEXT NOT NULL
|
|
254
|
-
payload JSON
|
|
255
|
-
timestamp DATETIME
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
## Plan Package Contract
|
|
259
|
-
|
|
260
|
-
Product plan packages use this structure:
|
|
261
|
-
|
|
262
|
-
```text
|
|
263
|
-
.planr/plans/product/<slug>/
|
|
264
|
-
README.md
|
|
265
|
-
PRODUCT_SPEC.md
|
|
266
|
-
UX_FLOWS.md
|
|
267
|
-
DESIGN_SYSTEM_SPEC.md
|
|
268
|
-
TECH_ARCHITECTURE.md
|
|
269
|
-
ADRS.md
|
|
270
|
-
AI_SPEC.md
|
|
271
|
-
SAFETY_PRIVACY_SECURITY.md
|
|
272
|
-
API_AND_DATA_MODEL.md
|
|
273
|
-
CLIENT_IMPLEMENTATION_SPEC.md
|
|
274
|
-
BACKEND_IMPLEMENTATION_SPEC.md
|
|
275
|
-
ANALYTICS_OBSERVABILITY_SPEC.md
|
|
276
|
-
QA_ACCEPTANCE_TESTS.md
|
|
277
|
-
RELEASE_READINESS.md
|
|
278
|
-
TASKS.md
|
|
279
|
-
REFERENCES.md
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
- REQ-API-001: Plan packages must include a manifest with generated date, source prompt, assumptions, and included documents.
|
|
283
|
-
- REQ-API-002: Plan work lists are candidate work, not live map items until accepted.
|
|
284
|
-
|
|
285
|
-
## Build Plan Contract
|
|
286
|
-
|
|
287
|
-
Plan files use this minimum shape:
|
|
288
|
-
|
|
289
|
-
```markdown
|
|
290
|
-
---
|
|
291
|
-
name: short-name
|
|
292
|
-
overview: One paragraph.
|
|
293
|
-
todos:
|
|
294
|
-
- id: phase-1
|
|
295
|
-
content: Summary item.
|
|
296
|
-
status: pending
|
|
297
|
-
isProject: false
|
|
298
|
-
---
|
|
299
|
-
|
|
300
|
-
# Plan Title
|
|
301
|
-
|
|
302
|
-
## Scope Decision
|
|
303
|
-
## Ownership Target
|
|
304
|
-
## Existing Leverage
|
|
305
|
-
## Phase 1: ...
|
|
306
|
-
## Out Of Scope
|
|
307
|
-
## Verification
|
|
308
|
-
## Acceptance Criteria
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
- REQ-API-010: Plan parsing must preserve unknown frontmatter fields.
|
|
312
|
-
- REQ-API-011: Plan parsing failure must not delete or rewrite the original Markdown.
|
|
313
|
-
- REQ-API-012: Closure status must not be inferred solely from Markdown checkboxes.
|
|
314
|
-
|
|
315
|
-
## CLI API
|
|
316
|
-
|
|
317
|
-
### Project
|
|
318
|
-
|
|
319
|
-
```bash
|
|
320
|
-
planr project init [--client codex|claude|cursor|all] [--force]
|
|
321
|
-
planr project show [--json]
|
|
322
|
-
planr project list [--json]
|
|
323
|
-
planr doctor [--client codex|claude|cursor|all]
|
|
324
|
-
planr install codex|claude|cursor [--dry-run]
|
|
325
|
-
planr prompt cli|mcp|http [--client codex|claude|cursor|all]
|
|
326
|
-
planr mcp
|
|
327
|
-
planr serve --port 7526
|
|
328
|
-
planr import <file> [--preview] [--confirm]
|
|
329
|
-
planr export --out planr.json [--include-plans] [--include-logs] [--template-name "..."] [--tag tag]
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
### Plan
|
|
333
|
-
|
|
334
|
-
```bash
|
|
335
|
-
planr plan new "App idea" [--platform web] [--ai] [--backend]
|
|
336
|
-
planr plan refine <plan-id>
|
|
337
|
-
planr plan split <plan-id> --slice "MVP backend"
|
|
338
|
-
planr plan check <plan-id>
|
|
339
|
-
planr plan show <plan-id>
|
|
340
|
-
planr plan archive <plan-id>
|
|
341
|
-
```
|
|
342
|
-
|
|
343
|
-
### Map
|
|
344
|
-
|
|
345
|
-
```bash
|
|
346
|
-
planr map show
|
|
347
|
-
planr map build --from <plan-id>
|
|
348
|
-
planr map status
|
|
349
|
-
planr map preview --close <item-id>
|
|
350
|
-
planr map unlocks <item-id>
|
|
351
|
-
planr map lookahead [--from <item-id>]
|
|
352
|
-
planr item create "title" --description "..." [--after item-id] [--timeout-seconds N] [--max-retries N] [--retry-backoff fixed|exponential] [--retry-delay-ms N] [--pre "..."] [--post "..."]
|
|
353
|
-
planr item breakdown <item-id> --into "A, B, C"
|
|
354
|
-
planr item insert "title" --description "..." --after <item-id> [--before <item-id>] [--preview|--confirm]
|
|
355
|
-
planr item amend <item-id> --note "..."
|
|
356
|
-
planr item replan <parent-id> --into "A, B, C" [--preview|--confirm]
|
|
357
|
-
planr link add <from-item> <to-item> --type blocks
|
|
358
|
-
planr pick
|
|
359
|
-
planr pick release <item-id> [--force]
|
|
360
|
-
planr pick heartbeat [item-id]
|
|
361
|
-
planr pick progress <item-id> --percent 0..100 [--note "..."]
|
|
362
|
-
planr pick pause <item-id> [--note "..."]
|
|
363
|
-
planr pick resume <item-id>
|
|
364
|
-
planr pick stale [--older-than-seconds 900] [--release]
|
|
365
|
-
planr recover sweep [--older-than-seconds 900] [--apply]
|
|
366
|
-
planr approval request <item-id> [--reason "..."]
|
|
367
|
-
planr approval approve <item-id> --by "name" [--comment "..."]
|
|
368
|
-
planr approval deny <item-id> --by "name" [--comment "..."]
|
|
369
|
-
planr approval list [--open]
|
|
370
|
-
planr artifact add "name" [--item <item-id>] [--kind evidence] [--path file] [--content "..."]
|
|
371
|
-
planr artifact show <artifact-id>
|
|
372
|
-
planr artifact list [--item <item-id>]
|
|
373
|
-
planr event list [--item <item-id>] [--limit 50]
|
|
374
|
-
planr debug bundle [--item <item-id>] --preview
|
|
375
|
-
planr log add --item <item-id> --summary "..." [--files a,b] [--cmd "..."]
|
|
376
|
-
planr review request <item-id>
|
|
377
|
-
planr review annotate <item-id> --message "..." [--severity info|warning|blocking] [--file path] [--line N] [--author "..."]
|
|
378
|
-
planr review ingest <item-id> (--from feedback.json|--stdin)
|
|
379
|
-
planr review artifact <review-item-id> [--out path]
|
|
380
|
-
planr review evidence <item-id> [--pr-url https://...]
|
|
381
|
-
planr review close <review-item-id> --verdict complete|not-complete|unclear [--close-target]
|
|
382
|
-
planr close [item-id] --summary "..." [--next]
|
|
383
|
-
planr done [item-id] --summary "..." [--files a --files b] [--cmd "..."] [--tests "..."] [--review] [--next]
|
|
384
|
-
planr map lane --critical
|
|
385
|
-
planr map pressure
|
|
386
|
-
```
|
|
387
|
-
|
|
388
|
-
## MCP Tools
|
|
389
|
-
|
|
390
|
-
- `planr_project_show`
|
|
391
|
-
- `planr_map_show`
|
|
392
|
-
- `planr_map_status`
|
|
393
|
-
- `planr_map_preview`
|
|
394
|
-
- `planr_map_unlocks`
|
|
395
|
-
- `planr_map_lookahead`
|
|
396
|
-
- `planr_plan_create`
|
|
397
|
-
- `planr_plan_refine`
|
|
398
|
-
- `planr_plan_split`
|
|
399
|
-
- `planr_plan_check`
|
|
400
|
-
- `planr_plan_link`
|
|
401
|
-
- `planr_map_build`
|
|
402
|
-
- `planr_item_create`
|
|
403
|
-
- `planr_item_breakdown`
|
|
404
|
-
- `planr_item_insert`
|
|
405
|
-
- `planr_item_amend`
|
|
406
|
-
- `planr_item_replan`
|
|
407
|
-
- `planr_pick_item`
|
|
408
|
-
- `planr_pick_heartbeat`
|
|
409
|
-
- `planr_pick_progress`
|
|
410
|
-
- `planr_pick_pause`
|
|
411
|
-
- `planr_pick_resume`
|
|
412
|
-
- `planr_pick_stale`
|
|
413
|
-
- `planr_recover_sweep`
|
|
414
|
-
- `planr_approval_request`
|
|
415
|
-
- `planr_approval_approve`
|
|
416
|
-
- `planr_approval_deny`
|
|
417
|
-
- `planr_approval_list`
|
|
418
|
-
- `planr_artifact_add`
|
|
419
|
-
- `planr_artifact_list`
|
|
420
|
-
- `planr_artifact_show`
|
|
421
|
-
- `planr_event_list`
|
|
422
|
-
- `planr_debug_bundle`
|
|
423
|
-
- `planr_log_add`
|
|
424
|
-
- `planr_review_annotate`
|
|
425
|
-
- `planr_review_ingest`
|
|
426
|
-
- `planr_review_artifact`
|
|
427
|
-
- `planr_review_evidence`
|
|
428
|
-
- `planr_review_close`
|
|
429
|
-
- `planr_close_item`
|
|
430
|
-
- `planr_context_create`
|
|
431
|
-
- `planr_search`
|
|
432
|
-
- `planr_log_read`
|
|
433
|
-
|
|
434
|
-
## MCP Resources
|
|
435
|
-
|
|
436
|
-
- `planr://project/context`
|
|
437
|
-
- `planr://project/map`
|
|
438
|
-
- `planr://item/{id}`
|
|
439
|
-
- `planr://plan/{id}`
|
|
440
|
-
- `planr://log/{id}`
|
|
441
|
-
|
|
442
|
-
## MCP Prompts
|
|
443
|
-
|
|
444
|
-
- `planr-plan`
|
|
445
|
-
- `planr-work`
|
|
446
|
-
- `planr-review`
|
|
447
|
-
- `planr-map`
|
|
448
|
-
- `planr-summary`
|
|
449
|
-
|
|
450
|
-
## HTTP API
|
|
451
|
-
|
|
452
|
-
HTTP is optional in V1 and localhost-only by default.
|
|
453
|
-
|
|
454
|
-
```text
|
|
455
|
-
GET /review
|
|
456
|
-
GET /v1/review-workspace
|
|
457
|
-
GET /v1/projects
|
|
458
|
-
POST /v1/projects
|
|
459
|
-
GET /v1/projects/:id/map
|
|
460
|
-
GET /v1/projects/:id/items
|
|
461
|
-
POST /v1/projects/:id/items
|
|
462
|
-
POST /v1/pick
|
|
463
|
-
POST /v1/items/:id/heartbeat
|
|
464
|
-
POST /v1/items/:id/progress
|
|
465
|
-
POST /v1/items/:id/pause
|
|
466
|
-
POST /v1/items/:id/resume
|
|
467
|
-
POST /v1/items/:id/approval/request
|
|
468
|
-
POST /v1/items/:id/approval/approve
|
|
469
|
-
POST /v1/items/:id/approval/deny
|
|
470
|
-
GET /v1/approvals?open=true
|
|
471
|
-
POST /v1/artifacts
|
|
472
|
-
GET /v1/artifacts
|
|
473
|
-
GET /v1/artifacts/:id
|
|
474
|
-
GET /v1/events
|
|
475
|
-
GET /v1/debug/bundle
|
|
476
|
-
POST /v1/items/:id/log
|
|
477
|
-
POST /v1/items/:id/close
|
|
478
|
-
POST /v1/items/:id/reviews
|
|
479
|
-
POST /v1/items/:id/review-annotations
|
|
480
|
-
GET /v1/items/:id/review-evidence
|
|
481
|
-
POST /v1/items/:id/review-evidence
|
|
482
|
-
POST /v1/items/:id/review-feedback
|
|
483
|
-
POST /v1/reviews/:id/close
|
|
484
|
-
POST /v1/reviews/:id/artifact
|
|
485
|
-
GET /v1/reviews/:id/artifact
|
|
486
|
-
POST /v1/contexts
|
|
487
|
-
GET /v1/search?q=...
|
|
488
|
-
GET /v1/events/stream
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
## Error Model
|
|
492
|
-
|
|
493
|
-
```json
|
|
494
|
-
{
|
|
495
|
-
"error": {
|
|
496
|
-
"code": "not_found",
|
|
497
|
-
"message": "item not found",
|
|
498
|
-
"details": {}
|
|
499
|
-
}
|
|
500
|
-
}
|
|
501
|
-
```
|
|
502
|
-
|
|
503
|
-
Required codes:
|
|
504
|
-
|
|
505
|
-
- bad_request
|
|
506
|
-
- not_found
|
|
507
|
-
- conflict
|
|
508
|
-
- invalid_transition
|
|
509
|
-
- locked
|
|
510
|
-
- parse_error
|
|
511
|
-
- unauthorized_remote
|
|
512
|
-
- internal_error
|
|
513
|
-
|
|
514
|
-
## Retention
|
|
515
|
-
|
|
516
|
-
- Local database persists until user deletes it.
|
|
517
|
-
- Plan files persist in Git/repo unless archived or deleted.
|
|
518
|
-
- Log persists locally by default.
|
|
519
|
-
- Full transcript retention is off by default.
|