strikethroo 3.17.2 → 3.18.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.
- package/dist-web/assets/{arc-C3L1jkFY.js → arc-BlSNa2QY.js} +1 -1
- package/dist-web/assets/{architectureDiagram-3BPJPVTR-Dc5wdWPF.js → architectureDiagram-3BPJPVTR-CPcCF2a4.js} +1 -1
- package/dist-web/assets/{blockDiagram-GPEHLZMM-BCqaESV7.js → blockDiagram-GPEHLZMM-ECDR0edZ.js} +1 -1
- package/dist-web/assets/{c4Diagram-AAUBKEIU-DNecSAwM.js → c4Diagram-AAUBKEIU-oM3VnEAQ.js} +1 -1
- package/dist-web/assets/channel-CmU4mBgT.js +1 -0
- package/dist-web/assets/{chunk-2J33WTMH-3QS28848.js → chunk-2J33WTMH-DHk5SJLz.js} +1 -1
- package/dist-web/assets/{chunk-4BX2VUAB-B6R-x-SN.js → chunk-4BX2VUAB-CjBwgkMu.js} +1 -1
- package/dist-web/assets/{chunk-55IACEB6-BYY5vsbu.js → chunk-55IACEB6-D95zqyiV.js} +1 -1
- package/dist-web/assets/{chunk-727SXJPM-BZxIJIkN.js → chunk-727SXJPM-DCCPRUfv.js} +1 -1
- package/dist-web/assets/{chunk-AQP2D5EJ-Dwpt8x10.js → chunk-AQP2D5EJ-qur7KQyD.js} +1 -1
- package/dist-web/assets/{chunk-FMBD7UC4-BkIlqLqc.js → chunk-FMBD7UC4-D46Su7Fv.js} +1 -1
- package/dist-web/assets/{chunk-ND2GUHAM-BZAfIvWk.js → chunk-ND2GUHAM-BioGsqxt.js} +1 -1
- package/dist-web/assets/{chunk-QZHKN3VN-wAp9ruCQ.js → chunk-QZHKN3VN-C8LdDiqn.js} +1 -1
- package/dist-web/assets/classDiagram-4FO5ZUOK-D_FMKQsB.js +1 -0
- package/dist-web/assets/classDiagram-v2-Q7XG4LA2-D_FMKQsB.js +1 -0
- package/dist-web/assets/{cose-bilkent-S5V4N54A-BWhls-Li.js → cose-bilkent-S5V4N54A-ccY03BRh.js} +1 -1
- package/dist-web/assets/{dagre-BM42HDAG-D_rm5H8p.js → dagre-BM42HDAG-BYLmCViB.js} +1 -1
- package/dist-web/assets/{diagram-2AECGRRQ-CgrRz62Y.js → diagram-2AECGRRQ-DTvenvXR.js} +1 -1
- package/dist-web/assets/{diagram-5GNKFQAL-BRdPFx5y.js → diagram-5GNKFQAL-CCzsYDmr.js} +1 -1
- package/dist-web/assets/{diagram-KO2AKTUF-CRkShN2W.js → diagram-KO2AKTUF-QSff7J_V.js} +1 -1
- package/dist-web/assets/{diagram-LMA3HP47-Bxah1b5X.js → diagram-LMA3HP47-CVqlEmu2.js} +1 -1
- package/dist-web/assets/{diagram-OG6HWLK6-D9gsqeVI.js → diagram-OG6HWLK6-dBVz-I46.js} +1 -1
- package/dist-web/assets/{erDiagram-TEJ5UH35-BxuqpCGH.js → erDiagram-TEJ5UH35-B_y4ftNu.js} +1 -1
- package/dist-web/assets/{flowDiagram-I6XJVG4X-CVc346ab.js → flowDiagram-I6XJVG4X-M410hT_n.js} +1 -1
- package/dist-web/assets/{ganttDiagram-6RSMTGT7-CoV2q8mu.js → ganttDiagram-6RSMTGT7-qiri2OJa.js} +1 -1
- package/dist-web/assets/{gitGraphDiagram-PVQCEYII-DpBtbvUQ.js → gitGraphDiagram-PVQCEYII-FqGGBobG.js} +1 -1
- package/dist-web/assets/{index-qiGGVGhU.js → index-1SV04K_c.js} +1 -1
- package/dist-web/assets/{index-DXAUzXLU.js → index-BaFSLlgl.js} +1 -1
- package/dist-web/assets/{index-B5AkN942.js → index-DrUIu0u6.js} +4 -4
- package/dist-web/assets/{infoDiagram-5YYISTIA-Cs1LaltR.js → infoDiagram-5YYISTIA-CczHqRr1.js} +1 -1
- package/dist-web/assets/{ishikawaDiagram-YF4QCWOH-2dwQITAJ.js → ishikawaDiagram-YF4QCWOH-ty1DRy6n.js} +1 -1
- package/dist-web/assets/{journeyDiagram-JHISSGLW-C5NXwRcO.js → journeyDiagram-JHISSGLW-D_JYvt6i.js} +1 -1
- package/dist-web/assets/{kanban-definition-UN3LZRKU-D8L4UiFp.js → kanban-definition-UN3LZRKU-CT67nUTK.js} +1 -1
- package/dist-web/assets/{linear-BmwJXk2t.js → linear-B1HaE_t1.js} +1 -1
- package/dist-web/assets/{mermaid.core-CxfmFJso.js → mermaid.core-Dumx_iKV.js} +4 -4
- package/dist-web/assets/{mindmap-definition-RKZ34NQL-CCk10yMr.js → mindmap-definition-RKZ34NQL-CVulJo63.js} +1 -1
- package/dist-web/assets/{pieDiagram-4H26LBE5-CNaROrHh.js → pieDiagram-4H26LBE5-C1yD5ntZ.js} +1 -1
- package/dist-web/assets/{quadrantDiagram-W4KKPZXB-C9eBwT_4.js → quadrantDiagram-W4KKPZXB-B7PoiM8c.js} +1 -1
- package/dist-web/assets/{requirementDiagram-4Y6WPE33-CuWFUe-Z.js → requirementDiagram-4Y6WPE33-COvHb3Mv.js} +1 -1
- package/dist-web/assets/{sankeyDiagram-5OEKKPKP-xGYYGBDj.js → sankeyDiagram-5OEKKPKP-CAnwm5-J.js} +1 -1
- package/dist-web/assets/{sequenceDiagram-3UESZ5HK-Corn4mP3.js → sequenceDiagram-3UESZ5HK-C2KFLIUq.js} +1 -1
- package/dist-web/assets/{stateDiagram-AJRCARHV-DP1EwgDv.js → stateDiagram-AJRCARHV-CqmhS5P6.js} +1 -1
- package/dist-web/assets/stateDiagram-v2-BHNVJYJU-C3Kw8ZDR.js +1 -0
- package/dist-web/assets/{timeline-definition-PNZ67QCA-DgVY9v5q.js → timeline-definition-PNZ67QCA-DvPre9M_.js} +1 -1
- package/dist-web/assets/{vennDiagram-CIIHVFJN-B47n0Ab2.js → vennDiagram-CIIHVFJN-Top6i7KH.js} +1 -1
- package/dist-web/assets/{wardley-L42UT6IY-ubK4o7Fl.js → wardley-L42UT6IY-_jVLsWqf.js} +1 -1
- package/dist-web/assets/{wardleyDiagram-YWT4CUSO-ChirN_61.js → wardleyDiagram-YWT4CUSO-BV4e5mP6.js} +1 -1
- package/dist-web/assets/{xychartDiagram-2RQKCTM6-Cf8q2_P7.js → xychartDiagram-2RQKCTM6-Bn1hw4Jk.js} +1 -1
- package/dist-web/index.html +1 -1
- package/package.json +1 -1
- package/templates/harness/skills/st-code-review/SKILL.md +47 -281
- package/templates/harness/skills/st-code-review/scripts/code-review.cjs +70 -300
- package/templates/harness/skills/st-execute-blueprint/SKILL.md +15 -18
- package/templates/harness/skills/st-full-workflow/SKILL.md +15 -18
- package/templates/strikethroo/config/hooks/CODE_REVIEW.md +19 -29
- package/dist-web/assets/channel-DmY2Krrw.js +0 -1
- package/dist-web/assets/classDiagram-4FO5ZUOK-C91aiCZF.js +0 -1
- package/dist-web/assets/classDiagram-v2-Q7XG4LA2-C91aiCZF.js +0 -1
- package/dist-web/assets/stateDiagram-v2-BHNVJYJU-DQIao4rH.js +0 -1
|
@@ -166,36 +166,33 @@ Before declaring execution complete, apply the evidence gate in `<root>/config/s
|
|
|
166
166
|
|
|
167
167
|
#### Run the code review gate
|
|
168
168
|
|
|
169
|
-
After `POST_EXECUTION.md` reports green and before appending the execution summary, follow the `st-code-review` skill and run
|
|
169
|
+
After `POST_EXECUTION.md` reports green and before appending the execution summary, follow the `st-code-review` skill and run its bundled mechanism once:
|
|
170
170
|
|
|
171
171
|
```text
|
|
172
|
-
code-review.cjs <plan-id> <current-harness>
|
|
172
|
+
code-review.cjs <plan-id> <current-harness>
|
|
173
173
|
```
|
|
174
174
|
|
|
175
175
|
`code-review.cjs` ships with the `st-code-review` skill and lives in that skill's own `scripts` directory, a sibling of this one. Resolve it there; it is not bundled with this skill. If the `st-code-review` skill is not installed on this harness, record that as the review outcome in the execution summary and continue to the summary and archival.
|
|
176
176
|
|
|
177
|
-
`<current-harness>` is the exact supported harness identifier running this skill.
|
|
177
|
+
`<current-harness>` is the exact supported harness identifier running this skill. The command runs one review and emits exactly one JSON line on stdout. Reviewer output is captured and teed to stderr, so stdout carries the verdict JSON line and nothing else. Read its `kind`, then, when `kind` is `reviewed`, its `verdict.kind`, and do exactly what the matching row states.
|
|
178
178
|
|
|
179
179
|
| Result | What you do |
|
|
180
180
|
| --- | --- |
|
|
181
181
|
| `skipped` | The gate is disabled or unconfigured. Record `reason` and `detail` verbatim in the execution summary, then continue to the summary and archival. A skip is never a failure. |
|
|
182
|
-
| `reviewed`, `
|
|
183
|
-
| `reviewed`, `
|
|
184
|
-
| `reviewed`, `decision.kind` = `budget-exhausted` | Halt exactly as any mechanical gate failure. Leave the plan in `plans/`, do not append a completion summary, do not archive, and report the outstanding findings with actionable next steps. |
|
|
185
|
-
| `reviewed`, `decision.kind` = `round-failed` | The round was not certified — the findings document was absent or invalid, or no validator was available. Halt and report `decision.detail`. Never report an uncertified round as clean. |
|
|
186
|
-
| `budget-exhausted` | A round past the enforced budget was requested and no reviewer was dispatched. Halt exactly as `decision.kind` = `budget-exhausted` above. |
|
|
182
|
+
| `reviewed`, `verdict.kind` = `review-recorded` | A reviewer ran and its findings were certified. Record `verdict.detail` and the `findingsGate.counts` in the execution summary, then read `<plan-dir>/review/review.xml` and decide for yourself which findings to act on. Nothing was applied for you. |
|
|
183
|
+
| `reviewed`, `verdict.kind` = `review-failed` | The findings were not certified: the document was absent or invalid, or no validator was available. Halt and report `verdict.detail`. Never report an uncertified review as clean. |
|
|
187
184
|
| `launched-failure` | The reviewer harness exited non-zero. Halt and report `detail`. |
|
|
188
|
-
| `fallback` | The reviewer never ran
|
|
185
|
+
| `fallback` | The reviewer never ran, because the harness was unavailable or authentication failed. Record `reason` and `detail` verbatim in the execution summary, then continue to the summary and archival. |
|
|
189
186
|
| `infrastructure-failure` | A real error. Halt and report `detail`. Do not retry on a different route. |
|
|
190
187
|
|
|
191
188
|
<details>
|
|
192
|
-
<summary>
|
|
189
|
+
<summary>Acting on the findings</summary>
|
|
193
190
|
|
|
194
|
-
`<plan-dir>/review/
|
|
191
|
+
`<plan-dir>/review/review.xml` is the reviewer's document and `<plan-dir>/review/findings.json` is the same findings as data. Read them and use your own judgement: the reviewer is a second opinion on a diff you know better than it does, and it has neither run the tests nor read the whole codebase.
|
|
195
192
|
|
|
196
|
-
|
|
193
|
+
Fix what is a genuine requirement gap or defect. Ignore what is wrong, out of scope, or already handled elsewhere, and say in the execution summary which findings you ignored and why. `severity` and `confidence` are the reviewer's own triage labels, useful for sorting and never binding; a `low` confidence finding is one the reviewer could not trace, so read it with that in mind.
|
|
197
194
|
|
|
198
|
-
Dispatch
|
|
195
|
+
Dispatch any fix you decide to make on the implementer route.
|
|
199
196
|
|
|
200
197
|
</details>
|
|
201
198
|
|
|
@@ -203,11 +200,11 @@ Hard rules:
|
|
|
203
200
|
|
|
204
201
|
- The gate creates no task files.
|
|
205
202
|
- The gate never mutates the Execution Blueprint.
|
|
206
|
-
- The gate is terminal only
|
|
203
|
+
- The gate is terminal only, never per phase and never per task.
|
|
207
204
|
- The reviewer never fixes its own findings. Detection runs on the reviewer route, fixes run on the implementer route.
|
|
208
|
-
- Any
|
|
209
|
-
-
|
|
210
|
-
- A
|
|
205
|
+
- Any fix you apply invalidates the green build that preceded it. Re-run `POST_EXECUTION.md` in full (lint, tests, and Self Validation) before declaring execution complete. Never re-verify against the prior green build.
|
|
206
|
+
- The review runs once. Do not re-run the gate to check your own fixes.
|
|
207
|
+
- A certified review is not a correctness guarantee. It reduces the exposure a human PR approval reduces, and it leaves the same exposure behind.
|
|
211
208
|
|
|
212
209
|
### 9. Append execution summary
|
|
213
210
|
|
|
@@ -216,7 +213,7 @@ Append an execution summary section to the plan document using the format descri
|
|
|
216
213
|
- **Status**: Completed Successfully
|
|
217
214
|
- **Completed Date**: current date
|
|
218
215
|
- **Results**: brief summary of deliverables
|
|
219
|
-
- **Noteworthy Events**: all decisions, issues, and outcomes encountered during execution. Always record the review gate's outcome here: the reviewer harness, the
|
|
216
|
+
- **Noteworthy Events**: all decisions, issues, and outcomes encountered during execution. Always record the review gate's outcome here: the reviewer harness, the finding counts, and which findings you acted on versus ignored and why. When the gate did not run, record its `reason` and `detail` verbatim. If nothing else occurred, state "No significant issues encountered." after the review outcome.
|
|
220
217
|
- **Necessary follow-ups**: any follow-up actions or optimizations
|
|
221
218
|
|
|
222
219
|
### 10. Archive the plan
|
|
@@ -509,36 +509,33 @@ Before declaring execution complete, apply the evidence gate in `<root>/config/s
|
|
|
509
509
|
|
|
510
510
|
##### Run the code review gate
|
|
511
511
|
|
|
512
|
-
After `POST_EXECUTION.md` reports green and before appending the execution summary, follow the `st-code-review` skill and run
|
|
512
|
+
After `POST_EXECUTION.md` reports green and before appending the execution summary, follow the `st-code-review` skill and run its bundled mechanism once:
|
|
513
513
|
|
|
514
514
|
```text
|
|
515
|
-
code-review.cjs <plan-id> <current-harness>
|
|
515
|
+
code-review.cjs <plan-id> <current-harness>
|
|
516
516
|
```
|
|
517
517
|
|
|
518
518
|
`code-review.cjs` ships with the `st-code-review` skill and lives in that skill's own `scripts` directory, a sibling of this one. Resolve it there; it is not bundled with this skill. If the `st-code-review` skill is not installed on this harness, record that as the review outcome in the execution summary and continue to the summary and archival.
|
|
519
519
|
|
|
520
|
-
`<current-harness>` is the exact supported harness identifier running this skill.
|
|
520
|
+
`<current-harness>` is the exact supported harness identifier running this skill. The command runs one review and emits exactly one JSON line on stdout. Reviewer output is captured and teed to stderr, so stdout carries the verdict JSON line and nothing else. Read its `kind`, then, when `kind` is `reviewed`, its `verdict.kind`, and do exactly what the matching row states.
|
|
521
521
|
|
|
522
522
|
| Result | What you do |
|
|
523
523
|
| --- | --- |
|
|
524
524
|
| `skipped` | The gate is disabled or unconfigured. Record `reason` and `detail` verbatim in the execution summary, then continue to the summary and archival. A skip is never a failure. |
|
|
525
|
-
| `reviewed`, `
|
|
526
|
-
| `reviewed`, `
|
|
527
|
-
| `reviewed`, `decision.kind` = `budget-exhausted` | Halt exactly as any mechanical gate failure. Leave the plan in `plans/`, do not append a completion summary, do not archive, and report the outstanding findings with actionable next steps. |
|
|
528
|
-
| `reviewed`, `decision.kind` = `round-failed` | The round was not certified — the findings document was absent or invalid, or no validator was available. Halt and report `decision.detail`. Never report an uncertified round as clean. |
|
|
529
|
-
| `budget-exhausted` | A round past the enforced budget was requested and no reviewer was dispatched. Halt exactly as `decision.kind` = `budget-exhausted` above. |
|
|
525
|
+
| `reviewed`, `verdict.kind` = `review-recorded` | A reviewer ran and its findings were certified. Record `verdict.detail` and the `findingsGate.counts` in the execution summary, then read `<plan-dir>/review/review.xml` and decide for yourself which findings to act on. Nothing was applied for you. |
|
|
526
|
+
| `reviewed`, `verdict.kind` = `review-failed` | The findings were not certified: the document was absent or invalid, or no validator was available. Halt and report `verdict.detail`. Never report an uncertified review as clean. |
|
|
530
527
|
| `launched-failure` | The reviewer harness exited non-zero. Halt and report `detail`. |
|
|
531
|
-
| `fallback` | The reviewer never ran
|
|
528
|
+
| `fallback` | The reviewer never ran, because the harness was unavailable or authentication failed. Record `reason` and `detail` verbatim in the execution summary, then continue to the summary and archival. |
|
|
532
529
|
| `infrastructure-failure` | A real error. Halt and report `detail`. Do not retry on a different route. |
|
|
533
530
|
|
|
534
531
|
<details>
|
|
535
|
-
<summary>
|
|
532
|
+
<summary>Acting on the findings</summary>
|
|
536
533
|
|
|
537
|
-
`<plan-dir>/review/
|
|
534
|
+
`<plan-dir>/review/review.xml` is the reviewer's document and `<plan-dir>/review/findings.json` is the same findings as data. Read them and use your own judgement: the reviewer is a second opinion on a diff you know better than it does, and it has neither run the tests nor read the whole codebase.
|
|
538
535
|
|
|
539
|
-
|
|
536
|
+
Fix what is a genuine requirement gap or defect. Ignore what is wrong, out of scope, or already handled elsewhere, and say in the execution summary which findings you ignored and why. `severity` and `confidence` are the reviewer's own triage labels, useful for sorting and never binding; a `low` confidence finding is one the reviewer could not trace, so read it with that in mind.
|
|
540
537
|
|
|
541
|
-
Dispatch
|
|
538
|
+
Dispatch any fix you decide to make on the implementer route.
|
|
542
539
|
|
|
543
540
|
</details>
|
|
544
541
|
|
|
@@ -546,11 +543,11 @@ Hard rules:
|
|
|
546
543
|
|
|
547
544
|
- The gate creates no task files.
|
|
548
545
|
- The gate never mutates the Execution Blueprint.
|
|
549
|
-
- The gate is terminal only
|
|
546
|
+
- The gate is terminal only, never per phase and never per task.
|
|
550
547
|
- The reviewer never fixes its own findings. Detection runs on the reviewer route, fixes run on the implementer route.
|
|
551
|
-
- Any
|
|
552
|
-
-
|
|
553
|
-
- A
|
|
548
|
+
- Any fix you apply invalidates the green build that preceded it. Re-run `POST_EXECUTION.md` in full (lint, tests, and Self Validation) before declaring execution complete. Never re-verify against the prior green build.
|
|
549
|
+
- The review runs once. Do not re-run the gate to check your own fixes.
|
|
550
|
+
- A certified review is not a correctness guarantee. It reduces the exposure a human PR approval reduces, and it leaves the same exposure behind.
|
|
554
551
|
|
|
555
552
|
#### 7. Append execution summary
|
|
556
553
|
|
|
@@ -559,7 +556,7 @@ Append an execution summary section to the plan document using the format descri
|
|
|
559
556
|
- **Status**: Completed Successfully
|
|
560
557
|
- **Completed Date**: current date
|
|
561
558
|
- **Results**: brief summary of deliverables
|
|
562
|
-
- **Noteworthy Events**: all decisions, issues, and outcomes encountered during execution. Always record the review gate's outcome here: the reviewer harness, the
|
|
559
|
+
- **Noteworthy Events**: all decisions, issues, and outcomes encountered during execution. Always record the review gate's outcome here: the reviewer harness, the finding counts, and which findings you acted on versus ignored and why. When the gate did not run, record its `reason` and `detail` verbatim. If nothing else occurred, state "No significant issues encountered." after the review outcome.
|
|
563
560
|
- **Necessary follow-ups**: any follow-up actions or optimizations
|
|
564
561
|
|
|
565
562
|
#### 8. Archive the plan
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
## Automated Code Review Gate
|
|
4
4
|
|
|
5
|
-
This hook governs
|
|
5
|
+
This hook governs a review step that runs at the end of blueprint execution, after the mechanical gates (lint, tests, Self Validation) report success. A reviewer on a discovered external harness critiques the plan's cumulative diff and emits findings. The findings are validated against the vendored schema and recorded.
|
|
6
6
|
|
|
7
|
-
The gate
|
|
7
|
+
The gate reports; it does not decide. Nothing is applied automatically, and the implementer reads the recorded findings and chooses what to act on.
|
|
8
8
|
|
|
9
9
|
## Mandate: Conformance and Defects Only
|
|
10
10
|
|
|
11
|
-
The reviewer checks the diff against the **plan's stated requirements** and for **demonstrable defects**. It does **not** raise general code-quality opinions, style notes, design critiques, or taste judgments
|
|
11
|
+
The reviewer checks the diff against the **plan's stated requirements** and for **demonstrable defects**. It does **not** raise general code-quality opinions, style notes, design critiques, or taste judgments. The linter owns style. Every finding must cite concrete evidence and trace to:
|
|
12
12
|
|
|
13
13
|
- An explicit requirement stated in the plan, **or**
|
|
14
14
|
- A demonstrable defect in the code as written
|
|
@@ -17,41 +17,31 @@ Anything else is out of scope and must not be included in findings.
|
|
|
17
17
|
|
|
18
18
|
## Finding Categories In Scope
|
|
19
19
|
|
|
20
|
-
- **Requirement conformance
|
|
21
|
-
- **Demonstrable defects
|
|
20
|
+
- **Requirement conformance**: the code does not implement what the plan explicitly asked for
|
|
21
|
+
- **Demonstrable defects**: the code fails at runtime, produces wrong behaviour, violates a contract it declares, has a security hole, causes data loss, or breaks something else in the plan
|
|
22
22
|
|
|
23
|
-
## Severity
|
|
23
|
+
## Severity and Confidence
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
Both are advisory triage labels carried on every finding so that whoever reads the review can sort it. Nothing thresholds on them and nothing is filtered out before the implementer sees it.
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
- `major` — produces wrong behaviour or breaks a documented contract; nothing destroyed
|
|
29
|
-
- `minor` — real but bounded (mishandled edge case, missing test, maintenance hazard); behaviour correct today
|
|
30
|
-
- `info` — no defect (style, naming, question for author, recorded context)
|
|
27
|
+
Severity, from most to least consequential:
|
|
31
28
|
|
|
32
|
-
|
|
29
|
+
- `critical`: causes data loss, a security hole, a crash, or corruption on a path real usage reaches
|
|
30
|
+
- `major`: produces wrong behaviour or breaks a documented contract; nothing destroyed
|
|
31
|
+
- `minor`: real but bounded (mishandled edge case, maintenance hazard); behaviour correct today
|
|
32
|
+
- `info`: no defect (recorded context, a question for the author)
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
Confidence, from most to least sure:
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
- `high`: the evidence is in the code that was read, and the failure traces from the diff alone
|
|
37
|
+
- `medium`: likely real, but rests on one assumption that was not verified (how a caller behaves, what a dependency guarantees, what a requirement was)
|
|
38
|
+
- `low`: speculative (failure scenario imagined rather than traced, constraint invented, intent could not be inferred)
|
|
37
39
|
|
|
38
|
-
|
|
39
|
-
- `medium` — likely real, but rests on one assumption not verified (how a caller behaves, what a dependency guarantees, what a requirement was)
|
|
40
|
-
- `low` — speculative (failure scenario imagined, not traced; constraint invented; intent could not be inferred)
|
|
40
|
+
Confidence matters most when it is low. LLM reviewers overstate certainty, so a reviewer that marks its own guess as `medium` is doing the reader a service. Record the label honestly rather than upgrading it to be taken seriously.
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
## What the Gate Guarantees
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
## Round Budget: 3
|
|
47
|
-
|
|
48
|
-
The gate runs up to three detect-and-fix cycles:
|
|
49
|
-
|
|
50
|
-
1. Reviewer critiques the cumulative diff → findings
|
|
51
|
-
2. If findings above floor exist: implement fixes, re-run mechanical gates, verify
|
|
52
|
-
3. Reviewer re-checks → repeat until no new findings above floor or budget exhausted
|
|
53
|
-
|
|
54
|
-
This value expressed here is advisory prose only. **Termination is enforced in code and cannot be bypassed by editing this file.** If the round budget is exhausted, the gate halts exactly as any mechanical gate failure does: the plan stays in `plans/`, findings are recorded, and the failure is documented.
|
|
44
|
+
Exactly one thing, and it is enforced in code rather than here: a review that could not be certified is never reported as a clean one. A findings document that is absent, invalid against the schema, or unvalidatable because `xmllint` is missing halts the gate and says which of those happened. "The reviewer found nothing" and "the reviewer never ran" are never collapsed into each other.
|
|
55
45
|
|
|
56
46
|
## Disable the Gate
|
|
57
47
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{U as a,C as n}from"./mermaid.core-CxfmFJso.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,a as s,c as e,C as t}from"./chunk-727SXJPM-BZxIJIkN.js";import{b as i}from"./mermaid.core-CxfmFJso.js";import"./chunk-FMBD7UC4-BkIlqLqc.js";import"./chunk-ND2GUHAM-BZAfIvWk.js";import"./chunk-55IACEB6-BYY5vsbu.js";import"./chunk-2J33WTMH-3QS28848.js";import"./index-B5AkN942.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,a as s,c as e,C as t}from"./chunk-727SXJPM-BZxIJIkN.js";import{b as i}from"./mermaid.core-CxfmFJso.js";import"./chunk-FMBD7UC4-BkIlqLqc.js";import"./chunk-ND2GUHAM-BZAfIvWk.js";import"./chunk-55IACEB6-BYY5vsbu.js";import"./chunk-2J33WTMH-3QS28848.js";import"./index-B5AkN942.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as e,a as r,s as a,S as s}from"./chunk-AQP2D5EJ-Dwpt8x10.js";import{b as i}from"./mermaid.core-CxfmFJso.js";import"./chunk-55IACEB6-BYY5vsbu.js";import"./chunk-2J33WTMH-3QS28848.js";import"./index-B5AkN942.js";var u={parser:a,get db(){return new s(2)},renderer:r,styles:e,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{u as diagram};
|