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,34 +1,30 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: beads-operations
|
|
3
|
-
description:
|
|
3
|
+
description: Beads mutation and lifecycle-transition rules for slopmachine.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# Beads Operations
|
|
7
7
|
|
|
8
|
-
Use this skill whenever you
|
|
8
|
+
Use this skill whenever you mutate Beads state.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Transition discipline
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
- Treat this as the operational source of truth for tracker transitions and command usage.
|
|
14
|
-
- Do not improvise state mutations from memory when precise tracker changes matter.
|
|
12
|
+
When a root phase changes:
|
|
15
13
|
|
|
16
|
-
|
|
14
|
+
1. verify exit conditions from evidence
|
|
15
|
+
2. add final phase evidence comments
|
|
16
|
+
3. close the current root phase
|
|
17
|
+
4. update metadata files to the new phase state
|
|
18
|
+
5. open the next root phase
|
|
19
|
+
6. add a `STATE:` transition comment
|
|
17
20
|
|
|
18
|
-
|
|
21
|
+
## Rules
|
|
19
22
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
- set `clarification_approved=true` only when clarification is actually approved
|
|
26
|
-
- set `awaiting_human=true` only at the two allowed human-stop points: initial clarification approval and final evaluation decision
|
|
27
|
-
- increment `remediation_round` only when entering a new remediation cycle after failed manual evaluation
|
|
28
|
-
- keep parent-root `../metadata.json` aligned on project facts such as prompt text, project type, session id, and selected stack fields when they become known or change
|
|
29
|
-
6. set the next phase status to `in_progress` or `blocked`
|
|
30
|
-
7. append a `STATE:` transition comment
|
|
31
|
-
8. append a `SESSION:` comment if the developer session was created, resumed, or materially changed
|
|
23
|
+
- enter the next phase before real work for that phase begins
|
|
24
|
+
- do not close multiple root phases in one transition block
|
|
25
|
+
- keep structured comments specific and auditable
|
|
26
|
+
- treat phase-closure failures as real workflow failures to resolve
|
|
27
|
+
- keep Beads and metadata aligned on current phase and active developer session slot when either changes
|
|
32
28
|
|
|
33
29
|
## Structured comment prefixes
|
|
34
30
|
|
|
@@ -46,31 +42,41 @@ Use comments with fixed prefixes such as:
|
|
|
46
42
|
## Dependency rules
|
|
47
43
|
|
|
48
44
|
- use explicit dependencies only for real sibling or cross-phase gating
|
|
49
|
-
- do not add explicit dependencies from a parent
|
|
50
|
-
- technical blockers may set
|
|
45
|
+
- do not add explicit dependencies from a parent Beads item to its own child Beads item
|
|
46
|
+
- technical blockers may set Beads items to `blocked`, but they must not create new human-stop points unless the workflow is at the initial clarification approval or final human decision
|
|
51
47
|
|
|
52
48
|
## Forbidden workflow-state shortcuts
|
|
53
49
|
|
|
54
50
|
- do not use QMD as the workflow state system
|
|
55
|
-
- do not use
|
|
51
|
+
- do not use Beads-local config or ad hoc notes as the primary workflow-state mechanism
|
|
56
52
|
|
|
57
53
|
## Direct command reference
|
|
58
54
|
|
|
59
55
|
Use these `br` commands directly without needing a help lookup first:
|
|
60
56
|
|
|
61
|
-
- `br list`
|
|
62
|
-
- `br ready`
|
|
63
|
-
- `br blocked`
|
|
64
|
-
- `br show <id>`
|
|
65
|
-
- `br create "Title"`
|
|
66
|
-
- `br update <id> --status <status>`
|
|
67
|
-
- `br update <id> --parent <parent-id>`
|
|
68
|
-
- `br dep add <blocked-id> <blocker-id> --type blocks`
|
|
69
|
-
- `br dep add <child-id> <parent-id> --type parent-child`
|
|
70
|
-
- `br dep list <id>`
|
|
71
|
-
- `br comments add <id> "..."`
|
|
72
|
-
- `br comments <id>`
|
|
73
|
-
- `br close <id>`
|
|
74
|
-
- `br reopen <id>`
|
|
57
|
+
- `br list`
|
|
58
|
+
- `br ready`
|
|
59
|
+
- `br blocked`
|
|
60
|
+
- `br show <id>`
|
|
61
|
+
- `br create "Title"`
|
|
62
|
+
- `br update <id> --status <status>`
|
|
63
|
+
- `br update <id> --parent <parent-id>`
|
|
64
|
+
- `br dep add <blocked-id> <blocker-id> --type blocks`
|
|
65
|
+
- `br dep add <child-id> <parent-id> --type parent-child`
|
|
66
|
+
- `br dep list <id>`
|
|
67
|
+
- `br comments add <id> "..."`
|
|
68
|
+
- `br comments <id>`
|
|
69
|
+
- `br close <id>`
|
|
70
|
+
- `br reopen <id>`
|
|
75
71
|
|
|
76
72
|
If you truly need a command outside this core set, use `br -h` or `br <command> -h` only then.
|
|
73
|
+
|
|
74
|
+
## Useful comment prefixes
|
|
75
|
+
|
|
76
|
+
- `STATE:`
|
|
77
|
+
- `APPROVAL:`
|
|
78
|
+
- `VERIFY:`
|
|
79
|
+
- `ISSUE:`
|
|
80
|
+
- `SESSION:`
|
|
81
|
+
- `HANDOFF:`
|
|
82
|
+
- `ARTIFACT:`
|
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: clarification-gate
|
|
3
|
-
description: Clarification decomposition, safe-default locking, and
|
|
3
|
+
description: Clarification decomposition, ambiguity handling, safe-default locking, and prompt-faithfulness validation for slopmachine.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Clarification Gate
|
|
7
7
|
|
|
8
|
-
Use this skill only during
|
|
8
|
+
Use this skill only during `P1 Clarification`.
|
|
9
|
+
|
|
10
|
+
## Goals
|
|
11
|
+
|
|
12
|
+
- make the scope clear enough for planning to start cleanly
|
|
13
|
+
- resolve or safely lock material ambiguities
|
|
14
|
+
- prepare a strong developer-facing clarification prompt
|
|
15
|
+
- prevent prompt drift or scope narrowing
|
|
9
16
|
|
|
10
17
|
## Usage rules
|
|
11
18
|
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
19
|
+
- enter `P1` before the first real clarification draft or validation pass
|
|
20
|
+
- keep clarification work inside `P1`
|
|
21
|
+
- treat this as internal clarification workflow guidance, not developer-visible text
|
|
22
|
+
- do not start planning or developer launch while clarification is still active
|
|
23
|
+
- stop for human approval only after the clarification artifact is ready and validated
|
|
15
24
|
|
|
16
25
|
## Clarification standard
|
|
17
26
|
|
|
@@ -23,7 +32,7 @@ Use this skill only during clarification and understanding work before tracked d
|
|
|
23
32
|
- prepare a developer-facing clarification prompt in `../.ai/clarification-prompt.md`
|
|
24
33
|
- keep clarification aligned with the original prompt
|
|
25
34
|
- do not let clarification reduce, weaken, narrow, or silently reinterpret the prompt
|
|
26
|
-
- use clarification to sharpen the build and improve output quality only when that improvement stays fully consistent with the prompt
|
|
35
|
+
- use clarification to sharpen the build and improve output quality only when that improvement stays fully consistent with the prompt intent
|
|
27
36
|
- do not start tracked development until the human approval step is complete
|
|
28
37
|
|
|
29
38
|
## Clarification discipline
|
|
@@ -36,23 +45,79 @@ Use this skill only during clarification and understanding work before tracked d
|
|
|
36
45
|
- never use defaults that drift from the original prompt
|
|
37
46
|
- do not use quick, loose, or simplifying assumptions that shrink what the prompt asked for
|
|
38
47
|
- do not guess through material ambiguity
|
|
48
|
+
- do not expand the clarification artifact just to exhaust every minor edge case when the scope is already clear enough to plan correctly
|
|
49
|
+
- once the core scope is understood, prefer a compact clarification record plus explicit safe defaults over a giant exhaustive rewrite
|
|
50
|
+
|
|
51
|
+
## Required outputs
|
|
52
|
+
|
|
53
|
+
- working clarification record that will become `../docs/questions.md`
|
|
54
|
+
- developer-facing clarification prompt in `../.ai/clarification-prompt.md`
|
|
55
|
+
- explicit list of safe defaults and resolved ambiguities
|
|
56
|
+
|
|
57
|
+
## `questions.md` contract
|
|
58
|
+
|
|
59
|
+
`../docs/questions.md` is not a general project summary.
|
|
60
|
+
|
|
61
|
+
It exists only for prompt items that needed interpretation because they were unclear, incomplete, or materially ambiguous.
|
|
62
|
+
|
|
63
|
+
Each entry should answer this structure:
|
|
64
|
+
|
|
65
|
+
1. what was unclear from the original prompt
|
|
66
|
+
2. how you interpreted it
|
|
67
|
+
3. what decision or solution you chose for it
|
|
68
|
+
4. why that choice is prompt-faithful and reasonable
|
|
69
|
+
|
|
70
|
+
Keep the file narrow and explicit.
|
|
71
|
+
|
|
72
|
+
Do not use `questions.md` for:
|
|
73
|
+
|
|
74
|
+
- a full restatement of the entire prompt
|
|
75
|
+
- broad planning notes
|
|
76
|
+
- general project requirements that were already clear
|
|
77
|
+
- implementation details that belong in planning or design docs
|
|
78
|
+
|
|
79
|
+
Preferred entry shape:
|
|
80
|
+
|
|
81
|
+
```md
|
|
82
|
+
## Item N: <short ambiguity title>
|
|
83
|
+
|
|
84
|
+
### What was unclear
|
|
85
|
+
<the exact ambiguity or missing detail>
|
|
86
|
+
|
|
87
|
+
### Interpretation
|
|
88
|
+
<how it was interpreted>
|
|
89
|
+
|
|
90
|
+
### Decision
|
|
91
|
+
<the chosen resolution or safe default>
|
|
92
|
+
|
|
93
|
+
### Why this is reasonable
|
|
94
|
+
<brief justification tied to prompt faithfulness>
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
If nothing material was unclear, keep `questions.md` minimal rather than inventing content.
|
|
39
98
|
|
|
40
99
|
## Clarification-prompt validation loop
|
|
41
100
|
|
|
42
|
-
- compare the original prompt and the prepared clarification prompt using
|
|
43
|
-
-
|
|
44
|
-
-
|
|
101
|
+
- compare the original prompt and the prepared clarification prompt using one dedicated `General` validation session, never the developer session
|
|
102
|
+
- do not create a new validation session for every retry unless the session became unusable or a fundamental misunderstanding requires a clean restart
|
|
103
|
+
- on the first validation pass, build one self-contained validation prompt block for that `General` session
|
|
104
|
+
- on that first pass, include the full original prompt text, the full current questions or clarification record, and the full current `../.ai/clarification-prompt.md`
|
|
45
105
|
- do not use placeholders such as `same as previous`, `from context`, `see above`, or `latest artifact`
|
|
46
106
|
- ask that `General` session whether the clarification prompt deviates from, weakens, narrows, or violates the original prompt in any way
|
|
47
107
|
- require it to judge whether the clarification prompt is a genuine improvement in execution quality while remaining faithful to the original intent
|
|
48
|
-
- if
|
|
49
|
-
-
|
|
108
|
+
- if the validator suggests real fixes, patch the existing questions record and clarification prompt directly; do not restart the clarification phase from scratch unless the validator found a fundamental scope misunderstanding
|
|
109
|
+
- treat validator output as a correction list, not as a reason to regenerate giant clarification blocks repeatedly
|
|
110
|
+
- when rerunning validation in the same validator session, send only the improved clarification payload and the concrete fixes you made; do not resend the original prompt block if the session already has that context
|
|
111
|
+
- rerun validation only after applying the concrete fixes that matter
|
|
112
|
+
- keep the validation loop bounded and intentional; prefer one strong pass plus a small number of revision cycles over repeated loose churn
|
|
113
|
+
- once prompt-faithfulness is satisfied and the remaining notes are minor or cosmetic, stop iterating and proceed
|
|
50
114
|
- only treat the clarification prompt as approved for developer use after this validation loop passes and your own review agrees
|
|
51
115
|
- requesting human approval before this validation loop passes is illegal
|
|
52
116
|
|
|
53
117
|
## Exit conditions
|
|
54
118
|
|
|
55
|
-
-
|
|
56
|
-
-
|
|
119
|
+
- the owner is confident the scope is understood clearly enough to enter planning
|
|
120
|
+
- the clarification prompt is strong enough for the developer to start from the right understanding
|
|
121
|
+
- material ambiguities are resolved or safely locked and documented
|
|
57
122
|
- prompt drift has been checked and rejected
|
|
58
|
-
-
|
|
123
|
+
- human approval exists
|
|
@@ -1,28 +1,40 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: developer-session-lifecycle
|
|
3
|
-
description: Startup,
|
|
3
|
+
description: Startup, resume detection, metadata consistency, and developer-session recovery rules for slopmachine.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Developer Session Lifecycle
|
|
7
7
|
|
|
8
|
-
Use this skill during
|
|
8
|
+
Use this skill during `P0 Intake and Setup` and whenever startup or recovery state is uncertain.
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
- detect whether the run is new or resumed
|
|
13
|
+
- initialize or recover workflow metadata consistently
|
|
14
|
+
- initialize the planned bounded developer-session slots
|
|
15
|
+
- recover the current active developer session when one already exists
|
|
9
16
|
|
|
10
17
|
## Usage rules
|
|
11
18
|
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
19
|
+
- keep startup and recovery in one skill; both begin from the same state inspection problem
|
|
20
|
+
- treat this as internal orchestration guidance, not developer-visible text
|
|
21
|
+
- do not launch the developer during `P0` or `P1`
|
|
22
|
+
- do not use this skill to create extra approval stops beyond the two allowed human gates
|
|
23
|
+
|
|
24
|
+
## State inspection sequence
|
|
25
|
+
|
|
26
|
+
Inspect:
|
|
27
|
+
|
|
28
|
+
- Beads root state and current phase
|
|
29
|
+
- `../.ai/metadata.json`
|
|
30
|
+
- `../metadata.json`
|
|
31
|
+
- existing session comments or recorded session ids
|
|
16
32
|
|
|
17
|
-
|
|
33
|
+
Decide whether the run is:
|
|
18
34
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
- persist the developer session id in more than one durable place
|
|
23
|
-
- reuse that same session throughout development and remediation whenever possible
|
|
24
|
-
- if the developer session crashes, resume it and continue the same work loop
|
|
25
|
-
- if the owner process crashes, recovery happens externally; when restarted, recover from state and continue
|
|
35
|
+
- a fresh startup
|
|
36
|
+
- a resumed run with consistent state
|
|
37
|
+
- a run needing consistency repair before it can continue
|
|
26
38
|
|
|
27
39
|
## Startup contract
|
|
28
40
|
|
|
@@ -42,15 +54,38 @@ Optional startup inputs may include:
|
|
|
42
54
|
1. receive the prompt and stack context
|
|
43
55
|
2. create `../.ai/metadata.json` for internal workflow state
|
|
44
56
|
3. initialize parent-root `../metadata.json` with the required schema and store the full prompt text in `prompt`
|
|
45
|
-
4. initialize root workflow state and top-level phase
|
|
57
|
+
4. initialize root workflow state and top-level phase Beads items
|
|
46
58
|
5. complete clarification using the clarification skill
|
|
47
59
|
6. wait only for the initial clarification approval before development starts
|
|
48
60
|
7. ensure the parent project root has the required working structure, especially `../sessions/` and `../docs/`
|
|
49
|
-
8.
|
|
50
|
-
9.
|
|
51
|
-
10.
|
|
52
|
-
11.
|
|
53
|
-
12.
|
|
61
|
+
8. initialize the bounded developer-session slots
|
|
62
|
+
9. start the build developer session only after `P2` is ready to begin
|
|
63
|
+
10. send this exact first planning opener as the first message in that session: `lets plan this <original-prompt>`
|
|
64
|
+
11. wait for the developer's first exchange
|
|
65
|
+
12. send the approved clarification prompt as the second owner message in that same session
|
|
66
|
+
13. only after that second message, continue with the normal planning conversation
|
|
67
|
+
|
|
68
|
+
## First developer-session handshake
|
|
69
|
+
|
|
70
|
+
The first bounded developer session must begin in this exact order:
|
|
71
|
+
|
|
72
|
+
1. owner starts the build developer session
|
|
73
|
+
2. owner sends: `lets plan this <original-prompt>`
|
|
74
|
+
3. developer responds
|
|
75
|
+
4. owner sends the approved clarification prompt
|
|
76
|
+
5. planning proceeds from there
|
|
77
|
+
|
|
78
|
+
Do not skip the initial planning opener.
|
|
79
|
+
Do not send the clarification prompt first.
|
|
80
|
+
Do not merge those two messages into one.
|
|
81
|
+
|
|
82
|
+
## Required startup outputs
|
|
83
|
+
|
|
84
|
+
- root workflow state exists
|
|
85
|
+
- `../.ai/metadata.json` exists
|
|
86
|
+
- `../metadata.json` exists
|
|
87
|
+
- planned developer session slots are initialized
|
|
88
|
+
- required parent-root directories exist
|
|
54
89
|
|
|
55
90
|
## Metadata and workflow files
|
|
56
91
|
|
|
@@ -59,16 +94,34 @@ Optional startup inputs may include:
|
|
|
59
94
|
- the project artifact metadata file is `../metadata.json`
|
|
60
95
|
- do not use `../metadata.json` as internal workflow scratch state
|
|
61
96
|
|
|
62
|
-
|
|
97
|
+
## Suggested metadata fields
|
|
63
98
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
- `
|
|
67
|
-
- `clarification_approved`
|
|
99
|
+
Track at least:
|
|
100
|
+
|
|
101
|
+
- `current_phase`
|
|
68
102
|
- `awaiting_human`
|
|
103
|
+
- `clarification_approved`
|
|
69
104
|
- `remediation_round`
|
|
105
|
+
- `clarification_validator_session_id`
|
|
106
|
+
- `evaluation_pass`
|
|
107
|
+
- `backend_evaluation_session_id`
|
|
108
|
+
- `frontend_evaluation_session_id`
|
|
109
|
+
- `last_evaluation_session_id`
|
|
110
|
+
- `passed_evaluation_tracks`
|
|
111
|
+
- `developer_sessions`
|
|
112
|
+
- `active_developer_session_index`
|
|
113
|
+
|
|
114
|
+
Each planned developer session record should include enough to recover it later, such as:
|
|
115
|
+
|
|
116
|
+
- `index`
|
|
117
|
+
- `label`
|
|
118
|
+
- `phase_group`
|
|
119
|
+
- `session_id`
|
|
120
|
+
- `status`
|
|
121
|
+
- `handoff_in`
|
|
122
|
+
- `handoff_out`
|
|
70
123
|
|
|
71
|
-
Required project metadata fields in `../metadata.json
|
|
124
|
+
Required project metadata fields in `../metadata.json` when relevant:
|
|
72
125
|
|
|
73
126
|
- `prompt`
|
|
74
127
|
- `project_type`
|
|
@@ -83,24 +136,33 @@ Required project metadata fields in `../metadata.json`:
|
|
|
83
136
|
- fill known values immediately and keep the file current as the project becomes clearer
|
|
84
137
|
- prefer explicit values; use `null` only when a field is genuinely unknown or not applicable
|
|
85
138
|
|
|
139
|
+
## Bounded session model
|
|
140
|
+
|
|
141
|
+
Track up to three planned developer sessions:
|
|
142
|
+
|
|
143
|
+
1. build
|
|
144
|
+
2. stabilization
|
|
145
|
+
3. remediation
|
|
146
|
+
|
|
147
|
+
Later session slots may remain unused if the workflow never needs them.
|
|
148
|
+
|
|
86
149
|
## Initial structure rule
|
|
87
150
|
|
|
88
151
|
- parent-root `../docs/` is the owner-maintained external documentation directory
|
|
89
|
-
- do not treat repo-local `docs/` as the active documentation location in `v3`
|
|
90
152
|
- parent-root `../sessions/` is the session artifact directory for exported conversation traces
|
|
153
|
+
- do not treat repo-local `docs/` as the active external documentation location
|
|
91
154
|
|
|
92
155
|
## Recovery rule
|
|
93
156
|
|
|
94
|
-
-
|
|
95
|
-
- developer
|
|
96
|
-
-
|
|
97
|
-
-
|
|
157
|
+
- if session records disagree, stop and resolve the inconsistency before continuing
|
|
158
|
+
- if the current phase already has an active developer session, recover that session instead of silently creating a new one
|
|
159
|
+
- treat resume as deterministic recovery, not guesswork
|
|
160
|
+
- on recovery, read `../.ai/metadata.json`, `../metadata.json`, current phase Beads item, latest `SESSION:` comment, latest unresolved `ISSUE:` comments, and any persistent session record before continuing
|
|
98
161
|
|
|
99
162
|
## Session persistence rule
|
|
100
163
|
|
|
101
|
-
- store the
|
|
164
|
+
- store the active developer session id in Beads comments using `SESSION:`
|
|
102
165
|
- mirror it in `../.ai/metadata.json`
|
|
103
|
-
- mirror
|
|
104
|
-
- once created, treat that session id as locked unless an explicit reset policy is introduced later
|
|
166
|
+
- mirror the active session id in parent-root `../metadata.json` as `session_id`
|
|
105
167
|
- if these records disagree, stop and resolve the inconsistency before continuing
|
|
106
|
-
- do not silently create a replacement
|
|
168
|
+
- do not silently create a replacement developer session if the intended existing one can still be resumed
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: development-guidance
|
|
3
|
-
description: Developer-facing slice execution and local verification guidance for slopmachine
|
|
2
|
+
name: development-guidance
|
|
3
|
+
description: Developer-facing slice execution and local verification guidance for slopmachine.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Development Guidance
|
|
6
|
+
# Development Guidance
|
|
7
7
|
|
|
8
8
|
Use this skill during `P4 Development` before prompting the developer.
|
|
9
9
|
|
|
@@ -36,7 +36,7 @@ Use this skill during `P4 Development` before prompting the developer.
|
|
|
36
36
|
- do not leave computed-but-unrendered or partially surfaced requirement behavior in place
|
|
37
37
|
- do not treat a module as complete when a meaningful user-facing, release-facing, production-path, or build verification is known to be failing unless the owner explicitly scopes that check out
|
|
38
38
|
- use the `frontend-design` skill for frontend component or page work
|
|
39
|
-
- use the `frontend-design` skill during
|
|
39
|
+
- use the `frontend-design` skill during web or desktop UI verification when reviewing screenshots and tightening the interface
|
|
40
40
|
- do not hardcode secrets or persist local sensitive values in the repo while implementing
|
|
41
41
|
- explain behavior changes clearly enough that the documentation discipline can be satisfied accurately
|
|
42
42
|
- verify the module against its planned behavior before trying to move on
|
|
@@ -45,11 +45,14 @@ Use this skill during `P4 Development` before prompting the developer.
|
|
|
45
45
|
## Verification model
|
|
46
46
|
|
|
47
47
|
- use targeted local verification by default
|
|
48
|
-
- use local
|
|
49
|
-
- avoid broad
|
|
48
|
+
- use the selected stack's local UI/E2E tool on affected flows when UI is material
|
|
49
|
+
- avoid broad project-standard gate commands during ordinary slice work
|
|
50
50
|
- prefer fast local language-native or framework-native test commands for the changed area during normal iteration
|
|
51
51
|
- set up and use the local test environment inside the current working directory so normal verification does not depend on hidden global tooling assumptions
|
|
52
52
|
- if the local toolchain is missing, try to install or enable it before falling back to the broad gate path
|
|
53
|
+
- for web UI projects, default local UI/E2E verification to Playwright when that stack is in use
|
|
54
|
+
- for mobile projects, default local UI testing to the selected mobile test stack and use a platform-appropriate mobile UI/E2E tool when device-flow proof matters
|
|
55
|
+
- for desktop projects, default local UI verification to Playwright's Electron support or another platform-appropriate desktop UI/E2E tool when window-flow proof matters
|
|
53
56
|
- when the slice materially changes frontend code, frontend tooling, or release-facing build behavior, include production build health in meaningful local verification when practical
|
|
54
57
|
|
|
55
58
|
## Quality rules
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: evaluation-triage
|
|
3
|
-
description: Owner-side evaluation report triage rules for slopmachine
|
|
2
|
+
name: evaluation-triage
|
|
3
|
+
description: Owner-side evaluation report triage rules for slopmachine.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Evaluation Triage
|
|
6
|
+
# Evaluation Triage
|
|
7
7
|
|
|
8
8
|
Use this skill during `P7 Evaluation and Triage` after evaluation reports exist.
|
|
9
9
|
|
|
@@ -15,15 +15,54 @@ Use this skill during `P7 Evaluation and Triage` after evaluation reports exist.
|
|
|
15
15
|
- do not enter remediation just because a report found something; enter it only when the accepted findings justify it
|
|
16
16
|
- if no remediation is needed, move directly to the final human decision
|
|
17
17
|
|
|
18
|
+
## Non-negotiable evaluation buckets
|
|
19
|
+
|
|
20
|
+
These areas are hard gates and should not be passed with known meaningful failures:
|
|
21
|
+
|
|
22
|
+
1. prompt compliance
|
|
23
|
+
2. requirement fulfillment / delivery completeness
|
|
24
|
+
3. security-critical flaws
|
|
25
|
+
|
|
26
|
+
If evaluation finds a real issue in one of those buckets, the default outcome is remediation, not leniency.
|
|
27
|
+
|
|
28
|
+
Do not wave through:
|
|
29
|
+
|
|
30
|
+
- prompt drift or meaningful requirement mismatch
|
|
31
|
+
- missing core flows or partial delivery of prompt-critical functionality
|
|
32
|
+
- real security defects involving auth, authorization, ownership, isolation, exposure, or secret handling
|
|
33
|
+
|
|
34
|
+
## Leniency buckets
|
|
35
|
+
|
|
36
|
+
These areas may pass with minor residual issues when the product is still clearly acceptable overall:
|
|
37
|
+
|
|
38
|
+
1. testing cases / test sufficiency
|
|
39
|
+
2. engineering architecture / engineering quality
|
|
40
|
+
3. aesthetics
|
|
41
|
+
|
|
42
|
+
Leniency is allowed only when the issue is:
|
|
43
|
+
|
|
44
|
+
- minor in impact
|
|
45
|
+
- not hiding a likely blocker in another bucket
|
|
46
|
+
- not undermining overall confidence in the delivered product
|
|
47
|
+
|
|
48
|
+
High-severity findings in these leniency buckets may still be passed when they are not materially relevant to actual acceptance readiness, but that should be a deliberate exception backed by direct evidence.
|
|
49
|
+
|
|
50
|
+
If the hard gates pass cleanly, the leniency buckets should usually not force remediation unless the issue is a true `Blocker` or a materially relevant `High` finding.
|
|
51
|
+
|
|
18
52
|
## Triage rules
|
|
19
53
|
|
|
20
54
|
- read both reports and merge the findings into one explicit triage set before deciding what happens next
|
|
21
55
|
- use the evaluator priority ordering directly when triaging findings unless stronger direct evidence says otherwise
|
|
22
|
-
- any finding
|
|
56
|
+
- any finding in the non-negotiable buckets should normally be returned for remediation if it is real
|
|
57
|
+
- findings marked `Blocker` should normally be returned for remediation
|
|
58
|
+
- findings marked `High` should normally be returned for remediation unless they fall in a leniency bucket and your direct evidence shows they are not materially relevant to acceptance
|
|
23
59
|
- findings marked `Medium` may be passed in limited cases, but should usually be fixed when they materially improve confidence, correctness, or acceptance readiness
|
|
24
60
|
- findings marked `Low` may be passed without remediation
|
|
25
61
|
- do not treat complaints about test coverage depth, unverifiable tests, or evaluator inability to confirm a test path as automatic blockers by themselves
|
|
26
62
|
- if your own direct evidence shows the tests run and the coverage is acceptable for qualification, defend the project and pass those findings instead of automatically remediating
|
|
63
|
+
- minor engineering-architecture quality issues may pass if the system is still structurally credible and maintainable overall
|
|
64
|
+
- minor aesthetics issues may pass if the UI is still clearly usable and credible for the actual use case
|
|
65
|
+
- if prompt compliance, requirement fulfillment, and security all pass, testing/engineering/aesthetics findings should generally be treated more leniently unless they are blocking or materially high-risk
|
|
27
66
|
- if a report says it could not verify some behavior because of environment limits or avoidable verification setup issues, first decide whether you can remove that constraint and rerun the evaluation in a cleaner state
|
|
28
67
|
- if the evaluator could not verify something but your own verified evidence already shows the behavior is acceptable, do not treat that as an automatic remediation trigger
|
|
29
68
|
- challenge weak, random, or overreaching findings using your stronger project context and direct codebase knowledge
|