docs: production test report v1.0.0

This commit is contained in:
Warren
2026-05-08 02:19:09 +08:00
parent 32f1d3e28a
commit dfd6bf9861

View File

@@ -0,0 +1,108 @@
# Production Test Report v1.0.0
**Date**: 2026-05-08 02:18
**Server**: http://localhost:3002
**Code**: `d8714aa` (tag: v1.0.0)
**Build**: `target/release/momentry` (2026-05-01 00:32:07)
**Binary**: `target/release/momentry` (22MB, release profile)
## Environment
| Variable | Value |
|----------|-------|
| `DATABASE_SCHEMA` | `dev` |
| `MOMENTRY_REDIS_PREFIX` | `momentry_dev:` |
| `MOMENTRY_EMBED_URL` | `http://localhost:11436` |
| `PORT` | 3002 |
| Embedding model | EmbeddingGemma-300M (768D, multilingual) |
## Test Results
### 1. Health Check ✅
```json
GET /health
{"status":"degraded","version":"1.0.0","uptime_ms":416871}
```
Note: `degraded` due to PostgreSQL health check query timeout. Core API functions normally.
### 2. Face Trace List ✅
```bash
POST /api/v1/file/{uuid}/face_trace/sortby -d '{"sort_by":"face_count","limit":3}'
6892 traces, 108204 faces
trace #3128: 1109 faces, conf=0.78
trace #3126: 743 faces, conf=0.76
trace #2874: 631 faces, conf=0.82
```
### 3. Trace Faces (with interpolation) ✅
```bash
GET /api/v1/file/{uuid}/trace/2/faces?limit=5&interpolate=true
1 detection (trace #2 has only 1 frame)
```
### 4. Trace Video ⚠️
```bash
GET /api/v1/file/{uuid}/trace/2/video
→ HTTP 500 — ffprobe/ffmpeg 路徑問題
```
Known issue: production binary ffprobe path differs from dev. Video generation depends on ffmpeg availability.
### 5. BM25 Search ⚠️
```bash
POST /api/v1/search/universal -d '{"query":"friends","mode":"bm25","uuid":"{uuid}"}'
0 results
```
Known issue: M5 chunks store text in `content` JSONB column, not `text_content`. The ILIKE query searches `text_content`.
### 6. Face Candidates ⚠️
```bash
GET /api/v1/faces/candidates?file_uuid={uuid}&page_size=3
→ empty
```
Known issue: endpoint may require different auth or query format.
### 7. EmbeddingGemma Server ✅
```json
GET http://localhost:11436/health
{"device":"mps","status":"ok"}
```
### 8. Identity List ⚠️
```bash
GET /api/v1/identities?page_size=5
→ empty
```
Known issue: response format may differ from expected.
## DB State
| Table | Count |
|-------|-------|
| videos | 37 |
| face_detections | 126,789 |
| traces | 6,892 |
| identities | 2,810 (with TMDb) |
| identity_bindings | 2,353 |
| chunks | 10,620 |
| pre_chunks | 1,197,362 |
## Known Issues
| Issue | Impact | Cause |
|-------|--------|-------|
| `status: degraded` | Low | PostgreSQL health check timeout |
| BM25 search 0 results | Medium | Chunks use `content` JSONB, not `text_content` |
| Trace video 500 | Low | ffmpeg not in production binary PATH |
| Faces candidates empty | Low | Need to verify endpoint config |
| Qdrant text vectors 0 | Medium | M5 pipeline vectorize step pending |
## Services
| Service | Port | Status |
|---------|------|--------|
| Production API | 3002 | ✅ |
| EmbeddingGemma | 11436 | ✅ (MPS) |
| PostgreSQL | 5432 | ✅ |
| Redis | 6379 | ✅ |
| Qdrant | 6333 | ✅ (face: 6643 pts, text: 1630 pts) |
| MongoDB | 27017 | ✅ (8.2.6) |