- Backend: Add strip_html_tags() function to remove HTML from XLSX cells
- Frontend: Strip HTML tags before displaying bot messages
- Prompt: Update PROMPT.md to instruct GPT not to show raw HTML
Fixes issue where XLSX cell content with HTML formatting
was being displayed as raw HTML tags in chat responses.
- Changed extract_xlsx_text() to use open_workbook() instead of open_workbook_from_rs()
- Changed extract_xls_text() to use open_workbook() instead of open_workbook_from_rs()
- The calamine 0.26 API uses open_workbook(path) for direct file access
- This matches the pattern used in import_export.rs and vectordb.rs
- Updated AGENTS.md to clarify bots are stored as MinIO buckets
- Added test start.bas with USE KB "sheetlib" for testing KB injection
Root cause: open_workbook_from_rs() is not the correct API for calamine 0.26
Impact: XLSX and XLS files in .gbkb folders were failing to index into vector DB
Fix: Use standard open_workbook() API that accepts file path directly
- Changed extract_xlsx_text() to use open_workbook() instead of open_workbook_from_rs()
- Changed extract_xls_text() to use open_workbook() instead of open_workbook_from_rs()
- The calamine 0.26 API uses open_workbook(path) for direct file access
- This matches the pattern used in import_export.rs and vectordb.rs
- Fixes issue #498 where XLSX/XLS files were not being properly indexed into KB
Root cause: open_workbook_from_rs() is not the correct API for calamine 0.26
Impact: XLSX and XLS files in .gbkb folders were failing to index into vector DB
Fix: Use standard open_workbook() API that accepts file path directly
- Add sccache wrapper that unsets CARGO_INCREMENTAL (sccache 0.14.0
refuses to work when that env var is present, even if =0)
- Remove rustc-wrapper from .cargo/config.toml (use RUSTC_WRAPPER env in CI)
- Set [profile.dev] incremental = false to avoid sccache 'prohibited' error
- DEV-DEPENDENCIES.sh now installs sccache 0.14.0 + wrapper correctly
- CI workflow: unset CARGO_INCREMENTAL env (let sccache wrapper handle it)
Tested on alm-ci: 50% cache hit rate on rebuild after target/ removal.
- DEV-DEPENDENCIES.sh: installs sccache 0.14.0 via cargo-binstall
(was 0.7.5 which prohibited incremental compilation)
- Removes old sccache binary before installing new one
- Copies to /usr/local/bin so all users can access it
- CI workflow: CARGO_INCREMENTAL=1 now supported by sccache 0.14.0
sccache 0.7.5 errors with 'increment compilation is prohibited'
when CARGO_INCREMENTAL=1. Keep at 0 and rely on the fixed
touch-only-changed-files logic to preserve sccache cache hits.
- CARGO_INCREMENTAL=1 enables sccache to cache Rust compilations
(was 0, making all compilations non-cacheable)
- Only touch files that changed between old and new rev
(was touching ALL files, invalidating entire sccache cache)
- Use git pull --rebase to avoid merge conflicts in CI
- 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