Skip to content

Make query capacity cells satisfiable without drain-inflated evidence #39

Description

@rmcdaniel

Problem

The versioned capacity controller intentionally keeps query-inspection workflows open for the full measurement window and sends capacity.v1.finish only after measurement admission stops. Completion is therefore recorded in drain. The reducer applies the universal measurement-window completion rule to every cell, so query-inspection always has zero measurement completions. In mixed, the declared 15% query cohort also completes only in drain, which makes the universal 0.99 measurement completion ratio unattainable.

This is fail-closed, but it means two required benchmark cells cannot produce a maximum sustained operating point regardless of actual Server capacity.

Acceptance criteria

  • Define workload-specific eligibility for long-lived query workflows so a complete query measurement window can qualify without counting drain completion as measurement throughput.
  • Keep drain convergence mandatory and prevent drain completions, errors, dispatches, or latencies from improving measurement evidence.
  • Make the mixed-cell completion denominator and query cohort semantics satisfiable while preserving the declared deterministic mix.
  • Apply identical semantics to PHP, Python, and Rust executions.
  • Add controller/reducer coverage proving compliant query and mixed runs can qualify and insufficient or drain-inflated evidence still fails closed.

Delete when

Delete when every first-party binding can produce eligible query-inspection and mixed results under compliant evidence, while adversarial drain-only performance cannot qualify either cell.

Metadata

Metadata

Assignees

No one assigned

    Labels

    authority:githubGitHub is the authoritative lifecycle record for this workbeta:compatibleMay be completed without changing the frozen beta contractkind:defectA public product behavior is incorrectpriority:P2Normal-priority product workrepo:serverOwned by the standalone server repositorystatus:readyReady for implementation

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions