Normalize what exists.
Read the minimum provider metadata needed to describe repositories, pull requests, environments, deployments, and preview branches.
Product
LintCycle builds a read-only lifecycle map across GitHub, Railway, and Supabase, then turns gaps in that map into explainable findings.
The lifecycle model
The order matters. A single old timestamp is not enough evidence to call infrastructure stale.
Read the minimum provider metadata needed to describe repositories, pull requests, environments, deployments, and preview branches.
Match provider resources with their originating repository and pull request using deterministic identifiers and lifecycle signals.
Classify stale, orphaned, missing, or unhealthy resources only when the available evidence clears the rule threshold.
Acknowledge, snooze, ignore, or resolve the finding. Complete any provider change manually in the provider itself.
Evidence before confidence
The resource, linked work, rule, evidence, confidence, and recommended manual action stay together.
preview/pr-284 is still active.The linked pull request was merged 12 days ago. Three independent signals agree on the correlation.
Conservative by default
Infrastructure naming is messy. When signals conflict or the originating work cannot be identified with enough confidence, LintCycle withholds the recommendation instead of dressing ambiguity up as certainty.
What the queue supports
Record that someone has reviewed the finding and understands the resource state.
Quiet a known exception while keeping the reason attached to the organization-scoped record.
Close the finding after the team verifies the lifecycle, without giving LintCycle destructive provider capability.
Close the loop
Start with one workspace, ten repositories, and the complete read-only product.