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.
Files changed (42) hide show
  1. package/MANUAL.md +3 -3
  2. package/README.md +36 -12
  3. package/RELEASE.md +9 -7
  4. package/assets/agents/developer.md +51 -250
  5. package/assets/agents/slopmachine.md +253 -401
  6. package/assets/skills/beads-operations/SKILL.md +44 -38
  7. package/assets/skills/clarification-gate/SKILL.md +79 -14
  8. package/assets/skills/developer-session-lifecycle/SKILL.md +97 -35
  9. package/assets/skills/{development-guidance-v2 → development-guidance}/SKILL.md +9 -6
  10. package/assets/skills/{evaluation-triage-v2 → evaluation-triage}/SKILL.md +43 -4
  11. package/assets/skills/final-evaluation-orchestration/SKILL.md +44 -40
  12. package/assets/skills/{hardening-gate-v2 → hardening-gate}/SKILL.md +3 -3
  13. package/assets/skills/{integrated-verification-v2 → integrated-verification}/SKILL.md +6 -5
  14. package/assets/skills/{owner-evidence-discipline-v2 → owner-evidence-discipline}/SKILL.md +3 -3
  15. package/assets/skills/planning-gate/SKILL.md +32 -11
  16. package/assets/skills/{planning-guidance-v2 → planning-guidance}/SKILL.md +29 -9
  17. package/assets/skills/{remediation-guidance-v2 → remediation-guidance}/SKILL.md +3 -3
  18. package/assets/skills/{report-output-discipline-v2 → report-output-discipline}/SKILL.md +3 -3
  19. package/assets/skills/retrospective-analysis/SKILL.md +91 -0
  20. package/assets/skills/scaffold-guidance/SKILL.md +81 -0
  21. package/assets/skills/{session-rollover-v2 → session-rollover}/SKILL.md +3 -3
  22. package/assets/skills/submission-packaging/SKILL.md +163 -197
  23. package/assets/skills/verification-gates/SKILL.md +69 -81
  24. package/assets/slopmachine/templates/AGENTS.md +77 -101
  25. package/assets/slopmachine/{workflow-init-v2.js → workflow-init.js} +2 -2
  26. package/package.json +23 -23
  27. package/src/constants.js +12 -21
  28. package/src/init.js +38 -29
  29. package/src/install.js +123 -23
  30. package/assets/agents/developer-v2.md +0 -86
  31. package/assets/agents/slopmachine-v2.md +0 -219
  32. package/assets/skills/beads-operations-v2/SKILL.md +0 -82
  33. package/assets/skills/clarification-gate-v2/SKILL.md +0 -74
  34. package/assets/skills/developer-session-lifecycle-v2/SKILL.md +0 -148
  35. package/assets/skills/final-evaluation-orchestration-v2/SKILL.md +0 -57
  36. package/assets/skills/get-overlays/SKILL.md +0 -228
  37. package/assets/skills/planning-gate-v2/SKILL.md +0 -91
  38. package/assets/skills/scaffold-guidance-v2/SKILL.md +0 -57
  39. package/assets/skills/submission-packaging-v2/SKILL.md +0 -142
  40. package/assets/skills/verification-gates-v2/SKILL.md +0 -102
  41. package/assets/slopmachine/templates/AGENTS-v2.md +0 -55
  42. package/assets/slopmachine/tracker-init.js +0 -104
@@ -1,134 +1,122 @@
1
1
  ---
2
2
  name: verification-gates
3
- description: Owner-side review, verify-fix loop, heavy-gate interpretation, and runtime acceptance rules for repo-cwd blueprint-driven projects.
3
+ description: Owner-side review, acceptance, rejection, and gate-interpretation rules for slopmachine.
4
4
  ---
5
5
 
6
6
  # Verification Gates
7
7
 
8
- Use this skill after development begins whenever you are reviewing developer work, deciding acceptance, interpreting phase exits, or enforcing hard verification boundaries.
8
+ Use this skill after development begins whenever you are reviewing work, deciding acceptance, or interpreting phase exits.
9
9
 
10
10
  ## Usage rules
11
11
 
12
- - Load this skill before review, acceptance, rejection, runtime gate interpretation, hardening readiness decisions, or heavy-gate decisions.
13
- - Treat it as owner-side review and gate guidance, not developer-visible text.
14
- - Use `get-overlays` as the source of truth for developer-facing execution guidance.
15
- - Use this skill as the source of truth for owner-side verification, review pressure, and gate interpretation.
16
- - outside the final evaluation decision, do not pause execution for human approval while using this skill; continue reviewing, rejecting, fixing, and rerunning until the work qualifies
12
+ - load this skill before review, acceptance, rejection, runtime gate interpretation, hardening readiness decisions, or broad-gate decisions
13
+ - treat it as owner-side review and gate guidance, not developer-visible text
14
+ - use this skill as the source of truth for owner-side verification, review pressure, and gate interpretation
15
+ - outside the final human decision, do not pause execution for human approval while using this skill; continue reviewing, rejecting, fixing, and rerunning until the work qualifies
17
16
 
