Skip to content

friction: stabilize ci_uv_sync_diag timeout under shared-host load #8249

Description

@ll7

Archetype Metadata

archetype: test
evidence_tier: smoke
linked_policy: []

Goal / Problem

Make the CI ci_uv_sync_diag validation test reliable under the repository's normal shared-host
load. During the #8237 final readiness run, the diagnostic subprocess exceeded its 30-second test
timeout even though the same test module passed immediately when isolated.

Skipped or failing test evidence

  • Test path: tests/dev/test_ci_uv_sync_diag.py::test_ci_uv_sync_diag_reports_runner_and_uv_state
  • Failing command: PR_READY_MODE=final BASE_REF=origin/main scripts/dev/pr_ready_check.sh
  • Observed result on 2026-09-01: the core lane reported one failure after the diagnostic subprocess
    timed out at 30 seconds; 5,653 other tests passed and 3 were skipped.
  • Isolated result: uv run pytest tests/dev/test_ci_uv_sync_diag.py -q passed all 7 tests in 2.46s.

Inputs

Intended behavior

The diagnostic test should complete reliably within the repository's supported validation
environment, or its timeout/resource policy should fail with a clear classification rather than
creating an ambiguous full-gate failure.

Scope

In scope:

  • Identify whether the timeout is caused by subprocess startup, uv/filesystem contention, or an
    undersized test timeout.
  • Add deterministic regression coverage or an appropriately bounded timeout/resource guard.

Non-goals:

Acceptance criteria

  • The full readiness lane no longer fails spuriously on the diagnostic timeout under supported
    shared-host load.
  • The isolated diagnostic test and its relevant CI script contract tests pass.
  • Any timeout increase or retry is justified by measured startup/resource behavior and remains
    bounded.
  • The result distinguishes a real uv/runner failure from host-contention noise.

Targeted validation

uv run pytest tests/dev/test_ci_uv_sync_diag.py tests/test_ci_script_contract.py -q
BASE_REF=origin/main scripts/dev/pr_ready_check.sh

Artifact policy

Evidence category: disposable validation output; no benchmark or release artifact is produced.

Keep output/ logs and coverage files untracked and worktree-local. Promote only a small
reproducible fixture or report if the diagnosis establishes a durable contract.

Blocked / ready state

blocked by flaky environment

Estimate metadata

Effort (h): 2
Complexity: low to medium
Risk: low; test-infrastructure-only, but timeout changes can mask real failures
Uncertainty: medium; the isolated pass suggests shared-host contention, but the exact bottleneck is
not yet measured.

Validation / Testing

  • Reproduce or characterize the timeout with bounded shared-host load.
  • Run the targeted diagnostic and script-contract tests.
  • Run the canonical readiness gate and record whether the result is clean.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions