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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions