Skip to content

Require hard per-cell provider cap and normalized termination receipt #61

Description

@myobie

Problem

The preregistered vrs-catalog-activation-present / vrs-catalog-activation-absent provider pair is held because the current provider launch path cannot guarantee both of these properties:

  1. a hard USD 0.05 cap enforced before and during each cell; and
  2. exactly one normalized usage/cost receipt available after every provider termination, including product failure and watchdog timeout.

Source-level command assertions are insufficient. If a provider process is externally terminated before its usage data is durably emitted, the runner cannot safely distinguish a product timeout from an infrastructure/accounting failure.

This is the external capability blocking the paid half of draft PR #60. The PR's model-free A–D proof and living-spec judge remain frozen; no paid result is inferred.

Required adapter contract

Before launch, the selected provider path must prove a real hard ceiling of USD 0.05 for the complete cell.

After termination, it must emit exactly one normalized receipt bound to:

  • schema version;
  • exact cell;
  • provider and model;
  • non-negative integer input/output token counts;
  • actual cost_usd;
  • exact budget_usd: 0.05; and
  • termination status: pass, fail, timeout, or error.

The runner must durably persist the receipt before verdict classification.

Acceptance

The existing public model-free boundary harness in PR #60 must remain green:

  • product FAIL plus valid under-budget receipt persists, then paired control runs;
  • watchdog timeout plus valid under-budget timeout receipt persists, then paired control runs;
  • missing or malformed receipt writes STOPPED before control; and
  • valid over-budget receipt persists, then writes STOPPED before control.

A real adapter acceptance must additionally prove that its cap is enforced by the provider path and that timeout teardown cannot race or erase the receipt. Provider-specific work belongs to the owning adapter/runtime repository; this evals issue owns the cross-repo acceptance dependency and unblock criteria.

Guardrails

  • Do not weaken the VRS living-spec judge.
  • Do not alter the frozen matched inputs to manufacture a result.
  • Do not infer authorization for a provider run from this issue.
  • Keep the pair held until an exact owner-reviewed adapter source and immutable capability receipt are linked here.

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