Observed contract break
A natural priority-zero private quality run completed green with 20 placed GitHub jobs and one skipped job. The deployed eligibility query initially returned 27 queue UUID rows because stale/retried intents that never started were not excluded; PR #205 fixes that false-positive path.
After applying the corrected SQL live, only 16 unique UUIDs have a queue.running span for the exact workflow run. The four missing jobs are downstream jobs created after dependencies and all ran successfully on distinct ephemeral runners. They lasted from five seconds to about one minute.
At the same observation boundary:
- GitHub placed jobs: 20
- run-scoped
queue.running UUIDs: 16
- duplicate names after requiring running: 0
- active intents missing workflow run id beyond the two-minute grace: 24
- uncovered running: 0
- running without runner identity: 0
- running direct-JIT without AcquireJobs request id: expected and separately classified
Why it matters
The public query contract says eligibility ends at JobStarted and groups an exact job by queue UUID. A short direct-JIT job can start and finish before the authoritative DB reconciler enriches its sparse organization-scoped intent. Its runner execution is real, but the run id never reaches the emitted queue.running span, so a complete run-scoped latency cohort cannot be reconstructed.
This blocks honest acceptance of #174: counting all pre-start UUIDs overcounts unplaced retries; requiring queue.running correctly removes them but exposes four missing started correlations.
Required outcome
Bind workflow run id and job display name to the exact running intent before or at queue.running emission for short downstream direct-JIT jobs. Do not require an AcquireJobs runner request id on this path, invent correlation from job names, or include execution duration in eligibility. Regression evidence needs one batch containing sparse JobAssigned/JobStarted data and an authoritative stored job identity, plus a short-job case that terminalizes before periodic reconciliation.
Observed contract break
A natural priority-zero private quality run completed green with 20 placed GitHub jobs and one skipped job. The deployed eligibility query initially returned 27 queue UUID rows because stale/retried intents that never started were not excluded; PR #205 fixes that false-positive path.
After applying the corrected SQL live, only 16 unique UUIDs have a
queue.runningspan for the exact workflow run. The four missing jobs are downstream jobs created after dependencies and all ran successfully on distinct ephemeral runners. They lasted from five seconds to about one minute.At the same observation boundary:
queue.runningUUIDs: 16Why it matters
The public query contract says eligibility ends at JobStarted and groups an exact job by queue UUID. A short direct-JIT job can start and finish before the authoritative DB reconciler enriches its sparse organization-scoped intent. Its runner execution is real, but the run id never reaches the emitted
queue.runningspan, so a complete run-scoped latency cohort cannot be reconstructed.This blocks honest acceptance of #174: counting all pre-start UUIDs overcounts unplaced retries; requiring
queue.runningcorrectly removes them but exposes four missing started correlations.Required outcome
Bind workflow run id and job display name to the exact running intent before or at
queue.runningemission for short downstream direct-JIT jobs. Do not require an AcquireJobs runner request id on this path, invent correlation from job names, or include execution duration in eligibility. Regression evidence needs one batch containing sparse JobAssigned/JobStarted data and an authoritative stored job identity, plus a short-job case that terminalizes before periodic reconciliation.