You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ExecutionProfile on Worker Binding (kingdom_set_execution_profile, OWNER-only under session-bound): { provider?, model? } decides who actually executes — the Worker Binding now truly
determines the runtime, not just the record.
ExecutorFactory is the single execution-resolution entry: assigned_binding_id → Binding → ExecutionProfile → executor; Core still depends only on WorkerExecutor.
Execution evidence columns on executions (SQL-queryable): executor_kind, provider, provider_source (binding/global-fallback), requested_model, resolved_model, model_source (binding/parent-inherited/unknown), plus an
immutable resolution snapshot JSON (requested/resolved/source).
Governance
Schema v2 (first versioned, transactional, idempotent migration): v1 DBs converge
on open; SCHEMA_VERSION=2 is now a truthful field.
binding.model_name is seat metadata only — ExecutorFactory MUST NOT read it
(hard invariant, test-locked).
resolved_model is what DSH runtime actually resolved (in-process observed); null = seam has no evidence, never "no model". Future transport telemetry adds observed_model.
No profile → compatible fallback to global workerProvider with explicit global-fallback + parent-inherited evidence.
M1-D Release Gate PASSED: live 3-run attribution experiment (E1 binding-specified,
E2 provider-only, E3 no-profile) — executions evidence columns match each case exactly, resolved_model observed from the real subagent runtime