theslopmachine 0.4.9 → 0.5.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/README.md +182 -151
- package/RELEASE.md +3 -0
- package/assets/agents/developer.md +54 -5
- package/assets/agents/slopmachine-claude.md +386 -0
- package/assets/agents/slopmachine.md +66 -2
- package/assets/claude/agents/developer.md +94 -0
- package/assets/skills/clarification-gate/SKILL.md +15 -4
- package/assets/skills/claude-worker-management/SKILL.md +155 -0
- package/assets/skills/developer-session-lifecycle/SKILL.md +11 -4
- package/assets/skills/development-guidance/SKILL.md +4 -6
- package/assets/skills/evaluation-triage/SKILL.md +6 -3
- package/assets/skills/final-evaluation-orchestration/SKILL.md +7 -7
- package/assets/skills/hardening-gate/SKILL.md +3 -3
- package/assets/skills/integrated-verification/SKILL.md +4 -4
- package/assets/skills/planning-gate/SKILL.md +36 -9
- package/assets/skills/planning-guidance/SKILL.md +29 -18
- package/assets/skills/scaffold-guidance/SKILL.md +20 -11
- package/assets/skills/submission-packaging/SKILL.md +14 -11
- package/assets/skills/verification-gates/SKILL.md +23 -17
- package/assets/slopmachine/templates/AGENTS.md +15 -80
- package/assets/slopmachine/utils/claude_create_session.mjs +28 -0
- package/assets/slopmachine/utils/claude_export_session.mjs +19 -0
- package/assets/slopmachine/utils/claude_resume_session.mjs +28 -0
- package/assets/slopmachine/utils/claude_worker_common.mjs +225 -0
- package/assets/slopmachine/utils/convert_exported_ai_session.mjs +72 -0
- package/assets/slopmachine/utils/export_ai_session.mjs +42 -0
- package/assets/slopmachine/utils/prepare_ai_session_for_convert.mjs +51 -0
- package/package.json +1 -1
- package/src/cli.js +14 -0
- package/src/config.js +106 -0
- package/src/constants.js +16 -9
- package/src/init.js +4 -1
- package/src/install.js +78 -8
- package/src/send-data.js +536 -0
- package/src/set-token.js +12 -0
- package/src/utils.js +25 -0
package/README.md
CHANGED
|
@@ -1,234 +1,265 @@
|
|
|
1
1
|
# theslopmachine
|
|
2
2
|
|
|
3
|
-
`theslopmachine`
|
|
3
|
+
`theslopmachine` installs and bootstraps the SlopMachine workflow for OpenCode.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
It configures:
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
- the `slopmachine` owner agent
|
|
8
|
+
- the `slopmachine-claude` owner agent
|
|
9
|
+
- the `developer` implementation agent
|
|
10
|
+
- required skills under `~/.agents/skills/`
|
|
11
|
+
- Claude worker runtime assets under `~/.claude/`
|
|
12
|
+
- workflow support files under `~/slopmachine/`
|
|
13
|
+
- OpenCode MCP entries for `context7` and `exa`
|
|
14
14
|
|
|
15
|
-
Requirements
|
|
15
|
+
## Requirements
|
|
16
16
|
|
|
17
17
|
- Node.js 18+
|
|
18
18
|
- `git`
|
|
19
|
-
- Docker
|
|
20
|
-
- `
|
|
19
|
+
- Docker
|
|
20
|
+
- `python3`
|
|
21
|
+
- `opencode`
|
|
22
|
+
- `br` (`beads_rust`)
|
|
23
|
+
|
|
24
|
+
`slopmachine setup` verifies or installs what it can.
|
|
25
|
+
|
|
26
|
+
## Install
|
|
21
27
|
|
|
22
|
-
|
|
28
|
+
From this package directory:
|
|
23
29
|
|
|
24
30
|
```bash
|
|
25
31
|
npm install
|
|
26
32
|
npm run check
|
|
27
33
|
npm pack
|
|
28
|
-
npm install -g ./theslopmachine
|
|
34
|
+
npm install -g ./theslopmachine-0.5.0.tgz
|
|
29
35
|
```
|
|
30
36
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
For local package development instead of global install:
|
|
37
|
+
For local development instead:
|
|
34
38
|
|
|
35
39
|
```bash
|
|
36
40
|
npm link
|
|
37
41
|
```
|
|
38
42
|
|
|
39
|
-
|
|
43
|
+
## Commands
|
|
40
44
|
|
|
41
|
-
|
|
45
|
+
### `slopmachine setup`
|
|
42
46
|
|
|
43
|
-
|
|
47
|
+
Use this once per machine, then rerun any time you want to refresh packaged assets.
|
|
44
48
|
|
|
45
49
|
```bash
|
|
46
50
|
slopmachine setup
|
|
47
51
|
```
|
|
48
52
|
|
|
49
|
-
|
|
53
|
+
What it does:
|
|
50
54
|
|
|
51
|
-
- installs `opencode
|
|
52
|
-
-
|
|
53
|
-
- installs
|
|
54
|
-
- installs
|
|
55
|
-
- installs
|
|
55
|
+
- verifies or installs `opencode`
|
|
56
|
+
- verifies `br`, `git`, `python3`, and Docker
|
|
57
|
+
- installs packaged agents into `~/.config/opencode/agents/`
|
|
58
|
+
- installs packaged skills into `~/.agents/skills/`
|
|
59
|
+
- installs Claude runtime assets into `~/.claude/`
|
|
60
|
+
- installs workflow files into `~/slopmachine/`
|
|
56
61
|
- updates `~/.config/opencode/opencode.json`
|
|
57
|
-
-
|
|
62
|
+
- ensures packaged MCP entries for `context7` and `exa`
|
|
63
|
+
- optionally asks for an upload token if one is not already stored
|
|
64
|
+
|
|
65
|
+
Notes:
|
|
66
|
+
|
|
67
|
+
- existing upload token is preserved and setup skips that prompt when one already exists
|
|
68
|
+
- existing `context7` and `exa` entries are preserved if already configured
|
|
69
|
+
- package-managed assets are refreshed on rerun
|
|
70
|
+
|
|
71
|
+
### `slopmachine init`
|
|
72
|
+
|
|
73
|
+
Use this in a new or empty project directory to create a SlopMachine workspace.
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
mkdir my-project
|
|
77
|
+
cd my-project
|
|
78
|
+
slopmachine init
|
|
79
|
+
```
|
|
58
80
|
|
|
59
|
-
|
|
81
|
+
Or open OpenCode immediately after bootstrap:
|
|
60
82
|
|
|
61
83
|
```bash
|
|
62
|
-
slopmachine
|
|
84
|
+
slopmachine init -o
|
|
63
85
|
```
|
|
64
86
|
|
|
65
|
-
|
|
87
|
+
What it creates:
|
|
88
|
+
|
|
89
|
+
- `repo/`
|
|
90
|
+
- `docs/`
|
|
91
|
+
- `sessions/`
|
|
92
|
+
- `metadata.json`
|
|
93
|
+
- `.ai/metadata.json`
|
|
94
|
+
- root `.beads/`
|
|
95
|
+
- `repo/AGENTS.md`
|
|
66
96
|
|
|
67
|
-
|
|
97
|
+
Important details:
|
|
68
98
|
|
|
69
|
-
|
|
99
|
+
- `run_id` is created in `.ai/metadata.json`
|
|
100
|
+
- the workspace root is the parent directory containing `repo/`
|
|
101
|
+
- Beads lives in the workspace root, not inside `repo/`
|
|
70
102
|
|
|
71
|
-
|
|
72
|
-
- Exa: `https://exa.ai`
|
|
103
|
+
### `slopmachine set-token`
|
|
73
104
|
|
|
74
|
-
|
|
105
|
+
Stores the upload token used by `send-data`.
|
|
75
106
|
|
|
76
107
|
```bash
|
|
77
|
-
|
|
108
|
+
slopmachine set-token
|
|
78
109
|
```
|
|
79
110
|
|
|
80
|
-
|
|
111
|
+
Behavior:
|
|
81
112
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
113
|
+
- prompts for the plaintext upload token
|
|
114
|
+
- stores it in `~/.config/slopmachine/config.json`
|
|
115
|
+
- replaces an existing token if one is already stored
|
|
116
|
+
- does not validate the token over the network during entry
|
|
85
117
|
|
|
86
|
-
|
|
118
|
+
### `slopmachine send-data <owner-session-id>`
|
|
87
119
|
|
|
88
|
-
|
|
120
|
+
Exports workflow artifacts and uploads them to the configured Supabase endpoint.
|
|
89
121
|
|
|
90
122
|
```bash
|
|
91
|
-
|
|
92
|
-
cd my-project
|
|
93
|
-
slopmachine init
|
|
123
|
+
slopmachine send-data <owner-session-id>
|
|
94
124
|
```
|
|
95
125
|
|
|
96
|
-
|
|
126
|
+
Supported options:
|
|
97
127
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
128
|
+
- `--dry-run`
|
|
129
|
+
- `--yes`
|
|
130
|
+
- `--label <text>`
|
|
131
|
+
- `--project-id <id>`
|
|
132
|
+
- `--output <path>`
|
|
133
|
+
- `--endpoint <url>`
|
|
103
134
|
|
|
104
|
-
|
|
135
|
+
Examples:
|
|
105
136
|
|
|
106
137
|
```bash
|
|
107
|
-
|
|
108
|
-
|
|
138
|
+
slopmachine send-data ses_abc123
|
|
139
|
+
slopmachine send-data ses_abc123 --dry-run
|
|
140
|
+
slopmachine send-data ses_abc123 --yes --label sprint-12
|
|
141
|
+
slopmachine send-data ses_abc123 --endpoint "https://<project-ref>.supabase.co/functions/v1/slopmachine-upload"
|
|
109
142
|
```
|
|
110
143
|
|
|
111
|
-
|
|
144
|
+
Where to run it:
|
|
112
145
|
|
|
113
|
-
|
|
146
|
+
- preferred: workspace root
|
|
147
|
+
- also supported: `repo/`
|
|
114
148
|
|
|
115
|
-
|
|
116
|
-
- `docs/` for workflow documentation and evidence
|
|
117
|
-
- `sessions/` for exported session artifacts
|
|
118
|
-
- `metadata.json` for project workflow metadata
|
|
119
|
-
- `repo/AGENTS.md` for the repo-local agent instructions
|
|
149
|
+
If run from `repo/`, the command resolves the parent workspace root automatically.
|
|
120
150
|
|
|
121
|
-
|
|
151
|
+
What it exports live:
|
|
122
152
|
|
|
123
|
-
|
|
153
|
+
- owner session from the positional `owner-session-id`
|
|
154
|
+
- developer sessions from `.ai/metadata.json`
|
|
155
|
+
- `beads-export.json` from root `.beads/`
|
|
124
156
|
|
|
125
|
-
|
|
157
|
+
What it includes when present:
|
|
126
158
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
159
|
+
- `self-test-run.md`
|
|
160
|
+
- `self-test-fixes.md`
|
|
161
|
+
- `retrospective-<run_id>.md`
|
|
162
|
+
- `improvement-actions-<run_id>.md`
|
|
163
|
+
- `metadata.json`
|
|
164
|
+
- `ai-metadata.json`
|
|
165
|
+
- `manifest.json`
|
|
133
166
|
|
|
134
|
-
-
|
|
135
|
-
- every bootstrapped project must expose one primary broad test command: `./run_tests.sh`
|
|
136
|
-
- for Dockerized web backend or fullstack projects, the expected broad runtime command is `docker compose up --build`
|
|
137
|
-
- for non-Docker runtime cases, the expected broad runtime command is usually `./run_app.sh`
|
|
167
|
+
Fail-fast conditions:
|
|
138
168
|
|
|
139
|
-
|
|
169
|
+
- missing owner session id argument
|
|
170
|
+
- missing `.ai/metadata.json`
|
|
171
|
+
- missing `run_id`
|
|
172
|
+
- missing tracked developer session ids
|
|
173
|
+
- owner session export failure
|
|
174
|
+
- developer session export failure
|
|
140
175
|
|
|
141
|
-
-
|
|
142
|
-
- treat `./run_tests.sh` as a broad gate, not an ordinary every-step verification command
|
|
143
|
-
- for Dockerized web backend and fullstack projects, scaffold acceptance should establish both `docker compose up --build` and `./run_tests.sh`
|
|
176
|
+
Warn-only conditions:
|
|
144
177
|
|
|
145
|
-
|
|
178
|
+
- missing `self-test-run.md`
|
|
179
|
+
- missing `self-test-fixes.md`
|
|
180
|
+
- missing retrospective files
|
|
146
181
|
|
|
147
|
-
|
|
182
|
+
Output behavior:
|
|
148
183
|
|
|
149
|
-
-
|
|
150
|
-
-
|
|
151
|
-
-
|
|
184
|
+
- creates a flat zip archive
|
|
185
|
+
- keeps the local zip by default
|
|
186
|
+
- default zip path:
|
|
187
|
+
- `~/slopmachine/retrospectives/send-data-<run_id>.zip`
|
|
188
|
+
- shows a preview before upload unless `--yes` is passed
|
|
152
189
|
|
|
153
|
-
|
|
190
|
+
## Config Files
|
|
154
191
|
|
|
155
|
-
|
|
156
|
-
2. `P1 Clarification`
|
|
157
|
-
3. `P2 Planning`
|
|
158
|
-
4. `P3 Scaffold`
|
|
159
|
-
5. `P4 Development`
|
|
160
|
-
6. `P5 Integrated Verification`
|
|
161
|
-
7. `P6 Hardening`
|
|
162
|
-
8. `P7 Evaluation and Fix Verification`
|
|
163
|
-
9. `P8 Final Human Decision`
|
|
164
|
-
10. `P9 Submission Packaging`
|
|
165
|
-
11. `P10 Retrospective`
|
|
192
|
+
Machine-level config:
|
|
166
193
|
|
|
167
|
-
|
|
194
|
+
- `~/.config/slopmachine/config.json`
|
|
168
195
|
|
|
169
|
-
|
|
170
|
-
- prefer targeted reads and focused local verification during implementation
|
|
171
|
-
- keep environment-specific state out of the package
|
|
172
|
-
- do not package local runtime artifacts, caches, editor folders, or generated dependency environments
|
|
196
|
+
Current schema:
|
|
173
197
|
|
|
174
|
-
|
|
198
|
+
```json
|
|
199
|
+
{
|
|
200
|
+
"upload": {
|
|
201
|
+
"endpoint": "https://<project-ref>.supabase.co/functions/v1/slopmachine-upload",
|
|
202
|
+
"token": "sm_u_...",
|
|
203
|
+
"timeoutMs": 30000
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
```
|
|
175
207
|
|
|
176
|
-
|
|
177
|
-
- do not hardcode database-specific environment state into packaged assets
|
|
178
|
-
- do not ship database files such as `.db`, `.sqlite`, dumps, or seeded local database artifacts in the package
|
|
208
|
+
OpenCode config managed by setup:
|
|
179
209
|
|
|
180
|
-
|
|
210
|
+
- `~/.config/opencode/opencode.json`
|
|
181
211
|
|
|
182
|
-
|
|
212
|
+
Packaged MCPs managed by setup:
|
|
183
213
|
|
|
184
|
-
|
|
214
|
+
- `context7`
|
|
215
|
+
- `exa`
|
|
185
216
|
|
|
186
|
-
|
|
187
|
-
- skills: `~/.agents/skills/`
|
|
188
|
-
- OpenCode config: `~/.config/opencode/opencode.json`
|
|
189
|
-
- packaged workflow files: `~/slopmachine/`
|
|
217
|
+
## Installed Assets
|
|
190
218
|
|
|
191
|
-
|
|
219
|
+
Agents:
|
|
192
220
|
|
|
193
221
|
- `~/.config/opencode/agents/slopmachine.md`
|
|
222
|
+
- `~/.config/opencode/agents/slopmachine-claude.md`
|
|
194
223
|
- `~/.config/opencode/agents/developer.md`
|
|
195
224
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
- `~/.agents/skills
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
- `~/.agents/
|
|
203
|
-
- `~/.
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
225
|
+
Skills:
|
|
226
|
+
|
|
227
|
+
- installed under `~/.agents/skills/`
|
|
228
|
+
|
|
229
|
+
Claude runtime assets:
|
|
230
|
+
|
|
231
|
+
- `~/.claude/agents/developer.md`
|
|
232
|
+
- `~/.claude/skills/frontend-design/`
|
|
233
|
+
|
|
234
|
+
Workflow files:
|
|
235
|
+
|
|
236
|
+
- installed under `~/slopmachine/`
|
|
237
|
+
|
|
238
|
+
## Verification
|
|
239
|
+
|
|
240
|
+
Package-level check:
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
npm run check
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
Basic machine verification:
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
slopmachine --help
|
|
250
|
+
slopmachine set-token
|
|
251
|
+
slopmachine setup
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
`send-data` verification:
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
slopmachine send-data <owner-session-id> --dry-run --endpoint "https://<project-ref>.supabase.co/functions/v1/slopmachine-upload"
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
## Notes
|
|
261
|
+
|
|
262
|
+
- the upload token is machine-level state and is not stored in the repo
|
|
263
|
+
- the owner session id is currently supplied manually to `send-data`
|
|
264
|
+
- developer session ids come from `.ai/metadata.json`
|
|
265
|
+
- broad workflow files and session exports live at workspace root, not inside `repo/`
|
package/RELEASE.md
CHANGED
|
@@ -74,8 +74,11 @@ Check that the tarball includes:
|
|
|
74
74
|
And specifically verify that the tarball includes the current workflow assets:
|
|
75
75
|
|
|
76
76
|
- `assets/agents/slopmachine.md`
|
|
77
|
+
- `assets/agents/slopmachine-claude.md`
|
|
77
78
|
- `assets/agents/developer.md`
|
|
79
|
+
- `assets/claude/agents/developer.md`
|
|
78
80
|
- `assets/skills/clarification-gate/`
|
|
81
|
+
- `assets/skills/claude-worker-management/`
|
|
79
82
|
- `assets/skills/planning-guidance/`
|
|
80
83
|
- `assets/skills/submission-packaging/`
|
|
81
84
|
- `assets/slopmachine/templates/AGENTS.md`
|
|
@@ -32,6 +32,7 @@ Read and follow `AGENTS.md` before implementing.
|
|
|
32
32
|
- do real verification, not confidence theater
|
|
33
33
|
- keep moving until the assigned work is materially complete or concretely blocked
|
|
34
34
|
- do not stop for unnecessary intermediate check-ins
|
|
35
|
+
- use independent engineering judgment; do not behave like a passive worker waiting to be corrected later
|
|
35
36
|
|
|
36
37
|
## Requirements And Planning
|
|
37
38
|
|
|
@@ -41,18 +42,28 @@ Before coding:
|
|
|
41
42
|
- surface meaningful ambiguity instead of silently guessing
|
|
42
43
|
- make the plan concrete enough to drive real implementation
|
|
43
44
|
- keep frontend/backend surfaces aligned when both sides matter
|
|
45
|
+
- check prompt-fit before reporting completion; if the requested result still has visible gaps, keep working or call them out explicitly
|
|
44
46
|
|
|
45
47
|
Do not narrow scope for convenience.
|
|
46
48
|
|
|
49
|
+
Do not introduce convenience-based simplifications, `v1` reductions, future-phase deferrals, actor/model reductions, or workflow omissions unless one of these is true:
|
|
50
|
+
|
|
51
|
+
- the original prompt explicitly allows it
|
|
52
|
+
- the approved clarification explicitly allows it
|
|
53
|
+
- the owner explicitly instructs it in the current session
|
|
54
|
+
|
|
55
|
+
If a simplification would make implementation easier but is not explicitly authorized, keep the full prompt scope and plan the real complexity instead.
|
|
56
|
+
|
|
47
57
|
## Execution Model
|
|
48
58
|
|
|
49
59
|
- implement real behavior, not placeholders
|
|
50
60
|
- keep user-facing and admin-facing flows complete through their real surfaces
|
|
51
61
|
- verify the changed area locally and realistically before reporting completion
|
|
52
|
-
-
|
|
53
|
-
- keep repo-
|
|
62
|
+
- keep `README.md` as the only documentation file inside the repo unless the user explicitly asks for something else
|
|
63
|
+
- keep the repo self-sufficient and statically reviewable through code plus `README.md`; do not rely on runtime success alone to make the project understandable
|
|
54
64
|
- keep the repo self-sufficient; do not make it depend on parent-directory docs or sibling artifacts for startup, build/preview, configuration, verification, or basic understanding
|
|
55
65
|
- do not touch workflow or rulebook files such as `AGENTS.md` unless explicitly asked
|
|
66
|
+
- if the work changes acceptance-critical docs or contracts, review those docs yourself before replying instead of assuming the owner will catch inconsistencies later
|
|
56
67
|
|
|
57
68
|
## Verification Cadence
|
|
58
69
|
|
|
@@ -89,14 +100,42 @@ Selected-stack defaults:
|
|
|
89
100
|
- do not hardcode secrets or leave prototype residue behind
|
|
90
101
|
- when the project has database dependencies, keep database setup in `./init_db.sh` rather than scattered repo logic
|
|
91
102
|
- do not hardcode database connection values or database bootstrap values anywhere in the repo
|
|
92
|
-
-
|
|
103
|
+
- for Dockerized web projects, do not require manual `export ...` steps for `docker compose up --build`
|
|
104
|
+
- for Dockerized web projects, prefer an automatically invoked dev-only runtime bootstrap script instead of checked-in `.env` files or hardcoded runtime values
|
|
105
|
+
- if the project uses mock, stub, fake, or local-data behavior, disclose that scope accurately in `README.md` instead of implying real backend or production behavior
|
|
93
106
|
- if mock or interception behavior is enabled by default, document that clearly
|
|
94
|
-
- disclose feature flags, debug/demo surfaces, and default enabled states clearly in
|
|
95
|
-
- keep frontend state requirements explicit in code and
|
|
107
|
+
- disclose feature flags, debug/demo surfaces, and default enabled states clearly in `README.md` when they exist
|
|
108
|
+
- keep frontend state requirements explicit in code and `README.md` for prompt-critical flows when they materially affect usage
|
|
96
109
|
- use a shared logging path and avoid random print-style debugging as the durable implementation pattern
|
|
97
110
|
- use a shared validation/error-handling path when validation materially affects the flow
|
|
98
111
|
- do not hide missing failure handling behind fake-success paths
|
|
99
112
|
|
|
113
|
+
## Completion Preflight
|
|
114
|
+
|
|
115
|
+
Before reporting a planning package, scaffold, implementation slice, or fix round as ready, run this preflight yourself:
|
|
116
|
+
|
|
117
|
+
- prompt-fit: does the result still satisfy the original request without silent narrowing?
|
|
118
|
+
- no convenience narrowing: did you avoid inventing unauthorized `v1` reductions, role simplifications, deferred workflows, or reduced enforcement models?
|
|
119
|
+
- consistency: do code, docs, route contracts, security notes, and runtime/test commands agree?
|
|
120
|
+
- flow completeness: are the user-facing and operator-facing flows touched by this work actually covered end to end?
|
|
121
|
+
- security and permissions: are auth, RBAC, object-level checks, sensitive actions, and audit implications handled where relevant?
|
|
122
|
+
- verification: did you run the strongest targeted checks that are appropriate without using owner-only broad gates?
|
|
123
|
+
- reviewability: can the owner review this work by reading the changed files and a small number of directly related files?
|
|
124
|
+
- test-coverage specificity: if the owner asked you to help shape coverage evidence, does it map concrete requirement/risk points to planned test files, key assertions, coverage status, and real remaining gaps rather than generic categories?
|
|
125
|
+
|
|
126
|
+
If any answer is no, fix it before replying or call out the blocker explicitly.
|
|
127
|
+
|
|
128
|
+
When you make an assumption, keep it prompt-preserving by default. If an assumption would reduce scope, mark it as unresolved instead of silently locking it in.
|
|
129
|
+
|
|
130
|
+
If the owner asks you to help shape test-coverage evidence, make it acceptance-grade on first pass:
|
|
131
|
+
|
|
132
|
+
- one explicit row or subsection per requirement/risk cluster
|
|
133
|
+
- planned test file or test layer named concretely
|
|
134
|
+
- key assertions named concretely
|
|
135
|
+
- coverage status called out explicitly
|
|
136
|
+
- real remaining gap or next test addition named explicitly
|
|
137
|
+
- include backend/fullstack auth/error/authorization/masking/filter/sort coverage where relevant
|
|
138
|
+
|
|
100
139
|
## Skills
|
|
101
140
|
|
|
102
141
|
- use relevant framework or language skills when they materially help the current task
|
|
@@ -109,3 +148,13 @@ Selected-stack defaults:
|
|
|
109
148
|
- always name the exact verification commands you ran and the concrete results they produced
|
|
110
149
|
- if you ran no verification command for part of the work, say that explicitly instead of implying broader proof than you have
|
|
111
150
|
- if a problem needs a real fix, fix it instead of explaining around it
|
|
151
|
+
|
|
152
|
+
Use this reply shape for substantive work:
|
|
153
|
+
|
|
154
|
+
1. `Changed files` — exact files changed
|
|
155
|
+
2. `What changed` — the concrete behavior/contract updates in those files
|
|
156
|
+
3. `Why this should pass review` — prompt-fit, no unauthorized narrowing, and consistency check in 2-5 bullets
|
|
157
|
+
4. `Verification` — exact commands run and exact results
|
|
158
|
+
5. `Remaining risks` — only the real unresolved weaknesses, if any
|
|
159
|
+
|
|
160
|
+
Keep the reply compact. Point to the exact changed files and the narrow supporting files the owner should read next.
|