@zhixuan92/multi-model-agent 3.10.4 → 3.10.5

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.
@@ -8,7 +8,7 @@ when_to_use: >-
8
8
  User asks for a doc/spec/config audit OR a methodology skill
9
9
  (superpowers:dispatching-parallel-agents, /security-review) points at one AND
10
10
  mmagent is running. Audit on PROSE/SPEC docs — use mma-review for source code.
11
- version: 3.10.4
11
+ version: 3.10.5
12
12
  ---
13
13
 
14
14
  # mma-audit
@@ -72,26 +72,42 @@ BATCH_ID=$(echo "$BATCH" | jq -r '.batchId')
72
72
 
73
73
  @include _shared/response-shape.md
74
74
 
75
- ## Reading the review verdicts (annotation model — 3.8.1+)
76
-
77
- The terminal envelope includes:
78
- - `specReviewVerdict: 'not_applicable'` read-only routes have no spec review stage.
79
- - `qualityReviewVerdict` outcome of the single annotation pass.
80
- - `roundsUsed` — `1` when reviewer ran (annotated or errored), `0` when reviewer was skipped.
81
-
82
- There is no rework loop. The reviewer annotates each finding in place and exits — never gates, never causes the worker to re-run.
83
-
84
- Action per `qualityReviewVerdict`:
85
- - `'annotated'` every finding in `findings[]` has `reviewerConfidence` (integer 0-100) and possibly `reviewerSeverity`. Sort or filter by confidence; treat low-confidence findings with skepticism.
86
- - `'skipped'` kill switch (`MMAGENT_READ_ONLY_REVIEW=disabled` or per-route `MMAGENT_READ_ONLY_REVIEW_AUDIT=disabled`) bypassed the reviewer. Findings carry no reviewer fields; treat as raw worker output.
87
- - `'error'` reviewer call or response parsing failed. Findings have no reviewer fields; fall back to caution.
88
-
89
- ### Per-finding reviewer fields
90
-
91
- Every finding the worker emits has the standard fields (`id`, `severity`, `claim`, `evidence`, `suggestion?`). After a successful annotation pass, two more fields are added:
92
-
93
- - `reviewerConfidence` (integer 0-100): how confident the reviewer is that the finding is correct, on-brief, and grounded. Use as a filter (`>=70`) or a sort key for triage.
94
- - `reviewerSeverity?` (`'high' | 'medium' | 'low'`): only present when the reviewer disagrees with the worker's `severity`. Workers tend to inflate severity; use this to dial down. Trust `reviewerSeverity` over `severity` when present.
75
+ ## Reading the findings (3.10.5+)
76
+
77
+ The terminal envelope's `results[N].annotatedFindings` is a list of structured
78
+ findings the reviewer extracted and scored from the implementer's narrative.
79
+ Every finding has the same shape:
80
+
81
+ | Field | Type | Notes |
82
+ |---|---|---|
83
+ | `id` | string | Reviewer-assigned, e.g. `F1`, `F2`. |
84
+ | `severity` | `'critical' \| 'high' \| 'medium' \| 'low'` | 4-tier. |
85
+ | `claim` | string | One-sentence summary. |
86
+ | `evidence` | string ≥20 chars | Quoted from worker output when grounded. |
87
+ | `suggestion?` | string | Optional fix recommendation. |
88
+ | `reviewerConfidence` | `number \| null` | 0–100 from the reviewer; `null` when emitted via deterministic fallback. |
89
+ | `evidenceGrounded` | boolean | True when `evidence` is a verbatim substring of worker output. |
90
+
91
+ ### Verdict states (`qualityReviewVerdict`)
92
+
93
+ - `'annotated'` every finding is structured. May be reviewer-emitted (with
94
+ numeric `reviewerConfidence`) or deterministic-fallback (with
95
+ `reviewerConfidence: null`). The route ALWAYS reaches `'annotated'` unless
96
+ the reviewer call itself fails transport.
97
+ - `'skipped'` — kill switch (`MMAGENT_READ_ONLY_REVIEW=disabled`).
98
+ - `'error'` — only when the reviewer call fails transport (network / 5xx).
99
+
100
+ ### Recommended rendering by the main agent
101
+
102
+ 1. Show ALL findings — never silently drop. Confidence and grounding are
103
+ soft signals, not gates.
104
+ 2. Default sort: severity (critical → low) then `reviewerConfidence` desc
105
+ (nulls last).
106
+ 3. `severity` is the reviewer's authoritative final value — use it directly.
107
+ 4. Mark findings with `evidenceGrounded: false` or
108
+ `reviewerConfidence < 70` as "lower-trust" (collapsed section, lighter
109
+ color, or `(low confidence)` annotation). User decides what to do.
110
+ 5. Severity-tier counts feed the dashboard via V3 `findingsBySeverity`.
95
111
 