18
- ## Documentation And Repo Hygiene
17
+ ## Documentation and repo hygiene
19
18
 
20
19
  - maintain the owner-managed external docs in parent-root `../docs/` from accepted clarification, accepted planning, accepted major implementation changes, and hardening verification
21
20
  - keep `README.md` codebase-specific, junior-friendly, and separate from the external docs set
22
21
  - do not allow `.env` files or env-file variants anywhere in the repo tree
23
22
  - do not allow a project that requires a preexisting `.env` file in the repo or package to start from scratch
24
- - if env-file format is needed at runtime, it must be generated ephemerally from Docker-provided runtime variables rather than stored in the repo or package
23
+ - if env-file format is needed at runtime, it must be generated ephemerally from the selected runtime environment rather than stored in the repo or package
24
+ - require the README to show the correct primary runtime command and `./run_tests.sh` as the primary broad test command
25
+ - for Dockerized web backend/fullstack projects, that runtime command may be `docker compose up --build` directly
26
+ - when `docker compose up --build` is not the runtime contract, require `./run_app.sh` to be the documented primary runtime wrapper
27
+ - require `./run_tests.sh` to be self-sufficient enough to run from a clean environment, including any required install/setup steps when applicable
28
+ - for Dockerized web backend/fullstack projects, require `./run_tests.sh` to be the Dockerized broad test path used for final broad verification rather than a local-only test wrapper
29
+ - for non-web or non-Docker projects, require `./run_tests.sh` to be the platform-equivalent broad test path used for final broad verification
25
30
 
26
31
  ## Review standard
27
32
 
28
- - do not accept weak tests
33
+ - do not accept fake tests, weak evidence, documentation drift, missing real surfaces, or unresolved release-facing failures
34
+ - do not accept mocked APIs as integration evidence
35
+ - do not accept placeholder or demo UI in product-facing flows
36
+ - do not accept `.env` files or similar env-file artifacts
29
37
  - do not accept shallow Docker verification
30
- - do not accept documentation drift
31
38
  - do not accept happy-path-only implementation when failure paths matter
32
39
  - do not accept unsupported claims
33
40
  - do not accept work that looks complete but is not resilient
34
41
  - do not accept committed secrets, hardcoded sensitive values, or sloppy env handling
35
42
  - do not accept frontend/backend drift in fullstack work
36
43
  - do not accept missing end-to-end coverage for major fullstack flows
37
- - do not accept UI claims without screenshot-backed Playwright evidence when the change affects real frontend behavior
38
- - do not accept frontend placeholder, demo, setup, or debug messaging in product-facing UI
44
+ - do not accept UI claims without screenshot-backed or platform-equivalent visual evidence when the change affects real UI behavior
39
45
  - do not accept prototype residue such as seeded credentials, weak demo defaults, login hints, or unsanitized user-facing error behavior
40
46
  - do not accept multi-tenant or cross-user security claims without negative isolation evidence when that boundary matters
41
47
  - do not accept file-bearing flows without path confinement and traversal-style validation when that boundary matters
42
- - do not accept partial `foundation` work for complex features when the prompt implies broader usable scope, infrastructure depth, or security depth than what was actually delivered
43
- - do not accept known user-facing, release-facing, production-path, or build failures as compatible with completion unless explicitly scoped out
48
+ - do not accept partial foundation work for complex features when the prompt implies broader usable scope, infrastructure depth, or security depth than what was actually delivered
44
49
  - do not accept frontend-bearing slice completion without checking production build health when the change materially affects frontend code or tooling
45
50
  - do not accept module completion that ignores integration seams or cross-cutting consistency with the existing system
46
51
  - do not accept end-to-end evidence that bypasses a required user-facing or admin-facing surface with direct API shortcuts
47
- - do not accept mocked APIs as integration evidence; integration verification must use real HTTP requests against the actual running service surface
52
+
53
+ ## Cadence rule
54
+
55
+ - use targeted local verification as the default during scaffold corrections, development, hardening, and remediation
56
+ - reserve the selected stack's broad verification path for the limited owner-run gate moments in the workflow budget
57
+ - do not turn ordinary acceptance into repeated integrated-style gate runs
58
+ - 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 scaffold baseline
59
+ - after that scaffold confirmation, the next Docker-based run should be at development completion or integrated-verification entry unless a real blocker forces earlier escalation
48
60
 
49
61
  ## Verify-fix loop
50
62
 
51
- - inspect the result and the evidence, not just the developer's confidence
63
+ - inspect the result and evidence, not just the developer claim
52
64
  - review technical quality, prompt alignment, architecture impact, and verification depth of the current work
53
- - during normal implementation iteration, always prefer fast local language-native or framework-native verification for the changed area instead of `docker compose up --build` or `run_tests.sh`
65
+ - during normal implementation iteration, always prefer fast local language-native or framework-native verification for the changed area instead of the selected stack's broad gate path
54
66
  - require the developer to set up and use the project-appropriate local test environment in the current working directory when normal local verification is needed
55
- - require local runtime proof when relevant by starting the server locally and exercising the changed behavior directly rather than jumping to Docker-based proof
56
- - if the local toolchain is missing, require the developer to install or enable it first; do not jump to `run_tests.sh` during ordinary iteration just because local setup is inconvenient
67
+ - require local runtime proof when relevant by starting the app or service through the selected stack's local run path and exercising the changed behavior directly rather than jumping to the broad gate path
68
+ - if the local toolchain is missing, require the developer to install or enable it first; do not jump to the broad gate path during ordinary iteration just because local setup is inconvenient
57
69
  - do not accept hand-wavy claims that local verification is unavailable without a real setup attempt and clear explanation
58
- - for applicable fullstack or UI-bearing work, require local Playwright on affected flows plus screenshot review and explicit UI validation
70
+ - for applicable UI-bearing work, require the selected stack's local UI/E2E tool on affected flows plus screenshot review or equivalent platform artifacts and explicit UI validation
59
71
  - if verification is weak, missing, or failing, require fixes and reruns before acceptance
60
72
  - if documentation or repo hygiene drifts, secrets leak, contracts drift, or frontend integrity is compromised, require cleanup before acceptance
61
73
  - keep looping until the current work is genuinely acceptable
62
74
 
63
- ## Heavy-gate definition
64
-
65
- - a heavy gate is an owner-run integrated verification boundary, not every ordinary phase change
66
- - a phase change alone does not automatically require a heavy gate unless that phase's exit criteria explicitly call for one
67
- - a heavy gate normally means some combination of full clean runtime proof, full `run_tests.sh`, and Playwright plus screenshot evidence when UI or fullstack flows exist
68
- - heavy gates are required only at these milestone boundaries:
69
- - scaffold acceptance
70
- - when development/coding is complete and the project enters integrated verification
71
- - when integrated verification is complete and the project is ready to leave that phase
72
- - when hardening is complete and the project is ready for final evaluation
73
- - once more on the final qualified state before submission packaging
74
- - planning acceptance, ordinary module acceptance, and routine in-phase verification are not heavy gates by default and should rely on targeted local verification unless the risk profile says otherwise
75
-
76
- ## Testing cadence interpretation
77
-
78
- - the first required `run_tests.sh` pass happens in scaffold once the clean foundation exists
79
- - after scaffold, do not force `docker compose up --build` or `run_tests.sh` on normal development steps
80
- - prefer local targeted or native test commands during module implementation and ordinary verify-fix iteration
81
- - prefer local runtime startup and direct local behavior checks instead of Docker whenever runtime proof is needed during ordinary work
82
- - local verification should run inside the current working directory using the project's own environment and tooling rather than hidden global assumptions
83
- - during applicable fullstack or UI-bearing implementation work, require local Playwright on affected flows and review screenshots
84
- - during integrated verification, do not rerun `docker compose up --build` or `run_tests.sh` on every small fix inside the phase; use local verification until the next milestone boundary is reached
85
- - reserve `docker compose up --build` and `run_tests.sh` for these owner-run milestone checks only:
86
- - scaffold acceptance
87
- - development/coding complete -> integrated verification entry
88
- - integrated verification complete -> hardening entry
89
- - hardening complete -> final evaluation readiness
90
- - final qualified state -> submission packaging readiness
91
- - the workflow owner handles those expensive critical-gate runs; do not require the developer to duplicate them during normal phase progression
92
- - each integrated-verification milestone run must also include Playwright for major flows and screenshot review when UI or fullstack flows exist
93
- - after post-evaluation remediation, prefer local reruns, affected local runtime checks, and affected Playwright checks
94
- - after remediation, return the project to the appropriate milestone boundary and run the next owner-run gate there rather than turning every remediation fix into an immediate Docker and `run_tests.sh` rerun
75
+ ## Broad-gate definition
76
+
77
+ - a broad gate is an owner-run integrated verification boundary, not every ordinary phase change
78
+ - a phase change alone does not automatically require a broad gate unless that phase exit explicitly calls for one
79
+ - a broad gate normally means some combination of full clean runtime proof, `./run_tests.sh`, and platform-appropriate UI/E2E evidence when UI-bearing flows exist
80
+ - in v2, the workflow target is at most 3 broad owner-run verification moments across the whole cycle
81
+ - ordinary planning, ordinary slice acceptance, and routine in-phase verification are not broad gates by default and should rely on targeted local verification unless the risk profile says otherwise
82
+
83
+ For Dockerized web backend/fullstack projects, the default Docker cadence is:
84
+
85
+ 1. one owner-run `docker compose up --build` plus one owner-run `./run_tests.sh` after scaffold completion
86
+ 2. no more Docker-based runs during ordinary development work
87
+ 3. the next Docker-based run at development completion or integrated-verification entry
88
+
89
+ Any earlier extra Docker run needs a concrete blocker-based justification.
95
90
 
96
91
  ## Runtime gate interpretation
97
92
 
98
- Use evidence such as internal metadata files, structured tracker comments, verification command results, and file/project-state checks.
93
+ Use evidence such as internal metadata files, structured Beads comments, verification command results, and file/project-state checks.
99
94
 
100
95
  - clarification requires the `clarification-gate` conditions plus explicit approval record
101
- - development bootstrap requires the `developer-session-lifecycle` conditions plus a fresh planning-oriented start and the required documentation and repo hygiene state when relevant
102
- - scaffold requires evidence for `docker compose up --build`, `run_tests.sh`, baseline logging/config, and when relevant the chosen frontend stack and UI approach being set intentionally
103
- - scaffold also requires safe env/config handling, no persisted local secrets, real migration/runtime foundations, and a usable local test environment in the current working directory when practical
96
+ - planning requires the `developer-session-lifecycle` and planning-gate conditions plus a fresh planning-oriented start and the required documentation and repo hygiene state when relevant
97
+ - scaffold requires evidence for the bounded scaffold gate, baseline logging/config, and when relevant the chosen frontend stack and UI approach being set intentionally
98
+ - scaffold also requires safe env/config handling, no persisted local secrets, real migration/runtime foundations, a usable local test environment in the current working directory, and the correct primary runtime command plus `./run_tests.sh` documented and working when practical
99
+ - scaffold also requires `./run_tests.sh` to handle its own required setup from a clean environment when applicable
100
+ - local tests should still exist for ordinary development work even when the primary broad test command is Dockerized
104
101
  - when scaffold includes prompt-critical security controls, acceptance requires real runtime or endpoint verification of the protection rather than helper-only or shape-only proof
105
102
  - for security-bearing scaffolds, require applicable rejection evidence such as stale replay rejection, nonce reuse rejection, CSRF rejection on protected mutations, lockout triggering when lockout is in scope, or equivalent proof that the control is truly enforced
106
- - Dockerized scaffold acceptance also requires self-contained Compose namespacing, no unnecessary fragile `container_name` usage, and clean startup plus teardown behavior in the intended shared-environment model
107
- - module implementation requires module planning notes, module definition of done, relevant local verification for the changed area, and for applicable fullstack or UI work local Playwright evidence with screenshots, plus docs sync and review acceptance
108
- - module implementation also requires integration-seam verification against adjacent modules and cross-cutting concerns where relevant, and known release-facing or build failures block acceptance unless explicitly scoped out
109
- - module implementation acceptance should also challenge tenant isolation, path confinement, sanitized error behavior, and prototype residue when those concerns are in scope
110
- - integrated verification entry requires owner-run `docker compose up --build`, owner-run `run_tests.sh`, end-to-end, Playwright, prompt-alignment, README/runtime, and cross-module evidence once development/coding is complete
111
- - integrated verification completion requires one more owner-run `docker compose up --build`, one more owner-run `run_tests.sh`, and the corresponding end-to-end and screenshot evidence before the phase can close
112
- - fullstack integrated verification must include Playwright coverage for every major flow, plus screenshots used to evaluate frontend behavior and UI quality along the flow using `frontend-design`
103
+ - scaffold acceptance also requires clean startup and teardown behavior in the selected runtime model; for Dockerized web projects this includes self-contained Compose namespacing and no unnecessary fragile `container_name` usage
104
+ - for Dockerized web backend/fullstack projects, scaffold acceptance is not complete until the owner has actually run `docker compose up --build` and `./run_tests.sh` once successfully after scaffold completion
105
+ - module implementation requires platform-appropriate local verification and selected-stack UI/E2E evidence when UI-bearing flows are material
106
+ - module implementation acceptance should challenge tenant isolation, path confinement, sanitized error behavior, prototype residue, integration seams, and cross-cutting consistency when those concerns are in scope
107
+ - integrated verification entry requires one of the limited owner-run broad gate moments once development is complete
108
+ - integrated verification completion requires explicit full-system evidence before the phase can close
109
+ - web fullstack integrated verification must include Playwright coverage for every major flow, plus screenshots used to evaluate frontend behavior and UI quality along the flow using `frontend-design`
110
+ - mobile and desktop integrated verification must include the selected stack's platform-appropriate UI/E2E coverage for every major user flow when UI-bearing flows are material
113
111
  - if a required flow cannot be exercised through the intended UI surface, treat that as incomplete implementation rather than acceptable E2E coverage
