Future Roadmap & Unaddressed Requirements¶
| Attribute | Value |
|---|---|
| Last Updated | 2026-02-10 |
| Purpose | Track requirements and features not yet implemented |
Overview¶
This document tracks requirements from the LRM Requirements Specification that are planned for future phases, along with architectural capabilities that have been designed but not yet implemented.
Living Document
This document is updated as features move from planned → in-progress → completed.
Priority Classification¶
| Priority | Meaning | Target Phase |
|---|---|---|
| P0 | Critical for MVP | Phase 1 (Current) |
| P1 | Required for production | Phase 2 |
| P2 | Deferred/Enhancement | Phase 3+ |
Deferred Requirements (P2)¶
Warm Pool (Pre-Provisioning) - FR-2.7.x¶
Status: 🔴 Not Started
| Requirement ID | Description |
|---|---|
| FR-2.7.1a | Maintain warm pool per LabletDefinition (if configured) |
| FR-2.7.1b | Warm pool = labs imported and stopped (not started) |
| FR-2.7.1c | Start warm lab instead of importing new |
| FR-2.7.1d | Replenish warm pool after consumption |
Rationale for Deferral: Warm pool adds operational complexity and cost (idle labs consume resources). Initial focus is on on-demand provisioning with acceptable startup times.
Dependencies:
- LabletDefinition
warm_pool_depthattribute (schema defined) - Lab import/stop automation (exists in lablet-controller)
- Pool replenishment background job
Estimated Effort: 2-3 sprints
Feature Flags - NFR-3.6.3¶
Status: 🔴 Not Started
| Requirement ID | Description |
|---|---|
| NFR-3.6.3 | Feature flags for gradual rollout |
Rationale for Deferral: Not required for initial deployment; can be added when multi-tenant or staged rollouts become necessary.
Recommended Approach:
- Use environment variables initially
- Consider LaunchDarkly or custom etcd-based flags later
Out of Scope (Future Versions)¶
Multi-Cloud Provider Support¶
Status: 🔵 Designed (SPI Ready)
The CloudProviderSPI abstraction is in place to support future cloud providers:
- AWS (implemented)
- Azure (planned)
- GCP (planned)
- On-premises VMware (planned)
Blocking Items:
- CML licensing model variations per cloud
- Region/zone mapping abstractions
Cross-Region Failover¶
Status: 🔴 Not Started
Per constraint A-5: "Region isolation acceptable (no cross-region failover)"
Future Considerations:
- MongoDB multi-region replication
- etcd cluster spanning regions
- DNS-based failover
Real-Time Collaborative Lab Sessions¶
Status: 🔴 Not Started
Multiple users interacting with the same lab simultaneously.
Blocking Items:
- CML API limitations
- Conflict resolution for concurrent edits
- Session multiplexing
Custom Node Definition Management¶
Status: 🔴 Not Started
User-defined CML node types and images.
Blocking Items:
- Image validation and security scanning
- Storage and distribution of custom images
- Licensing implications
Implementation Readiness¶
SPI Abstractions (Ready for Extension)¶
| SPI | Status | Implementations | ADR |
|---|---|---|---|
CloudProviderSPI |
✅ Defined | AWS only | - |
CMLSystemSPI |
✅ Defined | CML REST API | - |
CMLLabsSPI |
✅ Defined | CML REST API | - |
LabDeliverySPI |
✅ Required | LDS REST API | ADR-018 |
GradingSPI |
🟡 Planned | Grading Engine integration | - |
LabDeliverySPI Promoted
As of ADR-018, LabDeliverySPI moved from "Planned" to "Required" for LabletInstance provisioning. See FR-2.2.5 LabSession Provisioning.
Tracking¶
| Feature | Requirement | Status | Target Phase | ADR |
|---|---|---|---|---|
| LDS Integration | FR-2.2.5 | ✅ Designed | Phase 1 | ADR-018 |
| Warm Pool | FR-2.7.x | 🔴 Not Started | Phase 3 | - |
| Feature Flags | NFR-3.6.3 | 🔴 Not Started | Phase 3 | - |
| Multi-Cloud | C-5 | 🔵 Designed | Phase 4+ | - |
| Cross-Region | A-5 | 🔴 Not Started | Phase 4+ | - |
| Collaborative Labs | - | 🔴 Not Started | TBD | - |
| Custom Nodes | - | 🔴 Not Started | TBD | - |