96
112
  ## Best practices
97
113
 
@@ -12,7 +12,7 @@ when_to_use: >-
12
12
  `proposedInterpretation` is a hard gate — the batch is paused, not
13
13
  informational. The batch will not complete until the caller responds. Treating
14
14
  it as advisory is the clarification-as-info anti-pattern (AP5).
15
- version: 3.10.4
15
+ version: 3.10.5
16
16
  ---
17
17
 
18
18
  # mma-clarifications
@@ -12,7 +12,7 @@ when_to_use: >-
12
12
  Register once here, then pass the ID via `contextBlockIds` on mma-delegate /
13
13
  mma-execute-plan / mma-audit / mma-review / mma-verify / mma-debug /
14
14
  mma-investigate. Cheaper and faster than inlining the same content N times.
15
- version: 3.10.4
15
+ version: 3.10.5
16
16
  ---
17
17
 
18
18
  # mma-context-blocks
@@ -10,7 +10,7 @@ when_to_use: >-
10
10
  read files, reproduce, trace — OR a methodology skill
11
11
  (superpowers:systematic-debugging) points at the investigation step. Delegate
12
12
  the read/reproduce/trace; the main agent stays on the hypothesis and the fix.
13
- version: 3.10.4
13
+ version: 3.10.5
14
14
  ---
15
15
 
16
16
  # mma-debug
@@ -78,26 +78,42 @@ BATCH_ID=$(echo "$BATCH" | jq -r '.batchId')
78
78
 
79
79
  @include _shared/response-shape.md
80
80
 