114
112
  - hardening requires security, maintainability, exploratory, and release-freeze evidence
115
- - hardening completion requires one owner-run `docker compose up --build` and one owner-run `run_tests.sh` on the hardened state before final evaluation begins
116
113
  - hardening must explicitly re-check secret handling, redaction, and frontend/backend observability hygiene
117
114
  - hardening must explicitly satisfy the documentation and repo hygiene policy in this file before final evaluation can begin
118
115
  - final evaluation readiness requires automated evaluation to be complete and triaged, with a clear go-to-packaging vs return-to-fixes decision
119
- - submission packaging readiness requires one final owner-run `docker compose up --build` and one final owner-run `run_tests.sh` on the final qualified state immediately before packaging
120
- - remediation requires accepted issue records plus rerun local verification and affected Playwright where applicable; if remediation materially reopens the integrated verification boundary, route it back through integrated verification before re-evaluation
121
-
122
- ## Hardening and pre-evaluation discipline
123
-
124
- When all planned modules are complete:
125
-
126
- - run the owner-run milestone gate for development/coding completion and enter integrated verification
127
- - run hardening and exploratory testing
128
- - for fullstack applications, rerun Playwright coverage for major flows and inspect screenshots for frontend regressions or weak UX
129
- - run the documentation and repo-hygiene verification required by this file before final evaluation
130
- - close integrated verification only after its completion milestone gate has passed
131
- - close hardening only after its completion milestone gate has passed
132
- - enforce release-candidate freeze
133
- - allow only fixes, verification improvements, doc corrections, and packaging work
134
- - prepare the package and evidence cleanly before the final evaluation decision gate
116
+ - remediation requires accepted issue records plus rerun local verification and affected platform-appropriate UI/E2E proof where applicable; if remediation materially reopens the integrated verification boundary, route it back through integrated verification before re-evaluation
117
+
118
+ ## Acceptance rule
119
+
120
+ - inspect the result and evidence, not just the developer claim
121
+ - prefer one strong rejection with a concrete correction request over many small nudges
122
+ - keep looping until the current work is genuinely acceptable
@@ -1,117 +1,93 @@
1
- # Developer Rulebook
1
+ # Developer Rulebook v2
2
2
 
3
- This file is the developer-facing operating rulebook for project execution.
3
+ This file is the repo-local engineering rulebook for `slopmachine` projects.
4
4
 
5
5
  ## Scope
6
6
 
7
7
  - Treat the current working directory as the project.
8
- - Ignore files outside the current working directory unless the user explicitly asks you to use them.
9
- - Do not use unrelated parent-directory files as hidden requirements.
8
+ - Ignore parent-directory workflow files unless the user explicitly asks you to use them.
9
+ - Do not treat workflow research, session exports, or sibling directories as hidden implementation instructions.
10
10
 
11
11
  ## Working Style
12
12
 
