PR-004A: Mission Import API — MVP-0 First Field Upload
- POST /api/v1/missions/import — multipart upload with video - GET /api/v1/missions/:id — retrieve mission - GET /api/v1/missions — list active missions - Express + multer for file handling - Uses application layer handlers (PR-002.5) - In-memory repositories (swap for PostgreSQL in PR-003B) Acceptance Tests (5/5 passing): ✅ Import mission with video ✅ Reject upload without video ✅ Retrieve mission by ID ✅ 404 for non-existent mission ✅ Health check MVP-0 Definition of Done: ✅ Phone → Upload → Store → Retrieve ✅ No AI required ✅ First real artifact produced Next: PR-005A — Minimal Mission Import UI
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# ADR-010: Mission Import API (MVP-0)
|
||||
|
||||
## Status
|
||||
Accepted
|
||||
|
||||
## Context
|
||||
We need the first external interface for LandveX Intelligence Lab. The goal is to prove the end-to-end flow: phone → upload → store → retrieve.
|
||||
|
||||
## Decision
|
||||
Implement minimal Mission Import API:
|
||||
|
||||
- POST /api/v1/missions/import — upload video, create mission
|
||||
- GET /api/v1/missions/:id — retrieve mission
|
||||
- No AI, no processing, just store and track
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
Express Router → Application Handlers → Domain → In-Memory Repositories
|
||||
```
|
||||
|
||||
## Consequences
|
||||
|
||||
### Positive
|
||||
- First real API endpoint
|
||||
- Proves end-to-end flow works
|
||||
- Can be tested with real phone uploads
|
||||
|
||||
### Negative
|
||||
- In-memory storage (will swap for PostgreSQL)
|
||||
- No authentication yet
|
||||
- No file validation beyond extension
|
||||
|
||||
## Related
|
||||
- ADR-007: Command/Result Pattern
|
||||
- ADR-009: Persistence Independence
|
||||
Reference in New Issue
Block a user