theslopmachine 0.3.7 → 0.4.0
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/MANUAL.md +13 -9
- package/README.md +163 -3
- package/RELEASE.md +11 -3
- package/assets/agents/developer-v2.md +86 -0
- package/assets/agents/developer.md +21 -23
- package/assets/agents/slopmachine-v2.md +219 -0
- package/assets/agents/slopmachine.md +56 -38
- package/assets/skills/beads-operations/SKILL.md +32 -31
- package/assets/skills/beads-operations-v2/SKILL.md +82 -0
- package/assets/skills/clarification-gate/SKILL.md +8 -1
- package/assets/skills/clarification-gate-v2/SKILL.md +74 -0
- package/assets/skills/developer-session-lifecycle/SKILL.md +45 -14
- package/assets/skills/developer-session-lifecycle-v2/SKILL.md +148 -0
- package/assets/skills/development-guidance-v2/SKILL.md +60 -0
- package/assets/skills/evaluation-triage-v2/SKILL.md +38 -0
- package/assets/skills/final-evaluation-orchestration/SKILL.md +9 -11
- package/assets/skills/final-evaluation-orchestration-v2/SKILL.md +57 -0
- package/assets/skills/get-overlays/SKILL.md +77 -6
- package/assets/skills/hardening-gate-v2/SKILL.md +64 -0
- package/assets/skills/integrated-verification-v2/SKILL.md +47 -0
- package/assets/skills/owner-evidence-discipline-v2/SKILL.md +15 -0
- package/assets/skills/planning-gate/SKILL.md +6 -4
- package/assets/skills/planning-gate-v2/SKILL.md +91 -0
- package/assets/skills/planning-guidance-v2/SKILL.md +100 -0
- package/assets/skills/remediation-guidance-v2/SKILL.md +31 -0
- package/assets/skills/report-output-discipline-v2/SKILL.md +15 -0
- package/assets/skills/scaffold-guidance-v2/SKILL.md +57 -0
- package/assets/skills/session-rollover-v2/SKILL.md +41 -0
- package/assets/skills/submission-packaging/SKILL.md +147 -115
- package/assets/skills/submission-packaging-v2/SKILL.md +142 -0
- package/assets/skills/verification-gates/SKILL.md +44 -16
- package/assets/skills/verification-gates-v2/SKILL.md +102 -0
- package/assets/slopmachine/backend-evaluation-prompt.md +9 -2
- package/assets/slopmachine/frontend-evaluation-prompt.md +9 -2
- package/assets/slopmachine/templates/AGENTS-v2.md +55 -0
- package/assets/slopmachine/templates/AGENTS.md +20 -17
- package/assets/slopmachine/tracker-init.js +104 -0
- package/assets/slopmachine/workflow-init-v2.js +99 -0
- package/package.json +1 -1
- package/src/constants.js +22 -3
- package/src/init.js +33 -28
- package/src/install.js +186 -140
- package/src/utils.js +19 -0
- package/assets/slopmachine/beads-init.js +0 -439
|
@@ -15,6 +15,7 @@ Use this skill only when the project has already passed integrated verification,
|
|
|
15
15
|
- Packaging is not cleanup theater. Preserve required evidence and remove only local junk, caches, and accidental noise.
|
|
16
16
|
- Do not declare packaging complete early.
|
|
17
17
|
- Packaging is incomplete until every required step in this skill has been executed and every required artifact path has been verified to exist.
|
|
18
|
+
- do not stop packaging for approval, status confirmation, or handoff once this phase has begun; continue until the package is complete
|
|
18
19
|
|
|
19
20
|
## Completion discipline
|
|
20
21
|
|
|
@@ -28,7 +29,8 @@ Use this skill only when the project has already passed integrated verification,
|
|
|
28
29
|
|
|
29
30
|
- produce the exact required delivery structure
|
|
30
31
|
- make the package reviewable and reproducible
|
|
31
|
-
-
|
|
32
|
+
- keep development docs separate from final generated submission artifacts
|
|
33
|
+
- include the required docs, metadata, submission artifacts, evidence, and session artifacts
|
|
32
34
|
- exclude local-only junk, transient noise, and secret material
|
|
33
35
|
|
|
34
36
|
## Required final structure
|
|
@@ -40,27 +42,19 @@ The final submission layout in the parent project root must be:
|
|
|
40
42
|
- `api-spec.md` when applicable
|
|
41
43
|
- `test-coverage.md`
|
|
42
44
|
- `questions.md`
|
|
43
|
-
|
|
44
|
-
-
|
|
45
|
-
- `document-completeness-report.md`
|
|
46
|
-
- `engineering-architecture-quality-report.md`
|
|
47
|
-
- `engineering-architecture-quality-statement.md`
|
|
48
|
-
- `engineering-results-report.md`
|
|
49
|
-
- `engineering-details-professionalism.md`
|
|
50
|
-
- `implementation-comparison-report.md`
|
|
51
|
-
- `prompt-understanding-adaptability.md`
|
|
52
|
-
- `aesthetics.md` when applicable
|
|
53
|
-
- `aesthetics-assessment.md` when applicable
|
|
45
|
+
- `submission/`
|
|
46
|
+
- generated submission documents based on the reference files in `~/`
|
|
54
47
|
- evaluation reports
|
|
55
|
-
-
|
|
56
|
-
-
|
|
48
|
+
- repo file structure screenshot
|
|
49
|
+
- working app screenshots
|
|
50
|
+
- relocated screenshots and proof materials needed for submission review
|
|
57
51
|
- current working directory delivered as parent-root `repo/`
|
|
58
52
|
- `../sessions/`
|
|
59
|
-
- `trajectory.json`
|
|
60
|
-
- `trajectory-N.json` when multiple session trajectories exist
|
|
61
53
|
- `../metadata.json`
|
|
62
54
|
- `../session.json`
|
|
63
55
|
- `../session-N.json` when multiple exported sessions exist
|
|
56
|
+
- `../trajectory.json`
|
|
57
|
+
- `../trajectory-N.json` when multiple trajectories exist
|
|
64
58
|
- parent-root `../.tmp/` directory moved out of current `.tmp/` when it exists
|
|
65
59
|
|
|
66
60
|
Do not treat `.ai/` as part of the final submission structure unless the user explicitly changes that requirement later.
|
|
@@ -69,24 +63,25 @@ Do not treat `.ai/` as part of the final submission structure unless the user ex
|
|
|
69
63
|
|
|
70
64
|
- verify the root package structure matches the blueprint exactly
|
|
71
65
|
- make sure parent-root `../metadata.json` is complete and reflects the delivered project truthfully
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
- ensure `README.md` matches the delivered runtime,
|
|
66
|
+
- verify parent-root `../docs/design.md` exists and reflects the final delivered design when applicable
|
|
67
|
+
- verify parent-root `../docs/api-spec.md` exists and reflects the final delivered interfaces when applicable
|
|
68
|
+
- verify parent-root `../docs/test-coverage.md` exists and reflects the final delivered verification coverage
|
|
69
|
+
- verify parent-root `../docs/questions.md` exists from the accepted clarification/question record when applicable
|
|
70
|
+
- create parent-root `../submission/` for final generated submission artifacts and reviewer-facing proof
|
|
71
|
+
- ensure `README.md` matches the delivered codebase, functionality, runtime steps, and test steps, stays friendly to a junior developer, and does not reference the external docs set in `../docs/`
|
|
78
72
|
- include `run_tests.sh`
|
|
79
|
-
- relocate evaluation artifacts into parent-root `../
|
|
73
|
+
- relocate evaluation artifacts into parent-root `../submission/`, including:
|
|
80
74
|
- backend evaluation report
|
|
81
75
|
- frontend evaluation report
|
|
82
|
-
- relocate screenshots and proof materials relevant to runtime behavior and major flows into parent-root `../
|
|
83
|
-
- gather required screenshots from test-output or artifact directories and relocate them into parent-root `../
|
|
76
|
+
- relocate screenshots and proof materials relevant to runtime behavior and major flows into parent-root `../submission/`
|
|
77
|
+
- gather required screenshots from test-output or artifact directories and relocate them into parent-root `../submission/` during packaging
|
|
84
78
|
- include exported session artifacts at the parent project root using the naming rules:
|
|
85
79
|
- `../session.json` for a single exported session
|
|
86
80
|
- `../session-N.json` when multiple exported sessions exist
|
|
87
|
-
- include trajectory artifacts
|
|
88
|
-
- `../
|
|
89
|
-
- `../
|
|
81
|
+
- include trajectory artifacts at the parent project root using the naming rules:
|
|
82
|
+
- `../trajectory.json` for a single trajectory
|
|
83
|
+
- `../trajectory-N.json` when multiple trajectories exist
|
|
84
|
+
- preserve parent-root `../sessions/` as the session artifact directory for any additional exported conversation traces the package needs to retain
|
|
90
85
|
- include any required package/tree proof or delivery evidence
|
|
91
86
|
|
|
92
87
|
## Session export sequence
|
|
@@ -99,46 +94,58 @@ For the developer session, run these exact steps:
|
|
|
99
94
|
- do not proceed to later packaging steps until the export, strip, and trajectory conversion steps have all succeeded
|
|
100
95
|
|
|
101
96
|
1. `opencode export <developer-session-id> > ../session-export.json`
|
|
102
|
-
2. `python3 ~/
|
|
103
|
-
3. `python3 ~/
|
|
97
|
+
2. `python3 ~/utils/strip_session_parent.py ../session-export.json --output ../session.json`
|
|
98
|
+
3. `python3 ~/utils/convert_ai_session.py -i ../session.json -o ../trajectory.json`
|
|
104
99
|
|
|
105
100
|
After those steps:
|
|
106
101
|
|
|
107
102
|
- keep the cleaned final exported session as parent-root `../session.json` unless multiple exports require `../session-N.json`
|
|
108
|
-
-
|
|
109
|
-
- treat
|
|
110
|
-
-
|
|
103
|
+
- keep the generated final trajectory as parent-root `../trajectory.json` unless multiple trajectories require `../trajectory-N.json`
|
|
104
|
+
- treat parent-root `../session-export.json` as a temporary packaging intermediate
|
|
105
|
+
- treat parent-root `../session.json` and `../trajectory.json` as final package artifacts unless numbering rules require the `-N` variants
|
|
106
|
+
- immediately verify that all expected directories and required files exist before running any later packaging scripts
|
|
111
107
|
- if the required utilities or output files are missing, packaging is not ready to continue
|
|
112
108
|
|
|
113
109
|
## Required file moves
|
|
114
110
|
|
|
115
|
-
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
- collect screenshots and other required proof materials from repo-local runtime/output directories into parent-root `../
|
|
111
|
+
- if repo-local `docs/` exists, treat it as accidental residue, reconcile any missing content into parent-root `../docs/`, and remove it from the delivered `repo/` tree
|
|
112
|
+
- if current `.tmp/` exists, move the whole directory to parent-root `../.tmp/` before harvesting any reviewer-facing artifacts from it
|
|
113
|
+
- after preserving parent-root `../.tmp/`, collect the relevant evaluation reports and proof artifacts from it into parent-root `../submission/`
|
|
114
|
+
- collect screenshots and other required proof materials from repo-local runtime/output directories into parent-root `../submission/`
|
|
119
115
|
- after relocation, the final submission should not require digging through repo-local output directories to find evidence
|
|
120
|
-
- find required screenshots in their generated locations and move or copy them into parent-root `../
|
|
116
|
+
- find required screenshots in their generated locations and move or copy them into parent-root `../submission/` so reviewers do not have to inspect e2e artifact directories manually
|
|
121
117
|
- keep screenshot filenames clear enough that the referenced runtime page, flow, or evidence purpose is understandable from the file name or nearby document reference
|
|
122
118
|
|
|
123
119
|
## Repo cleanup rules
|
|
124
120
|
|
|
125
121
|
Clean the current working directory that will be delivered as parent-root `repo/` before final submission.
|
|
126
122
|
|
|
127
|
-
Remove runtime, editor, cache,
|
|
123
|
+
Remove runtime, editor, cache, tooling noise, generated artifacts, and environment junk recursively anywhere in the delivered repo tree, such as:
|
|
128
124
|
|
|
129
|
-
- `.tmp/`
|
|
130
125
|
- `.git/`
|
|
131
126
|
- `.opencode/`
|
|
132
127
|
- `.codex/`
|
|
133
128
|
- `.vscode/`
|
|
129
|
+
- `.env`
|
|
130
|
+
- `.env.local`
|
|
131
|
+
- `.env.example`
|
|
132
|
+
- other env-file variants
|
|
134
133
|
- `__pycache__/`
|
|
135
134
|
- `.pytest_cache/`
|
|
136
135
|
- `node_modules/`
|
|
137
136
|
- `.venv/`
|
|
138
137
|
- `.net/`
|
|
138
|
+
- `playwright-report/`
|
|
139
|
+
- `test-results/`
|
|
140
|
+
- `dist/` or similar generated build output when not part of the delivered runtime contract
|
|
141
|
+
- generated screenshots, reports, and proof artifacts that have already been relocated into parent-root `../submission/`
|
|
139
142
|
- `AGENTS.md`
|
|
140
143
|
- similar environment-dependent or local-only directories
|
|
141
144
|
|
|
145
|
+
- if repo-local `.tmp/` existed, do not delete it before preserving it as parent-root `../.tmp/`
|
|
146
|
+
|
|
147
|
+
- this cleanup is recursive; do not leave forbidden directories or generated junk buried deeper in the repo hierarchy after required artifacts have been moved out
|
|
148
|
+
|
|
142
149
|
Product attachment packaging is not allowed.
|
|
143
150
|
|
|
144
151
|
Do not include environment-dependent local runtime content in the delivered package.
|
|
@@ -147,11 +154,12 @@ Do not include environment-dependent local runtime content in the delivered pack
|
|
|
147
154
|
|
|
148
155
|
- confirm the final package contains what reviewers actually need to inspect the project
|
|
149
156
|
- confirm docs describe delivered behavior, not planned or aspirational behavior
|
|
150
|
-
- confirm
|
|
151
|
-
- confirm
|
|
152
|
-
- confirm
|
|
153
|
-
- confirm
|
|
154
|
-
- confirm
|
|
157
|
+
- confirm parent-root `../docs/test-coverage.md` explains the tested flows, coverage boundaries, and how the evaluator should interpret the coverage evidence
|
|
158
|
+
- confirm generated submission documents exist under parent-root `../submission/` and correspond to the final qualified state, not an older revision
|
|
159
|
+
- confirm evaluation reports and screenshots have been relocated into parent-root `../submission/` and correspond to the final qualified state, not an older revision
|
|
160
|
+
- confirm shared project docs live in parent-root `../docs/` and any accidental repo-local `docs/` copy has been removed from the delivered tree
|
|
161
|
+
- confirm repo-local evidence directories have been harvested so required reports and screenshots now live in parent-root `../submission/`
|
|
162
|
+
- confirm required screenshots have been relocated into parent-root `../submission/`
|
|
155
163
|
- confirm parent-root metadata fields are populated correctly:
|
|
156
164
|
- `prompt`
|
|
157
165
|
- `project_type`
|
|
@@ -164,87 +172,110 @@ Do not include environment-dependent local runtime content in the delivered pack
|
|
|
164
172
|
- confirm session export naming rules are followed:
|
|
165
173
|
- parent-root `../session.json`
|
|
166
174
|
- parent-root `../session-N.json` when multiple exported sessions exist
|
|
167
|
-
- `../
|
|
168
|
-
- `../
|
|
169
|
-
|
|
170
|
-
## Submission
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
Use
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
-
|
|
181
|
-
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
-
|
|
190
|
-
|
|
191
|
-
-
|
|
192
|
-
|
|
193
|
-
-
|
|
194
|
-
|
|
195
|
-
-
|
|
196
|
-
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
- Self-Test Status — Delivery Completeness Statement
|
|
200
|
-
- answer whether the deliverables fully cover the core prompt requirements
|
|
201
|
-
- answer whether the product has a real 0-to-1 delivery form rather than partial/schematic output
|
|
202
|
-
- if unable, provide a specific reason
|
|
203
|
-
5. `docs/engineering-architecture-quality-report.md`
|
|
204
|
-
- based on `~/slopmachine/quality-document.md`
|
|
205
|
-
- generate a report with the same type of information and proper formatting
|
|
206
|
-
- include a screenshot of the current working directory folder structure that will be delivered as `repo/`
|
|
207
|
-
- suggested method: run a tree command such as `tree . -a -L 3 > ../repo-structure.txt`, open that output in the terminal or editor, and capture a screenshot manually
|
|
208
|
-
6. `docs/engineering-architecture-quality-statement.md`
|
|
209
|
-
- Self-test results: engineering and architecture quality statement
|
|
210
|
-
7. `docs/engineering-results-report.md`
|
|
211
|
-
- based on `~/slopmachine/engineering-results.md`
|
|
212
|
-
- generate a similar document for this codebase
|
|
213
|
-
8. `docs/engineering-details-professionalism.md`
|
|
214
|
-
- cover these exact checks:
|
|
175
|
+
- parent-root `../trajectory.json`
|
|
176
|
+
- parent-root `../trajectory-N.json` when multiple trajectories exist
|
|
177
|
+
|
|
178
|
+
## Submission artifact and response contract
|
|
179
|
+
|
|
180
|
+
Use parent-root `../submission/` for the file-based final generated submission artifacts.
|
|
181
|
+
|
|
182
|
+
Keep the generated content tied to the real delivered project, not generic template text.
|
|
183
|
+
|
|
184
|
+
Use real screenshots from the delivered product and real project evidence.
|
|
185
|
+
|
|
186
|
+
The packaging-stage outputs are two kinds only:
|
|
187
|
+
|
|
188
|
+
- `FILE` outputs: create the specified file under parent-root `../submission/`
|
|
189
|
+
- `PARAGRAPH` outputs: answer directly in the final packaging-stage response instead of creating a file
|
|
190
|
+
|
|
191
|
+
Create these file outputs:
|
|
192
|
+
|
|
193
|
+
1. `FILE` -> `../submission/self-test-results-hard-threshold.md`
|
|
194
|
+
- Can the delivered product actually run and be verified, including error pages and successful running pages.
|
|
195
|
+
- Include the relevant working app screenshots.
|
|
196
|
+
2. `FILE` -> `../submission/self-test-status-delivery-completeness.md`
|
|
197
|
+
- Do the delivered deliverables fully cover the core requirements explicitly stated in the prompt.
|
|
198
|
+
- Does the delivered product possess a basic delivery form from 0 to 1 rather than partial functionality, schematic implementation, or code snippets.
|
|
199
|
+
- If unable, provide a specific reason.
|
|
200
|
+
3. `FILE` -> `../submission/self-assessment-engineering-and-architecture-quality.md`
|
|
201
|
+
- Based on `~/quality-document.md`.
|
|
202
|
+
- Does the delivered product employ a reasonable engineering structure and modular division under the current problem.
|
|
203
|
+
- Does the delivered product demonstrate basic maintainability and scalability rather than a temporary or stacked implementation.
|
|
204
|
+
- Include a screenshot of the current working directory folder structure that will be delivered as `repo/`.
|
|
205
|
+
4. `FILE` -> `../submission/self-test-results-engineering-details-and-professionalism.md`
|
|
206
|
+
- Cover these exact checks:
|
|
215
207
|
- Error handling: all APIs return standard HTTP codes and JSON error format
|
|
216
208
|
- Logging: key flows have structured logs
|
|
217
209
|
- Input validation: all body/query/path params validated
|
|
218
210
|
- No secrets/keys in config files
|
|
219
211
|
- No `node_modules` / `.venv` committed
|
|
220
|
-
- No
|
|
221
|
-
|
|
222
|
-
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
-
|
|
226
|
-
|
|
227
|
-
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
-
|
|
233
|
-
-
|
|
234
|
-
|
|
235
|
-
-
|
|
212
|
+
- No `console.log("here")` debug statements left in code
|
|
213
|
+
5. `FILE` -> `../submission/self-test-results-prompt-understanding-and-adaptability.md`
|
|
214
|
+
- Explain whether the delivered product accurately understands and responds to business objectives, use cases, and implicit constraints in the prompt rather than merely mechanically implementing presentation-layer technical requirements.
|
|
215
|
+
6. `FILE` -> `../submission/self-test-results-aesthetics.md`
|
|
216
|
+
- Fullstack or pure frontend only.
|
|
217
|
+
- Does the visual and interaction of the delivered product fit the scene and is the design aesthetically pleasing.
|
|
218
|
+
- If not applicable, write `Not Applicable`.
|
|
219
|
+
- If aesthetically unappealing, provide a specific reason.
|
|
220
|
+
|
|
221
|
+
In the final packaging-stage response, include these paragraph outputs in order:
|
|
222
|
+
|
|
223
|
+
1. `PARAGRAPH` -> Hard threshold explanation
|
|
224
|
+
- Whether the delivered product can actually be operated and verified.
|
|
225
|
+
- Whether the delivered product significantly deviates from the prompt topic.
|
|
226
|
+
2. `PARAGRAPH` -> Delivery completeness statement
|
|
227
|
+
- Whether the delivered deliverables fully cover the core prompt requirements.
|
|
228
|
+
- Whether the delivered product has a real 0-to-1 delivery form rather than partial or schematic output.
|
|
229
|
+
- If unable, provide a specific reason.
|
|
230
|
+
3. `PARAGRAPH` -> Engineering and architecture quality statement
|
|
231
|
+
4. `PARAGRAPH` -> Engineering details and professionalism description
|
|
232
|
+
- Error handling: all APIs return standard HTTP codes plus JSON error format.
|
|
233
|
+
- Logging: key flows have structured logs.
|
|
234
|
+
- Input validation: all body/query/path parameters validated.
|
|
235
|
+
- No secrets or keys in config files.
|
|
236
|
+
- No `node_modules` or `.venv` committed.
|
|
237
|
+
- No `console.log("here")` debug statements left in code.
|
|
238
|
+
5. `PARAGRAPH` -> Prompt requirements understanding and adaptability explanation
|
|
239
|
+
- Whether the delivered product accurately understands and responds to business objectives, use cases, and implicit constraints in the prompt rather than merely implementing presentation-layer technical requirements.
|
|
240
|
+
6. `PARAGRAPH` -> Aesthetics assessment
|
|
241
|
+
- Fullstack or pure frontend only.
|
|
242
|
+
- Whether the visual and interaction of the delivered product fit the scene and are aesthetically pleasing.
|
|
243
|
+
- If not applicable, state `Not Applicable`.
|
|
244
|
+
- If aesthetically unappealing, provide a specific reason.
|
|
245
|
+
|
|
246
|
+
Store supporting screenshots and reviewer-facing proof in `../submission/`, including:
|
|
247
|
+
|
|
248
|
+
- repo file structure screenshot
|
|
249
|
+
- working app screenshots
|
|
250
|
+
- relocated evaluation reports
|
|
251
|
+
- other proof artifacts referenced by the generated submission files
|
|
236
252
|
|
|
237
253
|
## Cleanliness rules
|
|
238
254
|
|
|
239
255
|
- remove caches, temp outputs, build junk, editor noise, and accidental local files that are not part of the package contract
|
|
240
256
|
- do not remove required evidence just because it looks noisy
|
|
241
257
|
- verify no local secret files or sensitive values are included in the final package
|
|
258
|
+
- verify no `.env` or env-file variant exists anywhere in the delivered repo tree or related package artifacts
|
|
259
|
+
- verify the delivered package can be started from scratch without any preexisting `.env` file; if runtime env-file generation is part of the stack, it must be generated ephemerally from Docker-provided variables rather than shipped as a package artifact
|
|
242
260
|
- verify frontend screenshots do not show demo/debug/setup leakage
|
|
243
261
|
- verify evaluation rebuttal notes, if any, remain attached to the relevant evaluation reports
|
|
244
262
|
- verify the final package does not include pointless tests or artifacts whose only purpose was to assert documentation-directory existence
|
|
245
|
-
- verify that required evidence
|
|
263
|
+
- verify that required submission artifacts and evidence are centralized under parent-root `../submission/` rather than scattered across repo-local output directories
|
|
246
264
|
- do not leave required screenshots stranded only inside raw e2e artifact directories
|
|
247
265
|
|
|
266
|
+
## Optional final archive
|
|
267
|
+
|
|
268
|
+
- after packaging is complete, you may create a parent-root zip archive for handoff review
|
|
269
|
+
- if you do, the archive should include the final delivered structures and exports only
|
|
270
|
+
- because final submission artifacts now live under `../submission/`, include it alongside the other delivered paths
|
|
271
|
+
- recommended parent-root archive contents are:
|
|
272
|
+
- `docs/`
|
|
273
|
+
- `submission/`
|
|
274
|
+
- `repo/`
|
|
275
|
+
- `session*.json`
|
|
276
|
+
- `sessions/`
|
|
277
|
+
- `trajectory*.json`
|
|
278
|
+
|
|
248
279
|
## Final packaging verification
|
|
249
280
|
|
|
250
281
|
- do one final package review before declaring packaging complete
|
|
@@ -257,12 +288,13 @@ Create or populate these deliverables:
|
|
|
257
288
|
Do not close packaging until all of these are true:
|
|
258
289
|
|
|
259
290
|
- final docs exist in parent-root `../docs/`
|
|
260
|
-
-
|
|
291
|
+
- any accidental repo-local `docs/` copy no longer remains in the delivered repo tree
|
|
261
292
|
- parent-root `../metadata.json` exists and is populated correctly
|
|
262
293
|
- parent-root `../session.json` or `../session-N.json` exists as required
|
|
263
|
-
- `../
|
|
264
|
-
-
|
|
265
|
-
-
|
|
266
|
-
-
|
|
294
|
+
- parent-root `../trajectory.json` or `../trajectory-N.json` exists as required
|
|
295
|
+
- parent-root `../sessions/` exists
|
|
296
|
+
- generated submission files exist under parent-root `../submission/`
|
|
297
|
+
- evaluation reports are present under parent-root `../submission/`
|
|
298
|
+
- required screenshots and proof materials are present under parent-root `../submission/`
|
|
267
299
|
- delivered repo no longer contains forbidden junk directories
|
|
268
300
|
- final structure matches the required layout exactly
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: submission-packaging-v2
|
|
3
|
+
description: Submission packaging and final closure rules for slopmachine-v2.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Submission Packaging v2
|
|
7
|
+
|
|
8
|
+
Use this skill only during `P10 Submission Packaging`.
|
|
9
|
+
|
|
10
|
+
## Core rules
|
|
11
|
+
|
|
12
|
+
- enter `P10` before packaging work begins
|
|
13
|
+
- keep packaging work inside the formal phase window
|
|
14
|
+
- package from an already-clean state instead of compensating for avoidable earlier drift
|
|
15
|
+
- treat formal workflow closure failures as real packaging failures
|
|
16
|
+
- treat this as internal packaging guidance, not developer-visible workflow text
|
|
17
|
+
- do not use it to justify skipping verification or evaluation gates
|
|
18
|
+
- packaging is not cleanup theater; preserve required evidence and remove only local junk, caches, and accidental noise
|
|
19
|
+
- do not declare packaging complete early
|
|
20
|
+
- packaging is incomplete until every required step in this skill has been executed and every required artifact path has been verified to exist
|
|
21
|
+
- do not stop packaging for approval, status confirmation, or handoff once this phase has begun; continue until the package is complete
|
|
22
|
+
|
|
23
|
+
## Completion discipline
|
|
24
|
+
|
|
25
|
+
- execute packaging in order; do not jump to the end and assume missing pieces can be filled later
|
|
26
|
+
- after each major packaging block, verify the expected outputs before continuing
|
|
27
|
+
- before closing the packaging phase, explicitly check that every required file and directory exists in its final location
|
|
28
|
+
- if any required artifact is missing, packaging is still in progress
|
|
29
|
+
- if any cleanup, move, export, or reporting step is incomplete, packaging is still in progress
|
|
30
|
+
|
|
31
|
+
## Packaging goals
|
|
32
|
+
|
|
33
|
+
- assemble the required final structure
|
|
34
|
+
- preserve required evidence
|
|
35
|
+
- exclude local-only junk and secret material
|
|
36
|
+
- export session and trajectory artifacts correctly
|
|
37
|
+
- make the final package easy to review
|
|
38
|
+
|
|
39
|
+
## Required final structure
|
|
40
|
+
|
|
41
|
+
The final submission layout in the parent project root must be:
|
|
42
|
+
|
|
43
|
+
- `docs/`
|
|
44
|
+
- `design.md`
|
|
45
|
+
- `api-spec.md` when applicable
|
|
46
|
+
- `test-coverage.md`
|
|
47
|
+
- `questions.md`
|
|
48
|
+
- `submission/`
|
|
49
|
+
- generated submission documents based on the reference files in `~/`
|
|
50
|
+
- evaluation reports
|
|
51
|
+
- repo file structure screenshot
|
|
52
|
+
- working app screenshots
|
|
53
|
+
- relocated screenshots and proof materials needed for submission review
|
|
54
|
+
- current working directory delivered as parent-root `repo/`
|
|
55
|
+
- `../sessions/`
|
|
56
|
+
- `../metadata.json`
|
|
57
|
+
- `../session.json`
|
|
58
|
+
- `../session-N.json` when multiple exported sessions exist
|
|
59
|
+
- `../trajectory.json`
|
|
60
|
+
- `../trajectory-N.json` when multiple trajectories exist
|
|
61
|
+
- parent-root `../.tmp/` directory moved out of current `.tmp/` when it exists
|
|
62
|
+
|
|
63
|
+
## Required packaging actions
|
|
64
|
+
|
|
65
|
+
- verify the root package structure matches the blueprint exactly
|
|
66
|
+
- make sure parent-root `../metadata.json` is complete and reflects the delivered project truthfully
|
|
67
|
+
- verify parent-root `../docs/design.md` exists and reflects the final delivered design when applicable
|
|
68
|
+
- verify parent-root `../docs/api-spec.md` exists and reflects the final delivered interfaces when applicable
|
|
69
|
+
- verify parent-root `../docs/test-coverage.md` exists and reflects the final delivered verification coverage
|
|
70
|
+
- verify parent-root `../docs/questions.md` exists from the accepted clarification/question record when applicable
|
|
71
|
+
- create parent-root `../submission/` for final generated submission artifacts and reviewer-facing proof
|
|
72
|
+
- ensure `README.md` matches the delivered codebase, functionality, runtime steps, and test steps, stays friendly to a junior developer, and does not reference the external docs set in `../docs/`
|
|
73
|
+
- include `run_tests.sh`
|
|
74
|
+
- relocate evaluation artifacts into parent-root `../submission/`
|
|
75
|
+
- relocate screenshots and proof materials relevant to runtime behavior and major flows into parent-root `../submission/`
|
|
76
|
+
- include exported session artifacts at the parent project root using the naming rules:
|
|
77
|
+
- `../session.json` for a single exported session
|
|
78
|
+
- `../session-N.json` when multiple exported sessions exist
|
|
79
|
+
- include trajectory artifacts at the parent project root using the naming rules:
|
|
80
|
+
- `../trajectory.json` for a single trajectory
|
|
81
|
+
- `../trajectory-N.json` when multiple trajectories exist
|
|
82
|
+
- preserve parent-root `../sessions/` as the session artifact directory for any additional exported conversation traces the package needs to retain
|
|
83
|
+
|
|
84
|
+
## Session export sequence
|
|
85
|
+
|
|
86
|
+
For the developer session, run these exact steps:
|
|
87
|
+
|
|
88
|
+
1. `opencode export <developer-session-id> > ../session-export.json`
|
|
89
|
+
2. `python3 ~/utils/strip_session_parent.py ../session-export.json --output ../session.json`
|
|
90
|
+
3. `python3 ~/utils/convert_ai_session.py -i ../session.json -o ../trajectory.json`
|
|
91
|
+
|
|
92
|
+
After those steps:
|
|
93
|
+
|
|
94
|
+
- keep the cleaned final exported session as parent-root `../session.json` unless multiple exports require `../session-N.json`
|
|
95
|
+
- keep the generated final trajectory as parent-root `../trajectory.json` unless multiple trajectories require `../trajectory-N.json`
|
|
96
|
+
- treat parent-root `../session-export.json` as a temporary packaging intermediate
|
|
97
|
+
- immediately verify that all expected directories and required files exist before running later packaging steps
|
|
98
|
+
- if the required utilities or output files are missing, packaging is not ready to continue
|
|
99
|
+
|
|
100
|
+
## Required file moves
|
|
101
|
+
|
|
102
|
+
- if repo-local `docs/` exists, treat it as accidental residue, reconcile any missing content into parent-root `../docs/`, and remove it from the delivered `repo/` tree
|
|
103
|
+
- if current `.tmp/` exists, move the whole directory to parent-root `../.tmp/` before harvesting any reviewer-facing artifacts from it
|
|
104
|
+
- after preserving parent-root `../.tmp/`, collect the relevant evaluation reports and proof artifacts from it into parent-root `../submission/`
|
|
105
|
+
- collect screenshots and other required proof materials from repo-local runtime/output directories into parent-root `../submission/`
|
|
106
|
+
- after relocation, the final submission should not require digging through repo-local output directories to find evidence
|
|
107
|
+
- keep screenshot filenames clear enough that the referenced runtime page, flow, or evidence purpose is understandable
|
|
108
|
+
|
|
109
|
+
## Repo cleanup rules
|
|
110
|
+
|
|
111
|
+
- remove runtime, editor, cache, tooling noise, generated artifacts, and environment junk recursively anywhere in the delivered repo tree
|
|
112
|
+
- do not remove required evidence just because it looks noisy
|
|
113
|
+
- remove `.git/`, `.opencode/`, `.codex/`, `.vscode/`, env-file variants, caches, `node_modules/`, build outputs not part of delivery, raw test artifact directories once evidence is relocated, and repo-local `AGENTS.md`
|
|
114
|
+
- if repo-local `.tmp/` existed, do not delete it before preserving it as parent-root `../.tmp/`
|
|
115
|
+
- the cleanup is recursive; do not leave forbidden directories or generated junk buried deeper in the repo hierarchy after required artifacts have been moved out
|
|
116
|
+
|
|
117
|
+
## Validation checklist
|
|
118
|
+
|
|
119
|
+
- confirm the final package contains what reviewers actually need to inspect the project
|
|
120
|
+
- confirm docs describe delivered behavior, not planned or aspirational behavior
|
|
121
|
+
- confirm parent-root `../docs/test-coverage.md` explains the tested flows, coverage boundaries, and how the evaluator should interpret the coverage evidence
|
|
122
|
+
- confirm generated submission documents exist under parent-root `../submission/` and correspond to the final qualified state
|
|
123
|
+
- confirm evaluation reports and screenshots have been relocated into parent-root `../submission/`
|
|
124
|
+
- confirm shared project docs live in parent-root `../docs/` and any accidental repo-local `docs/` copy has been removed from the delivered tree
|
|
125
|
+
- confirm required screenshots have been relocated into parent-root `../submission/`
|
|
126
|
+
- confirm parent-root metadata fields are populated correctly
|
|
127
|
+
- confirm session export naming rules are followed
|
|
128
|
+
|
|
129
|
+
## Submission artifact and response contract
|
|
130
|
+
|
|
131
|
+
- use parent-root `../submission/` for file-based final generated submission artifacts
|
|
132
|
+
- keep the generated content tied to the real delivered project, not generic template text
|
|
133
|
+
- use real screenshots from the delivered product and real project evidence
|
|
134
|
+
- the packaging-stage outputs are `FILE` outputs under `../submission/` plus `PARAGRAPH` outputs in the final packaging-stage response
|
|
135
|
+
|
|
136
|
+
## Final packaging verification
|
|
137
|
+
|
|
138
|
+
- do one final package review before declaring packaging complete
|
|
139
|
+
- confirm the package is coherent as a delivered submission, not just a working repo snapshot
|
|
140
|
+
- confirm the final git checkpoint can be created cleanly for the packaged state
|
|
141
|
+
- if packaging reveals a real defect or missing artifact, fix it before closing the phase
|
|
142
|
+
- do not close packaging until all required docs, exports, submission files, screenshots, and cleanup conditions are satisfied
|