13
- - Operate like a senior software engineer with strong judgment and attention to detail.
14
- - Plan before coding when the work is non-trivial.
15
- - Build in meaningful vertical slices instead of scattering half-finished work across the codebase.
16
- - Prefer reading the actual code and project state over inventing assumptions.
17
- - Surface weak spots, risks, and missing information honestly.
18
- - Do not call work complete when it is still shaky.
19
- - Reuse and extend established cross-cutting patterns for errors, audit/logging, permissions, auth/session behavior, and state transitions where relevant instead of reinventing them per module.
20
- - For complex security, offline, authorization, storage, or data-governance features, define what done means across all promised dimensions before implementing.
21
- - When a requirement implies enforcement, persistence, statefulness, or rejection behavior, assume that behavior needs to be real unless it is explicitly scoped down.
22
- - Before reporting foundational work complete, challenge whether the behavior is real at runtime or only present in visible shape through constants, headers, helper wiring, or partial middleware.
23
- - Treat module completion as system-compatible completion, not isolated happy-path completion.
24
- - If you discover a meaningful failing user-facing, release-facing, production-path, or build check, do not treat the slice as complete unless that check was explicitly scoped out.
25
- - If a required user-facing or admin-facing flow cannot be exercised through its real surface, treat that as missing implementation rather than something to bypass with API shortcuts or test-only workarounds.
26
-
27
- ## Runtime And Verification Rules
28
-
29
- - Treat Docker as the main runtime contract.
30
- - `docker compose up --build` must work when the project expects Dockerized execution, but it is not the default per-turn verification command during normal iteration.
31
- - `run_tests.sh` is a required project test entrypoint and must exist and work.
32
- - After scaffold is established, do not rerun full `docker compose up --build` and `run_tests.sh` on every small implementation step.
33
- - During normal iteration, prefer the fastest meaningful local verification inside the current working directory using the project-appropriate test environment and tooling.
34
- - When runtime proof is needed during ordinary work, prefer starting and exercising the app locally instead of using Docker gate commands.
35
- - If the local test toolchain is missing, try to install or enable it; do not jump to `run_tests.sh` on ordinary turns just because local setup takes work.
36
- - The workflow owner runs `run_tests.sh` only at milestone boundaries: after scaffold, after development/coding is complete, after integrated verification is complete, after hardening is complete, and once more before final submission.
37
- - Do not rerun `docker compose up --build` or `run_tests.sh` on every small fix inside integrated verification; use local verification until the next milestone boundary is reached.
38
- - After post-evaluation remediation, strengthen local verification and affected Playwright checks rather than rerunning full gate commands yourself unless explicitly required.
39
- - Do not let unverified work accumulate.
13
+ - Operate like a strong senior engineer.
14
+ - Read the code before making assumptions.
15
+ - Work in meaningful vertical slices.
16
+ - Do not call work complete while it is still shaky.
17
+ - Reuse and extend shared cross-cutting patterns instead of inventing incompatible local ones.
18
+
19
+ ## Verification Rules
20
+
21
+ - During ordinary iteration, prefer the fastest meaningful local verification for the changed area.
22
+ - Prefer targeted unit, integration, module, route-family, or platform-appropriate local UI/E2E checks over broad reruns.
23
+ - Do not rerun full Dockerized startup and the full test suite on every small change.
24
+ - The broad owner-run project-standard verification path should be used sparingly, with a target budget of at most 3 times across the whole workflow cycle.
25
+ - If you run a Docker-based verification command sequence, end it with `docker compose down` unless containers must remain up.
26
+
27
+ Every project must expose:
28
+
29
+ - one primary documented runtime command
30
+ - one primary documented broad test command: `./run_tests.sh`
31
+ - follow the original prompt and existing repository first for the runtime stack; `./run_tests.sh` should exist regardless of project type
32
+ - the primary full-test command should install or prepare what it needs first when that setup is required for a clean environment
33
+
34
+ For web backend/fullstack projects, those are usually:
35
+
36
+ - `docker compose up --build`
37
+ - `./run_tests.sh`
38
+
39
+ For Dockerized web backend/fullstack projects:
40
+
41
+ - `./run_tests.sh` must run the broad full-test path through Docker
42
+ - local non-Docker tests should still exist for normal development work
43
+ - final broad verification should use the Dockerized `./run_tests.sh` path, not only local test commands
44
+
45
+ When `docker compose up --build` is not the runtime contract, provide `./run_app.sh` as the single primary runtime wrapper.
46
+
47
+ For mobile, desktop, CLI, library, or other non-web projects, `./run_app.sh` should own the selected stack's runtime flow, while `./run_tests.sh` remains the single broad test wrapper calling the platform-equivalent full test path.
40
48
 
41
49
  ## Testing Rules
42
50
 
43
- - Tests must be real, meaningful, and tied to actual behavior.
44
- - Cover happy paths, failure paths, and realistic edge cases.
45
- - For API-bearing projects, prefer real endpoint invocation where practical.
46
- - Do not mock APIs for integration testing; integration evidence must use real HTTP requests against the actual running service surface.
47
- - For backend integration tests, prefer production-equivalent infrastructure when practical instead of a weaker substitute that can hide real defects.
48
- - For applicable frontend or fullstack work, run local Playwright against affected end-to-end flows during implementation and inspect screenshots to verify the UI actually matches.
49
- - Do not pad the test suite with superficial or fake tests.
50
- - If verification is weak, say so plainly and fix it.
51
+ - Tests must be real and tied to actual behavior.
52
+ - Do not mock APIs for integration testing.
53
+ - Use real HTTP requests against the actual running service surface for integration evidence.
54
+ - For UI-bearing work, use the selected stack's local UI/E2E tool on affected flows and inspect screenshots or equivalent artifacts when practical.
51
55
 
52
- ## Frontend Product Integrity
56
+ Selected-stack defaults:
53
57
 
54
- - Unless the prompt, existing repository, or established stack clearly dictates otherwise, default frontend work to Tailwind CSS for styling and `shadcn/ui` for component primitives.
55
- - 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.
56
- - Do not place development, setup, scaffold, seed, or debug information in the product UI.
57
- - Do not add demo banners, `database is working` messages, scaffold-password hints, setup reminders, or similar developer-facing content to frontend screens.
58
- - If a screen exists, it should serve the real user or operator purpose it was created for.
59
- - Keep setup and debug instructions in docs or operator tooling, not in the frontend interface.
58
+ - follow the original prompt and existing repository first; use the defaults below only when they do not already specify the platform or stack
59
+ - web frontend/fullstack: Playwright for browser E2E/UI verification when applicable
60
+ - mobile: Expo + React Native + TypeScript by default, with Jest plus React Native Testing Library for local tests and a platform-appropriate mobile UI/E2E tool when the flow needs it
61
+ - desktop: Electron + Vite + TypeScript by default, with a project-standard local test runner plus Playwright's Electron support or another platform-appropriate desktop UI/E2E tool when the flow needs it
60
62
 
61
63
  ## Documentation Rules
62
64
 
63
- - Keep docs aligned with the current implementation.
64
- - Do not add or keep tests that only assert that docs directories or docs files exist.
65
- - Documentation structure outside the repo is not application behavior and should not be tested as application logic.
66
- - Keep `README.md` and any codebase-local docs accurate when behavior, runtime steps, or verification expectations change.
67
- - The README must explain what the project is, what it does, how to run it, and how to test it in a way that is friendly to a junior developer.
68
- - The README must stand on its own for basic codebase use and must not depend on separate external documentation for run/test basics.
69
- - Do not leave misleading docs in place after changing behavior.
70
-
71
- ## Engineering Quality Rules
72
-
73
- - Keep architecture intentional and boundaries clean.
74
- - Avoid giant mixed-responsibility files and tangled logic.
75
- - Treat validation, security boundaries, secret handling, and logging hygiene as baseline concerns.
76
- - Fix obvious quality problems early instead of stacking them for later.
77
-
78
- ## Secret Handling Rules
79
-
80
- - Do not create, keep, or rely on `.env` files anywhere in the codebase.
81
- - Treat `.env`, `.env.local`, `.env.example`, and similar env-file variants as forbidden artifacts.
82
- - Do not persist local secrets anywhere in the repository.
83
- - Do not hardcode credentials, API keys, tokens, signing material, database passwords, certificate private keys, or similar sensitive values in code.
84
- - Do not use env files even for placeholders or setup examples.
85
- - The delivered repo and package must not require any preexisting `.env` file to start from scratch.
86
- - If environment variables are needed, rely on Docker-provided runtime variables or generate any required env-file format ephemerally at runtime from those variables.
87
- - If runtime generation is used, the generated env file must not be committed, packaged, or treated as a persistent project artifact.
88
- - Do not leak raw secrets into logs, docs, screenshots, telemetry, or operator-facing UI.
89
- - Treat frontend and backend observability paths as secret-sensitive by default and redact accordingly.
90
-
91
- ## Prototype Cleanup Rules
92
-
93
- - Remove seeded credentials, weak demo defaults, login hints, test-account residue, and other prototype-only artifacts before reporting work complete.
94
- - Do not leave login forms prefilled with credentials or keep obvious demo usernames/passwords in UI, config, or docs.
95
- - Keep error surfaces sanitized for users and operators; do not leak internal paths, stack traces, database details, or hidden account-state details unless explicitly required.
96
-
97
- ## Communication Rules
98
-
99
- - Be direct, honest, and technically clear.
100
- - When reporting progress, explain what changed, what you verified, and what still looks weak or unfinished.
101
-
102
- ## Skills
103
-
104
- - Before implementing against a library, framework, API, or tool, lean toward checking Context7 documentation first.
105
- - If you need targeted outside research on a specific issue, behavior, example, or current fact, use Exa web search next.
106
- - Then use the most relevant skill for the matter you are actively working on, or `find-skills` if the right skill is unclear.
107
- - Use Context7, Exa, and skills to improve implementation quality, not as a substitute for engineering judgment.
108
-
109
- ## Avoid
110
-
111
- - coding before thinking
112
- - fake confidence
113
- - fake tests
114
- - shallow verification
115
- - hidden setup
116
- - documentation drift
117
- - using files outside the current working directory as hidden requirements
65
+ - Keep `README.md` and any codebase-local docs accurate.
66
+ - The README must explain what the project is, what it does, how to run it, and how to test it.
67
+ - The README must clearly document whether the primary runtime command is `docker compose up --build` or `./run_app.sh`.
68
+ - The README must clearly document `./run_tests.sh` as the broad test command.
69
+ - The README must stand on its own for basic codebase use.
70
+
71
+ ## Secret And Runtime Rules
72
+
73
+ - Do not create or keep `.env` files anywhere in the repo.
74
+ - Do not rely on `.env`, `.env.local`, `.env.example`, or similar files for project startup.
75
+ - Do not hardcode secrets.
76
+ - If runtime env-file format is required, generate it ephemerally and do not commit or package it.
77
+
78
+ Selected-stack secret/config defaults:
79
+
80
+ - follow the original prompt and existing repository first; use the defaults below only when they do not already specify the platform or stack
81
+ - web Dockerized services: use Docker/runtime-provided variables, never committed env files
82
+ - mobile apps: do not bundle real secrets into the client; use app config only for non-secret public configuration and keep real secrets server-side or in platform-appropriate secure storage when user/device secrets must be stored at runtime
83
+ - desktop apps: keep sensitive values in main-process/runtime configuration or platform-appropriate secure storage, and do not expose them to the renderer by default
84
+
85
+ ## Product Integrity Rules
86
+
87
+ - Do not leave placeholder, setup, debug, or demo content in product-facing UI.
88
+ - If a real user-facing or admin-facing surface is required, build that surface instead of bypassing it with API shortcuts.
89
+ - Treat missing real surfaces as incomplete implementation.
90
+
91
+ ## Rulebook Files
92
+
93
+ - Do not edit `AGENTS.md` or other workflow/rulebook files unless explicitly asked.
@@ -9,11 +9,11 @@ const target = path.resolve(process.cwd(), targetInput)
9
9
  const beadsCommand = process.env.BR_COMMAND || 'br'