81
- ## Reading the review verdicts (annotation model — 3.8.1+)
82
-
83
- The terminal envelope includes:
84
- - `specReviewVerdict: 'not_applicable'` read-only routes have no spec review stage.
85
- - `qualityReviewVerdict` outcome of the single annotation pass.
86
- - `roundsUsed` — `1` when reviewer ran (annotated or errored), `0` when reviewer was skipped.
87
-
88
- There is no rework loop. The reviewer annotates each finding in place and exits — never gates, never causes the worker to re-run.
89
-
90
- Action per `qualityReviewVerdict`:
91
- - `'annotated'` every finding in `findings[]` has `reviewerConfidence` (integer 0-100) and possibly `reviewerSeverity`. Sort or filter by confidence; treat low-confidence findings with skepticism.
92
- - `'skipped'` kill switch (`MMAGENT_READ_ONLY_REVIEW=disabled` or per-route `MMAGENT_READ_ONLY_REVIEW_DEBUG=disabled`) bypassed the reviewer. Findings carry no reviewer fields; treat as raw worker output.
93
- - `'error'` reviewer call or response parsing failed. Findings have no reviewer fields; fall back to caution.
94
-
95
- ### Per-finding reviewer fields
96
-
97
- Every finding the worker emits has the standard fields (`id`, `severity`, `claim`, `evidence`, `suggestion?`). After a successful annotation pass, two more fields are added:
98
-
99
- - `reviewerConfidence` (integer 0-100): how confident the reviewer is that the finding is correct, on-brief, and grounded. Use as a filter (`>=70`) or a sort key for triage.
100
- - `reviewerSeverity?` (`'high' | 'medium' | 'low'`): only present when the reviewer disagrees with the worker's `severity`. Workers tend to inflate severity; use this to dial down. Trust `reviewerSeverity` over `severity` when present.
81
+ ## Reading the findings (3.10.5+)
82
+
83
+ The terminal envelope's `results[N].annotatedFindings` is a list of structured
84
+ findings the reviewer extracted and scored from the implementer's narrative.
85
+ Every finding has the same shape:
86
+
87
+ | Field | Type | Notes |
88
+ |---|---|---|
89
+ | `id` | string | Reviewer-assigned, e.g. `F1`, `F2`. |
90
+ | `severity` | `'critical' \| 'high' \| 'medium' \| 'low'` | 4-tier. |
91
+ | `claim` | string | One-sentence summary. |
92
+ | `evidence` | string ≥20 chars | Quoted from worker output when grounded. |
93
+ | `suggestion?` | string | Optional fix recommendation. |
94
+ | `reviewerConfidence` | `number \| null` | 0–100 from the reviewer; `null` when emitted via deterministic fallback. |
95
+ | `evidenceGrounded` | boolean | True when `evidence` is a verbatim substring of worker output. |
96
+
97
+ ### Verdict states (`qualityReviewVerdict`)
98
+
99
+ - `'annotated'` every finding is structured. May be reviewer-emitted (with
100
+ numeric `reviewerConfidence`) or deterministic-fallback (with
101
+ `reviewerConfidence: null`). The route ALWAYS reaches `'annotated'` unless
102
+ the reviewer call itself fails transport.
103
+ - `'skipped'` — kill switch (`MMAGENT_READ_ONLY_REVIEW=disabled`).
104
+ - `'error'` — only when the reviewer call fails transport (network / 5xx).
105
+
106
+ ### Recommended rendering by the main agent
107
+
108
+ 1. Show ALL findings — never silently drop. Confidence and grounding are
109
+ soft signals, not gates.
110
+ 2. Default sort: severity (critical → low) then `reviewerConfidence` desc
111
+ (nulls last).
112
+ 3. `severity` is the reviewer's authoritative final value — use it directly.
113
+ 4. Mark findings with `evidenceGrounded: false` or
114
+ `reviewerConfidence < 70` as "lower-trust" (collapsed section, lighter
115
+ color, or `(low confidence)` annotation). User decides what to do.
116
+ 5. Severity-tier counts feed the dashboard via V3 `findingsBySeverity`.
101
117
 
102
118
  ## Best practices
103
119
 
@@ -11,7 +11,7 @@ when_to_use: >-
11
11
  and keep main context free. If a plan file exists → use mma-execute-plan. If
12
12
  the task is audit / review / verify / debug / investigate → use the matching
13
13
  specialized skill.
14
- version: 3.10.4
14
+ version: 3.10.5
15
15
  ---
16
16
 
17
17
  # mma-delegate
@@ -10,7 +10,7 @@ when_to_use: >-
10
10
  superpowers:subagent-driven-development / superpowers:executing-plans —
11
11
  workers are cheaper and don't pollute main context. Task descriptors must
12
12
  match plan headings verbatim.
13
- version: 3.10.4
13
+ version: 3.10.5
14
14
  ---
15
15
 
16
16
  # mma-execute-plan
@@ -12,7 +12,7 @@ when_to_use: >-
12
12
  git-history queries. OR you are about to read 3+ files / run any grep in main
13
13
  context — that's the inline-labor-leakage anti-pattern (AP2); delegate to this
14
14
  skill instead.
15
- version: 3.10.4
15
+ version: 3.10.5
16
16
  ---
17
17
 
18
18
  # mma-investigate
@@ -124,26 +124,42 @@ Each task carries an `investigation` field on its per-task report:
124
124
 
125
125
  `workerStatus` is one of `done`, `done_with_concerns`, `needs_context`, `blocked`. When `done_with_concerns`, the per-task report carries `incompleteReason` (`turn_cap`, `cost_cap`, `timeout`, or `missing_sections`). When `needs_context`, the worker flagged a `[needs_context]` bullet under `## Unresolved` — re-dispatch with extra context (anchor paths, a context block, or a clarification turn).
126
126
 
127
- ## Reading the review verdicts (annotation model — 3.8.1+)
128
-
129
- The terminal envelope includes:
130
- - `specReviewVerdict: 'not_applicable'` read-only routes have no spec review stage.
131
- - `qualityReviewVerdict` outcome of the single annotation pass.
132
- - `roundsUsed` — `1` when reviewer ran (annotated or errored), `0` when reviewer was skipped.
133
-
134
- There is no rework loop. The reviewer annotates each finding in place and exits — never gates, never causes the worker to re-run.
135
-
136
- Action per `qualityReviewVerdict`:
137
- - `'annotated'` every finding in `findings[]` has `reviewerConfidence` (integer 0-100) and possibly `reviewerSeverity`. Sort or filter by confidence; treat low-confidence findings with skepticism.
138
- - `'skipped'` kill switch (`MMAGENT_READ_ONLY_REVIEW=disabled` or per-route `MMAGENT_READ_ONLY_REVIEW_INVESTIGATE=disabled`) bypassed the reviewer. Findings carry no reviewer fields; treat as raw worker output.
139
- - `'error'` reviewer call or response parsing failed. Findings have no reviewer fields; fall back to caution.
140
-
141
- ### Per-finding reviewer fields
142
-
143
- Every finding the worker emits has the standard fields (`id`, `severity`, `claim`, `evidence`, `suggestion?`). After a successful annotation pass, two more fields are added:
144
-
145
- - `reviewerConfidence` (integer 0-100): how confident the reviewer is that the finding is correct, on-brief, and grounded. Use as a filter (`>=70`) or a sort key for triage.
146
- - `reviewerSeverity?` (`'high' | 'medium' | 'low'`): only present when the reviewer disagrees with the worker's `severity`. Workers tend to inflate severity; use this to dial down. Trust `reviewerSeverity` over `severity` when present.
127
+ ## Reading the findings (3.10.5+)
128
+
129
+ The terminal envelope's `results[N].annotatedFindings` is a list of structured
130
+ findings the reviewer extracted and scored from the implementer's narrative.
131
+ Every finding has the same shape:
132
+
133
+ | Field | Type | Notes |
134
+ |---|---|---|
135
+ | `id` | string | Reviewer-assigned, e.g. `F1`, `F2`. |
136
+ | `severity` | `'critical' \| 'high' \| 'medium' \| 'low'` | 4-tier. |
137
+ | `claim` | string | One-sentence summary. |
138
+ | `evidence` | string ≥20 chars | Quoted from worker output when grounded. |
139
+ | `suggestion?` | string | Optional fix recommendation. |
140
+ | `reviewerConfidence` | `number \| null` | 0–100 from the reviewer; `null` when emitted via deterministic fallback. |
141
+ | `evidenceGrounded` | boolean | True when `evidence` is a verbatim substring of worker output. |
142
+
143
+ ### Verdict states (`qualityReviewVerdict`)
144
+
145
+ - `'annotated'` every finding is structured. May be reviewer-emitted (with
146
+ numeric `reviewerConfidence`) or deterministic-fallback (with
147
+ `reviewerConfidence: null`). The route ALWAYS reaches `'annotated'` unless
148
+ the reviewer call itself fails transport.
149
+ - `'skipped'` — kill switch (`MMAGENT_READ_ONLY_REVIEW=disabled`).
150
+ - `'error'` — only when the reviewer call fails transport (network / 5xx).
151
+
152
+ ### Recommended rendering by the main agent
153
+
154
+ 1. Show ALL findings — never silently drop. Confidence and grounding are
155
+ soft signals, not gates.
156
+ 2. Default sort: severity (critical → low) then `reviewerConfidence` desc
157
+ (nulls last).
158
+ 3. `severity` is the reviewer's authoritative final value — use it directly.
159
+ 4. Mark findings with `evidenceGrounded: false` or
160
+ `reviewerConfidence < 70` as "lower-trust" (collapsed section, lighter
161
+ color, or `(low confidence)` annotation). User decides what to do.
162
+ 5. Severity-tier counts feed the dashboard via V3 `findingsBySeverity`.
147
163
 
148
164
  ## Best practices
149
165
 
@@ -10,7 +10,7 @@ when_to_use: >-
10
10
  you want to re-try the failed indices only. Prefer this over re-dispatching
11
11
  the whole batch or inline-retrying — it's idempotent and preserves the
12
12
  original batch's diagnostics.
13
- version: 3.10.4
13
+ version: 3.10.5
14
14
  ---
15
15
 
16
16
  # mma-retry
@@ -10,7 +10,7 @@ when_to_use: >-
10
10
  AND mmagent is running. Delegate so each file reviews on its own worker; the
11
11
  main agent only decides what to merge. Review on SOURCE CODE — use mma-audit
12
12
  for prose specs / configs.
13
- version: 3.10.4
13
+ version: 3.10.5
14
14
  ---
15
15
 
16
16
  # mma-review
@@ -75,26 +75,42 @@ BATCH_ID=$(echo "$BATCH" | jq -r '.batchId')
75
75
 
76
76
  @include _shared/response-shape.md
77
77
 
78
- ## Reading the review verdicts (annotation model — 3.8.1+)
79
-
80
- The terminal envelope includes:
81
- - `specReviewVerdict: 'not_applicable'` read-only routes have no spec review stage.
82
- - `qualityReviewVerdict` outcome of the single annotation pass.
83
- - `roundsUsed` — `1` when reviewer ran (annotated or errored), `0` when reviewer was skipped.
84
-
85
- There is no rework loop. The reviewer annotates each finding in place and exits — never gates, never causes the worker to re-run.
86
-
87
- Action per `qualityReviewVerdict`:
88
- - `'annotated'` every finding in `findings[]` has `reviewerConfidence` (integer 0-100) and possibly `reviewerSeverity`. Sort or filter by confidence; treat low-confidence findings with skepticism.
89
- - `'skipped'` kill switch (`MMAGENT_READ_ONLY_REVIEW=disabled` or per-route `MMAGENT_READ_ONLY_REVIEW_REVIEW=disabled`) bypassed the reviewer. Findings carry no reviewer fields; treat as raw worker output.
90
- - `'error'` reviewer call or response parsing failed. Findings have no reviewer fields; fall back to caution.
91
-
92
- ### Per-finding reviewer fields
93
-
94
- Every finding the worker emits has the standard fields (`id`, `severity`, `claim`, `evidence`, `suggestion?`). After a successful annotation pass, two more fields are added:
95
-
96
- - `reviewerConfidence` (integer 0-100): how confident the reviewer is that the finding is correct, on-brief, and grounded. Use as a filter (`>=70`) or a sort key for triage.
97
- - `reviewerSeverity?` (`'high' | 'medium' | 'low'`): only present when the reviewer disagrees with the worker's `severity`. Workers tend to inflate severity; use this to dial down. Trust `reviewerSeverity` over `severity` when present.
78
+ ## Reading the findings (3.10.5+)
79
+
80
+ The terminal envelope's `results[N].annotatedFindings` is a list of structured
81
+ findings the reviewer extracted and scored from the implementer's narrative.
82
+ Every finding has the same shape:
83
+
84
+ | Field | Type | Notes |
85
+ |---|---|---|
86
+ | `id` | string | Reviewer-assigned, e.g. `F1`, `F2`. |
87
+ | `severity` | `'critical' \| 'high' \| 'medium' \| 'low'` | 4-tier. |
88
+ | `claim` | string | One-sentence summary. |
89
+ | `evidence` | string ≥20 chars | Quoted from worker output when grounded. |
90
+ | `suggestion?` | string | Optional fix recommendation. |
91
+ | `reviewerConfidence` | `number \| null` | 0–100 from the reviewer; `null` when emitted via deterministic fallback. |
92
+ | `evidenceGrounded` | boolean | True when `evidence` is a verbatim substring of worker output. |
93
+
94
+ ### Verdict states (`qualityReviewVerdict`)
95
+
96
+ - `'annotated'` every finding is structured. May be reviewer-emitted (with
97
+ numeric `reviewerConfidence`) or deterministic-fallback (with
98
+ `reviewerConfidence: null`). The route ALWAYS reaches `'annotated'` unless
99
+ the reviewer call itself fails transport.
100
+ - `'skipped'` — kill switch (`MMAGENT_READ_ONLY_REVIEW=disabled`).
101
+ - `'error'` — only when the reviewer call fails transport (network / 5xx).
102
+
103
+ ### Recommended rendering by the main agent
104
+
105
+ 1. Show ALL findings — never silently drop. Confidence and grounding are
106
+ soft signals, not gates.
107
+ 2. Default sort: severity (critical → low) then `reviewerConfidence` desc
108
+ (nulls last).
109
+ 3. `severity` is the reviewer's authoritative final value — use it directly.
110
+ 4. Mark findings with `evidenceGrounded: false` or
111
+ `reviewerConfidence < 70` as "lower-trust" (collapsed section, lighter
112
+ color, or `(low confidence)` annotation). User decides what to do.
113
+ 5. Severity-tier counts feed the dashboard via V3 `findingsBySeverity`.
98
114
 
