Mechanics coverage

1 app · 25 documented behaviours · 4cf1665

perch

3 areas · 1 manual-only, 8 untested

25 behaviours account for 90% of 42 shipped surfaces. 4 gaps remain. One wave is open at 10/17, with 3 failing.

Surfaces covered 38/42
Behaviours with a linked test 16/25
Wave verified 10/17

Surface coverage

KindSurfaceClaimed Covered (claimed + ignored) IgnoredGaps
route route 10/12 0 2
api-route API route 4/5 0 1
convex-function Convex function 16/17 0 1
cron cron 3/3 0 0
http-endpoint HTTP endpoint 2/2 0 0
worker background worker 2/3 1 0
2 unclaimed routes
  • /
  • /login
1 unclaimed API route
  • /api/webhooks/stripe
1 unclaimed Convex function
  • monitors.exportCsv

Waves

WaveStatusVerified FailPending
2026-08-redesign
Dashboard redesign — behaviour parity
failing: perch.monitors.list-monitors, perch.monitors.inspect-monitor, perch.status-page.customise-branding
blocked: perch.monitors.delete-monitor
open 10/17 3 3

Behaviours

IDBehaviourArea ACsTests
perch.monitors.create-monitor Create a monitor for an endpoint p0 Monitors 4 1
perch.monitors.delete-monitor Delete a monitor and its history destructive Monitors 3 1
perch.monitors.edit-monitor Change a monitor's URL, interval or name Monitors 3 1
perch.monitors.inspect-monitor Inspect one monitor's history and uptime Monitors 3 1
perch.monitors.list-monitors See every monitor and its current state p0 Monitors 4 1
perch.monitors.pause-monitor Pause and resume a monitor Monitors 3 1
perch.monitors.probe-callback Accept results from an out-of-region probe Monitors 3 none
perch.monitors.prune-check-history Prune check results past the retention window destructive Monitors 3 none
perch.monitors.record-check-result Record the outcome of a probe p0 Monitors 4 none
perch.monitors.run-due-checks Run every check that has come due p0 Monitors 4 none
perch.incidents.acknowledge-incident Acknowledge an open incident p0 Incidents 3 1
perch.incidents.daily-digest Send a daily digest of yesterday Incidents 3 none
perch.incidents.inspect-incident Read one incident's timeline Incidents 3 1
perch.incidents.list-incidents See open and recent incidents p0 Incidents 3 1
perch.incidents.notify-on-incident Notify the configured channels when an incident opens p0 Incidents 3 1
perch.incidents.post-incident-update Post an update to an incident Incidents 3 1
perch.incidents.resolve-incident Resolve an incident by hand Incidents 3 manual
perch.status-page.configure-notifications Choose where alerts are delivered Status page 3 none
perch.status-page.confirm-subscription Confirm an email subscription Status page 3 1
perch.status-page.custom-domain Serve the status page from a customer domain draft Status page 3 none
perch.status-page.customise-branding Customise the status page's branding Status page 3 1
perch.status-page.rss-feed Follow a status page by RSS deprecated Status page 2 none
perch.status-page.subscribe-to-updates Subscribe by email to a status page Status page 3 1
perch.status-page.unsubscribe Unsubscribe from a status page destructive Status page 3 1
perch.status-page.view-public-status View a workspace's public status page p0 Status page 4 1