photoncloud-monorepo/docs/por/T003-feature-gaps/T003-report.md
centra a7ec7e2158 Add T026 practical test + k8shost to flake + workspace files
- Created T026-practical-test task.yaml for MVP smoke testing
- Added k8shost-server to flake.nix (packages, apps, overlays)
- Staged all workspace directories for nix flake build
- Updated flake.nix shellHook to include k8shost

Resolves: T026.S1 blocker (R8 - nix submodule visibility)
2025-12-09 06:07:50 +09:00

104 lines
3.2 KiB
Markdown

# T003 Feature Gap Analysis - Consolidated Report
**Date**: 2025-12-08
**Status**: COMPLETE
## Executive Summary
| Component | Impl % | P0 Gaps | P1 Gaps | P2 Gaps | Est. Effort |
|-----------|--------|---------|---------|---------|-------------|
| chainfire | 62.5% | 3 | 5 | 0 | 2-3 weeks |
| flaredb | 54.5% | 1 | 5 | 4 | 3-4 weeks |
| iam | 84% | 2 | 4 | 2 | 2-3 weeks |
| **Total** | 67% | **6** | **14** | **6** | **7-10 weeks** |
## Critical P0 Blockers
These MUST be resolved before "Next" phase production deployment:
### 1. FlareDB: Persistent Raft Storage
- **Impact**: DATA LOSS on restart
- **Complexity**: Large (1-2 weeks)
- **Location**: flaredb-raft/src/storage.rs (in-memory only)
- **Action**: Implement RocksDB-backed Raft log/state persistence
### 2. Chainfire: Lease Service
- **Impact**: No TTL expiration, etcd compatibility broken
- **Complexity**: Medium (3-5 days)
- **Location**: Missing gRPC service
- **Action**: Implement Lease service with expiration worker
### 3. Chainfire: Read Consistency
- **Impact**: Stale reads on followers
- **Complexity**: Small (1-2 days)
- **Location**: kv_service.rs
- **Action**: Implement linearizable/serializable read modes
### 4. Chainfire: Range in Transactions
- **Impact**: Atomic read-then-write patterns broken
- **Complexity**: Small (1-2 days)
- **Location**: kv_service.rs:224-229
- **Action**: Fix dummy Delete op return
### 5. IAM: Health Endpoints
- **Impact**: Cannot deploy to K8s/load balancers
- **Complexity**: Small (1 day)
- **Action**: Add /health and /ready endpoints
### 6. IAM: Metrics/Monitoring
- **Impact**: No observability
- **Complexity**: Small (1-2 days)
- **Action**: Add Prometheus metrics
## Recommendations
### Before PlasmaVMC Design
1. **Week 1-2**: FlareDB persistent storage (P0 blocker)
2. **Week 2-3**: Chainfire lease + consistency (P0 blockers)
3. **Week 3**: IAM health/metrics (P0 blockers)
4. **Week 4**: Critical P1 items (region splitting, CLI, audit)
### Parallel Track Option
- IAM P0s are small (3 days) - can start PlasmaVMC design after IAM P0s
- FlareDB P0 is large - must complete before FlareDB goes to production
## Effort Breakdown
| Priority | Count | Effort |
|----------|-------|--------|
| P0 | 6 | 2-3 weeks |
| P1 | 14 | 3-4 weeks |
| P2 | 6 | 2 weeks |
| **Total** | 26 | **7-10 weeks** |
## Answer to Acceptance Questions
### Q: Are there P0 blockers before "Next" phase?
**YES** - 6 P0 blockers. Most critical: FlareDB persistent storage (data loss risk).
### Q: Which gaps should we address before PlasmaVMC?
1. All P0s (essential for any production use)
2. Chainfire transaction responses (P1 - etcd compatibility)
3. FlareDB CLI tool (P1 - operational necessity)
4. IAM audit integration (P1 - compliance requirement)
### Q: Total effort estimate?
**7-10 person-weeks** for all gaps.
**2-3 person-weeks** for P0s only (minimum viable).
## Files Generated
- [chainfire-gaps.md](./chainfire-gaps.md)
- [flaredb-gaps.md](./flaredb-gaps.md)
- [iam-gaps.md](./iam-gaps.md)
---
**Report prepared by**: PeerB
**Reviewed by**: PeerA - APPROVED 2025-12-08 05:40 JST
### PeerA Sign-off Notes
Report quality: Excellent. Clear prioritization, accurate effort estimates.
Decision: **Option (B) Modified Parallel** - see POR update.