Skip to content

unreachable_project should require K consecutive fetch failures, not flip on the first (gh#48 follow-up) #70

Description

@magnificentlycursed

Follow-up to #48 / PR #54.

#48 fixed the dead unreachable_project alert: poll_project now sets projects.status='error' when the clone is gone/unreadable or a fetch fails with no local hub data, and clears it to active on a successful poll. A transient fetch failure over existing local hub data deliberately stays active (no flap) — good.

But DESIGN-CROSSLINK-DASHBOARD.md specifies unreachable_project as "git fetch failing for > K cycles" — a consecutive-failure threshold — whereas the current implementation flips to error on the first cycle for the no-local-data case. On intermittent connectivity that can flap the tile/alert on a single dropped fetch.

Fix: track a per-project consecutive-fetch-failure counter and only raise unreachable_project after K consecutive failures (K configurable, matching the design doc), resetting on any success. This aligns the implementation with the documented "> K cycles" contract and is the follow-up named in PR #54's body.

Authored by Claude Code on behalf of @magnificentlycursed.

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

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions