@zhixuan92/multi-model-agent 3.12.0 → 3.12.1
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 +2 -2
- package/dist/skills/mma-audit/SKILL.md +1 -1
- package/dist/skills/mma-clarifications/SKILL.md +1 -1
- package/dist/skills/mma-context-blocks/SKILL.md +1 -1
- package/dist/skills/mma-debug/SKILL.md +1 -1
- package/dist/skills/mma-delegate/SKILL.md +1 -1
- package/dist/skills/mma-execute-plan/SKILL.md +1 -1
- package/dist/skills/mma-explore/SKILL.md +1 -1
- package/dist/skills/mma-investigate/SKILL.md +1 -1
- package/dist/skills/mma-retry/SKILL.md +1 -1
- package/dist/skills/mma-review/SKILL.md +1 -1
- package/dist/skills/mma-verify/SKILL.md +1 -1
- package/dist/skills/multi-model-agent/SKILL.md +1 -1
- package/dist/telemetry/recorder.d.ts +23 -0
- package/dist/telemetry/recorder.d.ts.map +1 -1
- package/dist/telemetry/recorder.js +41 -18
- package/dist/telemetry/recorder.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -84,7 +84,7 @@ Two ways — pick one:
|
|
|
84
84
|
|
|
85
85
|
```bash
|
|
86
86
|
mmagent serve # 127.0.0.1:7337 by default
|
|
87
|
-
curl -s http://localhost:7337/health # → {"ok":true,"version":"3.
|
|
87
|
+
curl -s http://localhost:7337/health # → {"ok":true,"version":"3.12.1",...}
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
For an always-on background install (survives reboots): [launchd / systemd templates](./scripts/README.md).
|
|
@@ -289,7 +289,7 @@ Full design rationale: [DIRECTION.md](https://github.com/zhixuan312/multi-model-
|
|
|
289
289
|
|
|
290
290
|
## What's new
|
|
291
291
|
|
|
292
|
-
Latest: **3.
|
|
292
|
+
Latest: **3.12.1** — Telemetry & state-machine correctness pass diagnosed against 3.11.1 production data. Reviewer-implementer separation gate now uses tier (`standard` / `complex` / `main`), not model name — user is sovereign over model choice. R6 (cached ⊆ input subset semantics) holds across all runners; cost calc consumes `cachedTokens` so per-stage cost reflects the cache discount. Reviewer prompts split into `{systemPrefix, userBody}` for cross-runner caching (Claude SDK ephemeral cache_control; OpenAI/Codex auto-cache via instructions prefix). Stage telemetry preserved on every early-exit path via deferred-finalizer. `diff_review.verdict` plumbed end-to-end (no longer hard-coded `not_applicable`); `terminationReason.cause = 'error'` on diff-review reject so R1 stops firing. `validation_warnings` attached to events. `verifyCommand` flows through intake. Adds `tier`/`implementerTier` to wire schema and R16 (rework requires preceding review). 99 new tests (2786 total). Full history: [CHANGELOG](https://github.com/zhixuan312/multi-model-agent/blob/master/CHANGELOG.md).
|
|
293
293
|
|
|
294
294
|
## Full documentation
|
|
295
295
|
|
|
@@ -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.12.
|
|
11
|
+
version: 3.12.1
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
# mma-audit
|
|
@@ -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.12.
|
|
15
|
+
version: 3.12.1
|
|
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.12.
|
|
15
|
+
version: 3.12.1
|
|
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.12.
|
|
13
|
+
version: 3.12.1
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
# mma-debug
|
|
@@ -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.12.
|
|
14
|
+
version: 3.12.1
|
|
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.12.
|
|
13
|
+
version: 3.12.1
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
# mma-execute-plan
|
|
@@ -11,7 +11,7 @@ when_to_use: >-
|
|
|
11
11
|
Delegating the read+grep+web-search to a worker keeps your main context on
|
|
12
12
|
judgment. DO NOT use for convergent single-answer questions (where is X
|
|
13
13
|
called, how does Y work) — those are mma-investigate.
|
|
14
|
-
version: 3.12.
|
|
14
|
+
version: 3.12.1
|
|
15
15
|
---
|
|
16
16
|
|
|
17
17
|
# mma-explore
|
|
@@ -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.12.
|
|
15
|
+
version: 3.12.1
|
|
16
16
|
---
|
|
17
17
|
|
|
18
18
|
# mma-investigate
|
|
@@ -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.12.
|
|
13
|
+
version: 3.12.1
|
|
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.12.
|
|
13
|
+
version: 3.12.1
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
# mma-review
|
|
@@ -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.12.
|
|
13
|
+
version: 3.12.1
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
# mma-verify
|
|
@@ -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.12.
|
|
14
|
+
version: 3.12.1
|
|
15
15
|
---
|
|
16
16
|
|
|
17
17
|
# multi-model-agent (router)
|
|
@@ -1,4 +1,27 @@
|
|
|
1
|
+
import type { TaskCompletedEventType } from '@zhixuan92/multi-model-agent-core/telemetry/types';
|
|
1
2
|
import { type BuildContext } from '@zhixuan92/multi-model-agent-core/telemetry/event-builder';
|
|
3
|
+
export interface ValidationWarningsResult {
|
|
4
|
+
warnings: Array<{
|
|
5
|
+
rule: string;
|
|
6
|
+
path: string;
|
|
7
|
+
}>;
|
|
8
|
+
baseIssues: Array<{
|
|
9
|
+
path: string;
|
|
10
|
+
message: string;
|
|
11
|
+
}>;
|
|
12
|
+
refinedIssues: Array<{
|
|
13
|
+
path: string;
|
|
14
|
+
message: string;
|
|
15
|
+
}>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Run both base-schema and cross-field validation on a built event
|
|
19
|
+
* without dropping it. Returns deduplicated warnings and separate
|
|
20
|
+
* issue lists for logging. Deduplication key is `message::path` so
|
|
21
|
+
* a base-schema issue that also surfaces in the superRefine'd parse
|
|
22
|
+
* is stored once.
|
|
23
|
+
*/
|
|
24
|
+
export declare function collectValidationWarnings(event: TaskCompletedEventType): ValidationWarningsResult;
|
|
2
25
|
export interface Recorder {
|
|
3
26
|
readonly signal: AbortSignal;
|
|
4
27
|
recordTaskCompleted(ctx: BuildContext): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/telemetry/recorder.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,2DAA2D,CAAC;AAEnE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7C,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9C,cAAc,CAAC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAID,wBAAgB,WAAW,IAAI,QAAQ,CAKtC;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAEpD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,CAI1F"}
|
|
1
|
+
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/telemetry/recorder.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAChG,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,2DAA2D,CAAC;AAEnE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,sBAAsB,GAC5B,wBAAwB,CA0B1B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7C,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9C,cAAc,CAAC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAID,wBAAgB,WAAW,IAAI,QAAQ,CAKtC;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAEpD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,CAI1F"}
|
|
@@ -8,6 +8,37 @@ import { Queue } from './queue.js';
|
|
|
8
8
|
import { readGeneration, bumpGeneration } from './generation.js';
|
|
9
9
|
import { SCHEMA_VERSION, TaskCompletedEventSchema, ValidatedTaskCompletedEventSchema } from '@zhixuan92/multi-model-agent-core/telemetry/types';
|
|
10
10
|
import { buildTaskCompletedEvent, } from '@zhixuan92/multi-model-agent-core/telemetry/event-builder';
|
|
11
|
+
/**
|
|
12
|
+
* Run both base-schema and cross-field validation on a built event
|
|
13
|
+
* without dropping it. Returns deduplicated warnings and separate
|
|
14
|
+
* issue lists for logging. Deduplication key is `message::path` so
|
|
15
|
+
* a base-schema issue that also surfaces in the superRefine'd parse
|
|
16
|
+
* is stored once.
|
|
17
|
+
*/
|
|
18
|
+
export function collectValidationWarnings(event) {
|
|
19
|
+
const warningsMap = new Map();
|
|
20
|
+
const baseIssues = [];
|
|
21
|
+
const refinedIssues = [];
|
|
22
|
+
const baseParsed = TaskCompletedEventSchema.safeParse(event);
|
|
23
|
+
if (!baseParsed.success) {
|
|
24
|
+
for (const i of baseParsed.error.issues) {
|
|
25
|
+
const path = i.path.join('.');
|
|
26
|
+
const key = `${i.message}::${path}`;
|
|
27
|
+
warningsMap.set(key, { rule: i.message, path });
|
|
28
|
+
baseIssues.push({ path, message: i.message });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const refined = ValidatedTaskCompletedEventSchema.safeParse(event);
|
|
32
|
+
if (!refined.success) {
|
|
33
|
+
for (const i of refined.error.issues) {
|
|
34
|
+
const path = i.path.join('.');
|
|
35
|
+
const key = `${i.message}::${path}`;
|
|
36
|
+
warningsMap.set(key, { rule: i.message, path });
|
|
37
|
+
refinedIssues.push({ path, message: i.message });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return { warnings: [...warningsMap.values()], baseIssues, refinedIssues };
|
|
41
|
+
}
|
|
11
42
|
let _recorder = null;
|
|
12
43
|
export function getRecorder() {
|
|
13
44
|
if (!_recorder) {
|
|
@@ -67,25 +98,14 @@ function _buildRecorder(opts) {
|
|
|
67
98
|
if (!d.enabled)
|
|
68
99
|
return;
|
|
69
100
|
const event = buildTaskCompletedEvent(ctx);
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
// data is gone forever and the user has no visibility into what was
|
|
73
|
-
// suppressed. 3.10.2's drop-on-fail design hid real telemetry from
|
|
74
|
-
// both operator and dashboard.
|
|
75
|
-
const baseParsed = TaskCompletedEventSchema.safeParse(event);
|
|
76
|
-
if (!baseParsed.success) {
|
|
101
|
+
const { warnings, baseIssues, refinedIssues } = collectValidationWarnings(event);
|
|
102
|
+
if (baseIssues.length > 0) {
|
|
77
103
|
console.warn('mma-telemetry: schema warning (event still emitted)', {
|
|
78
104
|
eventId: event.eventId,
|
|
79
|
-
issues:
|
|
105
|
+
issues: baseIssues,
|
|
80
106
|
});
|
|
81
107
|
}
|
|
82
|
-
|
|
83
|
-
if (!refined.success) {
|
|
84
|
-
// Surface the actual offending values alongside the rule name so the
|
|
85
|
-
// operator can tell at a glance whether the cause is config (wrong
|
|
86
|
-
// values) or code (lifecycle bug). Tag the most informative
|
|
87
|
-
// top-level fields plus per-stage models for the common R3/R5/R6
|
|
88
|
-
// cross-field cases.
|
|
108
|
+
if (refinedIssues.length > 0) {
|
|
89
109
|
const stageModelsByName = (event.stages ?? []).reduce((acc, s) => {
|
|
90
110
|
if (s.name && s.model)
|
|
91
111
|
acc[s.name] = s.model;
|
|
@@ -98,13 +118,16 @@ function _buildRecorder(opts) {
|
|
|
98
118
|
totalDurationMs: event.totalDurationMs,
|
|
99
119
|
inputTokens: event.inputTokens,
|
|
100
120
|
outputTokens: event.outputTokens,
|
|
101
|
-
issues:
|
|
121
|
+
issues: refinedIssues.map((e) => ({
|
|
102
122
|
rule: e.message,
|
|
103
|
-
path: e.path
|
|
123
|
+
path: e.path,
|
|
104
124
|
})),
|
|
105
125
|
});
|
|
106
126
|
}
|
|
107
|
-
|
|
127
|
+
const enrichedEvent = warnings.length > 0
|
|
128
|
+
? { ...event, validation_warnings: warnings }
|
|
129
|
+
: event;
|
|
130
|
+
enqueue(enrichedEvent);
|
|
108
131
|
}
|
|
109
132
|
catch {
|
|
110
133
|
dropped++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recorder.js","sourceRoot":"","sources":["../../src/telemetry/recorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,iCAAiC,EAAE,MAAM,mDAAmD,CAAC;
|
|
1
|
+
{"version":3,"file":"recorder.js","sourceRoot":"","sources":["../../src/telemetry/recorder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhixuan92/multi-model-agent",
|
|
3
|
-
"version": "3.12.
|
|
3
|
+
"version": "3.12.1",
|
|
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.12.
|
|
55
|
+
"@zhixuan92/multi-model-agent-core": "^3.12.1",
|
|
56
56
|
"gray-matter": "^4.0.3",
|
|
57
57
|
"minimist": "^1.2.8",
|
|
58
58
|
"proper-lockfile": "^4.1.2",
|