Epic: #121 · Depends on: FM-711
Context
Users need to extend a ready lease without re-provisioning.
Goal
An audited lab.extend mutation that pushes the ready TTL deadline, bounded by the lease's absolute max lifetime, via API and fleetctl lab extend.
Architecture reference
docs/architecture/lab.md deadlines; ADR-0008.
Dependencies
FM-711
Research required
None.
Acceptance criteria
- Refused beyond max lifetime or in non-ready states; compare-and-set against the sweeper
- Authz entry and audit event
Non-goals
Tests
State-machine tests, sweeper race test, API/CLI contract.
Epic: #121 · Depends on: FM-711
Context
Users need to extend a ready lease without re-provisioning.
Goal
An audited
lab.extendmutation that pushes the ready TTL deadline, bounded by the lease's absolute max lifetime, via API andfleetctl lab extend.Architecture reference
docs/architecture/lab.mddeadlines; ADR-0008.Dependencies
FM-711
Research required
None.
Acceptance criteria
Non-goals
Tests
State-machine tests, sweeper race test, API/CLI contract.