jlightner
adc86446f1
feat: Created shared TagList component with max-4 overflow, applied acr…
...
- "frontend/src/components/TagList.tsx"
- "frontend/src/pages/Home.tsx"
- "frontend/src/pages/SearchResults.tsx"
- "frontend/src/pages/SubTopicPage.tsx"
- "frontend/src/pages/CreatorDetail.tsx"
- "frontend/src/pages/TopicsBrowse.tsx"
- "frontend/src/App.css"
GSD-Task: S02/T03
2026-03-31 08:35:07 +00:00
jlightner
caa55381ab
feat: Replaced run-on dot-separated topic stats on CreatorDetail with c…
...
- "frontend/src/pages/CreatorDetail.tsx"
- "frontend/src/App.css"
GSD-Task: S02/T02
2026-03-31 08:32:09 +00:00
jlightner
41bf06e431
feat: Topics page loads with all categories collapsed; expand/collapse…
...
- "frontend/src/pages/TopicsBrowse.tsx"
- "frontend/src/App.css"
GSD-Task: S02/T01
2026-03-31 08:30:55 +00:00
jlightner
717f6c0785
feat: Added GET /api/v1/techniques/random endpoint returning {slug}, fe…
...
- "backend/routers/techniques.py"
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/Home.tsx"
- "frontend/src/App.css"
GSD-Task: S01/T02
2026-03-31 08:24:38 +00:00
jlightner
d94995453e
feat: Added scale(1.02) hover to all 6 card types, cardEnter stagger an…
...
- "frontend/src/App.css"
- "frontend/src/pages/Home.tsx"
- "frontend/src/pages/TopicsBrowse.tsx"
- "frontend/src/pages/CreatorDetail.tsx"
- "frontend/src/pages/SubTopicPage.tsx"
- "frontend/src/pages/SearchResults.tsx"
GSD-Task: S01/T01
2026-03-31 08:22:37 +00:00
jlightner
9296cd4df8
chore: auto-commit after complete-milestone
...
GSD-Unit: M010
2026-03-31 06:46:25 +00:00
jlightner
2a8b0b3a84
feat: Extracted inline typeahead from Home.tsx into shared SearchAutoco…
...
- "frontend/src/components/SearchAutocomplete.tsx"
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/Home.tsx"
- "frontend/src/pages/SearchResults.tsx"
- "frontend/src/App.css"
GSD-Task: S04/T02
2026-03-31 06:39:01 +00:00
jlightner
1254e173d4
test: Added GET /api/v1/search/suggestions endpoint returning popular t…
...
- "backend/schemas.py"
- "backend/routers/search.py"
- "backend/tests/test_search.py"
GSD-Task: S04/T01
2026-03-31 06:35:37 +00:00
jlightner
ec7e07c705
feat: Added @keyframes pageEnter (opacity 0→1, translateY 8→0, 250ms ea…
...
- "frontend/src/App.css"
GSD-Task: S03/T02
2026-03-31 06:27:12 +00:00
jlightner
4e12689523
feat: Extracted catSlug to shared utility; added category accent border…
...
- "frontend/src/utils/catSlug.ts"
- "frontend/src/pages/TopicsBrowse.tsx"
- "frontend/src/pages/SubTopicPage.tsx"
- "frontend/src/pages/SearchResults.tsx"
- "frontend/src/App.css"
GSD-Task: S03/T01
2026-03-31 06:26:06 +00:00
jlightner
6de5317416
feat: Replaced plain list rendering of related techniques with a respon…
...
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/TechniquePage.tsx"
- "frontend/src/App.css"
GSD-Task: S02/T02
2026-03-31 06:15:25 +00:00
jlightner
5d0fd05b98
feat: Added scored dynamic related-techniques query returning up to 4 r…
...
- "backend/schemas.py"
- "backend/routers/techniques.py"
- "backend/tests/test_public_api.py"
GSD-Task: S02/T01
2026-03-31 06:13:59 +00:00
jlightner
5e52dd5e9c
feat: Added SubTopicPage with breadcrumbs and creator-grouped technique…
...
- "frontend/src/pages/SubTopicPage.tsx"
- "frontend/src/api/public-client.ts"
- "frontend/src/App.tsx"
- "frontend/src/pages/TopicsBrowse.tsx"
- "frontend/src/App.css"
- "frontend/src/pages/Home.tsx"
GSD-Task: S01/T02
2026-03-31 06:03:18 +00:00
jlightner
8661549ab1
test: Added GET /topics/{category_slug}/{subtopic_slug} endpoint filter…
...
- "backend/routers/topics.py"
- "backend/tests/test_public_api.py"
GSD-Task: S01/T01
2026-03-31 05:59:36 +00:00
jlightner
5d71f9825d
chore: auto-commit after complete-milestone
...
GSD-Unit: M009
2026-03-31 05:52:28 +00:00
jlightner
e95bda35ea
feat: Added featured technique spotlight section and converted recently…
...
- "frontend/src/pages/Home.tsx"
- "frontend/src/App.css"
GSD-Task: S03/T02
2026-03-31 05:48:48 +00:00
jlightner
0b27e5752e
feat: Added sort=random|recent query param to list_techniques endpoint…
...
- "backend/routers/techniques.py"
- "frontend/src/api/public-client.ts"
GSD-Task: S03/T01
2026-03-31 05:46:31 +00:00
jlightner
32114ec360
feat: Added /about page with three content sections (what, how, who) an…
...
- "frontend/src/pages/About.tsx"
- "frontend/src/App.tsx"
- "frontend/src/components/AppFooter.tsx"
- "frontend/src/App.css"
GSD-Task: S02/T01
2026-03-31 05:41:54 +00:00
jlightner
a41efec4e4
feat: Added popular topics pill-link section to homepage that fetches f…
...
- "frontend/src/pages/Home.tsx"
- "frontend/src/App.css"
GSD-Task: S01/T02
2026-03-31 05:37:10 +00:00
jlightner
07baa5aca1
feat: Added hero tagline "Production Knowledge, Distilled", value propo…
...
- "frontend/src/pages/Home.tsx"
- "frontend/src/App.css"
GSD-Task: S01/T01
2026-03-31 05:35:30 +00:00
jlightner
3a5e18691b
chore: auto-commit after complete-milestone
...
GSD-Unit: M008
2026-03-31 05:31:25 +00:00
jlightner
59491c7803
feat: Replaced meaningless '0 views' display with topic-category counts…
...
- "frontend/src/pages/CreatorDetail.tsx"
GSD-Task: S03/T02
2026-03-31 05:26:18 +00:00
jlightner
7a3db5212b
feat: replace views stat with topic-category breakdown on creator detail page
2026-03-31 05:24:32 +00:00
jlightner
95b11ae5bc
feat: Added key_moment_count correlated subquery to technique list API…
...
- "backend/schemas.py"
- "backend/routers/techniques.py"
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/Home.tsx"
- "frontend/src/App.css"
GSD-Task: S03/T01
2026-03-31 05:23:37 +00:00
jlightner
deb060cfa3
feat: Removed yellow semantic-search-unavailable banner from search res…
...
- "frontend/src/pages/SearchResults.tsx"
- "frontend/src/App.css"
- "frontend/src/components/AppFooter.tsx"
- "frontend/package.json"
GSD-Task: S02/T02
2026-03-31 05:14:58 +00:00
jlightner
127919565a
feat: Added hidden boolean column to Creator model, migration marking T…
...
- "backend/models.py"
- "backend/routers/creators.py"
- "alembic/versions/009_add_creator_hidden_flag.py"
GSD-Task: S02/T01
2026-03-31 05:13:17 +00:00
jlightner
6d4390414a
feat: Key moment search results now link to parent technique page with…
...
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/SearchResults.tsx"
- "frontend/src/pages/TechniquePage.tsx"
GSD-Task: S01/T02
2026-03-31 05:04:05 +00:00
jlightner
af250a6f5d
feat: Added technique_page_slug to search results across Qdrant payload…
...
- "backend/schemas.py"
- "backend/search_service.py"
- "backend/pipeline/stages.py"
- "backend/pipeline/qdrant_client.py"
- "backend/tests/test_search.py"
GSD-Task: S01/T01
2026-03-31 05:02:48 +00:00
jlightner
2117687720
feat: add tooltips to Show Payload, System Prompt, User Prompt, and Response in pipeline event log
2026-03-31 03:23:30 +00:00
jlightner
5490999fd1
fix: use gear glyph for LLM call events in pipeline log
2026-03-31 02:56:50 +00:00
jlightner
dc7bb83c9d
fix: swap robot emoji for diamond glyph on LLM call events
2026-03-31 02:52:25 +00:00
jlightner
7127237afe
fix: drop server_default before dropping enum type in migration 008
2026-03-31 02:46:30 +00:00
jlightner
63225a3559
fix: migration 008 — use text column conversion to avoid PG enum transaction restriction
2026-03-31 02:45:54 +00:00
jlightner
35fc699098
fix: correct PG enum type name in migration 008 — processing_status not processingstatus
2026-03-31 02:45:06 +00:00
jlightner
720c2f501f
feat: meaningful pipeline status lifecycle — Not Started → Queued → In Progress → Complete/Errored
...
Replace stage-level statuses (pending/transcribed/extracted/published) with
user-meaningful lifecycle states (not_started/queued/processing/error/complete).
Backend:
- ProcessingStatus enum: not_started, queued, processing, error, complete
- run_pipeline sets 'processing' before dispatching Celery chain
- stage5 sets 'complete' (was 'published')
- stage3 no longer sets intermediate status (stays 'processing')
- New mark_pipeline_error task wired as link_error on chain
- _set_error_status helper marks video on permanent failure
- Ingest sets 'queued' (was 'transcribed')
- Migration 008 renames all existing values
Frontend:
- StatusFilter shows fixed-order lifecycle tabs: Not Started | Queued | In Progress | Errored | Complete
- Per-video badges show friendly labels instead of raw enum values
- Badge colors mapped to new statuses
2026-03-31 02:43:49 +00:00
jlightner
52e7e3bbc2
feat: remove review workflow — unused gate that blocked nothing
...
773 key moments sat at 'pending' with 0 approved/edited/rejected.
review_status was never checked by any public-facing query — all content
was always visible regardless of review state.
Removed:
- backend/routers/review.py (10 endpoints)
- backend/tests/test_review.py
- frontend ReviewQueue, MomentDetail pages
- frontend client.ts (review-only API client)
- frontend ModeToggle, StatusBadge components
- Review link from AdminDropdown, Moments link from pipeline rows
- ReviewStatus, PageReviewStatus enums from models
- review_mode config flag
- review_status columns (migration 007)
- ~80 lines of mode-toggle CSS
Pipeline now always sets processing_status to 'published'.
Migration 007 drops columns, enums, and migrates 'reviewed' → 'published'.
2026-03-31 02:34:12 +00:00
jlightner
1ac3db77a1
feat: add tooltip to Debug Mode toggle explaining its purpose
2026-03-31 02:23:12 +00:00
jlightner
4151e7cd25
feat: deep-link Inspect Pipeline button — auto-expand and scroll to video
...
TechniquePage's 'Inspect pipeline' button passes ?video=<id> to AdminPipeline.
Previously the query param was ignored. Now AdminPipeline reads it on mount,
auto-expands the matching video row, and smooth-scrolls it into view.
2026-03-31 02:16:36 +00:00
jlightner
4b0914b12b
fix: restore complete project tree from ub01 canonical state
...
Auto-mode commit 7aa33cd accidentally deleted 78 files (14,814 lines) during M005
execution. Subsequent commits rebuilt some frontend files but backend/, alembic/,
tests/, whisper/, docker configs, and prompts were never restored in this repo.
This commit restores the full project tree by syncing from ub01's working directory,
which has all M001-M007 features running in production containers.
Restored: backend/ (config, models, routers, database, redis, search_service, worker),
alembic/ (6 migrations), docker/ (Dockerfiles, nginx, compose), prompts/ (4 stages),
tests/, whisper/, README.md, .env.example, chrysopedia-spec.md
2026-03-31 02:10:41 +00:00
jlightner
f6dcc80dbf
merge: reconcile diverged histories — ub01 working tree is source of truth
...
Local auto-mode (M005-M007) and origin/main (M004 manual pushes from ub01) diverged
at e08e8d0 . Commit 7aa33cd accidentally deleted 78 project files during auto-mode.
The ub01 working tree has all features running correctly.
This merge uses 'ours' strategy to record origin/main as an ancestor, then the
following commit overlays the correct file state from ub01.
2026-03-31 02:10:31 +00:00
jlightner
7d4eddce99
chore: auto-commit after complete-milestone
...
GSD-Unit: M007
2026-03-30 19:53:11 +00:00
jlightner
2e2c89ec50
feat: Added flex-wrap, max-width, and tighter mobile gaps to prevent ho…
...
- "frontend/src/App.css"
GSD-Task: S06/T01
2026-03-30 19:48:30 +00:00
jlightner
f2cc72376c
feat: Added overflow: hidden, word-break, max-width: 100%, and min-widt…
...
- "frontend/src/App.css"
GSD-Task: S05/T01
2026-03-30 19:41:41 +00:00
jlightner
9dfa568bb3
feat: Pruned dead UI, renamed view toggle to Oldest/Newest first, added…
...
- "frontend/src/pages/AdminPipeline.tsx"
- "frontend/src/App.css"
GSD-Task: S04/T02
2026-03-30 19:36:47 +00:00
jlightner
44c0df6e08
feat: Added DebugModeToggle component and StatusFilter pill bar to Admi…
...
- "frontend/src/pages/AdminPipeline.tsx"
- "frontend/src/api/public-client.ts"
- "frontend/src/App.css"
GSD-Task: S04/T01
2026-03-30 19:34:11 +00:00
jlightner
64ff263da2
docs: Rewrite README with information flow stages and updated architecture
...
Replaces outdated README with streamlined version covering all 8 services,
complete API endpoints, 6-stage information flow diagram, and current
project structure.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 14:27:02 -05:00
jlightner
97b9f7234a
feat: Added chrysopedia-watcher service to Docker Compose, deployed and…
...
- "docker-compose.yml"
- ".gsd/milestones/M007/slices/S03/tasks/T02-SUMMARY.md"
GSD-Task: S03/T02
2026-03-30 19:24:39 +00:00
jlightner
5e408dff5a
feat: Built backend/watcher.py with PollingObserver-based folder watchi…
...
- "backend/watcher.py"
- "backend/requirements.txt"
GSD-Task: S03/T01
2026-03-30 19:17:47 +00:00
jlightner
07eaa7f309
feat: Added DebugPayloadViewer component with collapsible System Prompt…
...
- "frontend/src/pages/AdminPipeline.tsx"
- "frontend/src/api/public-client.ts"
- "frontend/src/App.css"
GSD-Task: S02/T01
2026-03-30 19:07:23 +00:00
jlightner
653c927845
feat: DebugPayloadViewer component with copy, export, collapsible sections
2026-03-30 19:01:17 +00:00