Commit graph

6 commits

Author SHA1 Message Date
Victor Hugo Vargas
4c5cad38f8 feat(config): add auto-compaction block and CLI wiring
Adds a configurable compaction section to portfolio-bot.yaml with
threshold_ratio, keep_recent_turns and an optional summary prompt.
Wires the new fields through config.Validate() and cmd/chat-bot/main.go
into agent.Runner.WithCompaction() so the runner can opt in to
auto-compaction at startup.
2026-07-18 00:07:41 -07:00
Victor Hugo Vargas
f42bd37eae feat(persona): address user as "humano"/"human" to emphasize canine character
Rony is a digital dog — so the user is a 'humano' (ES) or 'human' (EN).
Adds a rule in the persona system prompt and two new tone examples
covering greetings in both languages. The addressee is restricted to
openings/greetings/warm asides and capped at once per response so it
doesn't leak into technical content.
2026-07-17 00:56:17 -07:00
Victor Hugo Vargas
f33708534a feat: bootstrap rony-chat-bot Go module
Initial implementation of the bot:

- cmd/chat-bot: CLI entrypoint (serve, reindex, ask, version)
- internal/agent: LLM provider client + agent runner with RAG injection
- internal/config: YAML config loader (providers, RAG, persona, server)
- internal/i18n: response-language detection (EN/ES)
- internal/persona: persona system prompt assembly from YAML
- internal/portfolio: heading-based chunker + SQLite FTS5 indexer
- internal/server: chi router with /api/chat (SSE), /api/health, /api/info,
  /api/reindex, middleware (RequestID, Logging, CORS, RateLimit)
- internal/streaming: SSE protocol helpers (start, chunk, sources, done, error)
- web/: drop-in vanilla-JS chat widget (no build, no deps) + demo + README
- bench/: reproducible driver benchmark (modernc vs mattn SQLite)
- configs/portfolio-bot.yaml: llama.cpp default provider, SQLite RAG, canine persona
- docs/architecture.md / .es.md: aligned with SQLite FTS5 + llama.cpp decisions
- data/projects/README*.md: project data documentation
- README.md / .es.md: updated for current implementation

All tests pass (go test ./...). Bot is functional end-to-end with the
configured LLM provider.
2026-07-17 00:56:06 -07:00
Victor Hugo Vargas
b9769fac41 docs(i18n): translate all docs to English (with .es.md as Spanish alternative)
- README.md: full English translation, .es.md preserved
- docs/architecture.md: full translation (1039 lines)
- configs/portfolio-bot.yaml: full English translation, .es.yaml preserved
- data/projects/README.md + example-project.md: translated with banners

Default language is now English (standard for OSS). Spanish remains
available via .es.* suffix files.
2026-06-30 13:27:00 -07:00
a7a545d09f chore:split documents 2026-06-28 23:24:22 -07:00
86fb6a7630 chore: initial scaffold with design docs 2026-06-28 16:13:21 -07:00