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.