Skip to content
This repository was archived by the owner on Sep 4, 2026. It is now read-only.
This repository was archived by the owner on Sep 4, 2026. It is now read-only.

Default flip: Pi first with probe-order fallback + gate recertification policy (Phase 3 of #270) #398

Description

@ElbertePlinio

Phase 3 of #270 (Make Pi the default agent). Flip the default so Pi is the first option, with Claude Code and Codex as secondaries — honoring the umbrella's locked decisions: default ≠ only, existing explicit selections never migrated, graceful fallback when pi is absent or gate-incompatible.

Depends on: #397 (do not flip while PI_CAPABILITIES still stubs thinking-level, image input, or context reporting — "a default that demotes UX ships never").

Current state (verified 2026-07-27)

  • src/lib/chatDefaults.ts falls back to "claudeCode" in both selectableLastAgentProvider and loadLastAgentProvider.
  • selectableNativeAgentBackends (src/lib/agentBackends.ts) appends Pi after Claude/Codex, and only when isCompatiblePiRpcVersion passes.
  • Quick-launch chips have no Pi-first default.
  • The certified gate pins 0.79.10 ≤ v ≤ 0.81 (TS + Rust, kept in sync per the Make Pi the default agent for PickForge #270 Phase 0 boundary-matrix test). Installed today: 0.81.1 (passes). Once Pi is the default, any Pi release beyond the pin silently drops new installs back to Claude until recertified — the stale-pin trap Make Pi the default agent for PickForge #270 Phase 0 already hit once.

Scope

  1. Probe-order default: first-run/new-project default resolves pi → claude → codex; incompatible or missing pi falls back with a one-line hint, never a blocking prompt. Existing pickforge.lastAgentProvider values untouched.
  2. Ordering: Pi listed first in selectable backends and pickers when the gate passes.
  3. Quick-launch chips: Pi chip first, pinned to a cheap default model consistent with the chips policy in CLAUDE.md.
  4. Gate recertification policy: write down the workflow (headless RPC contract probe + micro dogfood, as run for 0.81) and where it lives, so widening the pin per Pi release is a routine small PR, not an investigation. Decide whether an installed-Pi-newer-than-pin state surfaces a hint in Settings.
  5. Copy + docs: Settings copy, onboarding hints, repo docs.
  6. Success metric (telemetry-free): define what convinces us the default sticks before closing Make Pi the default agent for PickForge #270 Phase 3.

Agent plan

Checklist:

  • Probe-order default + fallback hint + tests (no migration of stored selections — regression test)
  • Backend ordering + picker order + tests
  • Quick-launch chip default + tests
  • Gate recert workflow documented; Settings hint decision recorded
  • Copy/docs pass
  • Success metric written into Make Pi the default agent for PickForge #270
  • PR/review

Validation:

  • bun run build, bun run test:unit, bun run vrt (picker/chips order), cargo test --workspace --locked --all-targets
  • Manual: fresh-profile first run with pi present, with pi renamed away (fallback + hint), and with a stored codex selection (untouched)

PR plan

  • PR 1 — defaults + ordering + chips flip with fallback (single behavioral outcome)
  • PR 2 — gate recert doc + Settings hint (if adopted) + copy/docs

Refs #270, #212

Current status: Planned (blocked on Phase 2)
Next action: wait for Phase 2, then PR 1

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent-ideAgent IDE last-mileenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions