diff --git a/.gitignore b/.gitignore index 0de430d..3f45e20 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,8 @@ bin/ .tmp* .tmp/* .tmp + + # Environment files .env *.env @@ -39,6 +41,7 @@ botserver-stack TODO* work .swp + # Lock file # Cargo.lock (should be tracked) .kiro diff --git a/PROD.md b/PROD.md index 2edc1a0..dda3d0a 100644 --- a/PROD.md +++ b/PROD.md @@ -160,7 +160,7 @@ sudo incus exec alm-ci -- pkill -9 forgejo; sleep 2; cd /opt/gbo/bin && nohup ./ **Monitor CI runs in database:** ```bash -# List recent runs (status: 0=pending, 1=running, 2=failure, 3=cancelled, 6=success) +# Status codes: 0=pending, 1=success, 2=failure, 3=cancelled, 6=running sudo incus exec tables -- bash -c 'export PGPASSWORD=; psql -h localhost -U postgres -d PROD-ALM -c "SELECT id, status, commit_sha, created FROM action_run ORDER BY id DESC LIMIT 5;"' # Check specific run jobs diff --git a/sale.tmp b/sale.tmp deleted file mode 100644 index 30bf697..0000000 --- a/sale.tmp +++ /dev/null @@ -1,131 +0,0 @@ -# Drive Monitor Refactor - Task Status - -## Summary -Unify DriveMonitor file state tracking from JSON to PostgreSQL database table `drive_files`. - -## Status: COMPLETED - ---- - -## Completed ✅ - -### 1. Migration -- Created `migrations/6.3.1-01-drive-files/up.sql` with table schema -- Indexes: bot_id, file_type, indexed, fail_count -- Migration data from kb_documents for backwards compatibility - -### 2. Schema -- Created `src/core/shared/schema/drive.rs` with: - - `DriveFile` (Queryable) - - `NewDriveFile` (Insertable) - - `DriveFileUpdate` (AsChangeset) - - diesel table! macro - -### 3. Repository -- Created `src/drive/drive_files.rs` with `DriveFileRepository` -- Methods: get_file_state, upsert_file, mark_indexed, mark_failed, get_max_fail_count, get_files_to_index, delete_file, get_all_files_for_bot, get_files_by_type - ---- - -## Working Environment - -```bash -# Access production logs -ssh administrator@63.141.255.9 -sudo incus exec system -- tail -f /opt/gbo/logs/err.log | grep -i "drive\|error" - -# Check CI logs -ssh administrator@63.141.255.9 -sudo incus exec alm-ci -- tail -f /opt/gbo/logs/*.log - -# Health endpoint -https://system.pragmatismo.com.br/api/health -``` - ---- - -## Testing Playbook - -1. **Rendering** - - Navigate: https://chat.pragmatismo.com.br/salesianos - - Send "oi", verify HTML response - -2. **Direct Tool Execution** - - Click "cartas" button - - Ask about cartas - -3. **KB Injection** - - Ask about cartas without clicking button - - Verify KB influences response - -4. **Parallel LLM** - - Start conversation in one window - - Verify start.bas doesn't lock other windows - -5. **Config Settings** - - Verify history-limit=3 in config.csv respected - - Toggle Table switch button - - Verify prompt injection - ---- - -## Critical Rules - -- Never stop - YOLO loop -- Push to ALM after each fix -- Check health endpoint after deploy -- Monitor err.log continuously -- Work only in ~/src/gb -- Push all submodules to ALM - ---- - -## Database Access - -```bash -# Get credentials from Vault -ssh administrator@63.141.255.9 "sudo incus exec system -- curl -s --cacert /opt/gbo/conf/system/certificates/ca/ca.crt -H 'X-Vault-Token: ' https://10.157.134.250:8200/v1/secret/data/gbo/tables 2>/dev/null" -``` - ---- - -## Container Layout -- `system` - BotServer (port 8080) -- `tables` - PostgreSQL (port 5432) -- `vault` - Vault (port 8200) -- `directory` - Zitadel (port 8080/9000) -- `drive` - MinIO (port 9100) -- `cache` - Valkey (port 6379) -- `llm` - llama.cpp (port 8081) -- `vector_db` - Qdrant (port 6333) -- `alm-ci` - CI runner - ---- - -## Current Status - -- DriveMonitor refatorado para usar database (JSON removido) -- FileState struct removido -- Métodos load/save_file_states removidos -- Repository pattern implementado -- Compilação verificada: OK - ---- - -## Next Steps - -1. Push para ALM todos os submódulos -2. Aguardar CI build -3. Testar com Playwright -4. Verificar health endpoint -5. Monitorar err.log -6. Reportar status e continuar YOLO - -fala da carta de 2021 - - -FINLA: - - - - diff --git a/snapshot_chat_ready.yml b/snapshot_chat_ready.yml deleted file mode 100644 index 7fbb349..0000000 --- a/snapshot_chat_ready.yml +++ /dev/null @@ -1,31 +0,0 @@ -- generic [ref=e5]: - - generic [ref=e6]: - - generic [ref=e7]: Chat - - generic [ref=e8]: - - button [ref=e9] [cursor=pointer]: - - img [ref=e10] - - button [ref=e11] [cursor=pointer]: - - img [ref=e12] - - button [ref=e14] [cursor=pointer]: - - img [ref=e15] - - generic [ref=e18]: - - generic [ref=e19]: - - main [ref=e20]: - - paragraph [ref=e23]: Olá! Bem-vinda(o) ao assistente virtual do Salesianos. - - generic [ref=e25]: oi - - contentinfo [ref=e29]: - - generic [ref=e30]: - - button "Cartas" [ref=e31] [cursor=pointer] - - button "Procedimentos" [ref=e32] [cursor=pointer] - - button "Tabelas" [ref=e33] [cursor=pointer] - - generic [ref=e34]: - - generic [ref=e35]: - - button "Agent" [ref=e36] [cursor=pointer] - - button "Chat" [ref=e37] [cursor=pointer] - - textbox "Message... (type @ to mention)" [active] [ref=e38] - - button "↑" [ref=e39] [cursor=pointer] - - button "Scroll to bottom": - - img - - generic: - - generic: - - button "View" \ No newline at end of file diff --git a/snapshot_initial.yml b/snapshot_initial.yml deleted file mode 100644 index 18b1aca..0000000 --- a/snapshot_initial.yml +++ /dev/null @@ -1,30 +0,0 @@ -- generic [ref=e106]: - - generic [ref=e107]: - - generic [ref=e108]: Chat - - generic [ref=e109]: - - button [ref=e110] [cursor=pointer]: - - img [ref=e111] - - button [ref=e112] [cursor=pointer]: - - img [ref=e113] - - button [ref=e115] [cursor=pointer]: - - img [ref=e116] - - generic [ref=e119]: - - generic [ref=e120]: - - main [ref=e194]: - - paragraph [ref=e197]: Olá! Bem-vinda(o) ao assistente virtual do Salesianos. - - contentinfo [ref=e166]: - - generic [ref=e198]: - - button "Cartas" [ref=e199] [cursor=pointer] - - button "Procedimentos" [ref=e200] [cursor=pointer] - - button "Tabelas" [ref=e201] [cursor=pointer] - - generic [ref=e169]: - - generic [ref=e170]: - - button "Agent" [ref=e171] [cursor=pointer] - - button "Chat" [ref=e172] [cursor=pointer] - - textbox "Message... (type @ to mention)" [active] [ref=e173] - - button "↑" [ref=e174] [cursor=pointer] - - button "Scroll to bottom": - - img - - generic: - - generic: - - button "View" \ No newline at end of file diff --git a/snapshot_response.yml b/snapshot_response.yml deleted file mode 100644 index a6b7ada..0000000 --- a/snapshot_response.yml +++ /dev/null @@ -1,61 +0,0 @@ -- generic [ref=e106]: - - generic [ref=e107]: - - generic [ref=e108]: Chat - - generic [ref=e109]: - - button [ref=e110] [cursor=pointer]: - - img [ref=e111] - - button [ref=e112] [cursor=pointer]: - - img [ref=e113] - - button [ref=e115] [cursor=pointer]: - - img [ref=e116] - - generic [ref=e119]: - - generic [ref=e120]: - - main [ref=e194]: - - paragraph [ref=e197]: Olá! Bem-vinda(o) ao assistente virtual do Salesianos. - - generic [ref=e203]: oi - - generic [ref=e326]: - - generic [ref=e327]: - - heading "Olá! Seja bem-vindo(a)!" [level=1] [ref=e330] - - heading "Sou o assistente virtual da Escola Salesiana" [level=2] [ref=e331] - - paragraph [ref=e332]: - - text: É uma grande alegria recebê-lo aqui! Meu nome é o Assistente Virtual Salesiano, criado para ser ponte entre você e toda a riqueza da nossa instituição, fundamentada nos ideais de Dom Bosco e na - - strong [ref=e333]: Pedagogia Preventiva - - text: . - - paragraph [ref=e334]: Baseado nas cartas inspiradoras de Dom Bosco e no modo salesiano de educar, estou aqui para ajudá-lo com informações, orientações e todo o suporte que precisar sobre nossa escola. - - generic [ref=e335]: - - paragraph [ref=e336]: - - strong [ref=e337]: Como posso ser útil hoje? - - paragraph [ref=e338]: - - text: Posso orientá-lo sobre - - strong [ref=e339]: matrículas - - text: "," - - strong [ref=e340]: protocolos escolares - - text: "," - - strong [ref=e341]: eventos - - text: "," - - strong [ref=e342]: calendário acadêmico - - text: "," - - strong [ref=e343]: projetos pedagógicos - - text: e muito mais. Sinta-se à vontade para perguntar sobre qualquer aspecto da nossa comunidade educativa! - - generic [ref=e344]: - - generic [ref=e345]: - - img [ref=e346] - - heading "Calendário" [level=3] [ref=e348] - - paragraph [ref=e349]: Datas importantes, feriados, eventos e prazos do ano letivo. - - img [ref=e351] - - contentinfo [ref=e166]: - - generic [ref=e198]: - - button "Cartas" [ref=e199] [cursor=pointer] - - button "Procedimentos" [ref=e200] [cursor=pointer] - - button "Tabelas" [ref=e201] [cursor=pointer] - - generic [ref=e169]: - - generic [ref=e170]: - - button "Agent" [ref=e171] [cursor=pointer] - - button "Chat" [ref=e172] [cursor=pointer] - - textbox "Message... (type @ to mention)" [active] [ref=e173] - - button "↑" [ref=e174] [cursor=pointer] - - button "Scroll to bottom": - - img - - generic: - - generic: - - button "View" \ No newline at end of file