- Wrapped queue shutdown and cancel test assertions in `try`/`finally` blocks.
- Cancelled and awaited worker and in-flight tasks in finalizers to prevent lingering background tasks.
- Handled expected `CancelledError` exceptions during task cleanup with `suppress`.
Pinned MiniMax-M3 contextWindow to 1,000,000 for the minimax and minimax-cn bundled catalog entries during generation.
Added policy and bundled catalog regression coverage while leaving MiniMax coding-plan providers on upstream limits.
Fixes#2576
- Changed `omp_install_tokio_runtime` in `crates/pi-natives/src/lib.rs` from `pub const fn` to `pub fn`.
- Added `#[allow(clippy::missing_const_for_fn)]` to silence the missing-const suggestion for the binding function.
Rebasing onto current main landed both the coding-agent and catalog
vLLM entries under the released [15.12.6] section. Per AGENTS.md, new
entries go under [Unreleased] and released sections are immutable, so
the release tooling would otherwise miss them.
Addresses review feedback on #2451.
Read vLLM max_model_len and OpenAI-compatible context_length metadata during model discovery, route providers.vllm.baseUrl into built-in discovery before cached models exist, and avoid sending local placeholder bearer tokens.
Scope the vLLM model cache to the discovery base URL so endpoint changes refetch immediately, and add focused regression coverage for configured and built-in vLLM discovery.
Rebasing onto main replayed the branch's changelog history across main's
diverged changelog, duplicating the RPC prompt-completion note and
injecting stray entries/headers into the released [15.12.4] section.
Reset the changelog to main's content with exactly one entry under
[Unreleased] -> Added, per AGENTS.md (released sections are immutable).
Addresses review feedback on #2432.
The rebase landed the changelog entry inside the already-released
[15.12.4] section because its #2429 anchor was moved there when that
release was cut. Relocate it to [Unreleased] -> Fixed per changelog
convention.
Addresses review feedback on #2456.
modelFamilyToken's fallback chain checked kimi/qwen/minimax/gpt-oss/
deepseek/mimo but omitted GLM, even though parseGlmModel is already
imported here and GLM is a first-class catalog family. GLM ids fell
through to "", so ctx.models.family() split same-lineage provider
mirrors (zai/glm-5.2 vs zhipu-coding-plan/glm-5.2) by provider instead
of folding them. Add the GLM check plus a cross-mirror regression test.
The mandated fmt pass over this file also wraps the ./classify import,
which the PR's added parseKnownModel pushed to 122 cols (biome lineWidth
is 120 -> would otherwise fail `biome check` in CI).
Addresses review feedback on #2410.
Add a proxy-discovery regression: a `context_length: 0` upstream value
must be rejected by `toPositiveNumberOrUndefined` and fall back to the
default window. Raw `??` would have pinned it at 0 (nullish coalescing
does not skip 0), so this guards the should-fix the helper was added for.
Also apply biome formatting to the discovery change (collapse the
multiline `contextWindow:` expression, drop a trailing space) and the new
tests so `biome check` passes — the PR as submitted failed the formatter.
Addresses review feedback on #2466.
The PR added its `### Fixed` entry to packages/agent/CHANGELOG.md
(@oh-my-pi/pi-agent-core), but the change lives in the coding-agent
package (packages/coding-agent/src/config/model-discovery.ts). Per
AGENTS.md the changelog entry belongs in the touched package under
`## [Unreleased]`; the rebase also wedged the misplaced entry inside the
already-released `## [15.12.6]` section. Move it to
packages/coding-agent/CHANGELOG.md and restore packages/agent unchanged.
Addresses review feedback on #2466.
Updated model discovery to use `context_length` reported by the API when available, falling back to bundled reference data and default. Added `context_length` field to parsed model response and modified context window assignment logic.
Brings the mnemopi factRecall lexical-coverage scoring fix (closes#2441).
Dropped the PR's unrelated input-controller-escape / handoff-command test
edits (they predate and would weaken main's current escape-gesture tests);
those two files are kept at main's version.