Skip to content

fix(ci): close remaining uv sync diagnostic gaps (#8249) - #8446

Merged
ll7 merged 1 commit into
mainfrom
fix/issue-8249-diagnostic-boundary-20260904
Sep 4, 2026
Merged

fix(ci): close remaining uv sync diagnostic gaps (#8249)#8446
ll7 merged 1 commit into
mainfrom
fix/issue-8249-diagnostic-boundary-20260904

Conversation

@ll7

@ll7 ll7 commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Summary

This successor closes the remaining boundedness gap in the CI ci_uv_sync_diag probe. It removes
the unbounded uv cache size traversal and makes both advisory du probes deadline-aware and
diagnostically explicit.

Linked Issues

Stack / Dependency

  • Base dependency: none.
  • Required prior PRs and stack follow-up issues: none.
  • Safe to review independently: yes; the branch is based on current main.

What Changed

  • Removed the redundant uv cache size cache-root traversal.
  • Require a positive ROBOT_SF_DIAG_DU_TIMEOUT_SECONDS value, defaulting invalid values (including
    zero) to 10 seconds.
  • Detect GNU timeout(1) explicitly and use --kill-after=2s after the configured deadline.
  • Emit ok, timed-out, or error sizing status markers and exit codes for cache and virtualenv
    probes.
  • Added deterministic tests for the unbounded-uv regression, zero timeout, hard timeout timing,
    non-timeout errors, no-GNU fallback behavior, and the script contract.

Why It Matters

The diagnostic remains advisory and exits zero, while its expensive cache and virtual-environment
walks no longer hide failures or consume the full readiness test budget. Hosts without GNU
timeout(1) retain the prior direct-du fallback and ordinary output keys.

Research / Evidence Notes

Not applicable — this is a CI/tooling reliability change with no research, benchmark, metric, or
paper-facing claim.

Validation / Proof

  • tests/dev/test_ci_uv_sync_diag.py: 12 passed.
  • tests/test_ci_script_contract.py: 153 passed.
  • bash -n scripts/dev/ci_uv_sync_diag.sh: passed.
  • Ruff check and format checks for both changed Python test files: passed.
  • BASE_REF=origin/main PR_READY_MODE=final ... scripts/dev/pr_ready_check.sh: passed on
    committed head 8e7015c578279c1d4e1dd31279b0143bf9161eec against base
    5f476625eba9c4ae2fa5770781852b78c865fd8b.

Risks / Rollback

The no-GNU fallback remains intentionally unbounded for compatibility with stock macOS-style
hosts. Revert commit 8e7015c57 to restore the preceding diagnostic implementation if needed.

Docs / Provenance

No durable benchmark or model artifacts were produced. Readiness receipts remain worktree-local
ignored output; the source contract and reproducible test fixtures are tracked in this PR.

Downstream Propagation

Not applicable — support/tooling change; no benchmark, metric, model, claim-map, registry, or
durable evidence update is required.

Follow-Up / Residual Scope

No deferred work remains for this implementation slice. Issue #8249 is reopened for this PR; this
is the immediate successor requested for the remaining uv sync diagnostic gaps.

Reviewer Notes

  • Verify that uv cache size is absent from the executable path and that the later bounded du
    remains the sole cache-size traversal.
  • Verify that timeout expirations are not attributed to host contention without evidence and that
    non-timeout tool failures remain visible.

@github-actions github-actions Bot added the review-bot-auto Managed label that routes code-bearing PRs to CodeRabbit. label Sep 4, 2026
@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: 81b0cd43-453b-41f9-aeda-41513bbad9fd


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

🔍 PR Contract Check Summary

Overall Status: 🟢 PASSED

Check Status Description
1. Closes-discipline ✅ PASSED Demand Refs #N for epic issues
2. Closure declaration ⚠️ WARNING Require Closes/Refs for title issues
3. State-refresh-only ✅ PASSED Reject docs/context state updates
4. Evidence hygiene ✅ PASSED Checks markers and provenance fields
5. Evidence writer usage ✅ PASSED Require the shared marked writer path
6. Successor discipline ⚠️ WARNING Require successor statement on multi-PR issues
7. Worker-lane label ⚪ None Label PRs from cheap worker lane
8. Placeholder docstring ratchet ✅ PASSED Reject NEW TODO/empty docstrings in added diff lines

⚠️ Warnings

ℹ️ Info

  • No worker-lane provenance detected.

This check is mechanized. Please resolve any blockers to pass CI.

@ll7 ll7 left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exact-head implementation review

Reviewed PR #8446 at exact head 8e7015c578279c1d4e1dd31279b0143bf9161eec against
origin/main 5f476625eba9c4ae2fa5770781852b78c865fd8b.

Scope and design

This is a support/tooling-only successor for #8249. It removes the unbounded uv cache size
probe, bounds GNU du calls with an explicit positive timeout and kill-after grace period, keeps
the direct-du fallback for hosts without GNU timeout, and exposes timeout/error markers while
preserving advisory zero-exit behavior. It makes no research, benchmark, model, metric, or
paper-facing claim.

Validation

  • pytest -q tests/dev/test_ci_uv_sync_diag.py tests/test_ci_script_contract.py — 165 passed.
  • Ruff 0.16.5 check/format, bash -n scripts/dev/ci_uv_sync_diag.sh,
    git diff --check, and clean git merge-tree --write-tree origin/main HEAD — passed.
  • Hosted status is not yet terminal: smoke-artifacts and changed-coverage-gate remain in
    progress, so no hosted success is inferred.

Findings and disposition

No actionable P0–P3 implementation finding was identified. The timeout detection, GNU capability
check, non-timeout error reporting, compatibility fallback, and no-uv cache size contract are
covered by the focused tests. The PR is current-base, non-draft, and has no domain or evidence
hold in its declared contract; final admission still requires terminal hosted checks and the
repository’s guarded merge receipt.

Decision: accept the implementation slice provisionally, subject to exact-head hosted checks and
the canonical receipt. No source repair is required.

gate-verdict: accepted @ 8e7015c
pr-metadata: reconciled @ 4f7a712bc6fa0d761e1bcfcc6053a318b46e3b39658b8951284e208764e9b345

@ll7 ll7 left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exact-head implementation review

Reviewed PR #8446 at exact head 8e7015c578279c1d4e1dd31279b0143bf9161eec against
origin/main 5f476625eba9c4ae2fa5770781852b78c865fd8b.

This is a support/tooling-only successor for #8249. It removes the unbounded uv cache size
probe, bounds GNU du calls with an explicit positive timeout and kill-after grace period, keeps
the direct-du fallback for hosts without GNU timeout, and exposes timeout/error markers while
preserving advisory zero-exit behavior. It makes no research, benchmark, model, metric, or
paper-facing claim.

The focused proof passed: 165 passed across the changed diagnostic and script-contract tests;
Ruff 0.16.5, formatting, shell syntax, diff, and merge-tree checks passed. Hosted CI is now
terminal for this exact head with 32 success and 1 skipped checks. No actionable P0–P3
implementation finding was identified, and no domain, scientific-evidence, legal, security, or
dependency hold is declared. The implementation is accepted for the guarded merge path, subject
to the repository’s exact-head merge receipt and merge-queue gate.

Decision: accept this tooling slice. No source repair is required.

gate-verdict: accepted @ 8e7015c
pr-metadata: reconciled @ b546fe9f1c49ed8eae046bcfffa581cbf3935f64751e8f7fa2699ba138c56b4d

@ll7 ll7 added the merge-ready Verified by the PR gate and ready to merge label Sep 4, 2026
@ll7
ll7 merged commit a2bf333 into main Sep 4, 2026
34 checks passed
@ll7
ll7 deleted the fix/issue-8249-diagnostic-boundary-20260904 branch September 4, 2026 21:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-ready Verified by the PR gate and ready to merge review-bot-auto Managed label that routes code-bearing PRs to CodeRabbit.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant