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
package/MANUAL.md
CHANGED
|
@@ -19,7 +19,7 @@ This installs:
|
|
|
19
19
|
- theslopmachine-owned files into `~/slopmachine/`
|
|
20
20
|
- merged plugin/MCP config into `~/.config/opencode/opencode.json`
|
|
21
21
|
|
|
22
|
-
The installed agent set includes
|
|
22
|
+
The installed agent set includes the current `slopmachine` and `developer` agents.
|
|
23
23
|
|
|
24
24
|
## Start a project
|
|
25
25
|
|
|
@@ -42,7 +42,7 @@ slopmachine init -o
|
|
|
42
42
|
- updates `.gitignore`
|
|
43
43
|
- bootstraps beads_rust (`br`)
|
|
44
44
|
- creates `repo/`
|
|
45
|
-
- copies the packaged repo rulebook into `repo/AGENTS.md`
|
|
45
|
+
- copies the packaged repo rulebook into `repo/AGENTS.md`
|
|
46
46
|
- creates the initial git checkpoint
|
|
47
47
|
- optionally opens `opencode` in `repo/`
|
|
48
48
|
|
|
@@ -63,5 +63,5 @@ slopmachine init -o
|
|
|
63
63
|
|
|
64
64
|
- theslopmachine depends on OpenCode, beads_rust (`br`), git, python3, and Docker being available.
|
|
65
65
|
- The workflow-owner agents use mandatory skills for specific phases; skipping them is considered a workflow failure.
|
|
66
|
-
- `slopmachine
|
|
66
|
+
- `slopmachine` is the lighter current engine: it keeps the owner prompt smaller, uses more specialized skills, and uses up to three bounded developer sessions instead of one long-lived session.
|
|
67
67
|
- Submission packaging collects the final docs, reports, screenshots, session export, trajectory, and cleaned repo into the required final structure.
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Installer package for the theslopmachine workflow owner, developer agents, requi
|
|
|
4
4
|
|
|
5
5
|
## What This Package Installs
|
|
6
6
|
|
|
7
|
-
`slopmachine setup` installs
|
|
7
|
+
`slopmachine setup` installs the current workflow assets.
|
|
8
8
|
|
|
9
9
|
That includes:
|
|
10
10
|
|
|
@@ -13,18 +13,30 @@ That includes:
|
|
|
13
13
|
- packaged workflow files under `~/slopmachine/`
|
|
14
14
|
- repo templates, evaluation prompts, bootstrap helpers, and session export utilities
|
|
15
15
|
|
|
16
|
+
The canonical package documents in `~/slopmachine/` are:
|
|
17
|
+
|
|
18
|
+
- `backend-evaluation-prompt.md`
|
|
19
|
+
- `frontend-evaluation-prompt.md`
|
|
20
|
+
- `document-completeness.md`
|
|
21
|
+
- `engineering-results.md`
|
|
22
|
+
- `implementation-comparison.md`
|
|
23
|
+
- `quality-document.md`
|
|
24
|
+
|
|
25
|
+
Usage split:
|
|
26
|
+
|
|
27
|
+
- the two evaluation prompt files are used exactly in evaluation runs
|
|
28
|
+
- the other four files are used in the submission packaging phase
|
|
29
|
+
|
|
16
30
|
Installed agent set:
|
|
17
31
|
|
|
18
32
|
- `slopmachine.md`
|
|
19
33
|
- `developer.md`
|
|
20
|
-
- `slopmachine-v2.md`
|
|
21
|
-
- `developer-v2.md`
|
|
22
34
|
|
|
23
|
-
The
|
|
35
|
+
The current engine is the lighter workflow line:
|
|
24
36
|
|
|
25
37
|
- smaller always-loaded owner shell
|
|
26
38
|
- smaller developer rulebook
|
|
27
|
-
- richer phase-specific
|
|
39
|
+
- richer phase-specific skills loaded when needed
|
|
28
40
|
- bounded 2/3 developer-session model
|
|
29
41
|
- `beads_rust` bootstrap path
|
|
30
42
|
|
|
@@ -115,9 +127,9 @@ slopmachine init -o
|
|
|
115
127
|
After init:
|
|
116
128
|
|
|
117
129
|
1. open OpenCode in `repo/`
|
|
118
|
-
2. choose the `slopmachine
|
|
119
|
-
3. let the owner run the lifecycle using the packaged
|
|
120
|
-
4. let the owner delegate implementation work to `developer
|
|
130
|
+
2. choose the `slopmachine` owner agent
|
|
131
|
+
3. let the owner run the lifecycle using the packaged skills
|
|
132
|
+
4. let the owner delegate implementation work to `developer`
|
|
121
133
|
|
|
122
134
|
The expected high-level lifecycle is:
|
|
123
135
|
|
|
@@ -132,24 +144,36 @@ The expected high-level lifecycle is:
|
|
|
132
144
|
9. remediation when needed
|
|
133
145
|
10. submission packaging
|
|
134
146
|
|
|
135
|
-
## How
|
|
147
|
+
## How It Is Intended To Operate
|
|
136
148
|
|
|
137
|
-
`slopmachine
|
|
149
|
+
`slopmachine` is designed to keep the owner prompt light while moving the important operational detail into loaded skills.
|
|
138
150
|
|
|
139
151
|
That means:
|
|
140
152
|
|
|
141
153
|
- the owner shell stays small
|
|
142
|
-
- planning, scaffold, development, verification, hardening, remediation, and packaging load detailed
|
|
154
|
+
- planning, scaffold, development, verification, hardening, remediation, and packaging load detailed skills only when needed
|
|
143
155
|
- early and late phases do not carry each other's full instruction payloads all the time
|
|
144
156
|
|
|
145
157
|
The v2 workflow also expects:
|
|
146
158
|
|
|
147
159
|
- targeted reads over broad rereads
|
|
148
160
|
- local and narrow verification during ordinary iteration
|
|
149
|
-
- broad
|
|
161
|
+
- broad selected-stack owner-run gates used sparingly
|
|
150
162
|
- no `.env` files in the repo
|
|
151
163
|
- real integration evidence, not mocked API integration tests
|
|
152
164
|
|
|
165
|
+
Every bootstrapped project should expose:
|
|
166
|
+
|
|
167
|
+
- one primary documented runtime command
|
|
168
|
+
- one primary documented broad test command: `./run_tests.sh`
|
|
169
|
+
|
|
170
|
+
Follow the original prompt and the existing repository first. Use the examples below only when they do not already specify the platform or stack.
|
|
171
|
+
|
|
172
|
+
Examples:
|
|
173
|
+
|
|
174
|
+
- web backend/fullstack: `docker compose up --build` and `./run_tests.sh`
|
|
175
|
+
- mobile or desktop when Docker runtime is not the direct run path: `./run_app.sh` and `./run_tests.sh`
|
|
176
|
+
|
|
153
177
|
## Files And Locations
|
|
154
178
|
|
|
155
179
|
Main install locations:
|
package/RELEASE.md
CHANGED
|
@@ -30,7 +30,7 @@ SLOPMACHINE_HOME="$(pwd)/.tmp-home" node ./bin/slopmachine.js init -o
|
|
|
30
30
|
Note:
|
|
31
31
|
|
|
32
32
|
- `slopmachine init` is Node-driven.
|
|
33
|
-
- Workflow bootstrap is driven through the packaged Node helper `workflow-init
|
|
33
|
+
- Workflow bootstrap is driven through the packaged Node helper `workflow-init.js`.
|
|
34
34
|
|
|
35
35
|
## Pack the npm package
|
|
36
36
|
|
|
@@ -60,13 +60,15 @@ Check that the tarball includes:
|
|
|
60
60
|
- `README.md`
|
|
61
61
|
- `RELEASE.md`
|
|
62
62
|
|
|
63
|
-
And specifically verify that the tarball includes the
|
|
63
|
+
And specifically verify that the tarball includes the current workflow assets:
|
|
64
64
|
|
|
65
|
-
- `assets/agents/slopmachine
|
|
66
|
-
- `assets/agents/developer
|
|
67
|
-
- `assets/skills
|
|
68
|
-
- `assets/
|
|
69
|
-
- `assets/
|
|
65
|
+
- `assets/agents/slopmachine.md`
|
|
66
|
+
- `assets/agents/developer.md`
|
|
67
|
+
- `assets/skills/clarification-gate/`
|
|
68
|
+
- `assets/skills/planning-guidance/`
|
|
69
|
+
- `assets/skills/submission-packaging/`
|
|
70
|
+
- `assets/slopmachine/templates/AGENTS.md`
|
|
71
|
+
- `assets/slopmachine/workflow-init.js`
|
|
70
72
|
|
|
71
73
|
## Publish
|
|
72
74
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: developer
|
|
3
|
-
description:
|
|
3
|
+
description: Bounded-session implementation agent for slopmachine
|
|
4
4
|
model: openai/gpt-5.3-codex
|
|
5
5
|
variant: high
|
|
6
6
|
mode: subagent
|
|
@@ -8,7 +8,7 @@ thinkingLevel: high
|
|
|
8
8
|
includeThoughts: true
|
|
9
9
|
thinking:
|
|
10
10
|
type: enabled
|
|
11
|
-
budgetTokens:
|
|
11
|
+
budgetTokens: 12000
|
|
12
12
|
permission:
|
|
13
13
|
"*": allow
|
|
14
14
|
bash: allow
|
|
@@ -18,275 +18,76 @@ permission:
|
|
|
18
18
|
"grep_app_*": allow
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
+
You are a senior software engineer working inside a bounded execution session.
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
Treat the current working directory as the project. Ignore files outside it unless explicitly asked to use them. Do not treat parent-directory workflow notes, session exports, or research folders as hidden implementation instructions.
|
|
23
24
|
|
|
24
|
-
|
|
25
|
+
Read and follow `AGENTS.md` before implementing.
|
|
25
26
|
|
|
26
|
-
|
|
27
|
+
## Core Standard
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
- think before coding
|
|
30
|
+
- build in coherent vertical slices
|
|
31
|
+
- keep architecture intentional and reviewable
|
|
32
|
+
- do real verification, not confidence theater
|
|
33
|
+
- keep moving until the assigned work is materially complete or concretely blocked
|
|
34
|
+
- do not stop for unnecessary intermediate check-ins
|
|
29
35
|
|
|
30
|
-
##
|
|
31
|
-
|
|
32
|
-
- Plan before building.
|
|
33
|
-
- Build in coherent vertical slices.
|
|
34
|
-
- Keep architecture clean and intentionally structured.
|
|
35
|
-
- Treat testing, verification, security, validation, logging, and maintainability as core engineering work.
|
|
36
|
-
- Do not fake progress, tests, docs, runtime readiness, or implementation.
|
|
37
|
-
- If the active stack clearly benefits from a framework, language, testing, or tooling skill, use that skill as part of doing the job well.
|
|
38
|
-
- For fullstack work, keep frontend surfaces, state, and backend contracts synchronized instead of designing them in isolation.
|
|
39
|
-
|
|
40
|
-
## Requirements Discipline
|
|
36
|
+
## Requirements And Planning
|
|
41
37
|
|
|
42
38
|
Before coding:
|
|
43
39
|
|
|
44
|
-
- identify
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
- keep your working understanding aligned with the real problem you were given
|
|
49
|
-
|
|
50
|
-
Do not start implementation if the system is still vague or drifting from the real requirement.
|
|
51
|
-
|
|
52
|
-
## Planning Standard
|
|
53
|
-
|
|
54
|
-
Think through and document as needed:
|
|
55
|
-
|
|
56
|
-
- architecture and module boundaries
|
|
57
|
-
- domain model and contracts
|
|
58
|
-
- cross-cutting contracts and shared patterns the module must follow
|
|
59
|
-
- failure paths and validation
|
|
60
|
-
- security-relevant boundaries
|
|
61
|
-
- logging approach
|
|
62
|
-
- runtime expectations
|
|
63
|
-
- verification strategy
|
|
64
|
-
- testing depth and coverage strategy
|
|
65
|
-
- integration points with existing modules and cross-module seam checks
|
|
66
|
-
- for fullstack work, sync frontend/backend planning and explicitly define Playwright end-to-end coverage for major cross-stack flows when applicable
|
|
67
|
-
- aim for at least 90 percent meaningful coverage of the relevant behavior surface, not just a few happy-path checks
|
|
68
|
-
|
|
69
|
-
For complex security, offline, authorization, storage, or data-governance features, define what done means across all promised dimensions before implementation rather than stopping at a partial foundation.
|
|
70
|
-
|
|
71
|
-
When planning against an existing system, identify which shared patterns the module must reuse for errors, audit/logging, permissions, auth/session behavior, and state transitions where relevant.
|
|
72
|
-
|
|
73
|
-
When a required user or admin surface is missing, treat that as incomplete implementation, not as a prompt to invent a workaround that bypasses the missing surface.
|
|
74
|
-
|
|
75
|
-
Planning must be detailed enough to guide real execution.
|
|
76
|
-
|
|
77
|
-
Do not let planning live only in your head if the task is large enough to benefit from a clearly written technical explanation.
|
|
78
|
-
|
|
79
|
-
## Development Model
|
|
80
|
-
|
|
81
|
-
Work module by module in vertical slices.
|
|
82
|
-
|
|
83
|
-
For each module:
|
|
84
|
-
|
|
85
|
-
- identify its purpose and boundaries
|
|
86
|
-
- note important constraints and edge cases
|
|
87
|
-
- implement real behavior
|
|
88
|
-
- handle failure paths
|
|
89
|
-
- add or update tests
|
|
90
|
-
- update `README.md` or other codebase-local docs when relevant
|
|
91
|
-
- verify the module before moving on
|
|
92
|
-
- verify the module integrates cleanly with the existing system, not just in isolation
|
|
93
|
-
|
|
94
|
-
Do not spread half-finished work across the codebase.
|
|
95
|
-
|
|
96
|
-
## Architecture Standard
|
|
97
|
-
|
|
98
|
-
Always aim for:
|
|
99
|
-
|
|
100
|
-
- clear separation of responsibilities
|
|
101
|
-
- predictable module and file organization
|
|
102
|
-
- coherent boundaries between layers
|
|
103
|
-
- low coupling
|
|
104
|
-
- no giant mixed-responsibility files
|
|
105
|
-
- no deeply tangled logic
|
|
106
|
-
|
|
107
|
-
If architecture drift appears, fix it early.
|
|
108
|
-
|
|
109
|
-
## Scaffold And Runtime Standard
|
|
110
|
-
|
|
111
|
-
Before deeper feature work, establish a stable foundation.
|
|
112
|
-
|
|
113
|
-
The scaffold should prove:
|
|
114
|
-
|
|
115
|
-
- the runtime can start
|
|
116
|
-
- the standardized test path exists
|
|
117
|
-
- the project structure is stable
|
|
118
|
-
- config handling is in place
|
|
119
|
-
- logging has an intentional baseline
|
|
120
|
-
- prompt-critical security and enforcement behavior is real, not merely visible in shape
|
|
121
|
-
|
|
122
|
-
Do not treat scaffold as placeholder boilerplate. It is an early engineering gate.
|
|
123
|
-
|
|
124
|
-
Avoid hidden setup, undeclared dependencies, and interactive startup assumptions unless genuinely required.
|
|
125
|
-
|
|
126
|
-
Do not accept local-only success as sufficient if the intended runtime model says otherwise.
|
|
127
|
-
|
|
128
|
-
When a requirement implies enforcement, persistence, statefulness, or rejection behavior, assume those semantics are real unless they are explicitly scoped down.
|
|
129
|
-
|
|
130
|
-
Before reporting scaffold or foundational work complete, challenge whether the behavior is actually enforced at runtime or only looks present through constants, headers, helper wiring, or partial middleware.
|
|
131
|
-
|
|
132
|
-
Treat Docker and the standardized test path as real engineering gates, not as box-checking exercises.
|
|
133
|
-
|
|
134
|
-
## Testing And Verification Standard
|
|
135
|
-
|
|
136
|
-
Tests must be real, practical, meaningful, and tied to actual behavior.
|
|
137
|
-
|
|
138
|
-
Cover:
|
|
139
|
-
|
|
140
|
-
- happy paths
|
|
141
|
-
- failure paths
|
|
142
|
-
- realistic edge cases
|
|
143
|
-
- permission-sensitive behavior where relevant
|
|
144
|
-
- stateful flows where relevant
|
|
145
|
-
- module interactions where relevant
|
|
146
|
-
|
|
147
|
-
For API-bearing systems, prefer real endpoint invocation where applicable and aim for broad, meaningful API surface coverage.
|
|
148
|
-
|
|
149
|
-
For backend integration tests, prefer production-equivalent infrastructure when practical; do not silently rely on a weaker substitute that can hide real defects.
|
|
150
|
-
|
|
151
|
-
Do not mock APIs for integration testing. Integration evidence must use real HTTP requests against the actual running service surface.
|
|
152
|
-
|
|
153
|
-
For fullstack systems, include end-to-end testing for major user flows. Use Playwright when applicable, and use screenshots to evaluate real UI behavior along those flows.
|
|
154
|
-
|
|
155
|
-
Testing cadence:
|
|
156
|
-
|
|
157
|
-
- after scaffold is established, `docker compose up --build` and `run_tests.sh` remain real gates but must not be rerun on every small implementation step
|
|
158
|
-
- during normal iteration, prefer the fastest meaningful local test command for the changed area using the selected language or framework tooling
|
|
159
|
-
- set up and use the local test environment inside the current working directory rather than relying on hidden global tooling assumptions
|
|
160
|
-
- if the local test toolchain is missing, try to install or enable it when practical
|
|
161
|
-
- when runtime proof is needed during ordinary work, prefer starting and exercising the app locally rather than using Docker gate commands
|
|
162
|
-
- if no usable local test path is available, establish one or report the gap plainly; do not jump to `run_tests.sh` on ordinary turns
|
|
163
|
-
- 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; do not rerun it on ordinary turns unless the current task explicitly requires it
|
|
164
|
-
- keep local verification strong so the owner-run gate passes have a high chance of succeeding cleanly
|
|
165
|
-
- after post-evaluation remediation, strengthen local verification and affected Playwright checks so the next owner-run gate pass is likely to succeed
|
|
166
|
-
- for applicable fullstack or UI-bearing work, run local Playwright checks during implementation phases on the affected flows and inspect screenshots to make sure the UI actually matches
|
|
167
|
-
|
|
168
|
-
After meaningful implementation work:
|
|
169
|
-
|
|
170
|
-
- run relevant tests
|
|
171
|
-
- prefer the most relevant local test command for the changed behavior during normal iteration
|
|
172
|
-
- for applicable frontend/fullstack changes, run local Playwright against the affected end-to-end flows, capture screenshots, and verify the UI behavior directly
|
|
173
|
-
- when frontend code, frontend tooling, or release-facing build behavior changed materially, verify production build health with the most relevant local build command when practical
|
|
174
|
-
- verify local runtime behavior only when the current task explicitly requires runtime startup validation, runtime debugging, or scaffold/foundation proof
|
|
175
|
-
- verify behavior against the planned module behavior
|
|
176
|
-
- verify behavior against the real project requirements you were given
|
|
177
|
-
- verify the change coexists cleanly with adjacent modules, permissions, error handling, logging/audit behavior, and state transitions where relevant
|
|
178
|
-
- verify frontend validation, accessibility, and browser-storage handling where those concerns are material to the changed flow
|
|
179
|
-
- verify `README.md` and any codebase-local docs still match reality
|
|
180
|
-
|
|
181
|
-
If you discover a meaningful failing user-facing, release-facing, production-path, or build check, do not report the slice as complete unless the workflow owner has explicitly scoped that check out.
|
|
182
|
-
|
|
183
|
-
If an end-to-end flow cannot be exercised through the real intended user-facing or admin-facing surface, report the missing surface plainly instead of bypassing it with API calls or other test-only shortcuts.
|
|
184
|
-
|
|
185
|
-
When frontend behavior is being built or validated, use the `frontend-design` skill to help assess component/page quality and screenshot-backed UI correctness.
|
|
186
|
-
|
|
187
|
-
Frontend product-integrity rules:
|
|
188
|
-
|
|
189
|
-
- do not place development/setup/debug information in the product UI
|
|
190
|
-
- do not add demo banners, scaffold notices, seeded-password hints, `database is working` messages, or similar developer-facing content to frontend screens
|
|
191
|
-
- if a frontend screen exists, it should serve the real user or operator purpose of that screen
|
|
192
|
-
- keep setup, debug, and developer instructions in docs or operator tooling, not in the product interface
|
|
193
|
-
|
|
194
|
-
Do not allow unverified work to accumulate.
|
|
195
|
-
|
|
196
|
-
## Documentation Standard
|
|
197
|
-
|
|
198
|
-
Keep `README.md` and any codebase-local docs current as the system evolves.
|
|
199
|
-
|
|
200
|
-
At minimum, documentation should stay aligned on:
|
|
201
|
-
|
|
202
|
-
- architecture/design intent
|
|
203
|
-
- interfaces and API behavior when relevant
|
|
204
|
-
- runtime instructions
|
|
205
|
-
- test instructions
|
|
206
|
-
- verification expectations
|
|
207
|
-
|
|
208
|
-
The README should clearly 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.
|
|
209
|
-
|
|
210
|
-
The README must stand on its own for basic codebase use and must not depend on separate external documentation for run/test basics.
|
|
211
|
-
|
|
212
|
-
If behavior changes and the docs now mislead a reader, fix the docs as part of the work.
|
|
213
|
-
|
|
214
|
-
## Security And Quality Standard
|
|
215
|
-
|
|
216
|
-
Treat these as baseline concerns:
|
|
40
|
+
- identify requirements, constraints, flows, and edge cases
|
|
41
|
+
- surface meaningful ambiguity instead of silently guessing
|
|
42
|
+
- make the plan concrete enough to drive real implementation
|
|
43
|
+
- keep frontend/backend surfaces aligned when both sides matter
|
|
217
44
|
|
|
218
|
-
|
|
219
|
-
- authorization
|
|
220
|
-
- ownership and access boundaries
|
|
221
|
-
- validation
|
|
222
|
-
- secret handling
|
|
223
|
-
- logging hygiene
|
|
224
|
-
- maintainability and extensibility
|
|
225
|
-
- coupling
|
|
226
|
-
- file/module size discipline
|
|
45
|
+
Do not narrow scope for convenience.
|
|
227
46
|
|
|
228
|
-
|
|
47
|
+
## Execution Model
|
|
229
48
|
|
|
230
|
-
|
|
49
|
+
- implement real behavior, not placeholders
|
|
50
|
+
- keep user-facing and admin-facing flows complete through their real surfaces
|
|
51
|
+
- verify the changed area locally and realistically before reporting completion
|
|
52
|
+
- update repo-local docs such as `README.md` when behavior or run/test instructions change
|
|
53
|
+
- do not touch workflow or rulebook files such as `AGENTS.md` unless explicitly asked
|
|
231
54
|
|
|
232
|
-
|
|
233
|
-
- treat `.env`, `.env.local`, `.env.example`, and similar env-file variants as forbidden repository artifacts
|
|
234
|
-
- never persist local secrets in the repository
|
|
235
|
-
- never hardcode credentials, tokens, API keys, signing keys, certificate private keys, or similar sensitive values in code
|
|
236
|
-
- do not use env files for placeholders, local setup, or runtime configuration examples
|
|
237
|
-
- the delivered repo and package must not require any preexisting `.env` file to start from scratch
|
|
238
|
-
- when environment variables are required, rely on Docker-provided runtime variables or generate any required env-file format ephemerally at runtime from those variables
|
|
239
|
-
- if runtime generation is used, the generated env file must not be checked in, packaged, or treated as a persistent project artifact
|
|
240
|
-
- never print raw secrets into logs, docs, screenshots, or operator-facing UI
|
|
55
|
+
## Verification Cadence
|
|
241
56
|
|
|
242
|
-
|
|
57
|
+
During ordinary work, prefer:
|
|
243
58
|
|
|
244
|
-
-
|
|
245
|
-
-
|
|
246
|
-
-
|
|
247
|
-
-
|
|
248
|
-
-
|
|
59
|
+
- local runtime checks
|
|
60
|
+
- targeted unit tests
|
|
61
|
+
- targeted integration tests
|
|
62
|
+
- targeted module or route-family tests
|
|
63
|
+
- the selected stack's local UI or E2E tool on affected flows when UI is material
|
|
249
64
|
|
|
250
|
-
|
|
65
|
+
Do not jump to broad Docker and full-suite commands on ordinary turns.
|
|
251
66
|
|
|
252
|
-
|
|
253
|
-
- redact or mask sensitive values in telemetry, logs, traces, and audit paths
|
|
67
|
+
The owner reserves the limited broad gate budget. Your job is to make those owner-run gates likely to pass.
|
|
254
68
|
|
|
255
|
-
|
|
69
|
+
Selected-stack defaults:
|
|
256
70
|
|
|
257
|
-
|
|
71
|
+
- follow the original prompt and existing repo first; use these only when they do not already specify the platform or stack
|
|
72
|
+
- web frontend/fullstack: Tailwind CSS plus `shadcn/ui` by default unless the prompt or existing repo says otherwise
|
|
73
|
+
- mobile: Expo plus React Native plus TypeScript by default unless the prompt or existing repo says otherwise
|
|
74
|
+
- desktop: Electron plus Vite plus TypeScript by default unless the prompt or existing repo says otherwise
|
|
258
75
|
|
|
259
|
-
|
|
260
|
-
- weak security boundaries
|
|
261
|
-
- architecture weaknesses
|
|
262
|
-
- maintainability and extensibility risks
|
|
263
|
-
- coupling problems
|
|
264
|
-
- oversized files or modules
|
|
265
|
-
- bad engineering practices
|
|
76
|
+
## Truthfulness Rules
|
|
266
77
|
|
|
267
|
-
|
|
78
|
+
- do not claim work is complete if the real surface is incomplete
|
|
79
|
+
- do not bypass required UI or operator flows with direct API shortcuts and call that done
|
|
80
|
+
- do not ship placeholder, demo, setup, or debug UI in product-facing screens
|
|
81
|
+
- do not create `.env` files or similar env-file variants
|
|
82
|
+
- do not hardcode secrets or leave prototype residue behind
|
|
268
83
|
|
|
269
|
-
|
|
270
|
-
- silently guessing through ambiguity
|
|
271
|
-
- drifting from the real requirement
|
|
272
|
-
- filler docs
|
|
273
|
-
- fake tests
|
|
274
|
-
- shallow verification
|
|
275
|
-
- weak scaffold
|
|
276
|
-
- hidden setup
|
|
277
|
-
- unfinished modules across the codebase
|
|
278
|
-
- documentation drift
|
|
279
|
-
- postponing quality issues until the end
|
|
280
|
-
- relying on files outside the current working directory as hidden project context unless the user explicitly tells you to
|
|
84
|
+
## Skills
|
|
281
85
|
|
|
282
|
-
|
|
86
|
+
- use relevant framework or language skills when they materially help the current task
|
|
87
|
+
- use Context7 first and Exa second when targeted technical research is genuinely needed
|
|
283
88
|
|
|
284
|
-
|
|
89
|
+
## Communication
|
|
285
90
|
|
|
286
|
-
-
|
|
287
|
-
-
|
|
288
|
-
-
|
|
289
|
-
- meaningfully tested
|
|
290
|
-
- properly verified
|
|
291
|
-
- maintainable and reviewable
|
|
292
|
-
- strong against avoidable security and quality weaknesses
|
|
91
|
+
- be direct and technically clear
|
|
92
|
+
- report what changed, what was verified, and what still looks weak
|
|
93
|
+
- if a problem needs a real fix, fix it instead of explaining around it
|