jlightner
6845f5c349
feat: Demoted nav brand to span, promoted page headings to h1, added sk…
...
- "frontend/src/App.tsx"
- "frontend/src/App.css"
- "frontend/src/pages/Home.tsx"
- "frontend/src/pages/SearchResults.tsx"
- "frontend/src/pages/TopicsBrowse.tsx"
- "frontend/src/pages/CreatorsBrowse.tsx"
- "frontend/src/pages/SubTopicPage.tsx"
- "frontend/src/pages/AdminReports.tsx"
GSD-Task: S04/T01
2026-03-31 08:52:48 +00:00
jlightner
85712c15eb
feat: Added mobile hamburger menu with 44px touch targets, Escape/outsi…
...
- "frontend/src/App.tsx"
- "frontend/src/App.css"
GSD-Task: S03/T02
2026-03-31 08:45:33 +00:00
jlightner
fea0afdec0
feat: Refactored SearchAutocomplete from heroSize boolean to variant st…
...
- "frontend/src/components/SearchAutocomplete.tsx"
- "frontend/src/App.tsx"
- "frontend/src/App.css"
- "frontend/src/pages/Home.tsx"
- "frontend/src/pages/SearchResults.tsx"
GSD-Task: S03/T01
2026-03-31 08:42:15 +00:00
jlightner
fa1fc82d5a
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
b01e5949b6
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
a9b65fcea9
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
df559bbca0
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
9e4f10b0af
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
d0bdc6f516
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
9107323a66
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
836fcb2304
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
cf0205bd5c
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
c481bafc7b
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
c25db471f7
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
6a793c2c9a
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
a7a038beea
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
348089d635
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
810f96a640
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
5a959cc9b2
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
5f7a8a6f77
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
881629b5c3
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
813920a653
feat: replace views stat with topic-category breakdown on creator detail page
2026-03-31 05:24:32 +00:00
jlightner
80439d43cf
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
0c8bbb32d6
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
831489cf4f
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
d5144307b8
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
fe8b529ad2
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
9c519f22b8
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
c23bc2314d
fix: use gear glyph for LLM call events in pipeline log
2026-03-31 02:56:50 +00:00
jlightner
1fa590b9e0
fix: swap robot emoji for diamond glyph on LLM call events
2026-03-31 02:52:25 +00:00
jlightner
325ffe588e
fix: drop server_default before dropping enum type in migration 008
2026-03-31 02:46:30 +00:00
jlightner
1db556c89e
fix: migration 008 — use text column conversion to avoid PG enum transaction restriction
2026-03-31 02:45:54 +00:00
jlightner
4843d12869
fix: correct PG enum type name in migration 008 — processing_status not processingstatus
2026-03-31 02:45:06 +00:00
jlightner
5b663c1e62
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
21dcf2f517
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
3c4c2f9439
feat: add tooltip to Debug Mode toggle explaining its purpose
2026-03-31 02:23:12 +00:00
jlightner
4e5b41c46f
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
62a94d51c8
fix: restore complete project tree from ub01 canonical state
...
Auto-mode commit e57d425 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
2e4531f1d7
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 81f0ed9 . Commit e57d425 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
a980965705
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
eae4da48f8
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
031f6d3d5b
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
4186c6e208
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
2fe7687596
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
dcadcbb5e2
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
d218a85e4e
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
ff1b24867f
feat: DebugPayloadViewer component with copy, export, collapsible sections
2026-03-30 19:01:17 +00:00
jlightner
0c4208bc07
feat: Added 3 TEXT columns to pipeline_events (system_prompt_text, user…
...
- "backend/models.py"
- "backend/config.py"
- "backend/schemas.py"
- "backend/routers/pipeline.py"
- "alembic/versions/006_debug_columns.py"
GSD-Task: S01/T01
2026-03-30 18:23:38 +00:00
jlightner
878a7a45c6
feat(whisper): add batch_transcribe.py and document HAL0022 transcription setup
...
- batch_transcribe.py: recursive multi-creator transcription runner that
walks nested subdirectories, attributes creator from top-level folder name,
writes batch_manifest.json with timing and per-creator results
- README.md: updated with batch mode docs, HAL0022 environment details,
transcript output location (C:\Users\jlightner\chrysopedia\transcripts),
scheduled task usage, and transfer instructions for ub01 ingestion
2026-03-30 11:46:52 -05:00
jlightner
ec9e307538
feat: Added AppFooter component displaying app version, build date, com…
...
- "frontend/src/components/AppFooter.tsx"
- "frontend/vite.config.ts"
- "frontend/src/App.tsx"
- "frontend/src/App.css"
- "frontend/src/vite-env.d.ts"
GSD-Task: S06/T01
2026-03-30 12:00:58 +00:00