Skip to content

I0502 — Recommend a profile from measured cost, naming the measurements

Add the command that recommends a profile for a class of work from measured cost per accepted outcome, and prints the measurements the recommendation was derived from alongside it.

BLOCKED wave 1 · p3 · implementation profile · runs alone

Part of routing-recommendations — Routing recommendations derived from measured cost.

Blocked. This issue cannot start until I0501, milestone:routing-recommendations are done. The status is derived from that, not declared.

Objective

Add the command that recommends a profile for a class of work from measured cost per accepted outcome, and prints the measurements the recommendation was derived from alongside it.

Why

A recommendation whose basis is not printed is an opinion with a command around it. Naming the measurements is what makes it checkable, and being checkable is the only thing that separates this from advice.

Current state

Cost per accepted outcome is reported per outcome. Nothing recommends anything.

Desired state

Asking which profile a class of work should use returns a profile, the measurements behind it, and the group they came from.

Scope

  • lib
  • bin

Out of scope

  • Invoking a model, or choosing a provider on a worker's behalf

Dependencies

What waits on this

Acceptance criteria

  • Every recommendation lists the accepted outcomes and figures it was derived from
  • The recommendation names the group and how the group was derived
  • The command reads records and computes nothing that the cost layer already computes

Validation

  • bash test/run.sh

Evidence required

  • suite

Evidence

None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.

Risk

Following a recommendation produces the data that justifies it; the output has to record that the measurements postdate earlier recommendations.

Timeline

started
verified
completed

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I0502.yaml. Read it back with majordomus plan show I0502.