Skip to content

Expose local model resource signals for model-router budget optimizer #10

@mdheller

Description

@mdheller

Goal

Expose the local resource and model-profile signals required by SocioProphet/model-router to optimize agent execution routing by budget, quota, resource availability, latency, quality floor, and policy constraints.

Context

SocioProphet/model-router now defines:

  • schemas/agent-execution-budget-resource-optimizer.schema.json
  • examples/agent-execution-budget-resource-optimizer.default.json
  • tools/validate_agent_execution_budget_resource_optimizers.py
  • docs/budget-resource-optimizer.md

The optimizer needs SourceOS-local signals to decide whether to use no-model, local-cheap, cheap hosted, standard, high-end, or pro lanes.

Required signals

Expose a stable local resource snapshot containing:

  • local model profile availability
  • local model service health
  • battery state
  • thermal state
  • memory available bytes
  • disk available bytes if relevant
  • accelerator availability if present
  • network availability
  • estimated local model admission safety
  • supported local profile refs, including:
    • urn:srcos:model-profile:local-llama32-1b
    • urn:srcos:model-profile:local-llama32-3b

Required behavior

  1. Add a schema or example for local resource/model-door health signals.
  2. Add a lightweight collector or fixture that emits the required snapshot.
  3. Fail closed when local health cannot be determined.
  4. Make the signal shape easy for model-router, agentplane, and guardrail-fabric to consume.
  5. Keep local model profiles local-only by default; do not authorize network/model download/prompt egress here.

Acceptance criteria

  • JSON example exists for a healthy local 1B profile.
  • JSON example exists for a constrained/denied local state, such as thermal critical or insufficient memory.
  • Validator rejects missing health/admission fields.
  • Docs explain how SourceOS Model Carry feeds AgentExecutionBudgetResourceOptimizer in SocioProphet/model-router.

Non-goals

  • Do not perform route selection here.
  • Do not own hosted provider quota accounting.
  • Do not authorize personal tuning or prompt egress.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions