cavi-ai/
GitHub ↗

Adopt

Adopt is the resumable discover → verify → recommend workflow with durable evidence. State lives in one JSON handoff file; every phase persists atomically and resumes where it stopped.

bash
python3 scripts/mlx-agent adopt start --state ./adopt.json --role coding
python3 scripts/mlx-agent adopt resume --state ./adopt.json
python3 scripts/mlx-agent adopt status --state ./adopt.json

Verification evidence

Each shortlisted candidate gets an evidence record with an ordered strength:

StrengthMeaning
runtime_measuredBenched on this host (TTFT, tok/s).
runtime_testedGenerated and probed against a local runtime.
runtime_inventoryPresent in a runtime inventory, not generated.
metadata_onlyHub metadata inspected; model not local.
heuristic_onlyName/metadata heuristics only.

Role probes

Deterministic, synthetic, never LLM-judged: coding-v1 (AST parse + sandboxed exec), reasoning-v1 (exact numeric answer), vision-v1 (OCR of a bundled synthetic image), embedding-v1 (cosine ordering), and tool-use-v1 (schema-valid synthetic tool call). A failed probe rejects the candidate for that role; an unsupported runtime is recorded, never penalized.

adopt start --measure adds a bounded measure phase between verify and compare that benches verified candidates and upgrades their evidence to runtime_measured.

Tool-use is canonical: metadata is never verification. Only a schema-valid synthetic runtime tool call recommends a model as tool-use capable.