99
115
  ## Best practices
100
116
 
@@ -10,7 +10,7 @@ when_to_use: >-
10
10
  against implemented work BEFORE claiming success. Delegate so each checklist
11
11
  item gets independent evidence-gathering on a worker. Use this BEFORE saying
12
12
  "done" — never after.
13
- version: 3.10.4
13
+ version: 3.10.5
14
14
  ---
15
15
 
16
16
  # mma-verify
@@ -76,26 +76,42 @@ BATCH_ID=$(echo "$BATCH" | jq -r '.batchId')
76
76
 
77
77
  @include _shared/response-shape.md
78
78
 
79
- ## Reading the review verdicts (annotation model — 3.8.1+)
80
-
81
- The terminal envelope includes:
82
- - `specReviewVerdict: 'not_applicable'` read-only routes have no spec review stage.
83
- - `qualityReviewVerdict` outcome of the single annotation pass.
84
- - `roundsUsed` — `1` when reviewer ran (annotated or errored), `0` when reviewer was skipped.
85
-
86
- There is no rework loop. The reviewer annotates each finding in place and exits — never gates, never causes the worker to re-run.
87
-
88
- Action per `qualityReviewVerdict`:
89
- - `'annotated'` every finding in `findings[]` has `reviewerConfidence` (integer 0-100) and possibly `reviewerSeverity`. Sort or filter by confidence; treat low-confidence findings with skepticism.
90
- - `'skipped'` kill switch (`MMAGENT_READ_ONLY_REVIEW=disabled` or per-route `MMAGENT_READ_ONLY_REVIEW_VERIFY=disabled`) bypassed the reviewer. Findings carry no reviewer fields; treat as raw worker output.
91
- - `'error'` reviewer call or response parsing failed. Findings have no reviewer fields; fall back to caution.
92
-
93
- ### Per-finding reviewer fields
94
-
95
- Every finding the worker emits has the standard fields (`id`, `severity`, `claim`, `evidence`, `suggestion?`). After a successful annotation pass, two more fields are added:
96
-
97
- - `reviewerConfidence` (integer 0-100): how confident the reviewer is that the finding is correct, on-brief, and grounded. Use as a filter (`>=70`) or a sort key for triage.
98
- - `reviewerSeverity?` (`'high' | 'medium' | 'low'`): only present when the reviewer disagrees with the worker's `severity`. Workers tend to inflate severity; use this to dial down. Trust `reviewerSeverity` over `severity` when present.
79
+ ## Reading the findings (3.10.5+)
80
+
81
+ The terminal envelope's `results[N].annotatedFindings` is a list of structured
82
+ findings the reviewer extracted and scored from the implementer's narrative.
83
+ Every finding has the same shape:
84
+
85
+ | Field | Type | Notes |
86
+ |---|---|---|
87
+ | `id` | string | Reviewer-assigned, e.g. `F1`, `F2`. |
88
+ | `severity` | `'critical' \| 'high' \| 'medium' \| 'low'` | 4-tier. |
89
+ | `claim` | string | One-sentence summary. |
90
+ | `evidence` | string ≥20 chars | Quoted from worker output when grounded. |
91
+ | `suggestion?` | string | Optional fix recommendation. |
92
+ | `reviewerConfidence` | `number \| null` | 0–100 from the reviewer; `null` when emitted via deterministic fallback. |
93
+ | `evidenceGrounded` | boolean | True when `evidence` is a verbatim substring of worker output. |
94
+
95
+ ### Verdict states (`qualityReviewVerdict`)
96
+
97
+ - `'annotated'` every finding is structured. May be reviewer-emitted (with
98
+ numeric `reviewerConfidence`) or deterministic-fallback (with
99
+ `reviewerConfidence: null`). The route ALWAYS reaches `'annotated'` unless
100
+ the reviewer call itself fails transport.
101
+ - `'skipped'` — kill switch (`MMAGENT_READ_ONLY_REVIEW=disabled`).
102
+ - `'error'` — only when the reviewer call fails transport (network / 5xx).
103
+
104
+ ### Recommended rendering by the main agent
105
+
106
+ 1. Show ALL findings — never silently drop. Confidence and grounding are
107
+ soft signals, not gates.
108
+ 2. Default sort: severity (critical → low) then `reviewerConfidence` desc
109
+ (nulls last).
110
+ 3. `severity` is the reviewer's authoritative final value — use it directly.
111
+ 4. Mark findings with `evidenceGrounded: false` or
112
+ `reviewerConfidence < 70` as "lower-trust" (collapsed section, lighter
113
+ color, or `(low confidence)` annotation). User decides what to do.
114
+ 5. Severity-tier counts feed the dashboard via V3 `findingsBySeverity`.
99
115
 
