@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.
Files changed (51) hide show
  1. package/README.md +33 -78
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/config/mem-boot.d.ts +3 -0
  4. package/dist/config/mem-boot.d.ts.map +1 -0
  5. package/dist/config/mem-boot.js +21 -0
  6. package/dist/config/mem-boot.js.map +1 -0
  7. package/dist/embed-docs/mem/README.md +13 -6
  8. package/dist/embed-docs/mem/adapter-migration.md +20 -19
  9. package/dist/embed-docs/mem/bulk-insert-adapters-via-cli.md +9 -8
  10. package/dist/embed-docs/mem/challenge-type-guide.md +4 -4
  11. package/dist/embed-docs/mem/create-new-protocol.md +42 -33
  12. package/dist/embed-docs/mem/critic-loop-guide.md +263 -0
  13. package/dist/embed-docs/mem/{phase-critic.md → critic-loop.md} +46 -22
  14. package/dist/embed-docs/mem/protocol-linking-guide.md +4 -4
  15. package/dist/embed-docs/mem/refine-search.md +1 -1
  16. package/dist/embed-docs/mem/skill-format-guide.md +2 -2
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +6 -3
  19. package/dist/index.js.map +1 -1
  20. package/dist/resources/embedded-mcp-resources.d.ts +2 -2
  21. package/dist/resources/embedded-mcp-resources.js +12 -12
  22. package/dist/resources/embedded-mcp-resources.js.map +1 -1
  23. package/dist/resources/mem-resources-boot.d.ts.map +1 -1
  24. package/dist/resources/mem-resources-boot.js +19 -14
  25. package/dist/resources/mem-resources-boot.js.map +1 -1
  26. package/dist/services/memory/memory-accessors.d.ts +10 -0
  27. package/dist/services/memory/memory-accessors.d.ts.map +1 -1
  28. package/dist/services/memory/memory-accessors.js +19 -0
  29. package/dist/services/memory/memory-accessors.js.map +1 -1
  30. package/dist/services/memory/store.d.ts.map +1 -1
  31. package/dist/services/memory/store.js +2 -2
  32. package/dist/services/memory/store.js.map +1 -1
  33. package/dist/services/vector-store/lancedb/lance-records-reads.d.ts.map +1 -1
  34. package/dist/services/vector-store/lancedb/lance-records-reads.js +2 -2
  35. package/dist/services/vector-store/lancedb/lance-records-reads.js.map +1 -1
  36. package/dist/tools/mcp-tool-input-teaching.js +8 -8
  37. package/dist/tools/mcp-tool-input-teaching.js.map +1 -1
  38. package/dist/tools/review-evidence-check.d.ts +1 -1
  39. package/dist/tools/review-evidence-check.js +4 -4
  40. package/dist/tools/review-evidence-check.js.map +1 -1
  41. package/dist/tools/train_schema.js +4 -4
  42. package/dist/tools/train_schema.js.map +1 -1
  43. package/dist/tools/tune_schema.js +3 -3
  44. package/dist/tools/tune_schema.js.map +1 -1
  45. package/dist/ui/assets/{AccountPage-DhaO-G9K.js → AccountPage-r5IOzWyQ.js} +1 -1
  46. package/dist/ui/assets/{index-BtwABqCT.js → index-B80vBrUV.js} +2 -2
  47. package/dist/ui/assets/index-CSUUmfdT.css +2 -0
  48. package/dist/ui/index.html +2 -2
  49. package/package.json +1 -1
  50. package/dist/embed-docs/mem/phase-critic-guide.md +0 -199
  51. 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.0"
3
- slug: phase-critic
4
- title: Phase Critic
2
+ version: "5.4.0"
3
+ slug: critic-loop
4
+ title: Critic Loop
5
5
  ---
6
6
 
7
7
 
8
8
 
9
- # Phase Critic
9
+ # Critic Loop
10
10
 
11
- Bounded adversarial investigator fired at phase boundaries. Receives a reference
12
- document, loads the calling protocol's invariants, and independently verifies
13
- the verification target by extracting claims, gathering evidence, and searching
14
- for contradictions.
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/phase-critic`.
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 // absolute path where the verdict will be written
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. Otherwise, pass with the appropriate confidence.
188
- 5. Write `$VERDICT_FILE` so line 1 is `PASS` or `FAIL`,
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 to the next phase.
194
- - Line 1 is `FAIL` → calling adapter **MUST NOT** proceed to reward, **MUST NOT**
195
- ask the user for approval, and **MUST NOT** continue to the next phase.
196
- The calling adapter must address findings and re-invoke phase-critic.
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. The resulting verdict is more
209
- truthful because it is based on extracted claims, explicit evidence, contradiction
210
- search, and a clean boundary between execution and review.
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.3.0"
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
- `phase-critic`.
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. `phase-critic`)
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/phase-critic ...
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.3.0"
2
+ version: "5.4.0"
3
3
  slug: refine-search
4
4
  title: Get help refining your search
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "5.3.0"
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
- `phase-critic`.
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"
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA6BH,OAAO,sCAAsC,CAAC;AA2D9C;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAoGzD"}
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
- // Use --force flag to allow override in new versions
130
- await injectMemResourcesAtBoot(memoryStore, { force: true });
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
- "phase-critic-guide": string;
31
- "phase-critic": string;
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;