Skip to content

Define host-time provider input bundle for agent kits #517

Closed

Description

@mogul

Goal

Define the generic, host-time contract by which provider kits expose provider facts and neutral model catalogs to agent kits. USAi must be one implementation of the contract, not a special case in consumers.

Scope

  • Define separate provider-facts and per-provider model-catalog artifacts.
  • Permit optional neutral model recommendations such as primary, small, and compaction.
  • Keep final harness role selection and all harness-native vocabulary in each agent kit.
  • Define stable packaged and projected paths, schema versions, identifiers, validation limits, and failure behavior.
  • Add a fictitious non-USAi provider fixture and CI schema validation.
  • Reconcile the host-time milestone with the ownership boundary in integrations/isolation/docs/decisions/0004-neutral-model-provider-discovery.md; the runtime orchestrator remains deferred.

Acceptance criteria

  • A fictitious provider validates without USAi-specific fields.
  • USAi validates as an ordinary provider instance.
  • Model catalogs contain no secrets, routing authority, or OpenCode-native keys.
  • Provider facts contain no OpenCode-native keys.
  • Recommendations are optional, provider-local model references and are explicitly advisory.
  • Invalid IDs, unsafe feed-controlled strings, duplicate IDs, malformed URLs, excessive model counts, and unknown required fields fail closed.
  • Validation runs in the repository CI path.
  • Offline USAi catalog generation remains deterministic.

Relationships

Parent milestone: #357.

Coordinates the consumed contract currently spread across #424, #435, and #456. It does not include the runtime aggregate tracked by #425.

AI-assisted issue drafting (OpenCode). Human review required.

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