10
10
 
11
11
  function log(message) {
12
- console.log(`[workflow-init-v2] ${message}`)
12
+ console.log(`[workflow-init] ${message}`)
13
13
  }
14
14
 
15
15
  function die(message) {
16
- console.error(`[workflow-init-v2] ERROR: ${message}`)
16
+ console.error(`[workflow-init] ERROR: ${message}`)
17
17
  process.exit(1)
18
18
  }
19
19
 
package/package.json CHANGED
@@ -1,25 +1,25 @@
1
1
  {
2
- "name": "theslopmachine",
3
- "version": "0.4.0",
4
- "description": "SlopMachine installer and project bootstrap CLI",
5
- "license": "MIT",
6
- "type": "module",
7
- "bin": {
8
- "slopmachine": "bin/slopmachine.js"
9
- },
10
- "scripts": {
11
- "start": "node ./bin/slopmachine.js",
12
- "check": "node ./bin/slopmachine.js --help"
13
- },
14
- "engines": {
15
- "node": ">=18"
16
- },
17
- "files": [
18
- "bin",
19
- "src",
20
- "assets",
21
- "README.md",
22
- "RELEASE.md",
23
- "MANUAL.md"
24
- ]
2
+ "name": "theslopmachine",
3
+ "version": "0.4.2",
4
+ "description": "SlopMachine installer and project bootstrap CLI",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "bin": {
8
+ "slopmachine": "bin/slopmachine.js"
9
+ },
10
+ "scripts": {
11
+ "start": "node ./bin/slopmachine.js",
12
+ "check": "node ./bin/slopmachine.js --help"
13
+ },
14
+ "engines": {
15
+ "node": ">=18"
16
+ },
17
+ "files": [
18
+ "bin",
19
+ "src",
20
+ "assets",
21
+ "README.md",
22
+ "RELEASE.md",
23
+ "MANUAL.md"
24
+ ]
25
25
  }
package/src/constants.js CHANGED
@@ -25,30 +25,23 @@ export function buildPaths() {
25
25
 
26
26
  export const REQUIRED_SKILL_DIRS = [
27
27
  'clarification-gate',
28
- 'clarification-gate-v2',
29
28
  'developer-session-lifecycle',
30
- 'developer-session-lifecycle-v2',
31
- 'session-rollover-v2',
29
+ 'session-rollover',
32
30
  'final-evaluation-orchestration',
33
- 'final-evaluation-orchestration-v2',
34
31
  'beads-operations',
35
- 'beads-operations-v2',
36
- 'get-overlays',
37
- 'planning-guidance-v2',
32
+ 'planning-guidance',
38
33
  'planning-gate',
39
- 'planning-gate-v2',
40
- 'scaffold-guidance-v2',
41
- 'development-guidance-v2',
34
+ 'scaffold-guidance',
35
+ 'development-guidance',
42
36
  'verification-gates',
43
- 'verification-gates-v2',
44
- 'integrated-verification-v2',
45
- 'hardening-gate-v2',
46
- 'evaluation-triage-v2',
47
- 'remediation-guidance-v2',
37
+ 'integrated-verification',
38
+ 'hardening-gate',
39
+ 'evaluation-triage',
40
+ 'remediation-guidance',
48
41
  'submission-packaging',
49
- 'submission-packaging-v2',
50
- 'owner-evidence-discipline-v2',
51
- 'report-output-discipline-v2',
42
+ 'retrospective-analysis',
43
+ 'owner-evidence-discipline',
44
+ 'report-output-discipline',
52
45
  'frontend-design',
53
46
  ]
54
47
 
@@ -59,10 +52,8 @@ export const REQUIRED_SLOPMACHINE_FILES = [
59
52
  'quality-document.md',
60
53
  'engineering-results.md',
61
54
  'implementation-comparison.md',
62
- 'tracker-init.js',
63
- 'workflow-init-v2.js',
55
+ 'workflow-init.js',
64
56
  'templates/AGENTS.md',
65
- 'templates/AGENTS-v2.md',
66
57
  'utils/strip_session_parent.py',
67
58
  'utils/convert_ai_session.py',
68
59
  ]