Auto-commit 2026-03-15 02:40
This commit is contained in:
138
agents/founding-engineer/memory/2026-03-15.md
Normal file
138
agents/founding-engineer/memory/2026-03-15.md
Normal file
@@ -0,0 +1,138 @@
|
||||
# Daily Notes - 2026-03-15
|
||||
|
||||
## Heartbeat Check
|
||||
|
||||
**Agent:** d20f6f1c-1f24-4405-a122-2f93e0d6c94a (Founding Engineer)
|
||||
**Company:** e4a42be5-3bd4-46ad-8b3b-f2da60d203d4 (FrenoCorp)
|
||||
|
||||
### Assigned Issues Status:
|
||||
|
||||
✅ **FRE-301** (medium priority) - Backend: QR Code Generation Service - **COMPLETE**
|
||||
✅ **FRE-17** (medium priority) - Add Memory-Efficient Model Loading - **COMPLETE**
|
||||
⏳ **FRE-312** (high priority) - Wire and test Stripe webhooks - Active run queued, skip
|
||||
⏸️ **FRE-16** (low priority) - Optimize Batch Processing - Pending
|
||||
|
||||
## Work Done Today
|
||||
|
||||
### FRE-301: Backend QR Code Generation Service ✅
|
||||
|
||||
**Status:** Complete
|
||||
|
||||
**Implementation Summary:**
|
||||
|
||||
Built a complete backend QR code generation service with token-based sharing and secure connection data encoding.
|
||||
|
||||
**Files Created:**
|
||||
- `web/src/server/services/qrCode.js` - Core QR code service (295 lines)
|
||||
- `web/src/server/api/qrCodes.js` - API endpoints (271 lines)
|
||||
|
||||
**Files Modified:**
|
||||
- `web/src/server/db.js` - Added `shared_tokens` table schema
|
||||
- `web/src/server/index.js` - Registered 7 QR code routes
|
||||
- `web/package.json` - Added `qrcode` dependency
|
||||
|
||||
**Features Implemented:**
|
||||
|
||||
1. **Token Management**
|
||||
- Cryptographically secure token generation (32-byte hex)
|
||||
- Configurable expiration (default: 24 hours)
|
||||
- Max uses limit per token (default: 10)
|
||||
- Token revocation capability
|
||||
|
||||
2. **QR Code Generation**
|
||||
- Generate QR codes for raw connection data
|
||||
- Generate QR codes for existing shared tokens
|
||||
- Configurable width, margin, error correction level
|
||||
|
||||
3. **Connection Data Serialization**
|
||||
- Versioned format (v1) with host/port/session/token/metadata
|
||||
- Secure base64url encoding
|
||||
- Deserialization with validation
|
||||
|
||||
4. **Token Validation**
|
||||
- Expiration checking
|
||||
- Max uses enforcement
|
||||
- Active status verification
|
||||
- Use count tracking
|
||||
|
||||
**API Endpoints:**
|
||||
|
||||
| Method | Endpoint | Auth | Description |
|
||||
|--------|----------|------|-------------|
|
||||
| POST | `/api/qr/tokens` | ✅ | Create shared token |
|
||||
| GET | `/api/qr/tokens` | ✅ | List user tokens |
|
||||
| DELETE | `/api/qr/tokens/:token` | ✅ | Revoke token |
|
||||
| POST | `/api/qr/generate` | ✅ | Generate QR for data |
|
||||
| POST | `/api/qr/tokens/:token/qrcode` | ❌ | Generate QR for token |
|
||||
| POST | `/api/qr/validate/:token` | ❌ | Validate token |
|
||||
| GET | `/api/connect/:token` | ❌ | Connection endpoint |
|
||||
|
||||
**Database Schema:**
|
||||
|
||||
```sql
|
||||
CREATE TABLE shared_tokens (
|
||||
id TEXT PRIMARY KEY,
|
||||
token TEXT UNIQUE NOT NULL,
|
||||
user_id TEXT REFERENCES users(id),
|
||||
connection_data TEXT NOT NULL,
|
||||
expires_at TIMESTAMP,
|
||||
max_uses INTEGER,
|
||||
use_count INTEGER DEFAULT 0,
|
||||
is_active BOOLEAN DEFAULT true,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
```
|
||||
|
||||
**Commit:** `d80c319` - "Add QR Code Generation Service (FRE-301)"
|
||||
|
||||
### FRE-17: Add Memory-Efficient Model Loading ✅
|
||||
|
||||
**Status:** Complete
|
||||
|
||||
**Implementation Summary:**
|
||||
|
||||
Added memory-efficient model loading to support GPUs with <8GB VRAM.
|
||||
|
||||
**File Modified:**
|
||||
- `src/generation/tts_model.py` - Added memory optimization features
|
||||
|
||||
**New Parameters:**
|
||||
- `memory_efficient` (bool, default=True): Enable all memory-saving features
|
||||
- `use_gradient_checkpointing` (bool, default=False): Trade compute for memory
|
||||
- Enhanced `dtype` support with auto-selection based on available GPU memory
|
||||
|
||||
**New Methods:**
|
||||
- `_check_gpu_memory()`: Returns (total_gb, available_gb)
|
||||
- `_select_optimal_dtype(available_gb)`: Auto-selects fp32/bf16/fp16
|
||||
- `get_memory_stats()`: Returns dict with current GPU memory usage
|
||||
- `estimate_model_memory()`: Returns estimated memory for different precisions
|
||||
|
||||
**Features:**
|
||||
- Auto-detects GPU memory and selects optimal dtype (bf16 for Ampere+, fp16 otherwise)
|
||||
- Graceful degradation: fp32 → bf16 → fp16 based on available memory
|
||||
- Enhanced OOM error messages with actionable suggestions
|
||||
- Memory stats reported on load/unload
|
||||
- Gradient checkpointing support for training scenarios
|
||||
|
||||
**Memory Estimates:**
|
||||
- FP32: ~6.8GB (1.7B params × 4 bytes + overhead)
|
||||
- FP16/BF16: ~3.9GB (50% reduction)
|
||||
- Minimum recommended: 4GB VRAM
|
||||
|
||||
**Commit:** `11e1f0c` - "Add memory-efficient model loading (FRE-17)"
|
||||
|
||||
## Notes
|
||||
|
||||
- QR code service verified to load correctly
|
||||
- FRE-17 syntax validated, ready for integration testing
|
||||
- FRE-12 code review improvements completed:
|
||||
- Fixed hardcoded subscriptionStatus="free" → now fetched from database
|
||||
- Fixed hardcoded demo user data in notifications → uses real user/job data
|
||||
- FRE-312 has active run queued - will be handled separately
|
||||
- FRE-16 pending (low priority) - batch processing optimization
|
||||
|
||||
## Commits Today
|
||||
|
||||
- `d80c319` - Add QR Code Generation Service (FRE-301)
|
||||
- `11e1f0c` - Add memory-efficient model loading (FRE-17)
|
||||
- `24f56e0` - Fix hardcoded values in jobs API (FRE-12)
|
||||
Reference in New Issue
Block a user