Skip to content

agentcompass 0.2.0: route on AgentCompass v0.6.0 (four capability categories, quota economy, data gates) - #1083

Open
akiiwa-games wants to merge 2 commits into
magpie-community:mainfrom
akiiwa-games:agentcompass-0.2.0
Open

akiiwa-games wants to merge 2 commits into
magpie-community:mainfrom
akiiwa-games:agentcompass-0.2.0

Conversation

@akiiwa-games

Copy link
Copy Markdown
Contributor

Moves packages/agentcompass from 0.1.4 to 0.2.0: the scoring engine is now AgentCompass v0.6.0's, ported module by module in the source repository (akiiwa-games/magpie-agentcompass-router; src/ here is byte-identical to its commit ac494f3).

Contains the continuity change of #791. The package also holds the 0.1.5/0.1.6 work (session hold on any pooled runtime, a replayed state has no age, classifier-only profiles, account states, routing contract), because the source already includes it. This PR and #791 overlap in continuity.js and middleware.js; please decide which to review. Merge either one, or this one and close #791.

What changes for users

  • Routing picks <model>:<effort> by a task profile's four capability categories (divergence, coding, aesthetics, tool_operation, demand 0..3), each effort's time and price, and session continuity. The quota economy gates on 5h windows and prices the longer windows.
  • Ten new modules under src/: axis-scores, candidate-eval, candidate-ranking, fleet, plans, quota-economy, quota-pools, reference-data, task-intake, user-scores.
  • New option userScores: your own category scores for a model.

Behaviour changes you will notice

  • Profile shape. axis_demand, access, wants_fast and read_only_review are required. context_scale, hallucination_risk, error_cost, divergence and realtime_loop are gone. A profile in the old shape is refused (invalid_caller_profile); there is no compatibility read.
  • Removed options and exports. realtime_loop (option, request field, session hold). From catalog.js: DEFAULT_MODELS, DEFAULT_SCORING_POLICY, KIND_TRAITS, CANONICAL_ROUTES, EFFORT_CURVES, resolveModelSpec. From index.js: computeWindowCost, demandForecast, evaluateModelQuota, CANONICAL_ROUTES, healthOnlyQuotas. From continuity.js: effectiveRealtimeLoop. New: ROUTES. The capability floor and the tier-based raise in the session hold are removed.
  • Data gates. A row with a demanded category without data, a billed account without a price, unknown image input, no Time/Task at that effort, or a window of unknown capacity is out of automatic routing. Naming the model still dispatches it, with the data error in warnings. Family and unknown names (claude-opus-9) have no score of their own, so only naming them dispatches them. An account whose plan is not reported has unknown capacity: put plan in quotas.
  • Bare names in a pool. If the provider has a dispatch-effort table and the model is not in it, the row has no efforts. antigravity and gemini no longer borrow another provider's table.
  • A quotas file broken for over 6 hours excludes only pool/quotas, with a warning.
  • Not ported (Magpie only routes): launching workers, harness order, fast variants.

How it was tested

  • HOME=<empty dir> bun test packages/agentcompass: 140 pass, 0 fail (Windows, bun 1.4.4).
  • bun scripts/check.mjs agentcompass: registry.json passes.
  • The package tests run on their own, with no AgentCompass checkout and no network. They assert rules (data gates, exclusions, quota monotonicity, order invariance, entry points routing a profile alike, the no-text-classification scan, the documented contract), not a chosen winner.
  • In the source repository, on the same src/:
    • the comparison with AgentCompass's Python allocator.plan at v0.6.0 (a 58,016-row grid of profiles and pools; the 19,339 sampled rows match on model, effort and score to 1e-9);
    • the Linux sandbox run in a real gateway, Magpie 0.1.4022 (magpie-cli-linux-amd64, sha256 46e96145…128dd0, matching the release's SHA256SUMS): CLI install and options, market listing and GUI API, Mode A, Mode B through /v1/systemone, classifier unavailable, session continuity and the turn lock, 7 pool shapes × 4 profiles × 4 protocols (112 requests, every route equal to the engine's), the four categories, pins, caller profiles, and no-profile requests. All passed; the record is docs/linux-sandbox-e2e-report-0.1.4022.json there.
  • Not run: the scenario against real upstream accounts (no sign-in was used in the sandbox).
  • Files left out of the package: the parity test and its fixtures, the generator script, the pin file, the sandbox scripts, docs.

registry.json: only the agentcompass summary changed (same text as the source's registry entry).

中文摘要

agentcompass 从 0.1.4 升到 0.2.0:评分引擎换成 AgentCompass v0.6.0(四类能力 divergence / coding / aesthetics / tool_operation,各档位耗时与价格,配额经济,数据门禁)。本 PR 包含 #791 的会话连续性改动(0.1.5/0.1.6),两者在 continuity.js 与 middleware.js 上重叠,请维护者决定审哪一个。升级影响:画像字段变了(旧形状会被拒绝)、删除 realtime_loop 及若干导出、缺数据的行不进自动路由(点名仍可派发)、未上报 plan 的账号容量未知。包内测试独立运行(140 通过);同一份 src/ 在源仓库里与 Python 引擎对拍一致,并在真实 Magpie 0.1.4022 的 Linux 沙箱里跑通了全部场景,只有真实上游账号那一个场景没有跑。

🤖 Generated with Claude Code

akiiwa-games and others added 2 commits November 13, 2026 15:36
…tegories, quota economy and data gates

The scoring engine is AgentCompass v0.6.0's, ported module by module: ten new
modules under src/ (axis-scores, candidate-eval, candidate-ranking, fleet,
plans, quota-economy, quota-pools, reference-data, task-intake, user-scores).
The task profile now carries axis_demand (divergence, coding, aesthetics,
tool_operation, 0..3); rows with missing data are out of automatic routing but
can still be named. realtime_loop, the capability floor and the family/unknown
"generic row" scoring are gone. Includes the session-continuity change of
0.1.5/0.1.6 (magpie-community#791).

The package tests run on their own (no AgentCompass checkout, no network);
the comparison with the Python engine stays in the source repository.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
….1.4022

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant