Repository navigation
Better handling of transient failures - #44
Merged
Merged
Conversation
Hard failures (500, DNS, SSL, etc.) create incidents immediately. Soft failures (502, 503, 504, timeout) only create incidents after 3 occurrences within an hour. Site status now shows three states: Up (green), Transient Failures (amber), Failures (red). Closes #39 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Updates to Preview Branch (feature/transient-failures) ↗︎
Tasks are run on every commit but only new migration files are pushed.
View logs for this Workflow Run ↗︎. |
Adds 4 sites with check histories demonstrating each status: - Healthy Site: all passing → Up (green) - Flaky Site: one 503 among passing checks → Transient Failures (amber) - Broken Site: one HTTP 500 → Failures (red) - Down Site: 6 consecutive 503s with open incident Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The seed runs before migrations, so the position column doesn't exist yet. The migration backfills positions alphabetically. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Collaborator
Author
|
I changed my mind. Forget the "site status" and drop that concept completely. Instead:
|
Instead of computing an aggregate site status from the last hour of checks, show red/amber/green based on the individual latest check (hard failure / soft failure / success). Removes computeSiteStatus and SiteStatus type. Renames main page header to "Latest checks". Removes the Up/Down/Transient status indicator from site detail page. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Collaborator
Author
|
The check log on the incident detail page is using a different display from the check log on the site detail page, and isn't following our new red/amber/green conventions. Please update the incident detail to use the same UI component as the site detail so they are always in sync. |
Unifies the check log display between site detail and incident detail pages. Both now use the same table with red/amber/green dot colors. The incident page passes triggeringCheckId to highlight the check that opened the incident. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Keeps SiteList component with drag-reorder from main, adds isSoftFailure 3-color dots. Seed uses position column. Header says "Latest checks". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
jasoncrawford
enabled auto-merge
February 22, 2026 22:37
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the spec from #39 — distinguishes between hard and soft check failures for smarter incident handling.
Files changed
src/lib/checker.tsisSoftFailure(),computeSiteStatus(), andSiteStatustypesrc/app/api/checks/run/route.tssrc/app/page.tsxsrc/app/sites/[id]/page.tsxsrc/__tests__/checker.test.tsisSoftFailureandcomputeSiteStatussrc/__tests__/check-runner.test.tsTest plan
Closes #39
🤖 Generated with Claude Code