prizmkit 1.1.148 → 1.1.150
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/bundled/VERSION.json +3 -3
- package/bundled/dev-pipeline/README.md +20 -17
- package/bundled/dev-pipeline/prizmkit_runtime/checkpoint_state.py +77 -0
- package/bundled/dev-pipeline/prizmkit_runtime/gitops.py +234 -39
- package/bundled/dev-pipeline/prizmkit_runtime/reset.py +57 -30
- package/bundled/dev-pipeline/prizmkit_runtime/reset_preserve.py +822 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runner_bookkeeping.py +28 -11
- package/bundled/dev-pipeline/prizmkit_runtime/runners.py +71 -28
- package/bundled/dev-pipeline/prizmkit_runtime/task_checkout.py +18 -0
- package/bundled/dev-pipeline/tests/test_python_runner_parity.py +67 -13
- package/bundled/dev-pipeline/tests/test_reset_preserve.py +959 -0
- package/bundled/dev-pipeline/tests/test_unified_cli.py +325 -5
- package/bundled/skills/_metadata.json +1 -1
- package/bundled/skills/app-planner/SKILL.md +27 -27
- package/bundled/skills/app-planner/references/architecture-decisions.md +5 -11
- package/bundled/skills/app-planner/references/frontend-design-guide.md +1 -1
- package/bundled/skills/app-planner/references/generated-plan-review.md +2 -2
- package/bundled/skills/app-planner/references/infrastructure-convention-discovery.md +2 -2
- package/bundled/skills/app-planner/references/project-conventions-discovery.md +1 -1
- package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +21 -9
- package/bundled/skills/feature-pipeline-launcher/SKILL.md +21 -9
- package/bundled/skills/refactor-pipeline-launcher/SKILL.md +21 -9
- package/bundled/templates/project-memory-template.md +38 -0
- package/package.json +1 -1
|
@@ -51,7 +51,7 @@ Read `${SKILL_DIR}/references/configuration.md` before constructing prerequisite
|
|
|
51
51
|
| Check status | Daemon status and item-level status commands |
|
|
52
52
|
| Show logs | Recent or follow-log command |
|
|
53
53
|
| Stop | Daemon stop command plus optional status command |
|
|
54
|
-
| Retry
|
|
54
|
+
| Retry failed bug work | Preserve-runtime, standard, or clean reset plus a separate run command with safety disclosure |
|
|
55
55
|
|
|
56
56
|
Only the start intent uses the execution-mode and configuration rounds.
|
|
57
57
|
|
|
@@ -151,27 +151,39 @@ Optionally include the daemon status command for the user to run afterward. Do n
|
|
|
151
151
|
|
|
152
152
|
## Retry Command
|
|
153
153
|
|
|
154
|
-
|
|
154
|
+
Reset changes state only; it never starts execution and rejects `--run`. Always return reset and run as separate commands.
|
|
155
155
|
|
|
156
|
-
|
|
156
|
+
A standard reset can discard uncommitted changes when the target task branch is currently checked out and records a fresh-checkout boundary. Clean reset additionally deletes the task branch and clears task history/artifacts. Preserve-runtime failed recovery instead scans the whole selected list, restores every failed root and its causal `auto_skipped` descendants, and retains valid checkout identity, sessions, checkpoints, artifacts, branches, worktrees, and WIP. If a recorded branch is missing, it creates a replacement from the recorded base, retains old artifacts for reference, and rewinds implementation-and-later checkpoint stages. Never hide these effects behind the word “retry.”
|
|
157
157
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
- **
|
|
158
|
+
Use `AskUserQuestion` before constructing retry commands:
|
|
159
|
+
|
|
160
|
+
- **Preserve failed runtime (Recommended for continuing failed work)** — recover all failed chains in the selected list without cleanup, then run the list; disclose that this is whole-list recovery rather than a single-ID reset.
|
|
161
|
+
- **Standard fresh retry** — reset one bug, then run that bug separately; warn that the active task branch can lose uncommitted changes.
|
|
162
|
+
- **Clean retry** — reset one bug, delete its task branch/history/artifacts, then run it separately.
|
|
163
|
+
- **Cancel** — return no reset or run command.
|
|
164
|
+
|
|
165
|
+
Preserve-runtime template:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
python3 ./.prizmkit/dev-pipeline/cli.py reset bugfix --failed --preserve-runtime .prizmkit/plans/bug-fix-list.json
|
|
169
|
+
python3 ./.prizmkit/dev-pipeline/cli.py bugfix run .prizmkit/plans/bug-fix-list.json
|
|
170
|
+
```
|
|
161
171
|
|
|
162
172
|
Standard template:
|
|
163
173
|
|
|
164
174
|
```bash
|
|
165
|
-
python3 ./.prizmkit/dev-pipeline/cli.py reset bugfix B-001
|
|
175
|
+
python3 ./.prizmkit/dev-pipeline/cli.py reset bugfix B-001 .prizmkit/plans/bug-fix-list.json
|
|
176
|
+
python3 ./.prizmkit/dev-pipeline/cli.py bugfix run B-001 .prizmkit/plans/bug-fix-list.json
|
|
166
177
|
```
|
|
167
178
|
|
|
168
179
|
Clean template:
|
|
169
180
|
|
|
170
181
|
```bash
|
|
171
|
-
python3 ./.prizmkit/dev-pipeline/cli.py reset bugfix B-001 --clean
|
|
182
|
+
python3 ./.prizmkit/dev-pipeline/cli.py reset bugfix B-001 --clean .prizmkit/plans/bug-fix-list.json
|
|
183
|
+
python3 ./.prizmkit/dev-pipeline/cli.py bugfix run B-001 .prizmkit/plans/bug-fix-list.json
|
|
172
184
|
```
|
|
173
185
|
|
|
174
|
-
For clean retry, require explicit acknowledgement of branch deletion and possible uncommitted-change loss before displaying
|
|
186
|
+
`--preserve-runtime` requires `--failed` and cannot be combined with `--clean`, an ID, a range, or another reset filter. Retry-budget flags such as `--max-retries` and `--max-infra-retries` belong on the run command, never reset. For clean retry, require explicit acknowledgement of branch deletion and possible uncommitted-change loss before displaying either command.
|
|
175
187
|
|
|
176
188
|
## Output Contract
|
|
177
189
|
|
|
@@ -54,7 +54,7 @@ Classify the request before asking configuration questions:
|
|
|
54
54
|
| Check status | Daemon status and item-level status commands |
|
|
55
55
|
| Show logs | Recent or follow-log command |
|
|
56
56
|
| Stop | Daemon stop command plus optional status command |
|
|
57
|
-
| Retry
|
|
57
|
+
| Retry failed feature work | Preserve-runtime, standard, or clean reset plus a separate run command with safety disclosure |
|
|
58
58
|
|
|
59
59
|
Only the start intent uses the execution-mode and configuration rounds.
|
|
60
60
|
|
|
@@ -169,27 +169,39 @@ Optionally include the daemon status command for the user to run afterward. Do n
|
|
|
169
169
|
|
|
170
170
|
## Retry Command
|
|
171
171
|
|
|
172
|
-
|
|
172
|
+
Reset changes state only; it never starts execution and rejects `--run`. Always return reset and run as separate commands.
|
|
173
173
|
|
|
174
|
-
|
|
174
|
+
A standard reset can discard uncommitted changes when the target task branch is currently checked out and records a fresh-checkout boundary. Clean reset additionally deletes the task branch and clears task history/artifacts. Preserve-runtime failed recovery instead scans the whole selected list, restores every failed root and its causal `auto_skipped` descendants, and retains valid checkout identity, sessions, checkpoints, artifacts, branches, worktrees, and WIP. If a recorded branch is missing, it creates a replacement from the recorded base, retains old artifacts for reference, and rewinds implementation-and-later checkpoint stages. Never hide these effects behind the word “retry.”
|
|
175
175
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
- **
|
|
176
|
+
Use `AskUserQuestion` before constructing retry commands:
|
|
177
|
+
|
|
178
|
+
- **Preserve failed runtime (Recommended for continuing failed work)** — recover all failed chains in the selected list without cleanup, then run the list; disclose that this is whole-list recovery rather than a single-ID reset.
|
|
179
|
+
- **Standard fresh retry** — reset one feature, then run that feature separately; warn that the active task branch can lose uncommitted changes.
|
|
180
|
+
- **Clean retry** — reset one feature, delete its task branch/history/artifacts, then run it separately.
|
|
181
|
+
- **Cancel** — return no reset or run command.
|
|
182
|
+
|
|
183
|
+
Preserve-runtime template:
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
python3 ./.prizmkit/dev-pipeline/cli.py reset feature --failed --preserve-runtime .prizmkit/plans/feature-list.json
|
|
187
|
+
python3 ./.prizmkit/dev-pipeline/cli.py feature run .prizmkit/plans/feature-list.json
|
|
188
|
+
```
|
|
179
189
|
|
|
180
190
|
Standard template:
|
|
181
191
|
|
|
182
192
|
```bash
|
|
183
|
-
python3 ./.prizmkit/dev-pipeline/cli.py reset feature F-001
|
|
193
|
+
python3 ./.prizmkit/dev-pipeline/cli.py reset feature F-001 .prizmkit/plans/feature-list.json
|
|
194
|
+
python3 ./.prizmkit/dev-pipeline/cli.py feature run F-001 .prizmkit/plans/feature-list.json
|
|
184
195
|
```
|
|
185
196
|
|
|
186
197
|
Clean template:
|
|
187
198
|
|
|
188
199
|
```bash
|
|
189
|
-
python3 ./.prizmkit/dev-pipeline/cli.py reset feature F-001 --clean
|
|
200
|
+
python3 ./.prizmkit/dev-pipeline/cli.py reset feature F-001 --clean .prizmkit/plans/feature-list.json
|
|
201
|
+
python3 ./.prizmkit/dev-pipeline/cli.py feature run F-001 .prizmkit/plans/feature-list.json
|
|
190
202
|
```
|
|
191
203
|
|
|
192
|
-
For clean retry, require explicit acknowledgement of branch deletion and possible uncommitted-change loss before displaying
|
|
204
|
+
`--preserve-runtime` requires `--failed` and cannot be combined with `--clean`, an ID, a range, or another reset filter. Retry-budget flags such as `--max-retries` and `--max-infra-retries` belong on the run command, never reset. For clean retry, require explicit acknowledgement of branch deletion and possible uncommitted-change loss before displaying either command.
|
|
193
205
|
|
|
194
206
|
## Output Contract
|
|
195
207
|
|
|
@@ -52,7 +52,7 @@ Read `${SKILL_DIR}/references/configuration.md` before constructing prerequisite
|
|
|
52
52
|
| Check status | Daemon status and item-level status commands |
|
|
53
53
|
| Show logs | Recent or follow-log command |
|
|
54
54
|
| Stop | Daemon stop command plus optional status command |
|
|
55
|
-
| Retry
|
|
55
|
+
| Retry failed refactor work | Preserve-runtime, standard, or clean reset plus a separate run command with safety disclosure |
|
|
56
56
|
|
|
57
57
|
Only the start intent uses the execution-mode and configuration rounds.
|
|
58
58
|
|
|
@@ -164,27 +164,39 @@ Optionally include the daemon status command for the user to run afterward. Do n
|
|
|
164
164
|
|
|
165
165
|
## Retry Command
|
|
166
166
|
|
|
167
|
-
|
|
167
|
+
Reset changes state only; it never starts execution and rejects `--run`. Always return reset and run as separate commands.
|
|
168
168
|
|
|
169
|
-
|
|
169
|
+
A standard reset can discard uncommitted changes when the target task branch is currently checked out and records a fresh-checkout boundary. Clean reset additionally deletes the task branch and clears task history/artifacts. Preserve-runtime failed recovery instead scans the whole selected list, restores every failed root and its causal `auto_skipped` descendants, and retains valid checkout identity, sessions, checkpoints, artifacts, branches, worktrees, and WIP. If a recorded branch is missing, it creates a replacement from the recorded base, retains old artifacts for reference, and rewinds implementation-and-later checkpoint stages. Never hide these effects behind the word “retry.”
|
|
170
170
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
- **
|
|
171
|
+
Use `AskUserQuestion` before constructing retry commands:
|
|
172
|
+
|
|
173
|
+
- **Preserve failed runtime (Recommended for continuing failed work)** — recover all failed chains in the selected list without cleanup, then run the list; disclose that this is whole-list recovery rather than a single-ID reset.
|
|
174
|
+
- **Standard fresh retry** — reset one refactor, then run that refactor separately; warn that the active task branch can lose uncommitted changes.
|
|
175
|
+
- **Clean retry** — reset one refactor, delete its task branch/history/artifacts, then run it separately.
|
|
176
|
+
- **Cancel** — return no reset or run command.
|
|
177
|
+
|
|
178
|
+
Preserve-runtime template:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
python3 ./.prizmkit/dev-pipeline/cli.py reset refactor --failed --preserve-runtime .prizmkit/plans/refactor-list.json
|
|
182
|
+
python3 ./.prizmkit/dev-pipeline/cli.py refactor run .prizmkit/plans/refactor-list.json
|
|
183
|
+
```
|
|
174
184
|
|
|
175
185
|
Standard template:
|
|
176
186
|
|
|
177
187
|
```bash
|
|
178
|
-
python3 ./.prizmkit/dev-pipeline/cli.py reset refactor R-001
|
|
188
|
+
python3 ./.prizmkit/dev-pipeline/cli.py reset refactor R-001 .prizmkit/plans/refactor-list.json
|
|
189
|
+
python3 ./.prizmkit/dev-pipeline/cli.py refactor run R-001 .prizmkit/plans/refactor-list.json
|
|
179
190
|
```
|
|
180
191
|
|
|
181
192
|
Clean template:
|
|
182
193
|
|
|
183
194
|
```bash
|
|
184
|
-
python3 ./.prizmkit/dev-pipeline/cli.py reset refactor R-001 --clean
|
|
195
|
+
python3 ./.prizmkit/dev-pipeline/cli.py reset refactor R-001 --clean .prizmkit/plans/refactor-list.json
|
|
196
|
+
python3 ./.prizmkit/dev-pipeline/cli.py refactor run R-001 .prizmkit/plans/refactor-list.json
|
|
185
197
|
```
|
|
186
198
|
|
|
187
|
-
For clean retry, require explicit acknowledgement of branch deletion and possible uncommitted-change loss before displaying
|
|
199
|
+
`--preserve-runtime` requires `--failed` and cannot be combined with `--clean`, an ID, a range, or another reset filter. Retry-budget flags such as `--max-retries` and `--max-infra-retries` belong on the run command, never reset. For clean retry, require explicit acknowledgement of branch deletion and possible uncommitted-change loss before displaying either command.
|
|
188
200
|
|
|
189
201
|
## Output Contract
|
|
190
202
|
|
|
@@ -32,6 +32,44 @@ This project uses PrizmKit with the Prizm documentation system for AI-optimized
|
|
|
32
32
|
### Available Commands
|
|
33
33
|
Run `/prizmkit` to see all available PrizmKit commands.
|
|
34
34
|
|
|
35
|
+
### Python Runtime CLI Quick Reference
|
|
36
|
+
|
|
37
|
+
Placeholders: `<family> = feature | bugfix | refactor`; `<task-id> = F-NNN | B-NNN | R-NNN`; `<list>` is optional and defaults by family:
|
|
38
|
+
|
|
39
|
+
| `<family>` | Default `<list>` |
|
|
40
|
+
|---|---|
|
|
41
|
+
| `feature` | `.prizmkit/plans/feature-list.json` |
|
|
42
|
+
| `bugfix` | `.prizmkit/plans/bug-fix-list.json` |
|
|
43
|
+
| `refactor` | `.prizmkit/plans/refactor-list.json` |
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Run/resume the whole list or one task
|
|
47
|
+
python3 ./.prizmkit/dev-pipeline/cli.py <family> run [<list>] [--max-retries N] [--max-infra-retries N]
|
|
48
|
+
python3 ./.prizmkit/dev-pipeline/cli.py <family> run <task-id> [<list>] [--max-retries N] [--max-infra-retries N]
|
|
49
|
+
|
|
50
|
+
# Inspect or recover task state
|
|
51
|
+
python3 ./.prizmkit/dev-pipeline/cli.py <family> status [<list>]
|
|
52
|
+
python3 ./.prizmkit/dev-pipeline/cli.py <family> unskip [<task-id>] [<list>]
|
|
53
|
+
python3 ./.prizmkit/dev-pipeline/cli.py recovery detect
|
|
54
|
+
|
|
55
|
+
# Reset state (never starts execution)
|
|
56
|
+
python3 ./.prizmkit/dev-pipeline/cli.py reset <family> <task-id> [<list>]
|
|
57
|
+
python3 ./.prizmkit/dev-pipeline/cli.py reset <family> --failed --preserve-runtime [<list>]
|
|
58
|
+
python3 ./.prizmkit/dev-pipeline/cli.py reset <family> <task-id> --clean [<list>]
|
|
59
|
+
|
|
60
|
+
# Background operation
|
|
61
|
+
python3 ./.prizmkit/dev-pipeline/cli.py daemon <family> start [<list>]
|
|
62
|
+
python3 ./.prizmkit/dev-pipeline/cli.py daemon <family> status
|
|
63
|
+
python3 ./.prizmkit/dev-pipeline/cli.py daemon <family> logs [--lines N|--follow]
|
|
64
|
+
python3 ./.prizmkit/dev-pipeline/cli.py daemon <family> stop
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Runtime boundaries:
|
|
68
|
+
- Reset and run are separate operations; reset rejects `--run`. Retry ceilings belong to `run`, not reset.
|
|
69
|
+
- `--preserve-runtime` requires `--failed`, scans the whole selected list, and cannot be combined with `--clean`, an ID/range, or another reset filter.
|
|
70
|
+
- Preserve-runtime recovery keeps valid checkout identity, sessions, checkpoints, artifacts, branches, worktrees, and WIP. If the recorded branch is missing, it creates a replacement from the recorded base and rewinds implementation-and-later checkpoint stages while retaining old artifacts for reference. Clean reset is destructive.
|
|
71
|
+
- In zsh/Bash multiline commands, `\` must be the final character on the line with no trailing space.
|
|
72
|
+
|
|
35
73
|
### Lightweight Planning Path
|
|
36
74
|
Not every change needs the full formal-requirement lifecycle. Use the lightweight path for:
|
|
37
75
|
- Bug fixes with clear root cause, config tweaks, typo fixes, simple refactors
|