A. Architecture: ExecutionSource + ModelInventory contracts #117

Closed
opened 2026-09-24 15:23:09 +00:00 by kilo · 1 comment
Member

Child A of #116 (Dynamic Execution Sources program).

Owns the smallest architecture amendment that introduces:

  • ExecutionSource — one configured, independently authenticated source of executable model capacity (e.g. source_id: personal-openai, type: codex_subscription, label, worker, entitlement). The user configures the SOURCE; the source discovers physical models; physical models remain exact execution targets. Concepts are never collapsed.
  • ModelInventory — typed, bounded, versioned contract safe for the worker protocol: physical model slug, supported reasoning efforts, source_id, observation timestamp, runtime/provider provenance, availability/auth state. Bounded entries/pages, no credentials, no arbitrary provider payloads, no raw model/list serialization — only normalized fields Scarcity Router needs. Explicit about observation time and provenance.
  • Model tracks — narrow stable family concept (e.g. openai/luna, openai/sol, openai/astra): a stable product/capability family, NOT a physical execution identity. Routing policy may reason about the track; the selected target is still the exact physical model/effort.
  • Derived exact resources — server materializes executable resources from inventory so administrators never hand-create one resource per model; the source owns the lifecycle; the resource remains exact.

Deliverables: numbered decision entry in docs/decisions.md (with alternatives + supersession language where a frozen contract is reconciled, never silently violated), architecture.md amendment, typed contracts with validation tests, recon of D-040…D-052 / worker protocol / server config / routing pins / quota-pool identity / Program Execution Mode rules recorded BEFORE implementation.

Constraints: inspect all relevant decisions first; no code around frozen contracts without explicit reconciliation. Design narrow extension seams only where concrete requirements need them (Codex is the first implementation). No plugin marketplace, no generic discovery DSL, no controller framework, no event bus, no credential vault, no distributed registry, no arbitrary dynamic adapter loading.

Child A of #116 (Dynamic Execution Sources program). Owns the smallest architecture amendment that introduces: - **ExecutionSource** — one configured, independently authenticated source of executable model capacity (e.g. `source_id: personal-openai`, `type: codex_subscription`, `label`, `worker`, `entitlement`). The user configures the SOURCE; the source discovers physical models; physical models remain exact execution targets. Concepts are never collapsed. - **ModelInventory** — typed, bounded, versioned contract safe for the worker protocol: physical model slug, supported reasoning efforts, `source_id`, observation timestamp, runtime/provider provenance, availability/auth state. Bounded entries/pages, no credentials, no arbitrary provider payloads, no raw `model/list` serialization — only normalized fields Scarcity Router needs. Explicit about observation time and provenance. - **Model tracks** — narrow stable family concept (e.g. `openai/luna`, `openai/sol`, `openai/astra`): a stable product/capability family, NOT a physical execution identity. Routing policy may reason about the track; the selected target is still the exact physical model/effort. - **Derived exact resources** — server materializes executable resources from inventory so administrators never hand-create one resource per model; the source owns the lifecycle; the resource remains exact. Deliverables: numbered decision entry in `docs/decisions.md` (with alternatives + supersession language where a frozen contract is reconciled, never silently violated), architecture.md amendment, typed contracts with validation tests, recon of D-040…D-052 / worker protocol / server config / routing pins / quota-pool identity / Program Execution Mode rules recorded BEFORE implementation. Constraints: inspect all relevant decisions first; no code around frozen contracts without explicit reconciliation. Design narrow extension seams only where concrete requirements need them (Codex is the first implementation). No plugin marketplace, no generic discovery DSL, no controller framework, no event bus, no credential vault, no distributed registry, no arbitrary dynamic adapter loading.
Author
Member

Closeout — implemented in merged PR #124 (merge commit a4370f0 into develop, head 9789c67; program #116 / D-053).

Child A delivered: D-053 architecture decision (docs/decisions.md) + architecture.md amendment; the ExecutionSource configuration domain (schema v2, additive); the typed, bounded, credential-free ModelInventory wire contract (model_inventory.py, schema v1 — strict JSON, cardinality/length caps, closed auth vocabulary); the reviewed track registry (model-trests... model-tracks.json: openai/luna, sol, astra floors; daybreak restricted) with the structural classifier (model_tracks.py); per-effort derived exact resources (<source_id>:<slug>:<effort>) with validated atomic adoption. Owner WIP note: unrelated D-054 effort-restriction edits in the local checkout are out of scope for this closeout.

**Closeout — implemented in merged PR #124** (merge commit `a4370f0` into `develop`, head `9789c67`; program #116 / D-053). Child A delivered: D-053 architecture decision (docs/decisions.md) + architecture.md amendment; the ExecutionSource configuration domain (schema v2, additive); the typed, bounded, credential-free ModelInventory wire contract (model_inventory.py, schema v1 — strict JSON, cardinality/length caps, closed auth vocabulary); the reviewed track registry (model-trests... `model-tracks.json`: openai/luna, sol, astra floors; daybreak restricted) with the structural classifier (model_tracks.py); per-effort derived exact resources (`<source_id>:<slug>:<effort>`) with validated atomic adoption. Owner WIP note: unrelated D-054 effort-restriction edits in the local checkout are out of scope for this closeout.
kilo closed this issue 2026-09-26 17:52:57 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Creatidy/scarcity-router#117
No description provided.