Skip to content

chat: --one-model still calls an independent Model Pool judge #1608

Closed

Description

@santoshkumarradha

Defect

codeaf chat --no-host --model deepseek/deepseek-v4.1-flash --one-model advertises that every text call uses the session model, but completed helper tasks trigger Model Pool judgments on another vendor. In a fresh isolated profile with every tier and task model pinned, live usage recorded z-ai/glm-5.3-flash in seat judge.

Replication

  1. Configure an OpenRouter key in a fresh profile. Set every model tier and task.model to deepseek/deepseek-v4.1-flash; leave Model Pool at its default.
  2. Run the command above in a small repository containing a CSV inventory.
  3. Ask CodeAF to inspect the repository, implement a CSV shopping-list CLI, and run its tests; allow a helper reading task to complete.
  4. Inspect the profile's v3/usage.jsonl: a judge receipt uses an unrelated model despite --one-model.

Cause

openV3Launch constructs poolJudgeHook and launches the pending judgment sweep independently of the one-model session policy. Pool judges intentionally exclude the crew vendor, so this cannot be repaired by silently substituting the worker as its own independent judge.

Acceptance

Under --one-model, completing a real task and opening a session with pending Pool records must produce no call to another model. Preserve the Pool's independent-judge contract: defer this optional judging work when the session policy cannot permit an independent model. Ordinary sessions retain judging. Live acceptance must include a completed task and usage-receipt verification, with focused regressions for both hook and startup sweep.

Found during extended acceptance of #1520, #1560, #1563, #1595, #1596 and #1597. Original recordings and receipts are preserved on Spark; failed runs will not be presented as satisfying single-model acceptance.

Activity

  1. added
    bugSomething the code does that it should not
    area:chatThe v3 surface a person sits in front of (internal/tui3)
    on Oct 3, 2026
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

    area:chatThe v3 surface a person sits in front of (internal/tui3)bugSomething the code does that it should not

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions