decisions: pplx-decider v1.1/v1.2 locally, with image and control flags
Brings the pplx deciders to wally decisions --local and lets the CLI drive the SDK's new decision controls.
- Consumes kit
cpp-desktop-v0.20.40(IDL 1.6.0, plugin API 14) and builds the Apple MLX host from the SDK commit that kit came from (c0cc8eb). The SDK side is RunanywhereAI/runanywhere-sdks#993. decisions --localnow takes--image, and adds--grouping joint|per-question,--max-length,--max-pixelsand--min-pixels. They are local only: a cloud run that sets one is refused. A model that cannot honour one refuses the call and names it.- Catalog:
pplx-decider-4b(pplx-decider-flash-v1.2, BF16, text and images), served from the runanywhere HF mirror and pinned to the upload commit, with a SHA-256 for every weight file. scripts/test/e2e-modalities.shgains opt-in decision cases (WALLY_E2E_DECISION,WALLY_E2E_DECISION_IMAGE).
Fixes on the way: the shipped 0.8.10 cannot load mlx-pplx-decider-27b-4bit (its MLX host predates the decider runtime); this build answers with it.
Tested on this Mac against the released kit: ctest 6/6, clippy, fmt, test ledger, versions, bindings and agents-sync checks. End to end with both pplx models: text, image, the controls and the refusals, 5/5. models pull pplx-decider-4b from the mirror into an empty home, then scoring with it, passes.
Known: the Apple MLX job resolves SDK Apple binaries for 0.20.40, and no SDK 0.20.40 release has been published, so that job may fail on the binary download.
Summary by cubic
Ships as wally 0.8.12: brings the pplx deciders to wally decisions --local, adds image scoring and the SDK's decision controls to the CLI, and fixes the 0.8.10 build, which could not load mlx-pplx-decider-27b-4bit because its MLX host predates the decider runtime.
--imagenow works locally, and--grouping joint|per-question,--max-length,--max-pixelsand--min-pixelsare local-only; setting one in a cloud run is refused, and a model that cannot honor one refuses the call naming it.- Adds
pplx-decider-4b(pplx-decider-flash-v1.2, BF16, text and images) to the catalog, served from the runanywhere HF mirror and pinned to the upload commit, with a SHA-256 for every weight file. - Consumes kit
cpp-desktop-v0.20.40(IDL 1.6.0, plugin API 14), whose windows-arm64 kit now carries llama.cpp, and builds the Apple MLX host from a fork branch carrying the v0.20.40 Apple binaries and their checksums (siddhesh/kit-0.20.40-swift), with resolved Swift packagesmlx-swift-lm3.31.11 andmlx-audio-swift0.1.9. modelsnow runs the downloaded sibling build of a merged decision row when the named build is not on disk, instead of refusing offline runs likedecisions --local; where the catalog hides the other build (MLX builds off Apple), no sibling is expected.models rmcan now remove a model whose catalog entry was renamed or dropped but that still shows inmodels list.- The Anthropic and Codex translators now drop null-valued fields from tool schemas, so MCP tools declaring optional parameters as
"default": nullno longer break MLX chat templates. - The Homebrew formula descriptions (stable and beta) now cover both local runs and the RunAnywhere account.
scripts/test/e2e-modalities.shgains opt-in decision cases (WALLY_E2E_DECISION,WALLY_E2E_DECISION_IMAGE).
Known limitations
- The Apple MLX job resolves the v0.20.40 Apple binaries from a fork branch, not a published release, so it depends on that branch staying up.
Summary by CodeRabbit
- New Features
- Added the Pplx Decider 4B v1.2 model for local decision-making with text and images.
- Local decision requests now support images and options for grouping, response length, and image-pixel limits.
- Added CLI options and help text for configuring these controls, including accepted values and defaults.
- Bug Fixes
- Local image requests are no longer rejected as cloud-only. Invalid option combinations and limits are reported with validation errors.