compile: promote 5 entities (trellis, vault-mcp, petalbrain, knot-dns, herbyeos)
User-approved promotions from the prior compile's proposal list. pbs-hub-mcp deferred per user. Wiki domain indexes updated to list the new entities; Sources left untouched (MCP-written/immutable). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
6722ee735b
commit
75ba9f005a
39
Wiki/Dev/herbyeos.md
Normal file
39
Wiki/Dev/herbyeos.md
Normal file
@ -0,0 +1,39 @@
|
||||
---
|
||||
type: entity
|
||||
path: Wiki/Dev
|
||||
tags:
|
||||
- workstation
|
||||
- python
|
||||
created: 2026-05-24
|
||||
updated: 2026-05-24
|
||||
---
|
||||
|
||||
# herbyeos
|
||||
|
||||
## What it is
|
||||
|
||||
herbyeos is Travis's primary local **dev tower** — an EndeavourOS (Arch-based, rolling-release) workstation with an i7, 128 GB RAM, and an RTX 3080 Ti. It's the heavy-iron rig for GPU and fast-iteration work, distinct from [[Wiki/Dev/herbydev|herbydev]] (the Proxmox dev *VM*). When a project says "on the tower" — Jupyter ML drills, DaVinci Resolve, local model experiments — it means herbyeos.
|
||||
|
||||
## Current state
|
||||
|
||||
Active workstation. Recent/known uses:
|
||||
- **DaVinci Resolve Studio 20.3.3** installed via the sheridans GitHub PKGBUILD (bundled-libs approach, chosen for resilience across `pacman -Syu` rolling updates) rather than the AUR package
|
||||
- **ML/AI drills** — the planned `ml-drills-curriculum` runs Python + Jupyter here for fast iteration on the RTX 3080
|
||||
- Rolling-release means the standing gotcha is post-update library drift (e.g., Resolve's glib/pango conflicts → `LD_PRELOAD` workaround)
|
||||
|
||||
## Where it lives
|
||||
|
||||
- Physical tower on Travis's desk (EndeavourOS); GPU: RTX 3080 Ti
|
||||
- Not a Proxmox guest — bare-metal workstation
|
||||
|
||||
## Related projects
|
||||
|
||||
- [[Sources/Homelab/davinci-resolve-studio-install|davinci-resolve-studio-install]] — Resolve Studio install (project plan)
|
||||
- [[Sources/Homelab/2026-05-24-davinci-resolve-studio-install|2026-05-24-davinci-resolve-studio-install]] — install session notes
|
||||
- [[Sources/Dev/ml-drills-curriculum|ml-drills-curriculum]] — Jupyter ML drills on the tower
|
||||
- [[Wiki/Dev/herbydev|herbydev]] — the Proxmox dev VM (distinct machine)
|
||||
|
||||
## History
|
||||
|
||||
- **2026-05-24** — DaVinci Resolve Studio 20.3.3 installed (sheridans PKGBUILD, bundled libs)
|
||||
- **2026-05** — Designated the Jupyter/RTX-3080 host for the ML drills curriculum
|
||||
@ -3,7 +3,7 @@ type: topic-landing
|
||||
path: Wiki/Dev
|
||||
tags:
|
||||
- landing
|
||||
updated: 2026-05-08
|
||||
updated: 2026-05-24
|
||||
---
|
||||
|
||||
# Dev — Wiki
|
||||
@ -14,6 +14,7 @@ Compiled entities, topic landings, and synthesis for the Dev domain.
|
||||
|
||||
- [[Wiki/Dev/pbs-hub|pbs-hub]] — Python Flask app merging pbs-api + Content Hub; Blueprint architecture; `pbs_hub` MySQL DB
|
||||
- [[Wiki/Dev/herbydev|herbydev]] — Travis's primary dev workstation (Proxmox VM); Fish + Starship; Claude Code; Tailscale VNC
|
||||
- [[Wiki/Dev/herbyeos|herbyeos]] — EndeavourOS dev tower (i7 / 128GB / RTX 3080 Ti); GPU + Jupyter + DaVinci Resolve
|
||||
|
||||
## Synthesis Pages
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@ type: topic-landing
|
||||
path: Wiki/Homelab
|
||||
tags:
|
||||
- landing
|
||||
updated: 2026-05-08
|
||||
updated: 2026-05-24
|
||||
---
|
||||
|
||||
# Homelab — Wiki
|
||||
@ -13,6 +13,8 @@ Compiled entities, topic landings, and synthesis for the Homelab domain.
|
||||
## Entities
|
||||
|
||||
- [[Wiki/Homelab/proxmox|proxmox]] — bare-metal hypervisor for homelab VMs and LXCs; hosts DNS stack, Authentik, OB1, ustest1
|
||||
- [[Wiki/Homelab/petalbrain|petalbrain]] — consolidated pgvector:pg17 DB; wiki/ob1/trellis schemas + shared `public.embeddings`
|
||||
- [[Wiki/Homelab/knot-dns|knot-dns]] — authoritative DNS for internal `.herbylab.dev` (split-horizon with Pi-hole)
|
||||
|
||||
## Synthesis Pages
|
||||
|
||||
|
||||
45
Wiki/Homelab/knot-dns.md
Normal file
45
Wiki/Homelab/knot-dns.md
Normal file
@ -0,0 +1,45 @@
|
||||
---
|
||||
type: entity
|
||||
path: Wiki/Homelab
|
||||
tags:
|
||||
- dns
|
||||
- proxmox
|
||||
- homelab
|
||||
- traefik
|
||||
created: 2026-05-24
|
||||
updated: 2026-05-24
|
||||
---
|
||||
|
||||
# Knot DNS
|
||||
|
||||
## What it is
|
||||
|
||||
Knot is the authoritative DNS server for the homelab's internal `.herbylab.dev` zone, running in a Proxmox LXC. It is the primary half of a split-horizon DNS architecture — Knot answers authoritatively for internal names while Pi-hole sits in front for filtering and forwarding. Knot is what makes capability-based names like `traefik.herbylab.dev`, `pihole.herbylab.dev`, and `openwrt.herbylab.dev` resolve on the LAN to their Traefik-fronted services.
|
||||
|
||||
## Current state
|
||||
|
||||
Active as the internal authority. Operational notes from recent work:
|
||||
- **Split-horizon** — Knot authoritative for internal `.herbylab.dev`; Pi-hole forwards/filters in front (rebind-protection and EDE-15 issues were debugged during stand-up)
|
||||
- **A-records being added incrementally** as services land — outstanding adds flagged in session notes include `pve.herbylab.dev → 10.0.21.188` (so PVE SPICE `.vv` files stop needing sed-rewrite) and `us-test-authy.herbylab.dev → 10.0.21.207`
|
||||
- Sits upstream of the homelab [[Wiki/Reference/traefik|Traefik]] TLS pipeline (DNS resolves the name, Traefik terminates with the `*.herbylab.dev` wildcard)
|
||||
|
||||
## Where it lives
|
||||
|
||||
- Knot LXC (container **103**) on Proxmox
|
||||
- Zone data for `.herbylab.dev`; secondary on the NAS is a planned follow-on (not yet stood up)
|
||||
|
||||
## Related projects
|
||||
|
||||
- [[Sources/Homelab/dns-knot-pihole-end-to-end|dns-knot-pihole-end-to-end]] — Knot + Pi-hole chain live; rebind/EDE-15 fixes
|
||||
- [[Sources/Homelab/homelab-dns-decision|homelab-dns-decision]] — locked split-horizon Knot architecture
|
||||
- [[Sources/Homelab/2026-05-21-traefik-routes-for-pihole-openwrt-us-test-authy-static-ip-cutove|traefik routes for pihole/openwrt]] — internal name resolution for new routes
|
||||
- [[Wiki/Reference/traefik|traefik]] — consumes Knot resolution
|
||||
- [[Wiki/Homelab/proxmox|proxmox]] — host
|
||||
- [[Wiki/Homelab/homelab-ingress-stack|homelab-ingress-stack]] — synthesis
|
||||
|
||||
## History
|
||||
|
||||
- **2026** — Split-horizon Knot architecture locked; `.herbylab.dev` authoritative internally
|
||||
- **2026** — Knot + Pi-hole chain brought live end-to-end (rebind protection + EDE-15 debugging)
|
||||
- **2026-05** — Pending A-record adds (`pve`, `us-test-authy`) flagged across Traefik/PBS-backup sessions
|
||||
- **Planned** — Knot zone file into git; Ansible role for the primary; secondary on NAS
|
||||
50
Wiki/Homelab/petalbrain.md
Normal file
50
Wiki/Homelab/petalbrain.md
Normal file
@ -0,0 +1,50 @@
|
||||
---
|
||||
type: entity
|
||||
path: Wiki/Homelab
|
||||
tags:
|
||||
- pgvector
|
||||
- embeddings
|
||||
- mcp
|
||||
- ob1
|
||||
- homelab
|
||||
created: 2026-05-24
|
||||
updated: 2026-05-24
|
||||
---
|
||||
|
||||
# petalbrain
|
||||
|
||||
## What it is
|
||||
|
||||
petalbrain is the consolidated Postgres database that backs all three of Travis's memory systems. It is a single `pgvector/pgvector:pg17` instance (container `homelab-postgres`) holding three schemas — `wiki`, `ob1`, `trellis` — plus a shared `public.embeddings` vector store. It was created by consolidating three previously separate databases (`herbylab`, `openbrain`, `trellis`) so the cross-cutting reflection/search queries that span all three become free intra-database joins instead of cross-database FDW taxes. The name replaced `openbrain`, which became misleading once the DB also held wiki and trellis content.
|
||||
|
||||
## Current state
|
||||
|
||||
Live. Layout:
|
||||
- **Schema `wiki`** — owned by `vault_mcp`; `artifacts` / `projects` / `notes`
|
||||
- **Schema `ob1`** — owned by `ob1_mcp`; `ob1.thoughts` (raw) + `ob1.reflections` (compiled)
|
||||
- **Schema `trellis`** — owned by `trellis_mcp`; threads / events / tags
|
||||
- **`public.embeddings`** — shared across all sources, owned by `postgres`; `VECTOR(768)` (Ollama `nomic-embed-text`), HNSW `vector_cosine_ops` (m=16, ef_construction=64), keyed `(source_schema, source_table, source_id, embedding_model)`; 512-token chunks / 64 overlap
|
||||
- **Service roles** — `vault_mcp` / `ob1_mcp` / `trellis_mcp` each own their schema; `ob1_mcp` reads `wiki` + `trellis` for reflection synthesis; `lovebug` is RW everywhere. Isolation enforced at the Postgres role level (verified with positive permission-denied tests).
|
||||
|
||||
## Where it lives
|
||||
|
||||
- Container `homelab-postgres` (`pgvector/pgvector:pg17`), `/opt/projects/docker/postgres/`, bound to `127.0.0.1:5433`, external volume `ob1_data`, on the `homelab` Docker network — Proxmox
|
||||
- Credentials for the four service roles in `/opt/backups/postgres-consolidation/credentials.env` (0600) for KeePassXC transcription
|
||||
- Pre-migration dumps + rollback runbook in `/opt/backups/postgres-consolidation/`
|
||||
|
||||
## Related projects
|
||||
|
||||
- [[Sources/Homelab/postgres-consolidation-ob1-reflection-layer|postgres-consolidation-ob1-reflection-layer]] — the consolidation + reflection plan
|
||||
- [[Sources/Homelab/postgres-consolidation-followups|postgres-consolidation-followups]] — activation, verification, Phase 8 cleanup
|
||||
- [[Sources/Homelab/2026-05-15-postgres-consolidation-phase0-recon|phase0-recon]] — pre-consolidation instance inventory
|
||||
- [[Sources/Homelab/2026-05-15-postgres-consolidation-phase2a-result|phase2a-result]] — schemas + roles + embeddings landed
|
||||
- [[Wiki/Reference/ob1|ob1]] · [[Wiki/Reference/vault-mcp|vault-mcp]] · [[Wiki/Reference/trellis|trellis]] — the three consumers
|
||||
- [[Wiki/Homelab/proxmox|proxmox]] — host
|
||||
- [[Wiki/Dev/ai-memory-architecture|ai-memory-architecture]] — synthesis
|
||||
|
||||
## History
|
||||
|
||||
- **2026-05-14** — OB1 embedding dim migrated 1536→768 for `nomic-embed-text` (precursor)
|
||||
- **2026-05-15** — Phase 0 recon; Phase 2a landed the `wiki` + `trellis` schemas, four service roles, and the empty `public.embeddings` table inside `openbrain`, disruption-free
|
||||
- **2026-05** — `openbrain` renamed to `petalbrain`; `public.thoughts` → `ob1.thoughts`; embeddings backfilled; MCP connection strings cut over
|
||||
- **Open** — Phase 8 cleanup: drop the old standalone `herbylab` / `trellis` DBs after the verification window
|
||||
@ -24,6 +24,8 @@ Compiled entities, topic landings, and synthesis for the Reference domain.
|
||||
- [[Wiki/Reference/ob1|ob1]] — AI memory system; self-hosted pgvector:pg17 (`petalbrain`) + Ollama; Tailscale-only
|
||||
- [[Wiki/Reference/claude-code|claude-code]] — Anthropic CLI; primary AI tool across all projects
|
||||
- [[Wiki/Reference/dispatch|dispatch]] — AI agent orchestration framework; manages Lovebug lifecycle
|
||||
- [[Wiki/Reference/vault-mcp|vault-mcp]] — MCP write surface for the vault; dual-writes `petalbrain.wiki` + markdown + git
|
||||
- [[Wiki/Reference/trellis|trellis]] — MCP server for resumable work threads across conversation boundaries
|
||||
|
||||
**Automation & Infrastructure**
|
||||
- [[Wiki/Reference/n8n|n8n]] — self-hosted workflow automation; central automation hub
|
||||
|
||||
44
Wiki/Reference/trellis.md
Normal file
44
Wiki/Reference/trellis.md
Normal file
@ -0,0 +1,44 @@
|
||||
---
|
||||
type: entity
|
||||
path: Wiki/Reference
|
||||
tags:
|
||||
- mcp
|
||||
- claude-code
|
||||
- lovebug
|
||||
created: 2026-05-24
|
||||
updated: 2026-05-24
|
||||
---
|
||||
|
||||
# Trellis
|
||||
|
||||
## What it is
|
||||
|
||||
Trellis is an MCP server that captures and resumes long-running **threads of work** across conversation boundaries. The unit is a *thread* — a logical work effort that may span many chat sessions over days or weeks, with pause/resume verbs so context can be switched without losing working state. It solves the "where exactly did we leave the Traefik debugging" problem that memory is too lossy for and chat history can't restore. Trellis is the *record* leg of the three-way memory split: CLAUDE.md is instructions, Trellis is where-we-are-in-the-doing, and the [[Wiki/Dev/ai-memory-architecture|wiki + OB1]] hold lessons and outcomes.
|
||||
|
||||
## Current state
|
||||
|
||||
Operational, Postgres-backed in the consolidated `petalbrain` instance (schema `trellis`, owned by the `trellis_mcp` role). Shape:
|
||||
- **Four tables**, append-only events log: `threads`, `tags`, `thread_tags`, `events`. Checkpoint payload is freeform markdown the agent synthesizes.
|
||||
- **Seven tools** (`*_thread`): `start`, `checkpoint` (was `pause`), `resume`, `get`, `list`, `fork`, `update`.
|
||||
- **Lifecycle is prompt-driven** — no autonomous jobs, no auto-abandon. Threads persist until explicitly acted on.
|
||||
- A [[Sources/Homelab/trellis-mcp-tool-surface-followups|tool-surface refinement]] is in flight: `pause_thread`→`checkpoint_thread` rename (the verb writes a `checkpoint` event, not a status change, and collided with the `paused` status), plus optional integer `id` addressing alongside the canonical `slug`.
|
||||
|
||||
## Where it lives
|
||||
|
||||
- `trellis-mcp` container; same deployment pattern as vault-mcp (FastMCP, Authentik in front, Cloudflare Tunnel), hostname `trellis.herbylab.dev`
|
||||
- Data: `petalbrain.trellis` schema on the `homelab-postgres` pgvector:pg17 container
|
||||
- Local repo: `/opt/projects/homelab/trellis-mcp/`
|
||||
|
||||
## Related projects
|
||||
|
||||
- [[Sources/Homelab/trellis-mcp|trellis-mcp]] — design + build plan
|
||||
- [[Sources/Homelab/trellis-mcp-tool-surface-followups|trellis-mcp-tool-surface-followups]] — checkpoint rename + id addressing
|
||||
- [[Sources/Homelab/postgres-consolidation-ob1-reflection-layer|postgres-consolidation-ob1-reflection-layer]] — trellis cutover into petalbrain
|
||||
- [[Wiki/Reference/vault-mcp|vault-mcp]] — sibling MCP, same deployment pattern
|
||||
- [[Wiki/Dev/ai-memory-architecture|ai-memory-architecture]] — synthesis (Trellis = the "record" leg)
|
||||
|
||||
## History
|
||||
|
||||
- **2026-05-10** — Design locked: thread model, four-table append-only schema, seven-tool surface, prompt-driven lifecycle
|
||||
- **2026-05** — Consolidated into `petalbrain.trellis` (trellis cutover, Phase 2/3 of the consolidation)
|
||||
- **2026-05-23** — Tool-surface follow-ups planned: `checkpoint_thread` rename + `id` addressing
|
||||
53
Wiki/Reference/vault-mcp.md
Normal file
53
Wiki/Reference/vault-mcp.md
Normal file
@ -0,0 +1,53 @@
|
||||
---
|
||||
type: entity
|
||||
path: Wiki/Reference
|
||||
tags:
|
||||
- mcp
|
||||
- pgvector
|
||||
- embeddings
|
||||
- wiki
|
||||
- git
|
||||
created: 2026-05-24
|
||||
updated: 2026-05-24
|
||||
---
|
||||
|
||||
# vault-mcp
|
||||
|
||||
## What it is
|
||||
|
||||
vault-mcp is the MCP server that writes Travis's project plans and session notes into the wiki vault. It is the canonical write path for the `Sources/` layer: a `create_artifact` call **dual-writes** a Postgres row in `petalbrain.wiki` *and* a markdown file in the vault repo, then commits and pushes to Gitea, then chunks and embeds the content into the shared `public.embeddings` table. It is the machine half of the [[Wiki/Dev/ai-memory-architecture|memory architecture]] — agents and the email pipeline write through it; the compile skill reads what it produced. Formerly named `homelab-mcp-server` / `herbydev-mcp`.
|
||||
|
||||
## Current state
|
||||
|
||||
Operational end-to-end after a long May-2026 debugging chain (package rename → import paths → tool exposure → wrapper dispatch → env config → schema search_path → git credential helper → token). Key facts:
|
||||
- **Tools** — `create_artifact` + `update_artifact` are canonical; `update_artifact` mutates metadata only (artifacts are immutable once created); `save_note` is a hidden deprecation shim
|
||||
- **Schema** — owns `petalbrain.wiki` as the `vault_mcp` role (`search_path = wiki, public`)
|
||||
- **Embeddings** — chunks at 512 tokens / 64 overlap, writes to `public.embeddings` (source_schema=`wiki`)
|
||||
- **NOTIFY → Trello** — project-status changes fire a Postgres NOTIFY that n8n turns into Trello card moves; hand-editing frontmatter does *not* fire it (use the tool)
|
||||
- **Git push** — HTTPS with a `lovebug` PAT via an env-driven credential helper (the secret never lands in `.git/config`)
|
||||
- The `vault:search` semantic tool ([[Sources/Homelab/vault-semantic-search|vault-semantic-search]]) is designed but not yet built
|
||||
|
||||
## Where it lives
|
||||
|
||||
- `vault-mcp` container on the homelab; hostname under `*.herbylab.dev` behind Authentik + Cloudflare Tunnel
|
||||
- Data: `petalbrain.wiki` schema on `homelab-postgres` (pgvector:pg17)
|
||||
- Local repo: `/opt/projects/homelab/vault-mcp/` (renamed from `herby-dev`)
|
||||
- Writes markdown into this vault (`/opt/projects/wiki-vault/Sources/`)
|
||||
|
||||
## Related projects
|
||||
|
||||
- [[Sources/Homelab/homelab-mcp-server|homelab-mcp-server]] — original stand-up (FastMCP + Authentik + Tunnel)
|
||||
- [[Sources/Homelab/herbylab-project-management|herbylab-project-management]] — artifact/project model + NOTIFY→Trello
|
||||
- [[Sources/Homelab/postgres-consolidation-ob1-reflection-layer|postgres-consolidation-ob1-reflection-layer]] — wiki schema + embeddings consolidation
|
||||
- [[Sources/Homelab/postgres-consolidation-followups|postgres-consolidation-followups]] — write-surface cleanup items
|
||||
- [[Sources/Homelab/vault-semantic-search|vault-semantic-search]] — planned `vault:search` read tool
|
||||
- [[Wiki/Reference/trellis|trellis]] — sibling MCP, same deployment pattern
|
||||
- [[Wiki/Reference/gitea|gitea]] — push target
|
||||
- [[Wiki/Dev/ai-memory-architecture|ai-memory-architecture]] — synthesis
|
||||
|
||||
## History
|
||||
|
||||
- **2026-05-06** — Stood up as `homelab-mcp-server` at `mcp.herbylab.dev`
|
||||
- **2026-05** — Renamed to `vault-mcp`; artifact tooling (`create_artifact`/`update_artifact`) added
|
||||
- **2026-05-15** — Owns `petalbrain.wiki`; chunked embeddings into `public.embeddings`
|
||||
- **2026-05-16/17** — Write surface declared operational end-to-end (dual-write + git push + embeddings) after the full-stack debugging chain
|
||||
@ -22,6 +22,9 @@ Generated and maintained by the wiki-maintenance compile skill.
|
||||
|
||||
- [[Wiki/Reference/lovebug|lovebug]] — named AI coding agent (Dispatch)
|
||||
- [[Wiki/Reference/ob1|ob1]] — AI memory system (self-hosted pgvector:pg17 / `petalbrain`)
|
||||
- [[Wiki/Homelab/petalbrain|petalbrain]] — consolidated pgvector DB behind wiki/ob1/trellis
|
||||
- [[Wiki/Reference/vault-mcp|vault-mcp]] — MCP write surface for the vault
|
||||
- [[Wiki/Reference/trellis|trellis]] — resumable work threads across sessions
|
||||
- [[Wiki/Reference/plant-based-southerner|plant-based-southerner]] — the PBS business
|
||||
- [[Wiki/Reference/jenny|jenny]] — PBS co-founder and content creator
|
||||
- [[Wiki/Reference/n8n|n8n]] — central automation hub
|
||||
|
||||
10
log.md
10
log.md
@ -46,3 +46,13 @@ Append-only event log. Each entry records a compile, lint, or migration run.
|
||||
NOT deleted. Lint items: type=session-note (singular) on 4 files should be session-notes;
|
||||
MCP-written project-plans intentionally omit status/updated frontmatter (per herbylab-project-
|
||||
management design) — not an error. Venture domain unchanged (no new sources).
|
||||
|
||||
## [2026-05-24 21:45] compile | entity promotions (user-approved)
|
||||
|
||||
- Pages created: Wiki/Reference/trellis, Wiki/Reference/vault-mcp, Wiki/Homelab/petalbrain,
|
||||
Wiki/Homelab/knot-dns, Wiki/Dev/herbyeos
|
||||
- Entities promoted: trellis, vault-mcp, petalbrain, knot-dns, herbyeos (5 of 6 proposed)
|
||||
- Deferred per user: pbs-hub-mcp ("that will come later")
|
||||
- Indexes updated: Wiki/index, Wiki/Reference/index, Wiki/Homelab/index, Wiki/Dev/index
|
||||
- Notes: Sources are MCP-written/immutable, so referencing Sources files were NOT rewritten to
|
||||
wikilinks; new entity pages link outward to their sources instead.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user