- Fix YAML parse error (line 29 colon issue) with proper indentation
- Remove git reset --hard and git clean -fd that invalidated sccache cache
- CARGO_INCREMENTAL=0 as env var in CI only (dev keeps incremental=true)
- .cargo/config.toml keeps incremental default for dev sccache benefit
- rustc-wrapper = "sccache" for faster rebuilds
- jobs = 6 for parallel compilation
- linker = "clang" with mold for faster linking
This ensures all developers and CI use the same optimized build settings.
Run: cargo build -p botserver --bin botserver
- Criado serviço systemd para forgejo-runner como gbuser
- Removido runner root antigo
- Todas permissões de /opt/gbo/work agora são gbuser:gbuser
- Fim dos erros de permissão no cache do sccache
- Fixes 'rustup could not choose a version of cargo' error
- Sets stable toolchain as default before cargo build
- Preserves sccache configuration and workspace cache
- Remove configuração automática do ~/.cargo/config.toml
- O workspace já tem .cargo/config.toml que sobrescreve o global
- Devs só precisam rodar ./DEV-DEPENDENCIES.sh para instalar mold/lld/clang
- Config do projeto (./.cargo/config.toml) é usado automaticamente
- Detecta automaticamente o home do usuário atual
- Substitui /home/gbuser hardcoded por $USER_HOME
- Funciona em qualquer máquina (dev local, CI, etc)
- Adiciona .cargo/config.toml com configuração de linker
- Usa clang + lld para linkagem 30-40% mais rápida
- Adiciona sccache para cache de compilação
- Remove comentários do workflow CI
- Ganho total esperado: 17min → 2-5min (incremental)
- Adiciona 'export RUSTC_WRAPPER=sccache' no passo de build
- Adiciona sccache --show-stats antes e depois do build para monitorar cache
- Workflow agora usa sccache corretamente para builds incrementais
- Ganho esperado: 17min → 2-5min (após 1º build)
- Adiciona função configure_cargo() que cria ~/.cargo/config.toml
- Configura linker clang + lld para linkagem rápida
- Reduz tempo de link em ~30-40%
- Aplica para todas as máquinas de desenvolvimento
- Corrigir RUSTC_WRAPPER para usar sccache corretamente
- Corrigir caminho do binary para /opt/gbo/work/target/debug
- Usar hostname 'system' ao invés de IP
- Adicionar comentários sobre features padrão
- Remover killall redundante (systemctl já para)
- Manter features padrão otimizadas (sem ooxmlsdk)
Features padrão já são eficientes:
- chat, automation, cache, llm, vectordb, crawler, drive, directory, kb-extraction
- ooxmlsdk NÃO incluído (apenas em docs feature opcional)
- Economia com sccache: 17min → 2-5min (incremental)
- Combined botserver and botui builds in single workflow
- Removed bottest from CI (no test execution)
- Deploy both binaries to STAGE-GBO system container via SSH
- Simplified to single workflow file
- Removed separate bottest.yaml and botui.yaml
- Temporary fix: Hardcoded SYSTEM_HOST to 10.157.134.196
- Issue: Repository variables not being resolved in workflow
- Next: Test deploy works, then fix variable system
Previously start.bas was prevented from re-running via a Redis flag
(set for 24h). This prevented switchers from being re-sent when
users reloaded the page. Now start.bas executes unconditionally
on every WebSocket connection and every first message.
The switchers were stored in Redis with the DB session ID (session.id)
but retrieved using the WebSocket session ID, causing switchers to
never be found. Fix by saving session.id before the move into
spawn_blocking closure.
- Fix DriveMonitor skipping .bas files that exist but have indexed=false
and same ETag (needs_reindex was computed but not used for bas sync)
- Mark bas files as indexed after successful sync to work dir
- Update INFRA.md: MinIO connection setup (port 9100, creds from drive.service)
- Remove erroneously created bottemplates start.bas (bots live in MinIO)
- Add start.bas with ADD SWITCHER keywords (tables, list, cards)
- Remove /opt/gbo/data references from AGENTS.md and INFRA.md
- Bots are stored in MinIO drive, not in /opt/gbo/data
- Update infrastructure paths documentation
- Fixed KB indexing logic that skipped re-index when DB showed docs but Qdrant was empty
- Added Qdrant collection validation before skipping indexing
- Updated AGENTS.md with correct log locations for staging/production
- Deployed to staging, awaiting CI completion
- Next: monitor chat.stage for KB search functionality
Continuation instructions:
1. Check CI status on ALM (action_run table in PROD-ALM DB)
2. Verify botserver binary updated on staging system container
3. Test KB search: ask question about PDF content in bot
4. Check /opt/gbo/logs/out.log for DriveMonitor indexing activity
5. Verify Qdrant collection has indexed_vectors_count > 0
Root cause: handle_gbkb_change() only checked DB document_count, not Qdrant state
Fix: Added get_collection_info() call to validate Qdrant has points before skipping