theslopmachine 0.4.0 → 0.4.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/MANUAL.md +3 -3
- package/README.md +36 -12
- package/RELEASE.md +9 -7
- package/assets/agents/developer.md +51 -250
- package/assets/agents/slopmachine.md +253 -401
- package/assets/skills/beads-operations/SKILL.md +44 -38
- package/assets/skills/clarification-gate/SKILL.md +79 -14
- package/assets/skills/developer-session-lifecycle/SKILL.md +97 -35
- package/assets/skills/{development-guidance-v2 → development-guidance}/SKILL.md +9 -6
- package/assets/skills/{evaluation-triage-v2 → evaluation-triage}/SKILL.md +43 -4
- package/assets/skills/final-evaluation-orchestration/SKILL.md +44 -40
- package/assets/skills/{hardening-gate-v2 → hardening-gate}/SKILL.md +3 -3
- package/assets/skills/{integrated-verification-v2 → integrated-verification}/SKILL.md +6 -5
- package/assets/skills/{owner-evidence-discipline-v2 → owner-evidence-discipline}/SKILL.md +3 -3
- package/assets/skills/planning-gate/SKILL.md +32 -11
- package/assets/skills/{planning-guidance-v2 → planning-guidance}/SKILL.md +29 -9
- package/assets/skills/{remediation-guidance-v2 → remediation-guidance}/SKILL.md +3 -3
- package/assets/skills/{report-output-discipline-v2 → report-output-discipline}/SKILL.md +3 -3
- package/assets/skills/retrospective-analysis/SKILL.md +91 -0
- package/assets/skills/scaffold-guidance/SKILL.md +81 -0
- package/assets/skills/{session-rollover-v2 → session-rollover}/SKILL.md +3 -3
- package/assets/skills/submission-packaging/SKILL.md +163 -197
- package/assets/skills/verification-gates/SKILL.md +69 -81
- package/assets/slopmachine/templates/AGENTS.md +77 -101
- package/assets/slopmachine/{workflow-init-v2.js → workflow-init.js} +2 -2
- package/package.json +23 -23
- package/src/constants.js +12 -21
- package/src/init.js +38 -29
- package/src/install.js +123 -23
- package/assets/agents/developer-v2.md +0 -86
- package/assets/agents/slopmachine-v2.md +0 -219
- package/assets/skills/beads-operations-v2/SKILL.md +0 -82
- package/assets/skills/clarification-gate-v2/SKILL.md +0 -74
- package/assets/skills/developer-session-lifecycle-v2/SKILL.md +0 -148
- package/assets/skills/final-evaluation-orchestration-v2/SKILL.md +0 -57
- package/assets/skills/get-overlays/SKILL.md +0 -228
- package/assets/skills/planning-gate-v2/SKILL.md +0 -91
- package/assets/skills/scaffold-guidance-v2/SKILL.md +0 -57
- package/assets/skills/submission-packaging-v2/SKILL.md +0 -142
- package/assets/skills/verification-gates-v2/SKILL.md +0 -102
- package/assets/slopmachine/templates/AGENTS-v2.md +0 -55
- package/assets/slopmachine/tracker-init.js +0 -104
|
@@ -1,73 +1,77 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: final-evaluation-orchestration
|
|
3
|
-
description:
|
|
3
|
+
description: Evaluation execution rules for slopmachine.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Final Evaluation Orchestration
|
|
7
7
|
|
|
8
|
-
Use this skill only
|
|
8
|
+
Use this skill only during `P7 Evaluation and Triage`.
|
|
9
9
|
|
|
10
10
|
## Usage rules
|
|
11
11
|
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
- this phase is the only allowed later human-stop point after development has started; do not create any other approval pauses outside the final evaluation decision itself
|
|
12
|
+
- load this skill only during final evaluation and evaluation-driven remediation decisions
|
|
13
|
+
- treat it as internal orchestration guidance
|
|
14
|
+
- do not let evaluator findings automatically override your triage judgment
|
|
16
15
|
|
|
17
16
|
## Prompt sources
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
The canonical evaluation prompt files are:
|
|
19
|
+
|
|
20
|
+
- `~/slopmachine/backend-evaluation-prompt.md`
|
|
21
|
+
- `~/slopmachine/frontend-evaluation-prompt.md`
|
|
22
|
+
|
|
23
|
+
These two files are the only evaluation prompt sources for evaluation runs.
|
|
21
24
|
|
|
22
25
|
## Evaluation execution rules
|
|
23
26
|
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
- read the full original project prompt from parent-root `../metadata.json` field `prompt`
|
|
27
|
+
- run backend and frontend evaluation in separate fresh `General` sessions - never in parallel
|
|
28
|
+
- compose the evaluation prompts yourself; do not tell the evaluator to read prompt files on its own
|
|
29
|
+
- use the original project prompt from metadata
|
|
28
30
|
- read the respective evaluation prompt file contents yourself before launching evaluation
|
|
29
31
|
- compose each evaluation request yourself as one large final prompt block
|
|
30
32
|
- prefix each evaluation request with a clear instruction that the reviewer must work in the current project directory and evaluate that delivered project
|
|
31
|
-
-
|
|
33
|
+
- use the exact contents of `~/slopmachine/backend-evaluation-prompt.md` for backend/non-frontend evaluation runs
|
|
34
|
+
- use the exact contents of `~/slopmachine/frontend-evaluation-prompt.md` for frontend evaluation runs
|
|
35
|
+
- inject the full original project prompt into the `{prompt}` placeholder for the chosen evaluation prompt content, but otherwise do not rewrite or replace the template body
|
|
32
36
|
- send that fully composed text block directly to the fresh `General` evaluator session
|
|
33
37
|
- never tell the evaluator to go read prompt files, metadata files, or evaluation template paths on its own
|
|
34
38
|
- never send only a path, filename, or shorthand reference and expect the evaluator to assemble the prompt itself
|
|
35
|
-
- run each evaluation in its own fresh ephemeral `General` session only
|
|
36
39
|
- never reuse, resume, or continue a prior evaluation session
|
|
37
|
-
- run the two evaluations sequentially, not in parallel, so shared runtime state,
|
|
40
|
+
- run the two evaluations sequentially, not in parallel, so shared runtime state, ports, databases, and artifacts do not conflict
|
|
38
41
|
- track backend and frontend evaluation status separately
|
|
39
42
|
- once backend evaluation passes, do not run backend evaluation again in later remediation rounds
|
|
40
43
|
- once frontend evaluation passes, do not run frontend evaluation again in later remediation rounds
|
|
41
44
|
- require each evaluation session to produce its own detailed evaluation report artifact
|
|
42
45
|
- always compare both evaluations against the original prompt for alignment, not just the delivered implementation
|
|
46
|
+
- keep reports file-backed and bring only short summaries into chat
|
|
47
|
+
- rerun only the evaluation track that still needs re-evaluation after remediation
|
|
48
|
+
|
|
49
|
+
## Evaluation pass strategy
|
|
43
50
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
- if
|
|
53
|
-
-
|
|
54
|
-
- if a report says it could not verify some behavior because of environment limits or avoidable verification setup issues, first decide whether you can remove that constraint and rerun the evaluation in a cleaner state
|
|
55
|
-
- if the evaluator could not verify something but your own verified evidence already shows the behavior is acceptable, do not treat that as an automatic remediation trigger
|
|
56
|
-
- challenge weak, random, or overreaching findings using your stronger project context and direct codebase knowledge
|
|
57
|
-
- never edit or rewrite the evaluation report itself
|
|
58
|
-
- if you need to add context, disagreement, or justification, append it only as a clearly labeled `User comment/message` section at the bottom of the report
|
|
59
|
-
- do not enter remediation just because a new evaluation found something; the evaluator will almost always find additional issues
|
|
60
|
-
- once all `Blocker` and `High` findings are resolved, do not loop forever chasing every newly surfaced `Medium` or `Low` issue
|
|
61
|
-
- after each re-evaluation, decide explicitly whether the remaining findings still justify another remediation round or whether the project is now qualified to package
|
|
51
|
+
- use a maximum of 3 full evaluation passes
|
|
52
|
+
- after each evaluation pass, extract a detailed concrete issue list from the failing report(s)
|
|
53
|
+
- send that list back to the active developer session with a direct instruction like: `fix these issues found in evaluation, verify affected flows dont regress after your fixes`
|
|
54
|
+
- if one evaluation track passes, mark it as passed and do not rerun that track in later passes unless a later fix clearly reopens it
|
|
55
|
+
- do not rerun both backend and frontend evaluation tracks when only one still needs re-evaluation
|
|
56
|
+
- after pass 1 and pass 2, use the detailed issue list from the latest failing report(s) to drive the next remediation pass
|
|
57
|
+
- after pass 3, do not create a new evaluation session for the still-failing track
|
|
58
|
+
- after pass 3, send the final fix list back to the developer, then return to the last evaluation session used for that still-failing track and ask whether the last reported issues are now fixed
|
|
59
|
+
- if they are fixed, have that same evaluation session update the report to reflect the current state cleanly, without mentioning recheck, retest, previous issues, or iterative review history
|
|
60
|
+
- the final report should read like a normal current-state evaluation report, not like a patch log
|
|
62
61
|
|
|
63
62
|
## Remediation loop
|
|
64
63
|
|
|
65
|
-
- route accepted blocking issues back into remediation
|
|
64
|
+
- route accepted blocking issues back into the active remediation developer-session slot rather than inventing an untracked side path
|
|
66
65
|
- after remediation, rerun strong local verification before any re-evaluation:
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
- if remediation materially reopens an owner-run milestone boundary, route the project back to that
|
|
71
|
-
- rerun only the evaluation tracks that have not already passed, each in a brand new fresh `General` session and still sequentially
|
|
66
|
+
- relevant local test commands
|
|
67
|
+
- local runtime checks when affected behavior needs runtime proof
|
|
68
|
+
- the selected stack's platform-appropriate UI/E2E verification where applicable, with fresh screenshots or equivalent artifacts
|
|
69
|
+
- if remediation materially reopens an owner-run broad milestone boundary, route the project back to that boundary before re-evaluation instead of treating every remediation pass as an automatic broad rerun moment
|
|
72
70
|
- keep the remediation loop bounded and explicit so you never lose track of the active evaluation round or the accepted issue set
|
|
73
|
-
-
|
|
71
|
+
- store backend, frontend, and last-used evaluation session ids in metadata so later passes and packaging can safely reuse the correct session when needed
|
|
72
|
+
- remember the evaluation flow allows a maximum of 3 full evaluation passes before the final issue-verification update path must be used
|
|
73
|
+
|
|
74
|
+
## Boundaries
|
|
75
|
+
|
|
76
|
+
- this phase is owner-side analysis, not the final human decision gate
|
|
77
|
+
- do not create extra human pauses while evaluation and triage are still active
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: hardening-gate
|
|
3
|
-
description: Release-readiness hardening rules for slopmachine
|
|
2
|
+
name: hardening-gate
|
|
3
|
+
description: Release-readiness hardening rules for slopmachine.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Hardening Gate
|
|
6
|
+
# Hardening Gate
|
|
7
7
|
|
|
8
8
|
Use this skill only during `P6 Hardening`.
|
|
9
9
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: integrated-verification
|
|
3
|
-
description: Integrated verification convergence and rerun-ladder rules for slopmachine
|
|
2
|
+
name: integrated-verification
|
|
3
|
+
description: Integrated verification convergence and rerun-ladder rules for slopmachine.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Integrated Verification
|
|
6
|
+
# Integrated Verification
|
|
7
7
|
|
|
8
8
|
Use this skill only during `P5 Integrated Verification`.
|
|
9
9
|
|
|
@@ -23,11 +23,12 @@ Once a failure class is known:
|
|
|
23
23
|
- run the relevant tests for the changed behavior
|
|
24
24
|
- during in-phase verification, prefer the fastest meaningful local test commands for the known failure class
|
|
25
25
|
- use local verification to prepare for the next owner-run broad gate rather than duplicating it casually
|
|
26
|
-
- for applicable
|
|
26
|
+
- for applicable UI-bearing work, run the selected stack's platform-appropriate UI/E2E tool for the affected flows in-phase, capture screenshots or equivalent artifacts, and verify the UI behavior and quality directly
|
|
27
27
|
- verify requirement closure, not just feature existence
|
|
28
28
|
- verify behavior against the current plan, the actual requirements, and any settled project decisions that affect the change
|
|
29
29
|
- verify end-to-end flow behavior where the change affects real workflows
|
|
30
|
-
- for fullstack work, run Playwright coverage for major flows and review screenshots for real UI behavior and regressions
|
|
30
|
+
- for web fullstack work, run Playwright coverage for major flows and review screenshots for real UI behavior and regressions
|
|
31
|
+
- for mobile and desktop work, run the selected stack's platform-appropriate UI/E2E coverage for major flows and review screenshots or equivalent artifacts for real UI behavior and regressions
|
|
31
32
|
- end-to-end coverage must use the real intended user-facing or admin-facing surfaces for the flow; if the flow cannot be exercised that way, treat the missing surface as incomplete work
|
|
32
33
|
- verify important failure, conflict, stale-state, negative-auth, and cross-user-isolation paths where relevant
|
|
33
34
|
- verify security-sensitive behavior where applicable
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: owner-evidence-discipline
|
|
3
|
-
description: Owner evidence-ingestion rules for lower-token slopmachine
|
|
2
|
+
name: owner-evidence-discipline
|
|
3
|
+
description: Owner evidence-ingestion rules for lower-token slopmachine review loops.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Owner Evidence Discipline
|
|
6
|
+
# Owner Evidence Discipline
|
|
7
7
|
|
|
8
8
|
Use this skill when owner review risks rereading too much evidence.
|
|
9
9
|
|
|
@@ -1,20 +1,36 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: planning-gate
|
|
3
|
-
description: Owner-side planning acceptance
|
|
3
|
+
description: Owner-side planning acceptance and correction rules for slopmachine.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Planning Gate
|
|
7
7
|
|
|
8
|
-
Use this skill during `P2
|
|
8
|
+
Use this skill during `P2 Planning` when reviewing or accepting the plan.
|
|
9
|
+
|
|
10
|
+
## Planning gate priorities
|
|
11
|
+
|
|
12
|
+
Before planning is accepted, the owner should explicitly review the plan against these later audit buckets:
|
|
13
|
+
|
|
14
|
+
1. prompt-fit
|
|
15
|
+
2. security-critical flaws
|
|
16
|
+
3. test sufficiency
|
|
17
|
+
4. major engineering quality
|
|
18
|
+
|
|
19
|
+
Planning should not pass if these have been ignored in a way that is likely to create expensive late failures.
|
|
20
|
+
|
|
21
|
+
## Core rule
|
|
22
|
+
|
|
23
|
+
If the owner notices a concrete role, contract, or scope mismatch, planning does not pass until one of these is true:
|
|
24
|
+
|
|
25
|
+
- the mismatch is corrected
|
|
26
|
+
- an explicit disposition note explains why acceptance is still valid
|
|
9
27
|
|
|
10
28
|
## Usage rules
|
|
11
29
|
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
- do not pause for planning approval or any other human check-in while using this skill; planning must continue until it is accepted internally or sent back to the developer for fixes
|
|
17
|
-
- maintain the owner-managed external planning docs in parent-root `../docs/` from the accepted plan rather than treating them as developer-owned files
|
|
30
|
+
- keep the existing high bar for implementation-grade planning
|
|
31
|
+
- treat this as owner-side planning gate guidance, not developer-visible text
|
|
32
|
+
- do not create deep execution decomposition before the plan is accepted
|
|
33
|
+
- keep planning as a cheap correction point rather than pushing known ambiguity into execution
|
|
18
34
|
|
|
19
35
|
## Core planning gate
|
|
20
36
|
|
|
@@ -49,11 +65,14 @@ Use this skill during `P2 Development Bootstrap and Planning` when reviewing, ti
|
|
|
49
65
|
- define frontend validation and accessibility expectations when the product surface materially depends on them
|
|
50
66
|
- if the prompt names literal storage, indexing, partitioning, retention, or performance dimensions, represent them literally in the planning artifacts rather than abstracting them away
|
|
51
67
|
|
|
52
|
-
##
|
|
53
|
-
|
|
54
|
-
Before accepting planning, apply this checklist when relevant:
|
|
68
|
+
## Acceptance checklist
|
|
55
69
|
|
|
70
|
+
- scope is still prompt-faithful
|
|
71
|
+
- the plan has explicitly addressed prompt-fit risks and requirement drift
|
|
56
72
|
- major user-facing flows are mapped to backend support and verification targets
|
|
73
|
+
- security-critical areas are planned early enough that they will not be left to accidental late cleanup
|
|
74
|
+
- test sufficiency has been considered at the level of core happy path, major failure paths, security-critical paths, and obvious high-risk boundaries
|
|
75
|
+
- major engineering quality has been addressed through maintainable boundaries, clear decomposition, and shared contracts
|
|
57
76
|
- frontend route, page, component, and state boundaries are planned when the UI is material
|
|
58
77
|
- configurable behaviors are concretely planned where the prompt requires configurability
|
|
59
78
|
- lifecycle and state models are aligned across design and API/spec artifacts
|
|
@@ -62,6 +81,8 @@ Before accepting planning, apply this checklist when relevant:
|
|
|
62
81
|
- relevant cross-cutting system contracts are explicitly defined rather than left to per-module invention
|
|
63
82
|
- each major module has a clear integration contract with existing modules and shared patterns
|
|
64
83
|
- verification plans include cross-module seam checks, not just isolated feature tests
|
|
84
|
+
- visible mismatches are corrected or explicitly dispositioned
|
|
85
|
+
- planning comments and artifacts reflect current policy truth
|
|
65
86
|
|
|
66
87
|
## Exit conditions
|
|
67
88
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: planning-guidance
|
|
3
|
-
description: Developer-facing planning guidance for slopmachine
|
|
2
|
+
name: planning-guidance
|
|
3
|
+
description: Developer-facing planning guidance for slopmachine.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Planning Guidance
|
|
6
|
+
# Planning Guidance
|
|
7
7
|
|
|
8
8
|
Use this skill during `P2 Planning` to compose the developer-facing planning prompt.
|
|
9
9
|
|
|
@@ -35,10 +35,17 @@ The goal is to reduce late audit failures by designing for these concerns up fro
|
|
|
35
35
|
|
|
36
36
|
- never create or keep `.env` files anywhere in the repo tree
|
|
37
37
|
- do not allow committed `.env` files even as placeholders or examples
|
|
38
|
-
- keep real secrets out of the repository and
|
|
39
|
-
- if the stack requires env-file format at runtime, generate it ephemerally from
|
|
38
|
+
- keep real secrets out of the repository and use the selected stack's appropriate runtime or platform secret/config mechanism for sensitive values
|
|
39
|
+
- if the stack requires env-file format at runtime, generate it ephemerally from the selected runtime environment rather than storing it in the repo or package
|
|
40
40
|
- verify the delivered project can start from scratch without any preexisting `.env` file in the repo or package
|
|
41
41
|
|
|
42
|
+
Selected-stack defaults:
|
|
43
|
+
|
|
44
|
+
- follow the original prompt and existing repository first; use the defaults below only when they do not already specify the platform or stack
|
|
45
|
+
- web backend/fullstack: prefer Docker/runtime-provided variables, never committed env files
|
|
46
|
+
- mobile: use app config only for non-secret public configuration and keep real secrets out of the client bundle
|
|
47
|
+
- desktop: use main-process/runtime configuration and platform-appropriate secure storage when local secret persistence is required
|
|
48
|
+
|
|
42
49
|
## Planning guidance
|
|
43
50
|
|
|
44
51
|
- require implementation-grade planning, not brainstorming
|
|
@@ -75,17 +82,30 @@ The goal is to reduce late audit failures by designing for these concerns up fro
|
|
|
75
82
|
- define auth edge-case expectations when relevant, such as token refresh, session expiry, or clock-skew tolerance
|
|
76
83
|
- call out operational obligations early when they are prompt-critical, such as scheduling, retention, backups, workers, auditability, or offline behavior
|
|
77
84
|
- define infrastructure requirements early when they are material to correctness, such as rate limiting, encryption boundaries, production-equivalent test infrastructure, and browser-storage rules for sensitive data
|
|
85
|
+
- define the project-standard runtime contract and the universal broad test entrypoint `./run_tests.sh` early, and keep both compatible with the selected stack
|
|
86
|
+
- for Dockerized web backend/fullstack projects, the runtime contract may be `docker compose up --build` directly when the prompt or existing repo does not already dictate another stack-compatible contract
|
|
87
|
+
- when `docker compose up --build` is not the runtime contract, require `./run_app.sh` as the single primary runtime wrapper for the project
|
|
88
|
+
- for mobile, desktop, CLI, library, or other non-web projects, `./run_app.sh` should own the selected stack's runtime flow instead of assuming host tooling conventions
|
|
89
|
+
- `./run_tests.sh` must exist for every project as the platform-independent broad test wrapper
|
|
90
|
+
- `./run_tests.sh` must prepare or install anything required before running the tests when that setup is needed for a clean environment
|
|
91
|
+
- for Dockerized web backend/fullstack projects, `./run_tests.sh` must run the full test path through Docker rather than a purely local test invocation
|
|
92
|
+
- for non-web or non-Docker projects, `./run_tests.sh` must call the selected stack's equivalent full test path while keeping the same single-command interface
|
|
93
|
+
- local tests should still exist for ordinary developer iteration, but `./run_tests.sh` is the broad final test path for the project
|
|
78
94
|
- define frontend validation and accessibility expectations when the product surface materially depends on them, including keyboard, focus, feedback, and other user-interaction quality requirements where relevant
|
|
79
95
|
- if backup or recovery behavior is prompt-critical, plan the designated media, operator drill flow, visibility, and verification expectations explicitly
|
|
80
96
|
- if the prompt names literal storage, indexing, partitioning, retention, or performance dimensions, represent them literally in the planning artifacts rather than abstracting them away
|
|
81
|
-
- for frontend work, unless the prompt, existing repository, or established stack clearly dictates otherwise, default to Tailwind CSS for styling and `shadcn/ui` for component primitives
|
|
97
|
+
- for web frontend work, unless the prompt, existing repository, or established stack clearly dictates otherwise, default to Tailwind CSS for styling and `shadcn/ui` for component primitives
|
|
82
98
|
- if the existing project already uses a different UI system, preserve and extend that system instead of forcing Tailwind CSS or `shadcn/ui` into it
|
|
99
|
+
- for mobile work, unless the prompt or existing repository clearly dictates otherwise, default to Expo + React Native + TypeScript
|
|
100
|
+
- for desktop work, unless the prompt or existing repository clearly dictates otherwise, default to Electron + Vite + TypeScript
|
|
83
101
|
- define end-to-end coverage for major user flows before coding
|
|
84
102
|
- define enough test coverage up front to catch major issues later, especially core happy path, important failure paths, security-critical paths, and obvious high-risk boundaries
|
|
85
|
-
- for fullstack work, explicitly plan Playwright coverage for the synchronized frontend/backend flows when end-to-end testing is applicable
|
|
86
|
-
-
|
|
103
|
+
- for web fullstack work, explicitly plan Playwright coverage for the synchronized frontend/backend flows when end-to-end testing is applicable
|
|
104
|
+
- for mobile work, plan Jest plus React Native Testing Library as the local default test layer and add a platform-appropriate mobile UI/E2E tool when real device-flow proof is needed
|
|
105
|
+
- for desktop work, plan a local desktop test runner plus Playwright Electron support or another platform-appropriate desktop UI/E2E tool when real window-flow proof is needed
|
|
106
|
+
- when UI-bearing flows are material, explicitly plan screenshot review or equivalent platform artifacts as part of UI verification so correctness is checked, not just command success
|
|
87
107
|
- aim for at least 90 percent meaningful coverage of the relevant behavior surface
|
|
88
|
-
- define verification strategy,
|
|
108
|
+
- define verification strategy, selected-stack runtime expectations, and documentation implications before coding
|
|
89
109
|
- make major engineering quality a planning concern by defining maintainable boundaries, separation of concerns, shared patterns, extension points, and anti-chaos constraints before coding begins
|
|
90
110
|
- for each major module, define how it integrates with existing modules and which shared contracts it must follow consistently
|
|
91
111
|
- define verification plans that include cross-module scenarios and seam checks, not just isolated feature checks
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: remediation-guidance
|
|
3
|
-
description: Focused remediation rules for slopmachine
|
|
2
|
+
name: remediation-guidance
|
|
3
|
+
description: Focused remediation rules for slopmachine.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Remediation Guidance
|
|
6
|
+
# Remediation Guidance
|
|
7
7
|
|
|
8
8
|
Use this skill only during `P9 Remediation`.
|
|
9
9
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: report-output-discipline
|
|
3
|
-
description: File-backed reporting discipline for slopmachine
|
|
2
|
+
name: report-output-discipline
|
|
3
|
+
description: File-backed reporting discipline for slopmachine.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Report Output Discipline
|
|
6
|
+
# Report Output Discipline
|
|
7
7
|
|
|
8
8
|
Use this skill whenever an owner-side review or evaluation task would otherwise dump a large report into chat.
|
|
9
9
|
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: retrospective-analysis
|
|
3
|
+
description: Owner-only final retrospective rules for slopmachine.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Retrospective Analysis
|
|
7
|
+
|
|
8
|
+
Use this skill only after `P10 Submission Packaging` has materially and formally succeeded.
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
- inspect what happened across the whole workflow run
|
|
13
|
+
- identify what caused churn, waste, late defects, or preventable corrections
|
|
14
|
+
- capture lessons that should improve future runs
|
|
15
|
+
- write package-specific retrospective files under `~/slopmachine/retrospectives/`
|
|
16
|
+
|
|
17
|
+
## Phase role
|
|
18
|
+
|
|
19
|
+
- this is an automatic owner-only phase
|
|
20
|
+
- it is quiet and non-blocking by default
|
|
21
|
+
- it does not create a new human stop
|
|
22
|
+
- it does not rerun broad verification by default
|
|
23
|
+
- it should not reopen development unless it finds a real defect in the already-packaged result
|
|
24
|
+
|
|
25
|
+
## Output location
|
|
26
|
+
|
|
27
|
+
Write dated retrospective files under:
|
|
28
|
+
|
|
29
|
+
- `~/slopmachine/retrospectives/`
|
|
30
|
+
|
|
31
|
+
Preferred filenames:
|
|
32
|
+
|
|
33
|
+
- `retrospective-YYYY-MM-DD.md`
|
|
34
|
+
- `improvement-actions-YYYY-MM-DD.md`
|
|
35
|
+
|
|
36
|
+
If only one file is needed, the retrospective file is sufficient.
|
|
37
|
+
|
|
38
|
+
## Evidence sources
|
|
39
|
+
|
|
40
|
+
Prefer existing workflow artifacts first:
|
|
41
|
+
|
|
42
|
+
- root metadata
|
|
43
|
+
- questions/clarification record
|
|
44
|
+
- clarification prompt
|
|
45
|
+
- planning artifacts
|
|
46
|
+
- Beads comments and transitions
|
|
47
|
+
- developer-session handoffs
|
|
48
|
+
- review and rejection history
|
|
49
|
+
- verification gate notes
|
|
50
|
+
- evaluation reports
|
|
51
|
+
- remediation records
|
|
52
|
+
- packaging outputs
|
|
53
|
+
|
|
54
|
+
Do not reread the entire codebase unless a real inconsistency requires it.
|
|
55
|
+
Do not rerun broad Docker or full-suite verification just for retrospective analysis.
|
|
56
|
+
|
|
57
|
+
## Required retrospective sections
|
|
58
|
+
|
|
59
|
+
1. outcome summary
|
|
60
|
+
2. what worked well
|
|
61
|
+
3. what caused waste or looping
|
|
62
|
+
4. what was caught too late
|
|
63
|
+
5. findings by phase
|
|
64
|
+
6. findings by instruction plane:
|
|
65
|
+
- owner shell
|
|
66
|
+
- developer prompt
|
|
67
|
+
- skills
|
|
68
|
+
- `AGENTS.md`
|
|
69
|
+
7. actionable improvements
|
|
70
|
+
|
|
71
|
+
## Audit buckets
|
|
72
|
+
|
|
73
|
+
Evaluate at least these buckets in hindsight:
|
|
74
|
+
|
|
75
|
+
1. prompt-fit
|
|
76
|
+
2. security-critical flaws
|
|
77
|
+
3. test sufficiency
|
|
78
|
+
4. major engineering quality
|
|
79
|
+
5. token/time waste
|
|
80
|
+
|
|
81
|
+
For each meaningful finding, prefer:
|
|
82
|
+
|
|
83
|
+
- what happened
|
|
84
|
+
- why it happened
|
|
85
|
+
- where the fix belongs
|
|
86
|
+
- how it should change future runs
|
|
87
|
+
|
|
88
|
+
## Rule for reopening work
|
|
89
|
+
|
|
90
|
+
- if retrospective finds a real packaging or delivery defect, reopen `P10` and fix it
|
|
91
|
+
- if it finds only improvements, document them and close the retrospective phase
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scaffold-guidance
|
|
3
|
+
description: Developer-facing scaffold guidance for slopmachine.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Scaffold Guidance
|
|
7
|
+
|
|
8
|
+
Use this skill during `P3 Scaffold` before prompting the developer.
|
|
9
|
+
|
|
10
|
+
## Scaffold standard
|
|
11
|
+
|
|
12
|
+
- create real foundations, not decorative boilerplate
|
|
13
|
+
- establish the real runtime contract
|
|
14
|
+
- establish the local verification path and the standardized gate path
|
|
15
|
+
- make prompt-critical baseline behavior real where required
|
|
16
|
+
- keep repo-local `README.md` honest from the start
|
|
17
|
+
- make the selected-stack primary runtime command and the universal `./run_tests.sh` broad test command real from the scaffold stage
|
|
18
|
+
|
|
19
|
+
For Dockerized web backend/fullstack projects, scaffold must make these commands real and working before scaffold can pass:
|
|
20
|
+
|
|
21
|
+
- `docker compose up --build`
|
|
22
|
+
- `./run_tests.sh`
|
|
23
|
+
|
|
24
|
+
## Scaffold and foundation guidance
|
|
25
|
+
|
|
26
|
+
- create the initial project structure intentionally
|
|
27
|
+
- follow the original prompt and existing repository first; only use the package defaults below when they do not already specify the platform or stack
|
|
28
|
+
- create `./run_tests.sh` during scaffold for every project as the single broad test entrypoint
|
|
29
|
+
- for Dockerized web backend/fullstack projects, make `docker compose up --build` real as the primary runtime command during scaffold
|
|
30
|
+
- when `docker compose up --build` is not the runtime contract, create `./run_app.sh` during scaffold as the single primary runtime wrapper
|
|
31
|
+
- make `./run_tests.sh` self-sufficient from a clean environment by preparing or installing anything it needs before executing the tests
|
|
32
|
+
- for Dockerized web backend/fullstack projects, `./run_tests.sh` must execute the broad test path through Docker and should own that Dockerized test flow directly instead of requiring separate manual pre-setup
|
|
33
|
+
- for non-web or non-Docker projects, `./run_tests.sh` must execute the selected stack's platform-equivalent broad test flow while preserving the same single-command interface
|
|
34
|
+
- local non-Docker test commands should still be installed and working for normal development iteration
|
|
35
|
+
- create required testing directories and baseline docs structure
|
|
36
|
+
- put baseline config and logging structure in place
|
|
37
|
+
- install and configure the local test tooling needed for ordinary iteration during scaffold rather than deferring local testing setup to later phases
|
|
38
|
+
- for web UI projects, install the local browser E2E tooling during scaffold when the project will need it
|
|
39
|
+
- for mobile projects, install the local mobile testing layer during scaffold, defaulting to Jest plus React Native Testing Library for Expo/React Native work
|
|
40
|
+
- for desktop projects, install the local desktop testing layer during scaffold, defaulting to the selected project test runner and Playwright Electron support or an equivalent desktop UI/E2E tool when UI verification is required
|
|
41
|
+
- put migrations, worker/job foundation, and real runtime health surfaces in place when the project needs them
|
|
42
|
+
- treat prompt-critical security controls as real baseline runtime behavior, not placeholder checks or visual wiring
|
|
43
|
+
- if a requirement implies enforcement, persistence, statefulness, or rejection behavior, make that behavior real in the scaffold unless the prompt clearly scopes it down
|
|
44
|
+
- do not accept shape-only security implementations such as header presence checks, passive constants, or partially wired middleware when the requirement implies real protection
|
|
45
|
+
- when applicable at scaffold time, require platform-appropriate real security baselines rather than shape-only placeholders
|
|
46
|
+
- for web service flows, examples include nonce replay rejection, real lockout behavior, CSRF rejection on protected mutations, and meaningful server-side state when the protection model depends on it
|
|
47
|
+
- for mobile flows, examples include safe auth-state handling, no bundled secrets, secure token storage when runtime tokens must be persisted, and protected deep-link or privileged screen behavior when applicable
|
|
48
|
+
- for desktop flows, examples include secure preload/contextBridge boundaries, `contextIsolation` preserved, `nodeIntegration` not exposed by default in the renderer, and privileged actions kept out of untrusted renderer reach
|
|
49
|
+
- remove prototype residue from runtime foundations: no placeholder titles, hidden setup, fake defaults, or seeded live-path assumptions
|
|
50
|
+
- make prompt-critical runtime behavior visible in the scaffold instead of hand-waving it for later, especially offline, worker, backup, or HTTPS requirements
|
|
51
|
+
- for Dockerized web projects, keep runtime isolation clean in shared environments: use self-contained Compose namespacing, avoid fragile generic project names, and prefer Compose-managed service naming over unnecessary hardcoded `container_name` values
|
|
52
|
+
- require reproducible build and tooling foundations: prefer lockfile-driven installs where the stack supports them, keep source and build outputs clearly separated, and do not allow generated runtime artifacts to drift back into source directories
|
|
53
|
+
- for typed build pipelines, keep source-of-truth boundaries clean so compiled output does not create TS/JS or similar dual-source drift in the working tree
|
|
54
|
+
- establish README structure early instead of leaving it until the end
|
|
55
|
+
- ensure `README.md` clearly documents the primary runtime command and the broad `./run_tests.sh` contract for the selected stack
|
|
56
|
+
- prove the scaffold in a clean state before deeper feature work
|
|
57
|
+
- verify clean startup and teardown behavior under the selected stack's runtime contract
|
|
58
|
+
- for Dockerized web projects, verify clean startup and teardown behavior under the chosen project namespace
|
|
59
|
+
- when the architecture materially depends on infrastructure capabilities such as rate limiting, encryption, offline support, or browser-storage policy, put the baseline framework and policy in place during scaffold rather than deferring it to late implementation
|
|
60
|
+
- for backend integration paths, prefer production-equivalent test infrastructure when practical rather than silently substituting a weaker database or runtime model that can hide real defects
|
|
61
|
+
- do not treat scaffold as placeholder boilerplate or rely on hidden setup
|
|
62
|
+
|
|
63
|
+
## Current policy
|
|
64
|
+
|
|
65
|
+
- no `.env` files or env-file variants in the repo
|
|
66
|
+
- do not edit `AGENTS.md` or other workflow/rulebook files unless explicitly asked
|
|
67
|
+
- keep generated artifacts out of source-of-truth paths
|
|
68
|
+
- keep real secrets out of the repository and use the selected stack's runtime/platform mechanism for sensitive values
|
|
69
|
+
- if the stack requires env-file format at runtime, generate it ephemerally from the selected runtime environment rather than storing it in the repo or package
|
|
70
|
+
|
|
71
|
+
## Acceptance target
|
|
72
|
+
|
|
73
|
+
Scaffold should make later slices easier, not force them to retrofit missing fundamentals.
|
|
74
|
+
|
|
75
|
+
## Verification cadence
|
|
76
|
+
|
|
77
|
+
- use local and narrow checks while correcting scaffold work
|
|
78
|
+
- reserve one broad owner-run scaffold gate for actual scaffold acceptance
|
|
79
|
+
- do not spend extra broad reruns once the acceptance question is already answered
|
|
80
|
+
- for Dockerized web backend/fullstack projects, the owner must run `docker compose up --build` and `./run_tests.sh` once after scaffold completion to confirm the baseline actually works
|
|
81
|
+
- after that scaffold confirmation, do not run Docker again during ordinary development work; the next Docker-based run should be at development completion when integrated behavior is checked
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: session-rollover
|
|
3
|
-
description: Planned developer-session handoff and rollover rules for bounded slopmachine
|
|
2
|
+
name: session-rollover
|
|
3
|
+
description: Planned developer-session handoff and rollover rules for bounded slopmachine developer sessions.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Session Rollover
|
|
6
|
+
# Session Rollover
|
|
7
7
|
|
|
8
8
|
Use this skill only when intentionally moving from one planned developer session slot to the next.
|
|
9
9
|
|