Goal
Preserve the capability-aware routing foundation for a future concrete,
non-conversation workload without changing how ordinary conversations select
their runtime.
Reconciled status
The useful foundation is complete:
- canonical model/provider inventory and per-principal backend grants;
- a small capability vocabulary backed by adapter/runtime evidence;
- principal-scoped, read-only eligibility reports with accepted and rejected
candidate explanations;
- deterministic routing policy and durable decision evidence in the canonical
runtime layer;
- authorization, workspace, and service constraints that fail closed.
The initial consumer was not valid. PR #1213 exposed per-message task-class
routing in the Workshop composer and personal routing controls in Settings.
That interaction was an implementation assumption, not a demonstrated user
need. PR #1218 removed those controls and made Workshop reject caller-supplied
task_class values before creating a message, run, or artifact.
Ordinary Telegram and Workshop conversations therefore use only the
principal's explicitly selected backend and model. There is no hidden task
classification or automatic runtime switching.
Future-work gate
Do not resume this epic as a generic routing feature. Any future work must
start with a separate issue naming a concrete non-conversation consumer, such
as an automated workflow or explicit agent delegation, and must define:
- why one runtime cannot serve the workload;
- who explicitly requests or configures the route;
- the required capability and authorization evidence;
- visible decision and failure behaviour;
- evaluation criteria showing that routing improves the workload;
- confirmation that principal conversation defaults remain unchanged.
The existing schema and routing internals may remain dormant until such a
consumer exists. No destructive downgrade is required.
Outcome
The architectural foundation is retained, the premature user interaction is
removed, and this issue has no remaining actionable implementation scope.
Goal
Preserve the capability-aware routing foundation for a future concrete,
non-conversation workload without changing how ordinary conversations select
their runtime.
Reconciled status
The useful foundation is complete:
candidate explanations;
runtime layer;
The initial consumer was not valid. PR #1213 exposed per-message task-class
routing in the Workshop composer and personal routing controls in Settings.
That interaction was an implementation assumption, not a demonstrated user
need. PR #1218 removed those controls and made Workshop reject caller-supplied
task_classvalues before creating a message, run, or artifact.Ordinary Telegram and Workshop conversations therefore use only the
principal's explicitly selected backend and model. There is no hidden task
classification or automatic runtime switching.
Future-work gate
Do not resume this epic as a generic routing feature. Any future work must
start with a separate issue naming a concrete non-conversation consumer, such
as an automated workflow or explicit agent delegation, and must define:
The existing schema and routing internals may remain dormant until such a
consumer exists. No destructive downgrade is required.
Outcome
The architectural foundation is retained, the premature user interaction is
removed, and this issue has no remaining actionable implementation scope.