wiki-vault/Wiki/Dev/pbs-hub.md
Travis Herbranson 6722ee735b compile: 34 sources since first compile — indexes + 5 entities + memory synthesis refreshed
Pages touched: Sources/index, Sources/Dev/index, Sources/Homelab/index,
  Wiki/index, Wiki/Reference/index, Wiki/Reference/{ob1,traefik,gitea},
  Wiki/Homelab/proxmox, Wiki/Dev/pbs-hub, Wiki/Dev/ai-memory-architecture
Pages created: none
Entities promoted: none (proposed: trellis, vault-mcp, petalbrain, pbs-hub-mcp, knot-dns, herbyeos)
Synthesis: ai-memory-architecture updated (9->17 sources) for petalbrain consolidation,
  shared public.embeddings, OB1 two-layer + reflection job, JSONL watcher, Trellis
Contradictions flagged: OB1 "Supabase" -> self-hosted pgvector:pg17/petalbrain + Ollama (corrected)
Tags proposed: none
Notes: 8 pipeline test artifacts flagged for cleanup (not deleted); session-note->session-notes
  lint pending; Venture unchanged

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 21:18:20 -04:00

4.6 KiB
Raw Blame History

type path tags created updated
entity Wiki/Dev
pbs
python
2026-05-08 2026-05-24

pbs-hub

What it is

pbs-hub is the Python Flask application that consolidates two previously separate services — pbs-api and the Content Hub — into a single unified backend for Plant Based Southerner. It provides the API layer for the membership platform (recipe saving, member authentication), the Instagram automation pipeline, and content management. The Blueprint architecture allows modular feature ownership without a full microservices split.

Current state

In active development (Phase 5 of Content Hub). Architecture decisions locked:

  • Blueprint structure — each major feature area (recipes, membership, instagram, content) is a Flask Blueprint
  • Databasepbs_hub MySQL DB with tables: projects, platform_posts, pbs_recipes
  • Auth — WordPress cookie-based auth for logged-in member verification
  • Recipe saving — backend API for The Garden membership saves recipes via pbs_hub DB

Phase 5 merges pbs-api + Content Hub codebases. Prior phases (14) built the Instagram automation database schema ("Great Lockout of 2026" workaround), reel detection system, and content tracking.

As of May 2026 the tool (codebase pbs-video-manager, served at /pbscontenthub) is being extended upstream into pre-production and given external write paths:

  • Pre-production extension (Sources/Dev/pbs-hub-scene-management / Sources/Dev/pbs-hub-pre-production-extension) — Outline/Treatment/Scenes authoring, a scenes/scene_items model (Path B: separate from checklist_items), a persistent card-rail + canvas UI, and a tablet Present Mode with color-coded scene completion to stop forgetting shots mid-shoot. All new tables target the pbs_automation DB.
  • Data import + MCP (Sources/Dev/pbs-hub-data-import-and-mcp) — a JSON paste-import affordance plus a standalone pbs-hub-mcp server (its own repo/container) exposing additive-upsert + read/search tools to LLM clients. First homelab MCP that fronts a separate REST API; hand-mirrored Pydantic models with drift-detection CI.
  • Vector search (Sources/Dev/pbs-hub-vector-search) — semantic search_projects via LanceDB + OpenAI text-embedding-3-small, n8n-driven async embedding. Deferred ~18 months until the project library is large enough for title search to hurt.

Where it lives

  • PBS Linode Docker stack (pbs-hub service)
  • Behind Traefik ingress
  • Git: PBS project repo (Gitea + GitHub)
  • DB: pbs_hub on shared MySQL instance in PBS stack

History

  • 2026 — MySQL schema created for Instagram automation; "Great Lockout of 2026" workaround implemented
  • 2026 — Three-tier reel detection system designed (Phase 4)
  • 2026 — DB connection fix: pool_pre_ping=True, pool_recycle=1800
  • 2026 — Phase 5 architecture planned: merge pbs-api + Content Hub into Blueprint Flask app
  • 2026-05-17 — Pre-production extension planned: scenes/scene-items model, rail+canvas UI, tablet Present Mode (targets pbs_automation)
  • 2026-05-19pbs-hub-mcp + JSON paste-import planned; vector-search spun out to its own (deferred) plan