Skip to content

multi-model-agent 5.16.1

Latest

Choose a tag to compare

@github-actions github-actions released this 30 Jul 11:41
3896974

Release engineering and test hygiene. Both packages are now published by CI with npm provenance,
and the test suite no longer depends on which CLIs happen to be installed on the machine running it.
SCHEMA_VERSION stays at 6 — no wire or API change.

Added

  • Automated release pipeline.github/workflows/release.yml. It gates (build · test · lint ·
    lint:deps), packs both packages, asserts the real tarballs before anything is irreversible, then
    publishes core → server, smoke-installs the published package as an outside consumer, and creates
    the git tag last so a tagged version is always a fully published one.
  • npm provenance on both packages — every tarball now carries a signed statement binding it to
    the commit and workflow that built it, via OIDC trusted publishing. Provenance cannot be produced
    by a local npm publish, so this is new information for anyone auditing the supply chain.

Fixed

  • The test suite no longer depends on a globally installed codex CLI. configure-provider
    verifies a codex tier by really spawning codex --version, so roughly 15 tests passed or failed
    according to the developer's PATH rather than the code — and failed confusingly, with the
    response's probe field simply absent because an unverified request never reaches the probe.
    Those four test files now pin MMA_CODEX_BIN to the running Node binary. The pin is per-file
    rather than a global hook on purpose: applied globally it also reaches tests that drive a real
    CodexCliSession, whose stdin write then EPIPEs against a process that is not codex. The test
    that deliberately covers the codex-absent path still overrides it, so that case stays covered.
  • Two journal contract tests no longer depend on the developer's own journal. The
    "skips the reviewer when invariants pass" tests in route-contract and journal-engine-route
    merged onto node 0001 in process.cwd(), so they silently required the maintainer's real
    gitignored <repo>/.mma/journal/ to contain that node — and wrote into it as a side effect.
    They passed on that one machine, failed on any fresh checkout, and their result depended on
    which test file ran first in the same worker. Both now seed node 0001 in a throwaway cwd.

Changed

  • The journal-latency benchmark gate is now ≥2x, down from ≥3x. The ratio measures ~7.2x on a
    developer machine but ~2.99x on a shared CI runner, so a 3x threshold sat exactly on the boundary
    and failed about half of all runs for reasons unrelated to the engine. 2x runs everywhere with
    real margin and still catches the regression that matters — if the engine loses its index
    advantage and falls back to scanning, the ratio collapses toward 1x.
  • /mma-flow review gate is capped at 3 rounds, down from 5. The advance rule is now per-round:
    round 1 must be clean of critical and high findings, round 2 tolerates high (routed to backlog),
    and round 3 applies its fixes and then always advances. Round 4 never runs.

Packages

npm i -g @zhixuan92/multi-model-agent

Requires Node >= 22. Both packages are published with npm provenance from this workflow.