@warnyin/sdlc 0.6.0 → 0.8.0

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.
@@ -1,37 +1,42 @@
1
- # /sdlc:verify <id> — the feedback loop
2
-
3
- Two halves, both must pass. Verification is against the CONTRACT, not vibes.
4
-
5
- 1. **Tests (deterministic)**: run the full test command from `sdlc/harness.md`.
6
- Every row of `contract/tests.md` must be covered by a passing test.
7
- 2. **Evals (non-deterministic)** — when `contract/evals.md` exists: delegate to
8
- the `sdlc-evaluator` agent (cheap) with the rubric + the diff + the task log;
9
- it returns a score per rubric line. Pass bar is written in the file.
10
- If the evaluator cannot run — subagents unavailable or disallowed in this
11
- session — score in the main loop instead and record that. A panel that could
12
- not run is a fact to write down, never a reason to stop the pipeline; but a
13
- run that judged its own work is weaker evidence and must not read as if a
14
- panel had agreed.
15
-
16
- On failure:
17
- - Cluster failures by root cause (one line each) and append the cluster note to
18
- the change's `## Tasks` area as unchecked fix tasks.
19
- - `node sdlc/.hooks/journal.mjs note verify result=fail round=<n> mode=<panel|solo>`
20
- - Route back to /sdlc:build. Maximum 3 rounds total; on the 4th failure STOP and
21
- escalate to the human with the cluster history (Autonomy policy condition).
22
- - Never lower the bar: do not edit tests/evals to pass unless the contract
23
- itself was wrong changing the contract reopens the adversarial check.
24
-
25
- On pass: set `status: verified`,
26
- `node sdlc/.hooks/journal.mjs note verify result=pass round=<n> mode=<panel|solo>`.
27
-
28
- `mode=panel` only when independent agents produced the judgment; `mode=solo` when
29
- the main loop judged its own work. Every verify note carries it, pass or fail
30
- `/sdlc:observe` reports a change as self-judged from this field, and omitting it
31
- leaves the record silently indistinguishable from an independent one.
32
-
33
- Next: review signals present (deep tier, security-touching diff, >10 files)
34
- → /sdlc:review; otherwise /sdlc:ship.
35
-
36
- `--auto`: do this stage, then continue to ship under `auto.md`'s unattended
37
- mode gather, confirm once, run. The stage still does its own work first.
1
+ # /sdlc:verify <id> — the feedback loop
2
+
3
+ Two halves, both must pass. Verification is against the CONTRACT, not vibes.
4
+
5
+ 1. **Tests (deterministic)**: run the full test command from `sdlc/harness.md`.
6
+ Every row of `contract/tests.md` must be covered by a passing test.
7
+ 2. **Evals (non-deterministic)** — when `contract/evals.md` exists: delegate to
8
+ the `sdlc-evaluator` agent (cheap) with the rubric + the diff + the task log;
9
+ it returns a score per rubric line. Pass bar is written in the file.
10
+ If the evaluator cannot run — subagents unavailable or disallowed in this
11
+ session — score in the main loop instead and record that. A panel that could
12
+ not run is a fact to write down, never a reason to stop the pipeline; but a
13
+ run that judged its own work is weaker evidence and must not read as if a
14
+ panel had agreed.
15
+
16
+ 3. **Lens bars** — a non-empty `lenses`, whether or not `evals.md` exists: every lens bar
17
+ must appear as a `tests.md` row or an `evals.md` line; a lens with its bars in neither
18
+ is a contract gap and fails verify.
19
+
20
+ On failure:
21
+ - Cluster failures by root cause (one line each) and append the cluster note to
22
+ the change's `## Tasks` area as unchecked fix tasks.
23
+ - `node sdlc/.hooks/journal.mjs note verify result=fail round=<n> mode=<panel|solo>`
24
+ - Route back to /sdlc:build. Maximum 3 rounds total; on the 4th failure STOP and
25
+ escalate to the human with the cluster history (Autonomy policy condition).
26
+ - Never lower the bar: do not edit tests/evals to pass unless the contract
27
+ itself was wrong — changing the contract reopens the adversarial check.
28
+
29
+ On pass: set `status: verified`,
30
+ `node sdlc/.hooks/journal.mjs note verify result=pass round=<n> mode=<panel|solo>`.
31
+
32
+ `mode=panel` only when independent agents produced the judgment; `mode=solo` when
33
+ the main loop judged its own work. Every verify note carries it, pass or fail —
34
+ `/sdlc:observe` reports a change as self-judged from this field, and omitting it
35
+ leaves the record silently indistinguishable from an independent one.
36
+
37
+ Next: review signals present (deep tier, security-touching diff, >10 files,
38
+ a non-empty `lenses`)
39
+ → /sdlc:review; otherwise → /sdlc:ship.
40
+
41
+ `--auto`: do this stage, then continue to ship under `auto.md`'s unattended
42
+ mode — gather, confirm once, run. The stage still does its own work first.
@@ -30,4 +30,5 @@
30
30
  ## Autonomy policy
31
31
  - auto-ship: vibe, standard.
32
32
  - escalate to human: hard-floor (security, payments, data-loss, irreversible), verify failed > 3 rounds,
33
- token budget exceeded, information the agent cannot obtain or safely assume.
33
+ token budget exceeded, information the agent cannot obtain or safely assume,
34
+ installing a skill or agent (suggest only; see `.playbook/lenses.md`).