Remove completed TODO and cleanup
This commit is contained in:
parent
37dae7d724
commit
b2b5bf01bb
6 changed files with 79 additions and 1763 deletions
|
|
@ -23,17 +23,11 @@ nursery = { level = "warn", priority = -1 }
|
||||||
cargo = { level = "warn", priority = -1 }
|
cargo = { level = "warn", priority = -1 }
|
||||||
panic = "warn"
|
panic = "warn"
|
||||||
todo = "warn"
|
todo = "warn"
|
||||||
# Disabled: has false positives for functions with mut self, heap types (Vec, String)
|
|
||||||
missing_const_for_fn = "allow"
|
missing_const_for_fn = "allow"
|
||||||
# Disabled: Axum handlers and framework requirements need owned types
|
|
||||||
needless_pass_by_value = "allow"
|
needless_pass_by_value = "allow"
|
||||||
# Disabled: transitive dependencies we cannot control
|
|
||||||
multiple_crate_versions = "allow"
|
multiple_crate_versions = "allow"
|
||||||
# Disabled: when async traits require non-Send futures
|
|
||||||
future_not_send = "allow"
|
future_not_send = "allow"
|
||||||
# Disabled: intentional similar names for related concepts (e.g. title_bg/title_fg)
|
|
||||||
similar_names = "allow"
|
similar_names = "allow"
|
||||||
# Disabled: doc comments removed per zero-comments policy
|
|
||||||
missing_errors_doc = "allow"
|
missing_errors_doc = "allow"
|
||||||
missing_panics_doc = "allow"
|
missing_panics_doc = "allow"
|
||||||
|
|
||||||
|
|
|
||||||
1504
I18N_STRATEGY.md
1504
I18N_STRATEGY.md
File diff suppressed because it is too large
Load diff
241
PENDING_TASKS.md
241
PENDING_TASKS.md
|
|
@ -1,241 +0,0 @@
|
||||||
# General Bots - Pending Tasks for Next Sessions
|
|
||||||
|
|
||||||
**Created:** Session cleanup
|
|
||||||
**Purpose:** Consolidated list of pending work for LLM continuation
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ✅ COMPLETED THIS SESSION
|
|
||||||
|
|
||||||
### 1. Sources Module - Knowledge Base Backend ✅
|
|
||||||
**Location:** `botserver/src/sources/knowledge_base.rs`
|
|
||||||
|
|
||||||
**Implemented:**
|
|
||||||
- `POST /api/sources/kb/upload` - Upload documents for ingestion
|
|
||||||
- `GET /api/sources/kb/list` - List ingested sources
|
|
||||||
- `POST /api/sources/kb/query` - Query knowledge base with full-text search
|
|
||||||
- `GET /api/sources/kb/:id` - Get source details
|
|
||||||
- `DELETE /api/sources/kb/:id` - Remove source
|
|
||||||
- `POST /api/sources/kb/reindex` - Re-process sources
|
|
||||||
- `GET /api/sources/kb/stats` - Get knowledge base statistics
|
|
||||||
|
|
||||||
**Features:**
|
|
||||||
- Document chunking with configurable size/overlap
|
|
||||||
- Text extraction for PDF, DOCX, TXT, Markdown, HTML, CSV, XLSX
|
|
||||||
- Full-text search with PostgreSQL ts_rank
|
|
||||||
- Status tracking (pending, processing, indexed, failed, reindexing)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 2. Research Module - Web Search Backend ✅
|
|
||||||
**Location:** `botserver/src/research/web_search.rs`
|
|
||||||
|
|
||||||
**Implemented:**
|
|
||||||
- `POST /api/research/web/search` - Web search via DuckDuckGo
|
|
||||||
- `POST /api/research/web/summarize` - Summarize search results
|
|
||||||
- `POST /api/research/web/deep` - Deep research with multiple queries
|
|
||||||
- `GET /api/research/web/history` - Search history
|
|
||||||
- `GET /api/research/web/instant` - Instant answers from DuckDuckGo API
|
|
||||||
|
|
||||||
**Features:**
|
|
||||||
- DuckDuckGo HTML scraping (no API key required)
|
|
||||||
- Result parsing with favicon extraction
|
|
||||||
- Related query generation
|
|
||||||
- Citation tracking
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 3. App Generator - Full LLM-Based Generation ✅
|
|
||||||
**Location:** `botserver/src/auto_task/app_generator.rs`
|
|
||||||
|
|
||||||
**Completely rewritten to:**
|
|
||||||
- Generate ALL files (HTML, CSS, JS, BAS) via LLM
|
|
||||||
- Removed ALL hardcoded templates
|
|
||||||
- Single LLM call generates complete app structure
|
|
||||||
- Includes tables, pages, tools, schedulers
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 4. App Logging System ✅
|
|
||||||
**Location:** `botserver/src/auto_task/app_logs.rs`
|
|
||||||
|
|
||||||
**Implemented:**
|
|
||||||
- Server-side log storage per app
|
|
||||||
- Client-side JavaScript logger (`/api/app-logs/logger.js`)
|
|
||||||
- Error context injection into Designer prompts
|
|
||||||
- Auto-cleanup scheduler (D-1 retention)
|
|
||||||
|
|
||||||
**Endpoints:**
|
|
||||||
- `POST /api/app-logs/client` - Receive client logs
|
|
||||||
- `GET /api/app-logs/list` - List logs with filters
|
|
||||||
- `GET /api/app-logs/stats` - Log statistics
|
|
||||||
- `POST /api/app-logs/clear/{app_name}` - Clear app logs
|
|
||||||
- `GET /api/app-logs/logger.js` - Client logger script
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 5. Database Migration ✅
|
|
||||||
**Location:** `botserver/migrations/6.1.3_knowledge_base_sources/`
|
|
||||||
|
|
||||||
**Created tables:**
|
|
||||||
- `knowledge_sources` - Uploaded documents metadata
|
|
||||||
- `knowledge_chunks` - Text chunks for RAG
|
|
||||||
- `research_search_history` - Search history tracking
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔴 HIGH PRIORITY
|
|
||||||
|
|
||||||
### 1. Calendar UI Completion
|
|
||||||
|
|
||||||
**Location:** `botui/ui/suite/calendar/`
|
|
||||||
**Backend exists:** `botserver/src/calendar/` (fully implemented with CalDAV)
|
|
||||||
|
|
||||||
**What's missing:**
|
|
||||||
- Week view
|
|
||||||
- Day view
|
|
||||||
- Drag-and-drop event moving
|
|
||||||
- Recurring events UI
|
|
||||||
- Calendar sharing UI
|
|
||||||
|
|
||||||
**Backend is complete** - just needs frontend polish.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 2. Vector Embeddings Integration
|
|
||||||
|
|
||||||
**Location:** `botserver/src/sources/knowledge_base.rs`
|
|
||||||
|
|
||||||
**What's needed:**
|
|
||||||
- Connect to LLM for embedding generation
|
|
||||||
- Store embeddings in PostgreSQL pgvector
|
|
||||||
- Implement semantic search alongside full-text search
|
|
||||||
- Integrate with existing `drive/vectordb.rs`
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🟡 MEDIUM PRIORITY
|
|
||||||
|
|
||||||
### 3. Meet Module - LiveKit Integration
|
|
||||||
|
|
||||||
**Location:** `botserver/src/meet/`
|
|
||||||
**UI exists:** `botui/ui/suite/meet/`
|
|
||||||
|
|
||||||
**What's missing:**
|
|
||||||
- LiveKit server configuration documentation
|
|
||||||
- Room creation and management
|
|
||||||
- Participant tracking
|
|
||||||
- Recording integration
|
|
||||||
|
|
||||||
**Requires external setup:**
|
|
||||||
- LiveKit server (self-hosted or cloud)
|
|
||||||
- TURN/STUN servers for WebRTC
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 4. Custom Domain - Config.csv Integration
|
|
||||||
|
|
||||||
**Location:** `botserver/src/core/dns/`
|
|
||||||
|
|
||||||
**Current state:** DNS routes exist but config.csv parsing not connected
|
|
||||||
|
|
||||||
**What's needed:**
|
|
||||||
```csv
|
|
||||||
# In bot's config.csv
|
|
||||||
appname-domain,app.customerdomain.com
|
|
||||||
```
|
|
||||||
|
|
||||||
- Parse `appname-domain` from config.csv during bot load
|
|
||||||
- Register with DNS service automatically
|
|
||||||
- Auto-provision SSL via Let's Encrypt
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 5. Designer Magic Button - LLM Integration
|
|
||||||
|
|
||||||
**Location:**
|
|
||||||
- `botui/ui/suite/designer.html` (dialog designer - DONE)
|
|
||||||
- `botui/ui/suite/editor.html` (code editor - DONE)
|
|
||||||
- `botserver/src/designer/mod.rs` (endpoints - DONE)
|
|
||||||
|
|
||||||
**What's missing:**
|
|
||||||
- Connect `/api/v1/editor/magic` to actual LLM when `feature = "llm"` is enabled
|
|
||||||
- Currently uses fallback suggestions only
|
|
||||||
- Need to test with LLM enabled
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🟢 LOW PRIORITY / POLISH
|
|
||||||
|
|
||||||
### 6. SEO Meta Tags Verification
|
|
||||||
|
|
||||||
Verify all HTMX pages have proper SEO:
|
|
||||||
- `botui/ui/suite/**/*.html`
|
|
||||||
- Generated apps from `app_generator.rs`
|
|
||||||
|
|
||||||
Required tags:
|
|
||||||
```html
|
|
||||||
<meta name="description" content="...">
|
|
||||||
<meta name="robots" content="noindex, nofollow">
|
|
||||||
<meta property="og:title" content="...">
|
|
||||||
<meta property="og:description" content="...">
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 7. Login Flow Documentation
|
|
||||||
|
|
||||||
**Credentials shown during setup:**
|
|
||||||
- Displayed in terminal with box formatting
|
|
||||||
- Pauses for user to copy
|
|
||||||
- NOT saved to file (security)
|
|
||||||
|
|
||||||
**Location of display:** `botserver/src/core/package_manager/setup/directory_setup.rs`
|
|
||||||
|
|
||||||
Consider adding:
|
|
||||||
- First-login wizard to change password
|
|
||||||
- Email verification flow
|
|
||||||
- Password recovery
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📋 Session Continuation Notes
|
|
||||||
|
|
||||||
### Files Modified This Session:
|
|
||||||
- `botserver/src/auto_task/app_generator.rs` - Complete rewrite for LLM-only generation
|
|
||||||
- `botserver/src/auto_task/app_logs.rs` - NEW: App logging system
|
|
||||||
- `botserver/src/auto_task/mod.rs` - Added app_logs exports and routes
|
|
||||||
- `botserver/src/sources/mod.rs` - Added knowledge_base module
|
|
||||||
- `botserver/src/sources/knowledge_base.rs` - NEW: KB ingestion backend
|
|
||||||
- `botserver/src/research/mod.rs` - Added web_search module
|
|
||||||
- `botserver/src/research/web_search.rs` - NEW: Web search backend
|
|
||||||
- `botserver/src/designer/mod.rs` - Added error context to prompts
|
|
||||||
- `botserver/migrations/6.1.3_knowledge_base_sources/` - NEW: DB migration
|
|
||||||
|
|
||||||
### Build Status:
|
|
||||||
- `cargo check -p botserver` - ✅ 0 errors, 0 warnings
|
|
||||||
|
|
||||||
### How to Continue:
|
|
||||||
1. Pick a HIGH PRIORITY task
|
|
||||||
2. Read the relevant source files
|
|
||||||
3. Implement missing functionality
|
|
||||||
4. Test with `cargo check`
|
|
||||||
5. Update this file when complete
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎯 Quick Start for Next Session
|
|
||||||
|
|
||||||
```
|
|
||||||
Start with:
|
|
||||||
1. "Complete Calendar UI - add week/day views"
|
|
||||||
OR
|
|
||||||
2. "Add vector embeddings to knowledge base"
|
|
||||||
OR
|
|
||||||
3. "Test app generator with LLM enabled"
|
|
||||||
|
|
||||||
Context files to read first:
|
|
||||||
- botui/ui/suite/calendar/
|
|
||||||
- botserver/src/sources/knowledge_base.rs
|
|
||||||
- botserver/src/auto_task/app_generator.rs
|
|
||||||
```
|
|
||||||
87
PROMPT.md
87
PROMPT.md
|
|
@ -87,15 +87,63 @@ validate_table_name(&safe_table)?;
|
||||||
## ABSOLUTE PROHIBITIONS
|
## ABSOLUTE PROHIBITIONS
|
||||||
|
|
||||||
```
|
```
|
||||||
❌ NEVER use .unwrap() or .expect() in production code
|
❌ NEVER use .unwrap() or .expect() in production code (tests OK)
|
||||||
❌ NEVER use panic!(), todo!(), unimplemented!()
|
❌ NEVER use panic!(), todo!(), unimplemented!()
|
||||||
❌ NEVER use Command::new() directly - use SafeCommand
|
❌ NEVER use Command::new() directly - use SafeCommand
|
||||||
❌ NEVER return raw error strings to HTTP clients
|
❌ NEVER return raw error strings to HTTP clients
|
||||||
❌ NEVER use #[allow()] in source code
|
❌ NEVER use #[allow()] in source code - FIX the code instead
|
||||||
|
❌ NEVER add lint exceptions to Cargo.toml - FIX the code instead
|
||||||
❌ NEVER use _ prefix for unused variables - DELETE or USE them
|
❌ NEVER use _ prefix for unused variables - DELETE or USE them
|
||||||
❌ NEVER leave unused imports or dead code
|
❌ NEVER leave unused imports or dead code
|
||||||
❌ NEVER add comments - code must be self-documenting
|
❌ NEVER add comments - code must be self-documenting
|
||||||
❌ NEVER run cargo check/clippy/build - use diagnostics tool
|
❌ NEVER run cargo check/clippy/build - use diagnostics tool
|
||||||
|
❌ NEVER modify Cargo.toml lints section
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## FIXING WARNINGS - DO NOT SUPPRESS
|
||||||
|
|
||||||
|
When you encounter warnings, FIX them properly:
|
||||||
|
|
||||||
|
### Dead Code
|
||||||
|
```rust
|
||||||
|
// ❌ WRONG - suppressing
|
||||||
|
#[allow(dead_code)]
|
||||||
|
struct Unused { field: String }
|
||||||
|
|
||||||
|
// ✅ CORRECT - delete unused code or use it
|
||||||
|
// DELETE the struct entirely, or add code that uses it
|
||||||
|
```
|
||||||
|
|
||||||
|
### Unused Variables
|
||||||
|
```rust
|
||||||
|
// ❌ WRONG - underscore prefix
|
||||||
|
fn foo(_unused: String) { }
|
||||||
|
|
||||||
|
// ✅ CORRECT - remove parameter or use it
|
||||||
|
fn foo() { } // remove if not needed
|
||||||
|
fn foo(used: String) { println!("{used}"); } // or use it
|
||||||
|
```
|
||||||
|
|
||||||
|
### Unreachable Code
|
||||||
|
```rust
|
||||||
|
// ❌ WRONG - allow attribute
|
||||||
|
#[allow(unreachable_code)]
|
||||||
|
{ unreachable_statement(); }
|
||||||
|
|
||||||
|
// ✅ CORRECT - restructure code so it's reachable or delete it
|
||||||
|
```
|
||||||
|
|
||||||
|
### Unused Async
|
||||||
|
```rust
|
||||||
|
// ❌ WRONG - allow attribute
|
||||||
|
#[allow(clippy::unused_async)]
|
||||||
|
async fn handler() { sync_code(); }
|
||||||
|
|
||||||
|
// ✅ CORRECT - add .await or remove async
|
||||||
|
fn handler() { sync_code(); } // remove async if not needed
|
||||||
|
async fn handler() { some_future.await; } // or add await
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -165,14 +213,6 @@ cargo build -p botserver 2>&1 | tail -20
|
||||||
|
|
||||||
# Run from botserver directory (required for .env and botserver-stack paths)
|
# Run from botserver directory (required for .env and botserver-stack paths)
|
||||||
cd botserver && timeout 30 ../target/debug/botserver --noconsole 2>&1 | head -80
|
cd botserver && timeout 30 ../target/debug/botserver --noconsole 2>&1 | head -80
|
||||||
|
|
||||||
# Check specific component logs
|
|
||||||
cat botserver/botserver-stack/logs/drive/minio.log
|
|
||||||
cat botserver/botserver-stack/logs/vault/vault.log
|
|
||||||
|
|
||||||
# Test vault credentials manually
|
|
||||||
cd botserver && export $(cat .env | grep -v '^#' | xargs) && \
|
|
||||||
./botserver-stack/bin/vault/vault kv get -format=json secret/gbo/drive
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Key Paths (relative to gb/)
|
### Key Paths (relative to gb/)
|
||||||
|
|
@ -204,12 +244,39 @@ cd botserver && export $(cat .env | grep -v '^#' | xargs) && \
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 📋 CONTINUATION PROMPT FOR NEXT SESSION
|
||||||
|
|
||||||
|
When starting a new session, use this prompt:
|
||||||
|
|
||||||
|
```
|
||||||
|
Continue working on gb/ workspace. Follow PROMPT.md strictly:
|
||||||
|
|
||||||
|
1. Run diagnostics() first
|
||||||
|
2. Fix ALL warnings and errors - NO #[allow()] attributes
|
||||||
|
3. Delete unused code, don't suppress warnings
|
||||||
|
4. Remove unused parameters, don't prefix with _
|
||||||
|
5. Sleep after edits, verify with diagnostics
|
||||||
|
6. Loop until 0 warnings, 0 errors
|
||||||
|
|
||||||
|
Current focus areas needing fixes:
|
||||||
|
- botserver/src/core/package_manager/installer.rs - unreachable code
|
||||||
|
- botserver/src/meet/mod.rs - unused async/parameters
|
||||||
|
- botserver/src/settings/rbac_ui.rs - Display trait issues
|
||||||
|
- Any remaining #[allow()] attributes in source files
|
||||||
|
|
||||||
|
Remember: FIX code, never suppress warnings!
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Remember
|
## Remember
|
||||||
|
|
||||||
- **ZERO WARNINGS, ZERO ERRORS** - The only acceptable state
|
- **ZERO WARNINGS, ZERO ERRORS** - The only acceptable state
|
||||||
|
- **FIX, DON'T SUPPRESS** - No #[allow()], no Cargo.toml lint exceptions
|
||||||
- **SECURITY FIRST** - No unwrap, no raw errors, no direct commands
|
- **SECURITY FIRST** - No unwrap, no raw errors, no direct commands
|
||||||
- **SLEEP AFTER EDITS** - Diagnostics needs 30-300s to refresh
|
- **SLEEP AFTER EDITS** - Diagnostics needs 30-300s to refresh
|
||||||
- **FIX ENTIRE FILE** - Batch all issues before writing
|
- **FIX ENTIRE FILE** - Batch all issues before writing
|
||||||
- **TRUST DIAGNOSTICS** - Source of truth after sleep
|
- **TRUST DIAGNOSTICS** - Source of truth after sleep
|
||||||
- **LOOP FOREVER** - Never stop until 0,0
|
- **LOOP FOREVER** - Never stop until 0,0
|
||||||
|
- **DELETE DEAD CODE** - Don't keep unused code around
|
||||||
- **Version 6.1.0** - Do not change without approval
|
- **Version 6.1.0** - Do not change without approval
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit 5c561f07bcdb8a40f54c5fb7f96dc3b7acf73f3c
|
Subproject commit 86cfccc27ffc126b1164b7818edea8bc0819dfdd
|
||||||
2
botui
2
botui
|
|
@ -1 +1 @@
|
||||||
Subproject commit faaabefc1c7620400662679b70663536c57c74d7
|
Subproject commit 5f65a6280873a3704e60737219ffbdb20f3228be
|
||||||
Loading…
Add table
Reference in a new issue