Handover: v1.21.0 Release — KG-Driven Runner, Provider Probe Fixes, Model Roster Update

Date: 2026-06-22 10:10 BST (updated 20:30 BST) Session: ADF PR gate restoration, v1.21.0 release, KG-driven allowlist, provider probe C1 chain (4 PRs), taxonomy model roster update Branch: main (clean, synced to both remotes) Tag: v1.21.0

Progress Summary

Tasks Completed

  1. ADF PR gate restored — Repaired bigbox git repo corruption, restarted orchestrator, verified status checks post correctly.

  2. v1.21.0 released — 20 PRs merged, 14 duplicates closed, tagged v1.21.0 on both remotes. KG-driven TaxonomyPlanner replaces hardcoded allowlist. Full release notes on Gitea.

  3. Provider probe C1 fix chain (terraphim-agents PRs #54, #55, #56, #57):

    • #54: C1 allow-list check for bare models + provider prefix stripping for CLI substitution
    • #55: split_once (not rsplit_once) for multi-segment model IDs + provider alias C1 fallback
    • #56: CLI-aware stripping — only strip prefix when template has --provider (pi-rust needs bare, opencode needs full)
    • #57: Shared is_allowed_model(model, provider) helper in config.rs, used by both probe and spawn-time gate in pr_handlers_impl.rs
    • Codex structural review (rounds 1+2), 25 tests, clippy clean
  4. Model roster updated — GLM-5.2 and MiniMax-M3 added to all 4 ADF taxonomy tiers (planning, decision, implementation, review). Model ID corrected from MiniMax-3 to MiniMax-M3. Old models retained as fallbacks.

  5. Weather report verified — 24 models available (up from 5 at start of probe work). All pi-rust routes healthy. opencode routes fixed (5 routes went OFFLINE → FAIR). Remaining failures are provider-side (Kimi slow, Claude auth).

  6. pi-rust feature request filed — github.com/earendil-works/pi/issues/5972 (auto-closed, awaiting triage). Requests acceptance of qualified provider/model string to match opencode's convention.

Current State

  • terraphim-ai: 87212317f on main, both remotes converged
  • terraphim-agents: 0a093aa on main
  • ADF orchestrator: Active, reconcile 728ms, stale queue 0
  • Weather report: 24 FAIR models across 4 tiers

Technical Context

# terraphim-ai
87212317f fix(taxonomy): correct model ID MiniMax-3 -> MiniMax-M3
d3ff2093e feat(taxonomy): add GLM-5.2 and MiniMax-3 to ADF routing tiers
61b5e3786 release: bump workspace version to 1.21.0

# terraphim-agents
0a093aa fix(spawn): use shared is_allowed_model helper for C1 gate in pr_handlers_impl
67f1943 fix(probe): CLI-aware model stripping — only strip prefix for --provider CLIs
500e00c fix(probe): split_once for multi-segment models and provider alias C1 fallback
a48a8ea fix(probe): strip provider prefix before CLI substitution and use provider for C1 check

# Remotes — converged (empty diff)
git diff origin/main github/main --stat

Key Files Changed

| File | Change | |------|--------| | crates/terraphim_orchestrator/src/config.rs | New is_allowed_model(model, provider) shared C1 helper | | crates/terraphim_orchestrator/src/provider_probe.rs | CLI-aware stripping, shared helper, 25 tests | | crates/terraphim_orchestrator/src/pr_handlers_impl.rs:238 | Spawn gate uses is_allowed_model(routed_model, provider.name) | | docs/taxonomy/routing_scenarios/adf/*.md | GLM-5.2 + MiniMax-M3 added to all 4 tiers | | crates/terraphim_gitea_runner/src/taxonomy_policy.rs | TaxonomyPlanner (KG-driven allowlist, v1.21.0) |

Resume Steps

  1. Weather report path dep hackterraphim_weather_report depends on terraphim_orchestrator v1.20.2 from registry. To run with fixes: temporarily change Cargo.toml to path dep on /home/alex/projects/terraphim/terraphim-agents/crates/terraphim_orchestrator. Proper fix: publish terraphim_orchestrator 1.20.3+ to registry, or move weather report crate into terraphim-agents.

  2. Claude CLI authsonnet/opus OFFLINE on bigbox. Re-auth with claude interactive login.

  3. v1.22.0 backlog — #2694 (runner reliability), #2783 (RUSTDOC env), #2696 (flaky tests), dependabot majors (axum 0.8, ureq 3.0).

  4. Kimi models slow — k2p5/k2p6 STORMY (15s timeout). May need probe timeout increase or provider investigation.

  5. floor_char_boundary in test targetscargo check --workspace --all-targets fails. Only affects test code, not runtime.

Critical Context

  • terraphim_gitea_runner is excluded from workspace Cargo.toml. Temporarily remove from exclude list to build/test locally.
  • The C1 allow-list (is_allowed_provider / is_allowed_model) is the security boundary: it determines which providers can launch agents. Banned prefixes (opencode/, github-copilot/, google/, huggingface/, minimax/) take precedence over allowed ones.
  • ADF status checks are API-posted by ADF agents, not Gitea Actions. Do NOT create .gitea/workflows/.
  • Bigbox repo at /data/projects/terraphim/terraphim-ai has origin = Gitea. Agent code at /home/alex/projects/terraphim/terraphim-agents.
  • Binary: /usr/local/bin/adf built from terraphim-agents repo.