Skip to content

main has failing and flaky tests: 6 in cook::tests, 1 in http_api #11897

Description

@chubes4

Found while verifying unrelated branches during the tech-debt sweep — every branch I checked showed these, and none of them caused them.

homeboy-core — 1 deterministic failure

test http_api::http_api_test::artifact_content_serves_encoded_artifact_store_locator ... FAILED

Confirmed on origin/main at 0cad5a542 with a clean, isolated target dir. Fails identically on branches that do not touch http_api.rs.

homeboy-agents — 6 failures in cook::tests, and they are flaky

On origin/main:

cook_successful_concrete_attempt_publishes_reviewer_body
manual_preflight_intent_does_not_block_normal_cook_finalization
manual_preflight_recovers_without_a_persisted_promotion_and_rejects_tampering
recovered_cook_finalization_uses_latest_resumed_gate_contract
re_materialize_follow_up_baseline_recovers_after_worktree_deletion
replacement_gate_proof_recovers_failed_candidate_without_hiding_evidence_or_republishing

They are not stable. Consecutive runs of the same tree produced 9, then 5, then 6 failures, with overlapping but non-identical sets. The names point at worktree materialization, baseline re-materialization, and gate-proof recovery — all filesystem- and ordering-sensitive.

Why this matters more than the count

I only detected these by diffing failure lists between a branch and its merge base. A branch that genuinely broke one of these tests would be indistinguishable from the noise, and a reviewer seeing "6 failed" on their branch would reasonably assume it was theirs.

It also interacts badly with two things the sweep just landed:

  • CI shards are --changed-since-scoped, so a given shard may never run these.
  • #11835 bounded several poll loops with deadline-based tests. Flaky wall-clock tests in the same suite make it harder to tell a real timing regression from this background noise.

Suggested handling

  1. Fix or #[ignore] the deterministic http_api failure — a permanently-red test teaches people to ignore red.
  2. Triage the cook::tests six as a group. If they share a fixture-isolation root cause (likely, given the names), one fix probably covers them.
  3. Until then, consider a documented known-failing list so a branch author can diff against it, which is what I had to reconstruct by hand.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High — fix soonbugSomething isn't workingtech-debt-sweep2026-08-06 tech debt investigation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions