@squadrules/mcp 5.3.0 → 5.4.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/README.md +33 -78
- package/dist/.tsbuildinfo +1 -1
- package/dist/config/mem-boot.d.ts +3 -0
- package/dist/config/mem-boot.d.ts.map +1 -0
- package/dist/config/mem-boot.js +21 -0
- package/dist/config/mem-boot.js.map +1 -0
- package/dist/embed-docs/mem/README.md +13 -6
- package/dist/embed-docs/mem/adapter-migration.md +20 -19
- package/dist/embed-docs/mem/bulk-insert-adapters-via-cli.md +9 -8
- package/dist/embed-docs/mem/challenge-type-guide.md +4 -4
- package/dist/embed-docs/mem/create-new-protocol.md +42 -33
- package/dist/embed-docs/mem/critic-loop-guide.md +263 -0
- package/dist/embed-docs/mem/{phase-critic.md → critic-loop.md} +46 -22
- package/dist/embed-docs/mem/protocol-linking-guide.md +4 -4
- package/dist/embed-docs/mem/refine-search.md +1 -1
- package/dist/embed-docs/mem/skill-format-guide.md +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/resources/embedded-mcp-resources.d.ts +2 -2
- package/dist/resources/embedded-mcp-resources.js +12 -12
- package/dist/resources/embedded-mcp-resources.js.map +1 -1
- package/dist/resources/mem-resources-boot.d.ts.map +1 -1
- package/dist/resources/mem-resources-boot.js +19 -14
- package/dist/resources/mem-resources-boot.js.map +1 -1
- package/dist/services/memory/memory-accessors.d.ts +10 -0
- package/dist/services/memory/memory-accessors.d.ts.map +1 -1
- package/dist/services/memory/memory-accessors.js +19 -0
- package/dist/services/memory/memory-accessors.js.map +1 -1
- package/dist/services/memory/store.d.ts.map +1 -1
- package/dist/services/memory/store.js +2 -2
- package/dist/services/memory/store.js.map +1 -1
- package/dist/services/vector-store/lancedb/lance-records-reads.d.ts.map +1 -1
- package/dist/services/vector-store/lancedb/lance-records-reads.js +2 -2
- package/dist/services/vector-store/lancedb/lance-records-reads.js.map +1 -1
- package/dist/tools/mcp-tool-input-teaching.js +8 -8
- package/dist/tools/mcp-tool-input-teaching.js.map +1 -1
- package/dist/tools/review-evidence-check.d.ts +1 -1
- package/dist/tools/review-evidence-check.js +4 -4
- package/dist/tools/review-evidence-check.js.map +1 -1
- package/dist/tools/train_schema.js +4 -4
- package/dist/tools/train_schema.js.map +1 -1
- package/dist/tools/tune_schema.js +3 -3
- package/dist/tools/tune_schema.js.map +1 -1
- package/dist/ui/assets/{AccountPage-DhaO-G9K.js → AccountPage-r5IOzWyQ.js} +1 -1
- package/dist/ui/assets/{index-BtwABqCT.js → index-B80vBrUV.js} +2 -2
- package/dist/ui/assets/index-CSUUmfdT.css +2 -0
- package/dist/ui/index.html +2 -2
- package/package.json +1 -1
- package/dist/embed-docs/mem/phase-critic-guide.md +0 -199
- package/dist/ui/assets/index-fBTJW4Qq.css +0 -2
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: "5.4.0"
|
|
3
|
+
slug: critic-loop-guide
|
|
4
|
+
title: Critic Loop Integration and Mutation Gate Guide
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Critic Loop Integration and Mutation Gate Guide
|
|
8
|
+
|
|
9
|
+
Decision rules for integrating `critic-loop` into adapter protocols: when a
|
|
10
|
+
solution check (hard verification gate) is required versus when critic-loop
|
|
11
|
+
review is sufficient, and how to split and batch proofs so reversible work stays
|
|
12
|
+
cheap while irreversible boundaries stay guarded.
|
|
13
|
+
|
|
14
|
+
## Activation Patterns
|
|
15
|
+
|
|
16
|
+
**Typically invoked by:** `create-new-protocol` during adapter drafting, and
|
|
17
|
+
any adapter that includes review or validation phases.
|
|
18
|
+
|
|
19
|
+
**Can be invoked directly when agent needs:**
|
|
20
|
+
- "when to add critic loop" / "should I use solution check"
|
|
21
|
+
- "mutation gate rules" / "which actions need hard gates"
|
|
22
|
+
- "critic loop vs solution check" / "irreversible action rules"
|
|
23
|
+
- "add review step to protocol" / "where does critic go"
|
|
24
|
+
|
|
25
|
+
**Trigger pattern:** **critic loop** / **mutation gate** / **solution check** +
|
|
26
|
+
(integration | when | rules | guide | which | where).
|
|
27
|
+
|
|
28
|
+
**Must Never:**
|
|
29
|
+
- Be used as an execution protocol.
|
|
30
|
+
- Override the adapter author's judgment on review depth.
|
|
31
|
+
- Recommend solution checks for reversible or local-only actions.
|
|
32
|
+
|
|
33
|
+
**Must Always:**
|
|
34
|
+
- Distinguish between quality review (critic-loop) and mutation blocking
|
|
35
|
+
(solution checks).
|
|
36
|
+
- Recommend looping critic-loop until PASS at every major phase boundary, fed the
|
|
37
|
+
requirement list and bounded by an iteration ceiling.
|
|
38
|
+
- Restrict solution checks to irreversibility boundaries, and batch reversible
|
|
39
|
+
checkable steps into one strict-conjunction proof.
|
|
40
|
+
|
|
41
|
+
**Good trigger examples:**
|
|
42
|
+
- drafting a new adapter and deciding where to add review → load this
|
|
43
|
+
- reviewing whether an adapter has the right solution checks → load this
|
|
44
|
+
- "does my MR step need a solution check?" → load this
|
|
45
|
+
|
|
46
|
+
**Bad trigger examples:**
|
|
47
|
+
- "run the critic loop" → use `activate` to match `critic-loop`
|
|
48
|
+
- "create a new protocol" → use `create-new-protocol`
|
|
49
|
+
- "which challenge type for this step?" → use `challenge-type-guide`
|
|
50
|
+
|
|
51
|
+
## Core Decision Rule
|
|
52
|
+
|
|
53
|
+
**Critic-loop** is an adversarial review the calling protocol **loops until it
|
|
54
|
+
returns PASS** — not a one-shot step. It verifies claims, gathers evidence,
|
|
55
|
+
searches for contradictions, and checks the work against the original requirement
|
|
56
|
+
list. Use it for quality and truthfulness review, and whenever a step is
|
|
57
|
+
non-deterministic or has no objective proof.
|
|
58
|
+
|
|
59
|
+
**Solution checks** are per-layer contract verification mechanisms (shell
|
|
60
|
+
commands, MCP tool calls). Use them ONLY where getting it wrong is expensive or
|
|
61
|
+
impossible to undo — **irreversible changes on remote systems** and the local
|
|
62
|
+
preconditions that guard them (for example, being on a throwaway worktree/branch
|
|
63
|
+
before you commit). Everything else is reversible: give the agent freedom and
|
|
64
|
+
review with critic-loop instead of adding a hoop.
|
|
65
|
+
|
|
66
|
+
### What counts as an irreversible remote mutation
|
|
67
|
+
|
|
68
|
+
| Action | Needs solution check? | Why |
|
|
69
|
+
|--------|----------------------|-----|
|
|
70
|
+
| Create/update merge request | Yes | Remote system state change |
|
|
71
|
+
| Create/update Jira issue | Yes | Remote system state change |
|
|
72
|
+
| Send email | Yes | Cannot unsend |
|
|
73
|
+
| Send Teams message | Yes | Cannot unsend |
|
|
74
|
+
| Create calendar invite | Yes | Sends notifications |
|
|
75
|
+
| Deploy to production | Yes | Irreversible infrastructure change |
|
|
76
|
+
| Delete remote resource | Yes | Irreversible |
|
|
77
|
+
| Push to git remote | Yes | Remote state change |
|
|
78
|
+
| Write/edit local file | No | Use critic-loop instead |
|
|
79
|
+
| Run local tests | No | Read-only / local |
|
|
80
|
+
| Analyze code | No | Read-only |
|
|
81
|
+
| Generate report | No | Local artifact |
|
|
82
|
+
| Read data from API | No | Read-only |
|
|
83
|
+
| Compute / transform data | No | Local operation |
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
{"contract":{"type":"comment","comment":{"min_length":30},"required":true}}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Proof Splitting: Batch Checkable Steps Into One Proof
|
|
90
|
+
|
|
91
|
+
Split proofs by **reversibility cost**, not by step count:
|
|
92
|
+
|
|
93
|
+
- **One proof per irreversibility boundary.** A boundary is where undoing the next
|
|
94
|
+
part is expensive or impossible: commit to `main`, mutate the human's active
|
|
95
|
+
worktree, `git push`, `gh pr create`, deploy, send.
|
|
96
|
+
- **Batch reversible, checkable steps** and verify them together afterward with a
|
|
97
|
+
single aggregate proof — fewer round-trips, same guarantee.
|
|
98
|
+
- **The aggregate proof must be a strict conjunction** that re-verifies every
|
|
99
|
+
sub-condition (`A && B && C && echo OK`):
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{"contract":{"type":"shell","shell":{"cmd":"test -f \"$OUT_A\" && test -f \"$OUT_B\" && grep -q \"$EXPECTED\" \"$OUT_A\" && echo OK","timeout_seconds":10},"required":true}}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
- **Never let an aggregate proof degrade to `echo "done"`.** A proof that asserts
|
|
106
|
+
nothing is worse than no gate because it looks like one. If you cannot write a
|
|
107
|
+
real conjunction, the step is non-deterministic → review it with critic-loop
|
|
108
|
+
instead of faking a proof.
|
|
109
|
+
|
|
110
|
+
### Guard the boundary before you cross it
|
|
111
|
+
|
|
112
|
+
The cheapest proof is the precondition that stops an irreversible mistake before
|
|
113
|
+
it happens — for example, confirm you are on a throwaway worktree and branch (not
|
|
114
|
+
`main`, not the human's active checkout) **before** making changes:
|
|
115
|
+
|
|
116
|
+
```json
|
|
117
|
+
{"contract":{"type":"shell","shell":{"cmd":"test \"$(git rev-parse --abbrev-ref HEAD)\" != main && git rev-parse --git-common-dir | grep -q worktrees","timeout_seconds":5},"required":true}}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## How to Chain Critic-Loop into an Adapter
|
|
121
|
+
|
|
122
|
+
Use `forward` + slug to invoke `critic-loop` at phase boundaries. The standard
|
|
123
|
+
pattern is a `mcp` contract that requires calling `forward` with the
|
|
124
|
+
`critic-loop` slug:
|
|
125
|
+
|
|
126
|
+
### After a planning phase
|
|
127
|
+
|
|
128
|
+
```json
|
|
129
|
+
{"contract":{"type":"mcp","mcp":{"tool_name":"forward","arguments":{"uri":"squadrules://adapter/critic-loop"}},"required":true}}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### After an implementation phase
|
|
133
|
+
|
|
134
|
+
Use the same contract. The critic-loop adapter receives the calling protocol's
|
|
135
|
+
context and independently verifies the work.
|
|
136
|
+
|
|
137
|
+
### Feed it the requirements, then loop with a ceiling
|
|
138
|
+
|
|
139
|
+
Pass the original requirement list in the forward context. A critic that sees only
|
|
140
|
+
the output can check internal consistency but **cannot detect an omitted
|
|
141
|
+
requirement** — omission leaves no trace in the artifact — so "no requirements
|
|
142
|
+
lost" is only enforceable if the critic is given the list and asserts coverage
|
|
143
|
+
item by item. Then loop: on FAIL, fix, increment `iteration`, and re-invoke until
|
|
144
|
+
PASS or until `max_iterations` is reached. The ceiling is a hard stop that
|
|
145
|
+
surfaces the unresolved findings; it prevents a weak agent from thrashing forever.
|
|
146
|
+
|
|
147
|
+
### Verdict handoff pattern
|
|
148
|
+
|
|
149
|
+
Critic-loop writes a verdict file. The calling adapter reads it:
|
|
150
|
+
|
|
151
|
+
1. Critic-loop writes `$VERDICT_FILE` with `PASS`/`FAIL` on line 1.
|
|
152
|
+
2. Calling adapter's next layer reads the verdict file.
|
|
153
|
+
3. If `FAIL` → **hard stop**: do NOT proceed to reward, do NOT ask the user
|
|
154
|
+
for approval, do NOT continue to the next phase. Address findings first.
|
|
155
|
+
4. If `PASS` → the adapter continues to the next phase.
|
|
156
|
+
|
|
157
|
+
**FAIL is a hard stop, not an escalation trigger.** A FAIL verdict means the
|
|
158
|
+
work is not ready. Asking the user "should I proceed?" after FAIL bypasses the
|
|
159
|
+
review. The correct action is to fix the findings and re-invoke critic-loop.
|
|
160
|
+
|
|
161
|
+
### FAIL gate contract (required after every critic-loop invocation)
|
|
162
|
+
|
|
163
|
+
Every adapter that chains critic-loop **must** include a shell contract that
|
|
164
|
+
fails when the verdict is not PASS. This is the mechanical guard that prevents
|
|
165
|
+
weaker agents from proceeding after FAIL:
|
|
166
|
+
|
|
167
|
+
```json
|
|
168
|
+
{"contract":{"type":"shell","shell":{"cmd":"head -1 \"$VERDICT_FILE\" | grep -qi '^PASS$'","timeout_seconds":5},"required":true}}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
If the critic wrote FAIL, this shell command exits non-zero. The server rejects
|
|
172
|
+
the solution and the agent cannot advance to the next layer. Protocol wording
|
|
173
|
+
alone does not stop determined agents; this contract does.
|
|
174
|
+
|
|
175
|
+
## Train/Tune Evidence Requirement
|
|
176
|
+
|
|
177
|
+
`train` and `tune` enforce critic-loop PASS at the tool level:
|
|
178
|
+
|
|
179
|
+
- **Adapter (markdown) `train`** requires `review_evidence`: verdict_file path,
|
|
180
|
+
exit_code (must be 0), and stdout (line 1 must be PASS). Without it, the
|
|
181
|
+
server rejects the store with `REVIEW_EVIDENCE_REQUIRED`.
|
|
182
|
+
- **`tune` with content** requires the same `review_evidence`. Space-only moves
|
|
183
|
+
skip this check.
|
|
184
|
+
- **Artifact trains** (non-markdown mime) skip the evidence check.
|
|
185
|
+
|
|
186
|
+
This is the tool-level enforcement of the FAIL gate. Even if an agent bypasses
|
|
187
|
+
the adapter flow and calls `train` directly, the server rejects the store
|
|
188
|
+
without PASS evidence. The agent must run critic-loop, capture the verdict
|
|
189
|
+
file, and pass it as `review_evidence`.
|
|
190
|
+
|
|
191
|
+
## Mutation Gate Pattern
|
|
192
|
+
|
|
193
|
+
Under the AI-ownership model, agents execute autonomously — irreversible remote
|
|
194
|
+
mutations are **not** gated by a human confirmation prompt. Gate them with
|
|
195
|
+
objective, machine-checkable contracts instead:
|
|
196
|
+
|
|
197
|
+
### Pre-mutation readiness (objective, no human prompt)
|
|
198
|
+
|
|
199
|
+
Assert the preconditions with a shell or mcp contract so the action only runs from a
|
|
200
|
+
valid state — never with a `user_input` "are you sure?" prompt:
|
|
201
|
+
|
|
202
|
+
```json
|
|
203
|
+
{"contract":{"type":"shell","shell":{"cmd":"test -n \"$TARGET_REPO\" && test -n \"$TARGET_BRANCH\"","timeout_seconds":5},"required":true}}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Post-mutation verification (objective)
|
|
207
|
+
|
|
208
|
+
Confirm the mutation actually took effect by reading the remote state back:
|
|
209
|
+
|
|
210
|
+
```json
|
|
211
|
+
{"contract":{"type":"mcp","mcp":{"tool_name":"getMergeRequest","arguments":{"repo":"X"}},"required":true}}
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
The guarantee comes from critic-loop (truth of intent) plus these objective
|
|
215
|
+
pre/post checks — not from asking a human to approve. Do not add `user_input`
|
|
216
|
+
confirmation gates for remote mutations.
|
|
217
|
+
|
|
218
|
+
## Critic-Loop Placement Rules
|
|
219
|
+
|
|
220
|
+
1. **Loop critic-loop until PASS at every major phase boundary** — after planning,
|
|
221
|
+
after implementation, after validation — feeding it the requirement list and
|
|
222
|
+
bounding it with an iteration ceiling.
|
|
223
|
+
2. **Do NOT add critic-loop between every layer** — it is a phase-level review,
|
|
224
|
+
not a step-level check.
|
|
225
|
+
3. **Put one objective proof at each irreversibility boundary** — remote mutation
|
|
226
|
+
or the local precondition that guards it: pre-mutation readiness +
|
|
227
|
+
post-mutation verification, never a human confirmation prompt.
|
|
228
|
+
4. **Batch reversible, checkable steps into one aggregate strict-conjunction
|
|
229
|
+
proof** instead of one proof per step; never let it degrade to `echo "done"`.
|
|
230
|
+
5. **Never replace a boundary proof with critic-loop** — critic-loop reviews truth
|
|
231
|
+
after the fact; it does not block an irreversible step.
|
|
232
|
+
6. **Never add a proof for purely local, reversible operations** — critic-loop
|
|
233
|
+
provides sufficient review.
|
|
234
|
+
|
|
235
|
+
## Adapter Authoring Checklist
|
|
236
|
+
|
|
237
|
+
When drafting a new adapter, apply this checklist:
|
|
238
|
+
|
|
239
|
+
1. Identify all phase boundaries in the adapter flow.
|
|
240
|
+
2. Add a `critic-loop` chain link at each boundary.
|
|
241
|
+
3. Identify all steps that perform irreversible remote mutations.
|
|
242
|
+
4. Add objective solution checks (pre-mutation readiness + post-action
|
|
243
|
+
verification) for each — no `user_input` human-confirmation gate.
|
|
244
|
+
5. Verify that no solution checks exist for purely local operations.
|
|
245
|
+
6. Verify that the critic-loop verdict handoff pattern is present.
|
|
246
|
+
7. Verify that a FAIL gate shell contract follows every critic-loop invocation.
|
|
247
|
+
8. Verify that `train`/`tune` calls include `review_evidence` from the critic.
|
|
248
|
+
9. Ensure the adapter's Reward Signal describes what the critic protects.
|
|
249
|
+
|
|
250
|
+
```json
|
|
251
|
+
{"contract":{"type":"comment","comment":{"min_length":80},"required":true}}
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
## Reward Signal
|
|
255
|
+
|
|
256
|
+
Only reachable after all prior steps are solved.
|
|
257
|
+
|
|
258
|
+
The agent can now:
|
|
259
|
+
1. Decide when to use critic-loop versus solution checks
|
|
260
|
+
2. Identify irreversible remote mutations that need hard gates
|
|
261
|
+
3. Chain critic-loop into adapters at the correct phase boundaries
|
|
262
|
+
4. Apply the mutation gate pattern for remote-system actions
|
|
263
|
+
5. Avoid unnecessary solution checks for local or read-only operations
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
---
|
|
2
|
-
version: "5.
|
|
3
|
-
slug:
|
|
4
|
-
title:
|
|
2
|
+
version: "5.4.0"
|
|
3
|
+
slug: critic-loop
|
|
4
|
+
title: Critic Loop
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
#
|
|
9
|
+
# Critic Loop
|
|
10
10
|
|
|
11
|
-
Bounded adversarial investigator
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
Bounded adversarial investigator that the calling protocol **loops until it
|
|
12
|
+
returns PASS** — not a one-shot review. Receives a reference document, the
|
|
13
|
+
original requirement list, and the calling protocol's invariants, then
|
|
14
|
+
independently verifies the target by extracting claims, gathering evidence,
|
|
15
|
+
searching for contradictions, and checking requirement-by-requirement coverage.
|
|
16
|
+
A FAIL sends the caller back to fix and re-invoke; the loop is bounded by an
|
|
17
|
+
explicit iteration ceiling (see Verdict).
|
|
15
18
|
|
|
16
19
|
## Activation Patterns
|
|
17
20
|
|
|
18
21
|
**Typically invoked by:** another protocol at the end of a plan, implement,
|
|
19
22
|
validation, or review phase via `forward` with the stored adapter URI
|
|
20
|
-
`squadrules://adapter/
|
|
23
|
+
`squadrules://adapter/critic-loop`.
|
|
21
24
|
|
|
22
25
|
**Can be invoked directly when agent needs:**
|
|
23
26
|
- "review phase output" / "verify plan" / "audit implementation"
|
|
@@ -36,6 +39,8 @@ validation, or review phase via `forward` with the stored adapter URI
|
|
|
36
39
|
- Extract claims before investigating.
|
|
37
40
|
- Verify in-scope claims first.
|
|
38
41
|
- Search for contradictory evidence, not only confirming evidence.
|
|
42
|
+
- Check every item in the supplied requirement list for coverage; a missing
|
|
43
|
+
requirement is a FAIL even when the output is internally consistent.
|
|
39
44
|
- Include confidence in every verdict and failure class in every FAIL verdict.
|
|
40
45
|
- Preserve the boundary between execution and review.
|
|
41
46
|
|
|
@@ -56,9 +61,12 @@ This protocol receives:
|
|
|
56
61
|
input_file: string, // absolute path to the document under review
|
|
57
62
|
calling_protocol_slug: string,
|
|
58
63
|
verification_target: string,
|
|
64
|
+
requirements: string[], // original intent / requirement list to check coverage against
|
|
59
65
|
context: {
|
|
60
66
|
operation: string,
|
|
61
|
-
verdict_file: string
|
|
67
|
+
verdict_file: string, // absolute path where the verdict will be written
|
|
68
|
+
iteration: number, // 1-based loop pass; caller increments after each FAIL
|
|
69
|
+
max_iterations: number // hard ceiling; exceeding it is a terminal FAIL
|
|
62
70
|
}
|
|
63
71
|
}
|
|
64
72
|
```
|
|
@@ -69,7 +77,8 @@ This protocol produces:
|
|
|
69
77
|
{
|
|
70
78
|
verdict: "PASS" | "FAIL",
|
|
71
79
|
confidence: "High" | "Medium" | "Low",
|
|
72
|
-
failure_class: string,
|
|
80
|
+
failure_class: string, // incorrect_claim | verification_blocked | requirement_gap | iteration_ceiling
|
|
81
|
+
uncovered_requirements: string[],// requirement items lacking positive evidence (empty on PASS)
|
|
73
82
|
verdict_file: "{context.verdict_file}"
|
|
74
83
|
}
|
|
75
84
|
```
|
|
@@ -106,7 +115,7 @@ are broken.
|
|
|
106
115
|
Perform bounded adversarial review of the target against the reference document
|
|
107
116
|
and invariants.
|
|
108
117
|
|
|
109
|
-
**Input:** reference document, invariants, verification target, context
|
|
118
|
+
**Input:** reference document, invariants, verification target, requirement list, context
|
|
110
119
|
|
|
111
120
|
**Actions:**
|
|
112
121
|
|
|
@@ -167,6 +176,13 @@ Check whether the calling protocol preserved the right mode boundary:
|
|
|
167
176
|
- did the protocol switch to verification when it should have?
|
|
168
177
|
- is escalation needed because certainty was overstated?
|
|
169
178
|
|
|
179
|
+
**Step 6 — Check requirement coverage**
|
|
180
|
+
For every item in the supplied `requirements` list, confirm the target addresses
|
|
181
|
+
it with positive evidence and record it as `covered` / `partial` / `missing`. An
|
|
182
|
+
omitted requirement leaves no trace in the output, so coverage can only be judged
|
|
183
|
+
against the list, never from the artifact alone. Any `missing` item — or any
|
|
184
|
+
`partial` high-risk item — forces a FAIL with `failure_class: requirement_gap`.
|
|
185
|
+
|
|
170
186
|
**Output:** structured audit findings for the verdict step
|
|
171
187
|
|
|
172
188
|
```json
|
|
@@ -184,16 +200,23 @@ Turn the audit into a final PASS / FAIL result.
|
|
|
184
200
|
1. Fail if any critical claim is incorrect.
|
|
185
201
|
2. Fail if verification was blocked.
|
|
186
202
|
3. Fail if the evidence base is too weak for high-risk claims.
|
|
187
|
-
4.
|
|
188
|
-
|
|
203
|
+
4. Fail if any requirement is `missing`, or a high-risk requirement is only
|
|
204
|
+
`partial` (`failure_class: requirement_gap`); list the uncovered items.
|
|
205
|
+
5. Fail terminally if `context.iteration` exceeds `context.max_iterations`
|
|
206
|
+
(`failure_class: iteration_ceiling`) so the loop stops instead of thrashing.
|
|
207
|
+
6. Otherwise, pass with the appropriate confidence.
|
|
208
|
+
7. Write `$VERDICT_FILE` so line 1 is `PASS` or `FAIL`,
|
|
189
209
|
line 2 is `High`, `Medium`, or `Low`, and the remaining lines summarise key
|
|
190
|
-
findings.
|
|
210
|
+
findings and any uncovered requirements.
|
|
191
211
|
|
|
192
212
|
**Verdict contract (calling adapter must obey):**
|
|
193
|
-
- Line 1 is `PASS` → calling adapter may continue
|
|
194
|
-
- Line 1 is `FAIL` → calling adapter **MUST NOT** proceed to reward, **MUST
|
|
195
|
-
ask the user for approval, and **MUST NOT** continue
|
|
196
|
-
|
|
213
|
+
- Line 1 is `PASS` → the loop is satisfied; the calling adapter may continue.
|
|
214
|
+
- Line 1 is `FAIL` → the calling adapter **MUST NOT** proceed to reward, **MUST
|
|
215
|
+
NOT** ask the user for approval, and **MUST NOT** continue. It must address the
|
|
216
|
+
findings, increment `context.iteration`, and re-invoke critic-loop.
|
|
217
|
+
- `failure_class: iteration_ceiling` → stop looping and surface the unresolved
|
|
218
|
+
findings; never silently pass. The ceiling bounds the loop so a weak agent
|
|
219
|
+
cannot thrash forever.
|
|
197
220
|
|
|
198
221
|
**Output:** final verdict file
|
|
199
222
|
|
|
@@ -205,6 +228,7 @@ Turn the audit into a final PASS / FAIL result.
|
|
|
205
228
|
|
|
206
229
|
Only reachable after all prior steps are solved.
|
|
207
230
|
|
|
208
|
-
The phase output has been independently challenged
|
|
209
|
-
truthful because it is based on extracted claims,
|
|
210
|
-
|
|
231
|
+
The phase output has been independently challenged and looped until satisfied. The
|
|
232
|
+
resulting verdict is more truthful because it is based on extracted claims,
|
|
233
|
+
explicit evidence, contradiction search, requirement-by-requirement coverage, and
|
|
234
|
+
a clean boundary between execution and review.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
version: "5.
|
|
2
|
+
version: "5.4.0"
|
|
3
3
|
slug: protocol-linking-guide
|
|
4
4
|
title: Protocol Linking Guide
|
|
5
5
|
---
|
|
@@ -15,7 +15,7 @@ validation for deterministic cross-protocol linking.
|
|
|
15
15
|
## Activation Patterns
|
|
16
16
|
|
|
17
17
|
**Typically invoked by:** `create-new-protocol` and
|
|
18
|
-
`
|
|
18
|
+
`critic-loop`.
|
|
19
19
|
|
|
20
20
|
**Can be invoked directly when agent needs:**
|
|
21
21
|
- "layers vs chains" / "when to split into multiple adapters"
|
|
@@ -53,7 +53,7 @@ cohesive concern.
|
|
|
53
53
|
- the adapter exceeds 350 lines
|
|
54
54
|
- weaker models cannot follow the full adapter in one pass
|
|
55
55
|
- runtime routing to different adapters is needed (Router pattern)
|
|
56
|
-
- a step is reusable across multiple parent adapters (e.g. `
|
|
56
|
+
- a step is reusable across multiple parent adapters (e.g. `critic-loop`)
|
|
57
57
|
|
|
58
58
|
Chaining is NOT a replacement for layers. A 6-step protocol that fits in 350
|
|
59
59
|
lines should stay as one adapter with 6 H2 layers.
|
|
@@ -142,7 +142,7 @@ contracts.
|
|
|
142
142
|
Both system and user-authored adapters chain using slugs in `next_action`:
|
|
143
143
|
|
|
144
144
|
```text
|
|
145
|
-
call forward with squadrules://adapter/
|
|
145
|
+
call forward with squadrules://adapter/critic-loop ...
|
|
146
146
|
call forward with squadrules://adapter/implement-terraform ...
|
|
147
147
|
```
|
|
148
148
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
version: "5.
|
|
2
|
+
version: "5.4.0"
|
|
3
3
|
slug: skill-format-guide
|
|
4
4
|
title: Skill Format and Local Authoring Guide
|
|
5
5
|
---
|
|
@@ -18,7 +18,7 @@ is `skill`.
|
|
|
18
18
|
## Activation Patterns
|
|
19
19
|
|
|
20
20
|
**Typically invoked by:** `create-new-protocol` and
|
|
21
|
-
`
|
|
21
|
+
`critic-loop`.
|
|
22
22
|
|
|
23
23
|
**Can be invoked directly when agent needs:**
|
|
24
24
|
- "SKILL.md format reference" / "how to write a skill"
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA8BH,OAAO,sCAAsC,CAAC;AA2D9C;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAsGzD"}
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,7 @@ import { MemoryQdrantStore } from './services/memory/store.js';
|
|
|
9
9
|
import { startHttpTransport } from './http/http-server.js';
|
|
10
10
|
import { startStdioTransport } from './stdio/stdio-server.js';
|
|
11
11
|
import { injectMemResourcesAtBoot } from './resources/mem-resources-boot.js';
|
|
12
|
+
import { MEM_BOOT_FORCE_INJECT } from './config/mem-boot.js';
|
|
12
13
|
import { startMetricsServer } from './metrics-server.js';
|
|
13
14
|
import { SERVER_PORT, METRICS_PORT, QDRANT_SNAPSHOT_ON_START, QDRANT_SNAPSHOT_DIR, SQUADRULES_LOCAL_ARTIFACT_DIRS, TRANSPORT_TYPE, isQdrantConfigured, EMBEDDING_PROVIDER } from './config.js';
|
|
14
15
|
import { qdrantService } from './services/qdrant/index.js';
|
|
@@ -125,9 +126,11 @@ export async function runSquadrulesServer() {
|
|
|
125
126
|
else {
|
|
126
127
|
structuredLogger.debug('startup snapshot: skipped (embedded store)');
|
|
127
128
|
}
|
|
128
|
-
// Inject mem resources from embedded-mcp-resources into the vector store at boot
|
|
129
|
-
//
|
|
130
|
-
|
|
129
|
+
// Inject mem resources from embedded-mcp-resources into the vector store at boot.
|
|
130
|
+
// Adapters already stored at (or newer than) their shipped version are reused, so a
|
|
131
|
+
// normal restart does no re-embedding; set MEM_BOOT_FORCE_INJECT=true to force a
|
|
132
|
+
// delete-then-retrain (structural-repair path for a corrupted/duplicated store).
|
|
133
|
+
await injectMemResourcesAtBoot(memoryStore, { force: MEM_BOOT_FORCE_INJECT });
|
|
131
134
|
// Metrics HTTP server: only when the app serves HTTP (stdio mode avoids any HTTP listeners).
|
|
132
135
|
if (TRANSPORT_TYPE === 'http') {
|
|
133
136
|
startMetricsServer();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,8 +27,8 @@ export declare const mcpResources: {
|
|
|
27
27
|
"bulk-insert-adapters-via-cli": string;
|
|
28
28
|
"challenge-type-guide": string;
|
|
29
29
|
"create-new-protocol": string;
|
|
30
|
-
"
|
|
31
|
-
"
|
|
30
|
+
"critic-loop-guide": string;
|
|
31
|
+
"critic-loop": string;
|
|
32
32
|
"protocol-linking-guide": string;
|
|
33
33
|
"refine-search": string;
|
|
34
34
|
"skill-format-guide": string;
|