Commit graph

376 commits

Author SHA1 Message Date
jlightner
8dc4e9137d fix: Include alembic.ini and alembic/ in API Docker image for migrations 2026-03-30 01:21:41 +00:00
jlightner
7256fe7667 fix: Qdrant healthcheck uses bash /dev/tcp (no wget/curl in image) 2026-03-30 01:20:14 +00:00
jlightner
7c79574a25 fix: Ollama healthcheck uses 'ollama list' instead of curl (not in image) 2026-03-30 01:17:06 +00:00
jlightner
c295384c6a fix: Corrected compose subnet to 172.32.0.0/24, added Qdrant + Ollama services, web on port 8096
- Changed network subnet from 172.24.0.0/24 (used by xpltd_docs) to 172.32.0.0/24
- Added chrysopedia-qdrant (qdrant/qdrant:v1.13.2) with healthcheck
- Added chrysopedia-ollama for embedding model (nomic-embed-text)
- Web UI exposed on 0.0.0.0:8096 (XPLTD port-suffix convention)
- API internal-only (via nginx proxy)
- Added HEALTHCHECK to Dockerfile.api
- Updated .env.example with FYN DGX LLM endpoint
2026-03-30 00:54:18 +00:00
jlightner
3b01bd94ab chore: auto-commit after complete-milestone
GSD-Unit: M001
2026-03-30 00:29:45 +00:00
jlightner
07e85e95d2 feat: Built CreatorsBrowse (randomized default sort, genre filter, name…
- "frontend/src/pages/CreatorsBrowse.tsx"
- "frontend/src/pages/CreatorDetail.tsx"
- "frontend/src/pages/TopicsBrowse.tsx"
- "frontend/src/App.tsx"
- "frontend/src/App.css"
- "frontend/src/api/public-client.ts"

GSD-Task: S05/T04
2026-03-30 00:13:11 +00:00
jlightner
3a7f10005b feat: Built frontend search flow: typed public API client, landing page…
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/Home.tsx"
- "frontend/src/pages/SearchResults.tsx"
- "frontend/src/pages/TechniquePage.tsx"
- "frontend/src/App.tsx"
- "frontend/src/App.css"

GSD-Task: S05/T03
2026-03-30 00:09:08 +00:00
jlightner
5b8be50994 test: Added 18 integration tests for search and public API endpoints (t…
- "backend/tests/test_search.py"
- "backend/tests/test_public_api.py"

GSD-Task: S05/T02
2026-03-30 00:01:32 +00:00
jlightner
c0df369018 feat: Created async search service with embedding+Qdrant+keyword fallba…
- "backend/search_service.py"
- "backend/schemas.py"
- "backend/routers/search.py"
- "backend/routers/techniques.py"
- "backend/routers/topics.py"
- "backend/routers/creators.py"
- "backend/main.py"

GSD-Task: S05/T01
2026-03-29 23:55:52 +00:00
jlightner
2cb0f9c381 feat: Built complete admin review queue UI: queue list page with stats…
- "frontend/src/pages/ReviewQueue.tsx"
- "frontend/src/pages/MomentDetail.tsx"
- "frontend/src/components/StatusBadge.tsx"
- "frontend/src/components/ModeToggle.tsx"
- "frontend/src/App.tsx"
- "frontend/src/App.css"

GSD-Task: S04/T03
2026-03-29 23:29:01 +00:00
jlightner
5542ae455f feat: Bootstrapped React + Vite + TypeScript frontend with typed API cl…
- "frontend/package.json"
- "frontend/vite.config.ts"
- "frontend/tsconfig.json"
- "frontend/tsconfig.app.json"
- "frontend/index.html"
- "frontend/src/main.tsx"
- "frontend/src/App.tsx"
- "frontend/src/App.css"

GSD-Task: S04/T02
2026-03-29 23:21:53 +00:00
jlightner
c2edba952c test: Built 9 review queue API endpoints (queue, stats, approve, reject…
- "backend/routers/review.py"
- "backend/schemas.py"
- "backend/redis_client.py"
- "backend/main.py"
- "backend/tests/test_review.py"

GSD-Task: S04/T01
2026-03-29 23:13:43 +00:00
jlightner
2cb10b5db8 test: Added 10 integration tests covering pipeline stages 2-6, trigger…
- "backend/tests/test_pipeline.py"
- "backend/tests/fixtures/mock_llm_responses.py"
- "backend/tests/conftest.py"

GSD-Task: S03/T05
2026-03-29 22:51:26 +00:00
jlightner
910e945d9c feat: Wired automatic run_pipeline.delay() dispatch after ingest commit…
- "backend/routers/pipeline.py"
- "backend/routers/ingest.py"
- "backend/main.py"

GSD-Task: S03/T04
2026-03-29 22:41:02 +00:00
jlightner
5c46d1e922 feat: Created sync EmbeddingClient, QdrantManager with idempotent colle…
- "backend/pipeline/embedding_client.py"
- "backend/pipeline/qdrant_client.py"
- "backend/pipeline/stages.py"

GSD-Task: S03/T03
2026-03-29 22:39:04 +00:00
jlightner
b5635a09db feat: Created 4 prompt templates and implemented 5 Celery tasks (stages…
- "prompts/stage2_segmentation.txt"
- "prompts/stage3_extraction.txt"
- "prompts/stage4_classification.txt"
- "prompts/stage5_synthesis.txt"
- "backend/pipeline/stages.py"
- "backend/requirements.txt"

GSD-Task: S03/T02
2026-03-29 22:36:06 +00:00
jlightner
12cc86aef9 chore: Extended Settings with 12 LLM/embedding/Qdrant config fields, cr…
- "backend/config.py"
- "backend/worker.py"
- "backend/pipeline/schemas.py"
- "backend/pipeline/llm_client.py"
- "backend/requirements.txt"
- "backend/pipeline/__init__.py"
- "backend/pipeline/stages.py"

GSD-Task: S03/T01
2026-03-29 22:30:31 +00:00
jlightner
bef8d95e64 test: Added 6 integration tests proving ingestion, creator auto-detecti…
- "backend/tests/conftest.py"
- "backend/tests/test_ingest.py"
- "backend/tests/fixtures/sample_transcript.json"
- "backend/pytest.ini"
- "backend/requirements.txt"
- "backend/models.py"

GSD-Task: S02/T02
2026-03-29 22:16:15 +00:00
jlightner
5bfeb50716 feat: Created POST /api/v1/ingest endpoint that accepts Whisper transcr…
- "backend/routers/ingest.py"
- "backend/schemas.py"
- "backend/requirements.txt"
- "backend/main.py"

GSD-Task: S02/T01
2026-03-29 22:09:46 +00:00
jlightner
b3a05b8218 docs: Created comprehensive README.md with architecture diagram, setup…
- "README.md"
- "tests/fixtures/sample_transcript.json"

GSD-Task: S01/T05
2026-03-29 22:00:41 +00:00
jlightner
56adf2f2ef test: Created desktop Whisper transcription script with single-file/bat…
- "whisper/transcribe.py"
- "whisper/requirements.txt"
- "whisper/README.md"

GSD-Task: S01/T04
2026-03-29 21:57:42 +00:00
jlightner
07126138b5 chore: Built FastAPI app with DB-connected health check, Pydantic schem…
- "backend/main.py"
- "backend/config.py"
- "backend/schemas.py"
- "backend/routers/__init__.py"
- "backend/routers/health.py"
- "backend/routers/creators.py"
- "backend/routers/videos.py"

GSD-Task: S01/T03
2026-03-29 21:54:57 +00:00
jlightner
ad3bccf1f2 fix: Created SQLAlchemy models for all 7 entities, Alembic async migrat…
- "backend/models.py"
- "backend/database.py"
- "alembic/versions/001_initial.py"
- "alembic/env.py"
- "alembic.ini"
- "alembic/script.py.mako"
- "docker-compose.yml"
- ".gsd/KNOWLEDGE.md"

GSD-Task: S01/T02
2026-03-29 21:48:36 +00:00
jlightner
cd271c1a8d feat: Created full Docker Compose project (xpltd_chrysopedia) with Post…
- "docker-compose.yml"
- ".env.example"
- "docker/Dockerfile.api"
- "docker/Dockerfile.web"
- "docker/nginx.conf"
- "backend/main.py"
- "backend/requirements.txt"
- "config/canonical_tags.yaml"

GSD-Task: S01/T01
2026-03-29 21:42:56 +00:00
jlightner
e15dd97b73 gsd: plan M001 (Chrysopedia Foundation) with 5 slices and S01 task breakdown
Milestone: Chrysopedia Foundation — Infrastructure, Pipeline Core, and Skeleton UI
Slices:
  S01: Docker Compose + Database + Whisper Script (5 tasks)
  S02: Transcript Ingestion API
  S03: LLM Extraction Pipeline + Qdrant Integration
  S04: Review Queue Admin UI
  S05: Search-First Web UI

Requirements: R001-R015 covering all spec sections.
Decisions: D001 (tech stack), D002 (Docker conventions), D003 (storage layer)
2026-03-29 21:39:04 +00:00
jlightner
8b506a95ca Initial commit: chrysopedia spec 2026-03-29 21:36:04 +00:00