100
116
  ## Best practices
101
117
 
@@ -11,7 +11,7 @@ when_to_use: >-
11
11
  tasks — AND mmagent is running. Read this once, pick the matching mma-* skill,
12
12
  and delegate there. Applies equally whether the user invoked a superpowers
13
13
  methodology skill or asked directly.
14
- version: 3.10.4
14
+ version: 3.10.5
15
15
  ---
16
16
 
17
17
  # multi-model-agent (router)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhixuan92/multi-model-agent",
3
- "version": "3.10.4",
3
+ "version": "3.10.5",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Standalone HTTP server for multi-model-agent. Routes tool-invocation work to Claude, Codex, or OpenAI-compatible sub-agents with async-polling REST dispatch and installable skills for Claude Code, Gemini CLI, Codex CLI, and Cursor.",
@@ -52,7 +52,7 @@
52
52
  },
53
53
  "dependencies": {
54
54
  "@asteasolutions/zod-to-openapi": "^8.5.0",
55
- "@zhixuan92/multi-model-agent-core": "^3.10.4",
55
+ "@zhixuan92/multi-model-agent-core": "^3.10.5",
56
56
  "gray-matter": "^4.0.3",
57
57
  "minimist": "^1.2.8",
58
58
  "proper-lockfile": "^4.1.2",