10. Open Questions
Unresolved questions, conflicts between sources, and items requiring owner confirmation.
Authentication & Security
| # |
Question |
Source |
Impact |
| Q1 |
JWT tokens never expire. Is this intentional or a gap? No refresh token mechanism exists. |
Code (auth.js) |
Security risk for long-lived tokens |
| Q2 |
Default JWT_SECRET fallback is hardcoded. Is there a production enforcement check? |
Code (auth.js) |
Production security |
| Q3 |
No protection against deleting the last admin user. Should this be blocked? |
Code (admin.js) |
Could lock out all admin access |
| Q4 |
API key validation is O(n) bcrypt comparisons. At what key count does this become a performance issue? |
Code (auth.js) |
Performance at scale |
| Q5 |
No session invalidation on password change. Existing tokens remain valid. Is this accepted? |
Code |
Security |
| Q6 |
No password complexity requirements server-side. Should minimum requirements be enforced? |
Code (auth.js) |
Security |
Data Model
| # |
Question |
Source |
Impact |
| Q7 |
company_profiles.project_id is designed for future 1:many (one user, many orgs). Is this still planned? |
Schema comment in init.sql |
Data model evolution |
| Q8 |
execution_history and executions tables overlap in purpose. Is executions intended to replace execution_history? |
Schema (init.sql) |
Data model cleanup |
| Q9 |
No explicit data retention policy. How long should raw_exchanges, usage_events, hook_events be kept? |
Not documented |
Storage growth |
| Q10 |
bedrock_config enforces single row. Is multi-region Bedrock support planned? |
Schema constraint |
Feature planning |
Deployment & Operations
| # |
Question |
Source |
Impact |
| Q11 |
Encryption key for AES-256-GCM secrets -- is it derived from env var or generated? Where is it stored? |
Code (encryption.js) |
Secret management |
| Q12 |
journal_mode = DELETE (not WAL) is set for NFS/EFS safety. What's the performance impact vs. WAL mode on local SSD? |
Code (db.js) |
Performance |
| Q13 |
Container memory limits (2GB in docker-compose). Is this sufficient for large knowledge bases + Claude CLI? |
docker-compose.yml |
Resource planning |
| Q14 |
No automated database backup strategy documented. EFS/volume snapshots? SQLite file copy? |
Not documented |
Disaster recovery |
Product Behavior
| # |
Question |
Source |
Impact |
| Q15 |
Meeting transcription feature -- what service provides the actual audio capture? Whisper transcription MCP? External bot? |
Code references multiple approaches |
Feature completeness |
| Q16 |
What happens to active Claude CLI sessions when the container is restarted? Are they recoverable? |
Not documented |
UX continuity |
| Q17 |
output_styles -- how do they modify Claude's response? System prompt injection? Post-processing? |
Multiple code paths |
Feature understanding |
| Q18 |
How does the "advisor" system in meetings work? Is it different personas giving real-time meeting advice? |
advisorOrchestrator.js |
Feature documentation |
Conflicts Between Sources
| # |
Conflict |
Source A |
Source B |
Recommendation |
| C1 |
Existing PRD mentions "TinyLlama 1.1B" and "Llama 3.2" integration |
Existing PRD (v2.2) |
No code evidence of local LLM support |
Code wins -- remove local LLM references from PRD |
| C2 |
Existing PRD says "Cost Reduction 60-80% vs alternatives" |
Existing PRD |
No cost comparison implementation |
Unverified claim -- mark as marketing |
| C3 |
Existing PRD lists "Multi-language Support" as planned |
Existing PRD |
No i18n code or framework |
Remove unless actively planned |
| C4 |
CLAUDE.md mentions "8-layer knowledge architecture" |
CLAUDE.md |
No code implementing layers |
Conceptual framework, not implemented in code |
Technical Risks
| # |
Risk |
Likelihood |
Impact |
Follow-up Needed |
| R1 |
Claude CLI version pinned at v2.1.81 -- major version bumps may break PTY interface |
Medium |
High |
Test CLI upgrades in staging |
| R2 |
SQLite single-writer limitation under concurrent users |
Low (single-tenant) |
Medium |
Monitor busy_timeout hit rate |
| R3 |
rclone RC API stability for cloud drives |
Medium |
Medium |
Health check monitoring |
| R4 |
node-pty platform compatibility (arm64 vs amd64) |
Low |
High |
Multi-platform Docker build covers this |
| R5 |
JSONL log files grow unbounded |
High |
Medium |
Implement log rotation |