Skip to content

Expose observed model identity and single-lane semantics instead of presenting static policy selection as team routing #135

Description

@moonweave

Context

The current default model policy is a static lookup: runner lanes resolve to Codex (gpt-5.6-luna/gpt-5.6-sol) and reviewer lanes resolve to AGY (gemini-3.5-flash). The policy selects a requested adapter/model, but the model declaration layer correctly marks some adapter/model results as requested-unverified when the provider gives no reliable identity signal.

For the default code-change path, flowplan currently compiles one runner lane and records multi_model_execution: false. That is honest metadata, but the surrounding team/workflow surface still makes users ask whether a team or multi-model run actually occurred. A current plan also does not give one compact view of requested adapter/model, observed adapter/model, fallback, project-context identity, and the number of execution/reviewer lanes.

Why this matters

A static routing choice is not the same thing as an observed model execution. Without the distinction, operators cannot tell whether a requested model ran, whether a provider silently fell back, or whether a “team” run was only one execution lane. This makes benchmarking, incident review, and handoff decisions harder.

Requested contract

Make the distinction first-class in plan, run, status, and handoff output:

  • requested policy: role, tier, adapter, model, and budget;
  • observed execution: adapter/model identity and observation status;
  • fallback/unavailable/context-binding status;
  • lane counts with a prominent 1 execution lane / 0 reviewer lanes style summary;
  • an explicit multi-lane/multi-model opt-in or rolepack requirement rather than implying that the default single runner is a team.

This is a follow-up to the completed honest-labeling work in #33/#46, not a request to undo multi_model_execution: false.

Suggested acceptance criteria

  • JSON receipts/status expose requested vs observed identity without conflating them.
  • Unknown or unverified identity is visible and cannot be rendered as a confirmed benchmark result.
  • Human summaries state lane counts and reviewer presence plainly.
  • Tests cover the default single-lane code-change path and an explicit multi-lane path.

Evidence collected against the installed release set on 2026-07-26.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions