Expire environments using leases rather than event delivery alone
A missed close event leaves a preview running indefinitely.
- Focused work estimate
- 3h + prerequisites
- Priority in the scenario
- High
- Engineering practice
- Leases · State machines
Estimated field mix
- Cloud infrastructure50%
- Distributed systems30%
- Platform engineering20%
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Review it, then add it to your workspace.
The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.
Project context
A fictional product team creates preview environments for pull requests. Forgotten environments accumulate cost, and shared test data leaks between reviews.
Setup prerequisites
- Author a local environment-provider double and synthetic pull-request events; provision no external resources.
Preceding work
Complete these dependencies, or supply their agreed outputs before taking this ticket.
- BENV-101 · Define review-environment identity independently of branch names
- BENV-102 · Set per-environment and per-team resource ceilings
- BENV-103 · Create environments through idempotent provider operations
- BENV-104 · Seed synthetic review data in isolated namespaces
- BENV-105 · Bind preview URLs and callbacks to the environment origin
Acceptance criteria
- Persist expiry and extension revisions.
- Reclaim expired environments through a periodic scan.
- Reject stale extensions after cleanup starts.
Implementation constraints
- Lifecycle state changes use explicit transitions.
Verification to include
- Expire an environment with no close event.
- Race extension and cleanup without resurrecting deleted state.
Deliverables
- Lease-based expiry.
Rollout and recovery
Start with dry-run expiry reports; enable cleanup after ownership checks.
Value of the work
For the engineer: Practice resource lifecycle state machines, isolation, and reconciliation.
For the team: Make review environments predictable, isolated, and accountable to a budget.
Evidence boundaries
Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.
Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.