M01: Resource registry, state, and collectors for executable resources #86
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
P1
P2
P3
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#88 M03: OpenAI-compatible gateway and execution coordinator
Creatidy/scarcity-router
#95 M10: Distribution, installation, update, and end-to-end acceptance
Creatidy/scarcity-router
#85 A0: Architecture, decisions, and contracts for the optional execution gateway
Creatidy/scarcity-router
Reference
Creatidy/scarcity-router#86
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Extend the existing domain models and collectors so they represent executable resources (HTTP providers, worker-backed providers, local Ollama, CLI/app adapters) without moving routing decisions into telemetry collection.
Module of the execution-gateway program; architecture and contracts come from A0 (#85).
User value
The router can see — and honestly qualify — every resource it may route to: what it is, whether it is reachable, how fresh the observation is, what it costs, and whether it shares a quota pool, so routing never guesses.
Relationship to current code
scarcity_router/capacity.py(CapacitySnapshot v3),scarcity_router/selection_types.py(ModelIdentity, CapacityScopeRef, capacity_bindings),scarcity_router/providers/*(Codex + Z.ai collectors),scarcity_router/eligibility.py(D-039 ExecutionEligibility v1) andscarcity_router/status.py.Scope
Non-goals
Contracts / interfaces affected
Capacity contract (v3 → additive or explicit v4 per A0); ExecutionEligibility v1 (preserved); new versioned resource/state snapshot contract (A0); status envelope (additive fields only under machine-interface v1 rules).
Dependencies
Acceptance criteria
uv sync --only-dev && make check && uv run basedpyright && git diff --checkgreen.Security considerations
Collectors keep the existing security model (D-009/D-018): credentials are transient input, HTTPS + exact-host validation, no endpoint overrides, fail-closed telemetry. Worker-reported state is authenticated input (M05 identity); malformed reports are rejected/reported, never merged silently.
Risks
Evidence still required