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,134 +1,122 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: verification-gates
|
|
3
|
-
description: Owner-side review,
|
|
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
|
|
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
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
56
|
-
- if the local toolchain is missing, require the developer to install or enable it first; do not jump to
|
|
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
|
|
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
|
-
##
|
|
64
|
-
|
|
65
|
-
- a
|
|
66
|
-
- a phase change alone does not automatically require a
|
|
67
|
-
- a
|
|
68
|
-
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
|
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
|
-
-
|
|
102
|
-
- scaffold requires evidence for
|
|
103
|
-
- scaffold also requires safe env/config handling, no persisted local secrets, real migration/runtime foundations,
|
|
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
|
-
-
|
|
107
|
-
-
|
|
108
|
-
- module implementation
|
|
109
|
-
- module implementation acceptance should
|
|
110
|
-
- integrated verification entry requires
|
|
111
|
-
- integrated verification completion requires
|
|
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
|
-
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
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
|
|
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
|
|
9
|
-
- Do not
|
|
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
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
- If
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
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
|
-
|
|
56
|
+
Selected-stack defaults:
|
|
53
57
|
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
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
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
- The README must
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
-
|
|
86
|
-
- If
|
|
87
|
-
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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
|
|
12
|
+
console.log(`[workflow-init] ${message}`)
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
function die(message) {
|
|
16
|
-
console.error(`[workflow-init
|
|
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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
'
|
|
31
|
-
'session-rollover-v2',
|
|
29
|
+
'session-rollover',
|
|
32
30
|
'final-evaluation-orchestration',
|
|
33
|
-
'final-evaluation-orchestration-v2',
|
|
34
31
|
'beads-operations',
|
|
35
|
-
'
|
|
36
|
-
'get-overlays',
|
|
37
|
-
'planning-guidance-v2',
|
|
32
|
+
'planning-guidance',
|
|
38
33
|
'planning-gate',
|
|
39
|
-
'
|
|
40
|
-
'
|
|
41
|
-
'development-guidance-v2',
|
|
34
|
+
'scaffold-guidance',
|
|
35
|
+
'development-guidance',
|
|
42
36
|
'verification-gates',
|
|
43
|
-
'verification
|
|
44
|
-
'
|
|
45
|
-
'
|
|
46
|
-
'
|
|
47
|
-
'remediation-guidance-v2',
|
|
37
|
+
'integrated-verification',
|
|
38
|
+
'hardening-gate',
|
|
39
|
+
'evaluation-triage',
|
|
40
|
+
'remediation-guidance',
|
|
48
41
|
'submission-packaging',
|
|
49
|
-
'
|
|
50
|
-
'owner-evidence-discipline
|
|
51
|
-
'report-output-discipline
|
|
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
|
-
'
|
|
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
|
]
|