Commit graph

13 commits

Author SHA1 Message Date
84cc452497 docs: complete Codex's public/internal restructure alignment
Codex restructured docs on 5 Apr (cc37d2c) into public/ and internal/
subdirectories. This commit completes the alignment work by updating all
references across skills, agents, and generated files.

Changes:

Skills Documentation:
- docs-deployment/SKILL.md: Update doc paths (docs/INSTALL.md → docs/public/install/install.md)
- docs-deployment/INTEGRATION.md: Update example paths for new structure
- agent-setup/SKILL.md: Update references
- ansible-freebsd/SKILL.md: Update references

Agents & Conventions:
- AGENTS.md: Add tmux "testing" window guideline for long-running commands
- AGENTS.md: Update doc path references (INSTALL.md → install.md lowercase)
- README-CLAWDIE.md: Update doc paths
- CROWDIN.md: Update structure references

Build System:
- setup/cms.ts: Improve frontmatter generation (skip files with existing h1)
- scripts/memory/embed-docs.py: Adjust for new structure
- docs-deployment/DOCUMENTATION-POLICY.md: Update guidelines

HTML/Web Output:
- html/: Version bumps, link fixes, manifest updated
- Reflect new public/ structure in rendered docs

Validation:
- All skills reference docs correctly
- Install/setup docs now at docs/public/install/
- Docs build and serve correctly (verified 6 Apr)
- 603 tests passing (from Codex's build)

Co-Authored-By: Codex (Agent) <codex@clawdie.si>
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  603 passed (603)
2026-04-06 13:22:24 +00:00
3ab5d01ba9 Regenerate built-in knowledge: 84 docs, 1853 embeddings
Rewrote embed-builtin-knowledge.py to dynamically discover all project
docs, internal docs, identity files, and skill definitions instead of
using a hardcoded 6-chunk array.  Artifact now covers full corpus via
OpenRouter BAAI/bge-m3 at 1024 dimensions.

Also fixed stale config.ts defaults: EMBED_MODEL from nomic-embed to
BAAI/bge-m3, EMBED_DIMENSIONS from 768 to 1024 (matching the pgvector
schema's vector(1024) column).

Tested: imported into live clawdie_skills DB, FTS search confirmed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  603 passed (603)
2026-04-06 01:37:26 +00:00
cc37d2c8cf Public/internal docs restructure; CMS/verify cleanup (Sam & Codex)
---

Build: pass | Tests: pass - 603 passed (44 files)

---
Build: pass | Tests: pass — Tests  603 passed (603)
2026-04-05 06:29:19 +00:00
8f14ce0573 chore: replace legacy klavdija refs with agent-agnostic names, fix checklist to use Bastille
Replaces hardcoded "klavdija" with ${AGENT_NAME} or generic phrasing across
docs, scripts, and identity files. Fixes fresh-install checklist: jls → bastille
list, parameterized log paths, Bastille-based service checks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  605 passed (605)
2026-04-01 21:59:13 +00:00
0357ddb789 feat: enable hybrid search with pre-generated embeddings
- Add embed-builtin-knowledge.py script for OpenRouter bge-m3 embeddings
- Update artifact.sql with pre-generated 1024-dim embeddings for 6 chunks
- Update metadata: openrouter/baai/bge-m3, embedding_count=6, search_mode=hybrid
- Change locale from en-US to sl-SI per project language setting

Author: Clawdie AI <hello@clawdie.si>
Co-Authored-By: Samo Blatnik, Zed.ai
2026-03-29 23:28:15 +02:00
1cf4152bd3 chore: templatize agent name/subnet; fix heartbeat PGPASSWORD + timeouts
- Replace hardcoded "klavdija" tmux session names with $AGENT_NAME in
  glass.sh and run-klavdija.sh
- Replace hardcoded 192.168.100.x fallbacks with 10.0.1.x throughout
  scripts/memory/ and heartbeat.sh defaults
- Fix heartbeat PGPASSWORD: use inline `VAR=val cmd` form so psql
  actually receives the password in the subshell
- Fix heartbeat curl hangs: add --max-time to all curl calls
- Add run-klavdija.sh and src/transcription.ts (previously untracked)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  431 passed (431)
2026-03-28 21:56:40 +00:00
f07e4f1a0c feat: switch embeddings to OpenRouter BAAI/bge-m3; fix heartbeat embed check
- embed-docs.py, import-memories.py: only send dimensions param for openai.com
- heartbeat.sh: skip /health TCP probe for external APIs to avoid false WARN;
  use dynamic URL in flag message instead of hardcoded :8080

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  431 passed (431)
2026-03-28 21:15:43 +00:00
e73afafbb2 feat: switch embeddings to OpenAI text-embedding-3-small; add embed-docs.py
- embed-docs.py: new script to batch-embed project docs into klavdija_brain
  (37 docs → 852 chunks with session_id pattern doc:<path>)
- import-memories.py: updated embed() to send Authorization header and
  dimensions=1024 parameter for OpenAI/configurable provider support
- memories-transfer-v2.json: recovered historical session memories (local copy)
- package.json: add @supabase/supabase-js dependency
- src/channels/telegram.ts, src/config.ts: Telegram channel integration

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  431 passed (431)
2026-03-28 20:44:09 +00:00
c1fe217f7e feat: import prior session memories into brain; add import-memories.py
- MEMORY.md restored from v2 transfer JSON (was absent in Supabase backups)
- scripts/memory/import-memories.py: chunk + embed + insert into memories,
  memory_chunks, memory_embeddings via psql fallback (no psycopg2 required)
- Imported 8 historical sessions (Feb-Mar 2026) from old agent into klavdija_brain

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  431 passed (431)
2026-03-28 14:14:59 +00:00
f990d5650e refactor: derive DB identity from AGENT_NAME, drop hardcoded agent refs
- Remove 7 redundant .env vars: DB_NAME, DB_USER, DB_HOST, DB_PORT,
  MEMORY_DB_NAME, MEMORY_DB_USER, MEMORY_DB_URL — all now derived from
  AGENT_NAME by config.ts and common.sh
- Fix DB_HOST in common.sh pointing to .2 (controlplane) instead of .3 (db)
- common.sh: normalise AGENT_NAME → Postgres identifier, same algorithm
  as db-identifiers.ts; embed config now reads from .env instead of
  overriding with stale OpenRouter values
- embed.sh: drop OPENROUTER_API_KEY requirement; use EMBED_BASE_URL +
  EMBED_API_KEY (empty = local llama-server, no auth needed)
- memory-hydrate-pg.sh, memory-lifecycle.ts: replace ai_brain/clawdie_brain
  literals with live DB_NAME / MEMORY_DB_NAME values

Bump to 0.9.1.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  431 passed (431)
2026-03-28 08:55:06 +00:00
37e43d353c fix(dates): standardize DD.mmm.YYYY display and snapshot naming 2026-03-14 00:07:55 +01:00
0d192a4f72 Complete PGVector memory system
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 09:43:40 +00:00
3e404b4332 Add memory pipeline scripts (Phase 2)
Three scripts in scripts/memory/:
- common.sh: shared config, DB connection, dependency checks
- embed.sh: generate 1536d embeddings via OpenRouter API
- chunk.sh: split text on sentence boundaries (~500 chars)
- memory-pg.sh: full CLI for store/search/recent/important/count

Store pipeline: text → chunk → embed → insert (fully automated).
Search: hybrid RRF combining full-text and vector similarity.
All scripts use #!/usr/bin/env bash for FreeBSD compatibility.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 09:30:34 +00:00