jlightner
5be499d0ad
feat: Wired ChapterReview into App routes (/creator/chapters, /creator/…
...
- "frontend/src/App.tsx"
- "frontend/src/pages/CreatorDashboard.tsx"
- "frontend/src/pages/ChapterReview.tsx"
- "frontend/src/pages/ChapterReview.module.css"
GSD-Task: S06/T03
2026-04-04 06:12:10 +00:00
jlightner
fa972a4fbc
feat: Built ChapterReview page with WaveSurfer waveform (draggable/resi…
...
- "frontend/src/pages/ChapterReview.tsx"
- "frontend/src/pages/ChapterReview.module.css"
- "frontend/src/api/videos.ts"
- "frontend/src/App.tsx"
GSD-Task: S06/T02
2026-04-04 06:07:23 +00:00
jlightner
dec6c0b812
feat: Added ChapterStatus enum, sort_order column, migration 020, chapt…
...
- "backend/models.py"
- "backend/schemas.py"
- "alembic/versions/020_add_chapter_status_and_sort_order.py"
- "backend/routers/creator_chapters.py"
- "backend/routers/videos.py"
- "backend/main.py"
GSD-Task: S06/T01
2026-04-04 06:03:49 +00:00
jlightner
ee00f288d9
feat: Created ChapterMarkers overlay component, added RegionsPlugin cha…
...
- "frontend/src/components/ChapterMarkers.tsx"
- "frontend/src/components/PlayerControls.tsx"
- "frontend/src/components/AudioWaveform.tsx"
- "frontend/src/pages/WatchPage.tsx"
- "frontend/src/App.css"
GSD-Task: S05/T03
2026-04-04 05:53:19 +00:00
jlightner
2949c93c86
feat: Installed wavesurfer.js, created AudioWaveform component with sha…
...
- "frontend/src/components/AudioWaveform.tsx"
- "frontend/src/hooks/useMediaSync.ts"
- "frontend/src/pages/WatchPage.tsx"
- "frontend/src/App.css"
- "frontend/package.json"
GSD-Task: S05/T02
2026-04-04 05:49:40 +00:00
jlightner
4edb96df2b
feat: Added media streaming endpoint and chapters endpoint to videos ro…
...
- "backend/routers/videos.py"
- "backend/schemas.py"
- "frontend/src/api/videos.ts"
GSD-Task: S05/T01
2026-04-04 05:47:16 +00:00
jlightner
a2372788d5
feat: Wired stage_highlight_detection Celery task with bulk upsert, 4 a…
...
- "backend/pipeline/stages.py"
- "backend/routers/highlights.py"
- "backend/main.py"
GSD-Task: S04/T03
2026-04-04 05:36:10 +00:00
jlightner
91cdc5e0b1
test: Implemented pure-function scoring engine with 7 weighted dimensio…
...
- "backend/pipeline/highlight_scorer.py"
- "backend/pipeline/test_highlight_scorer.py"
GSD-Task: S04/T02
2026-04-04 05:33:04 +00:00
jlightner
c374165865
feat: Added HighlightCandidate ORM model, Alembic migration 019, and Py…
...
- "backend/models.py"
- "alembic/versions/019_add_highlight_candidates.py"
- "backend/pipeline/highlight_schemas.py"
GSD-Task: S04/T01
2026-04-04 05:30:36 +00:00
jlightner
90c24d8bf9
feat: Built ChatPage with SSE streaming client, real-time token display…
...
- "frontend/src/api/chat.ts"
- "frontend/src/pages/ChatPage.tsx"
- "frontend/src/pages/ChatPage.module.css"
- "frontend/src/App.tsx"
GSD-Task: S03/T02
2026-04-04 05:22:43 +00:00
jlightner
5e0ce753a5
test: Built ChatService with retrieve-prompt-stream pipeline, POST /api…
...
- "backend/chat_service.py"
- "backend/routers/chat.py"
- "backend/main.py"
- "backend/tests/test_chat.py"
GSD-Task: S03/T01
2026-04-04 05:19:44 +00:00
jlightner
9530c85b9c
test: Added 6 integration tests covering creator-scoped cascade tiers (…
...
- "backend/tests/test_search.py"
GSD-Task: S02/T02
2026-04-04 05:07:24 +00:00
jlightner
2568dc3812
feat: Added 4-tier creator-scoped cascade (creator → domain → global →…
...
- "backend/search_service.py"
- "backend/schemas.py"
- "backend/routers/search.py"
GSD-Task: S02/T01
2026-04-04 05:02:30 +00:00
jlightner
b3f52cc301
test: Added 7 LightRAG integration tests verifying primary search path…
...
- "backend/tests/test_search.py"
GSD-Task: S01/T02
2026-04-04 04:50:40 +00:00
jlightner
4917fd3a32
feat: Added LightRAG /query/data as primary search engine with file_sou…
...
- "backend/config.py"
- "backend/search_service.py"
GSD-Task: S01/T01
2026-04-04 04:44:24 +00:00
jlightner
90dea3bde1
feat: Built ConsentDashboard page with per-video consent toggles, expan…
...
- "frontend/src/pages/ConsentDashboard.tsx"
- "frontend/src/pages/ConsentDashboard.module.css"
- "frontend/src/pages/CreatorDashboard.tsx"
- "frontend/src/App.tsx"
GSD-Task: S03/T02
2026-04-04 00:24:17 +00:00
jlightner
2162385c6b
feat: Created TypeScript consent API client with 5 fetch functions and…
...
- "frontend/src/api/consent.ts"
- "frontend/src/components/ToggleSwitch.tsx"
- "frontend/src/components/ToggleSwitch.module.css"
- "frontend/src/api/index.ts"
GSD-Task: S03/T01
2026-04-04 00:21:13 +00:00
jlightner
2e7fa224bc
feat: Replaced 3 placeholder cards with real creator dashboard: 4 stat…
...
- "frontend/src/api/creator-dashboard.ts"
- "frontend/src/pages/CreatorDashboard.tsx"
- "frontend/src/pages/CreatorDashboard.module.css"
- "frontend/src/api/index.ts"
GSD-Task: S02/T02
2026-04-04 00:13:48 +00:00
jlightner
e665e82c25
feat: Added GET /api/v1/creator/dashboard returning video_count, techni…
...
- "backend/routers/creator_dashboard.py"
- "backend/schemas.py"
- "backend/main.py"
- "alembic/versions/016_add_users_and_invite_codes.py"
GSD-Task: S02/T01
2026-04-04 00:09:19 +00:00
jlightner
0888569639
feat: Built WatchPage with video player, synced transcript sidebar, laz…
...
- "frontend/src/api/videos.ts"
- "frontend/src/components/TranscriptSidebar.tsx"
- "frontend/src/pages/WatchPage.tsx"
- "frontend/src/App.tsx"
- "frontend/src/pages/TechniquePage.tsx"
- "frontend/src/App.css"
GSD-Task: S01/T03
2026-04-03 23:50:15 +00:00
jlightner
501393ee36
perf: Built useMediaSync hook, VideoPlayer with HLS lazy-loading and na…
...
- "frontend/src/hooks/useMediaSync.ts"
- "frontend/src/components/VideoPlayer.tsx"
- "frontend/src/components/PlayerControls.tsx"
- "frontend/src/App.css"
- "frontend/package.json"
GSD-Task: S01/T02
2026-04-03 23:46:03 +00:00
jlightner
fe493d0647
test: Added GET /videos/{video_id} and GET /videos/{video_id}/transcrip…
...
- "backend/routers/videos.py"
- "backend/schemas.py"
- "backend/tests/test_video_detail.py"
GSD-Task: S01/T01
2026-04-03 23:42:43 +00:00
jlightner
51e01f8b7c
feat: Normalized /topics and /videos endpoints from bare lists to pagin…
...
- "backend/schemas.py"
- "backend/routers/topics.py"
- "backend/routers/videos.py"
- "frontend/src/api/topics.ts"
- "frontend/src/pages/TopicsBrowse.tsx"
- "frontend/src/pages/Home.tsx"
GSD-Task: S05/T03
2026-04-03 23:09:33 +00:00
jlightner
7b9f6785cb
feat: Replaced 6 static page imports with React.lazy + Suspense in App.…
...
- "frontend/src/App.tsx"
GSD-Task: S05/T02
2026-04-03 23:06:39 +00:00
jlightner
0c99b1a8b7
feat: Split 945-line public-client.ts into 10 domain API modules with s…
...
- "frontend/src/api/client.ts"
- "frontend/src/api/index.ts"
- "frontend/src/api/search.ts"
- "frontend/src/api/techniques.ts"
- "frontend/src/api/creators.ts"
- "frontend/src/api/topics.ts"
- "frontend/src/api/stats.ts"
- "frontend/src/api/reports.ts"
GSD-Task: S05/T01
2026-04-03 23:04:56 +00:00
jlightner
bd2be703a5
feat: Created reindex_lightrag.py that extracts technique pages from Po…
...
- "backend/scripts/reindex_lightrag.py"
GSD-Task: S04/T01
2026-04-03 22:37:30 +00:00
jlightner
ea8ddf74f0
test: Add 22 integration tests for consent endpoints covering auth, own…
...
- "backend/tests/test_consent.py"
- "backend/tests/conftest.py"
GSD-Task: S03/T03
2026-04-03 22:16:31 +00:00
jlightner
ab3c723533
feat: Added consent API router with 5 endpoints (list, get, upsert with…
...
- "backend/routers/consent.py"
- "backend/schemas.py"
- "backend/main.py"
GSD-Task: S03/T02
2026-04-03 22:11:36 +00:00
jlightner
4b7511d363
feat: Added VideoConsent and ConsentAuditLog models with ConsentField e…
...
- "backend/models.py"
- "alembic/versions/017_add_consent_tables.py"
GSD-Task: S03/T01
2026-04-03 22:09:27 +00:00
jlightner
58865f5634
feat: Added ProtectedRoute component, CreatorDashboard with sidebar nav…
...
- "frontend/src/components/ProtectedRoute.tsx"
- "frontend/src/pages/CreatorDashboard.tsx"
- "frontend/src/pages/CreatorDashboard.module.css"
- "frontend/src/pages/CreatorSettings.tsx"
- "frontend/src/pages/CreatorSettings.module.css"
- "frontend/src/App.tsx"
- "frontend/src/App.css"
- "frontend/src/pages/Login.tsx"
GSD-Task: S02/T04
2026-04-03 22:02:04 +00:00
jlightner
346c60a239
feat: Added AuthContext provider with JWT persistence, auth API client…
...
- "frontend/src/context/AuthContext.tsx"
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/Login.tsx"
- "frontend/src/pages/Login.module.css"
- "frontend/src/pages/Register.tsx"
- "frontend/src/pages/Register.module.css"
- "frontend/src/App.tsx"
GSD-Task: S02/T03
2026-04-03 21:58:08 +00:00
jlightner
f4020251b9
test: Implemented auth API router with register/login/me/update-profile…
...
- "backend/routers/auth.py"
- "backend/main.py"
- "backend/auth.py"
- "backend/requirements.txt"
- "backend/tests/conftest.py"
- "backend/tests/test_auth.py"
GSD-Task: S02/T02
2026-04-03 21:54:11 +00:00
jlightner
ae62c09881
chore: Added User/InviteCode models, Alembic migration 016, auth utilit…
...
- "backend/models.py"
- "backend/auth.py"
- "backend/schemas.py"
- "backend/requirements.txt"
- "alembic/versions/016_add_users_and_invite_codes.py"
GSD-Task: S02/T01
2026-04-03 21:47:01 +00:00
jlightner
33f68ef4cf
fix: Deployed LightRAG on ub01, fixed healthcheck (curl missing from im…
...
- "docker-compose.yml"
- ".gsd/KNOWLEDGE.md"
GSD-Task: S01/T02
2026-04-03 21:35:10 +00:00
jlightner
aca1cc1c91
chore: Added chrysopedia-lightrag service to docker-compose.yml with Qd…
...
- "docker-compose.yml"
- ".env.lightrag"
GSD-Task: S01/T01
2026-04-03 21:26:26 +00:00
jlightner
415f454105
chore: remove 2,367 lines of dead code — orphaned CSS, unused imports, stale files
...
Deleted files:
- generate_stage5_variants.py (874 lines) — superseded by pipeline.quality toolkit
- PROJECT_CONTEXT.md (461 lines) — stale, .gsd/PROJECT.md is the living doc
- CHRYSOPEDIA-ASSESSMENT.md (654 lines) — M011 triage artifact, all findings actioned
CSS cleanup (364 lines):
- 20 orphaned block groups from deleted review queue/old components
- Duplicate .btn base rule, .btn--warning, @keyframes stagePulse
Python imports:
- routers/pipeline.py: uuid, literal_column, over, text
- tests/test_pipeline.py: 9 unused imports (PropertyMock, create_engine, etc.)
Build verified: tsc --noEmit clean, npm run build clean (59 modules, 0 warnings).
2026-04-03 09:43:37 +00:00
jlightner
feda9c1446
feat: Added 480px media query with 15 rule overrides for stats bar, fea…
...
- "frontend/src/App.css"
GSD-Task: S04/T02
2026-04-03 09:20:13 +00:00
jlightner
dc8f7ea6cf
feat: Added updateCreatorProfile() API client and inline bio/social-lin…
...
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/CreatorDetail.tsx"
- "frontend/src/App.css"
GSD-Task: S04/T01
2026-04-03 09:18:39 +00:00
jlightner
ef52ef6967
feat: Featured technique card with gradient border and enriched recent-…
...
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/CreatorDetail.tsx"
- "frontend/src/App.css"
GSD-Task: S03/T02
2026-04-03 09:10:14 +00:00
jlightner
371494c2f8
feat: Added summary, topic_tags, and key_moment_count fields to Creator…
...
- "backend/schemas.py"
- "backend/routers/creators.py"
GSD-Task: S03/T01
2026-04-03 09:07:34 +00:00
jlightner
f4f21b6c36
feat: Added SocialIcons component with 9 platform SVG icons, rendered s…
...
- "frontend/src/components/SocialIcons.tsx"
- "frontend/src/pages/CreatorDetail.tsx"
- "frontend/src/App.css"
GSD-Task: S02/T02
2026-04-03 09:00:34 +00:00
jlightner
a9e3572573
feat: Added moment_count field to CreatorDetail schema, router query (K…
...
- "backend/schemas.py"
- "backend/routers/creators.py"
- "frontend/src/api/public-client.ts"
GSD-Task: S02/T01
2026-04-03 08:58:05 +00:00
jlightner
78eca0d546
feat: Replaced compact creator header with full hero section: 96px avat…
...
- "frontend/src/pages/CreatorDetail.tsx"
- "frontend/src/App.css"
GSD-Task: S01/T02
2026-04-03 08:52:06 +00:00
jlightner
df0ff28f5e
feat: Synced CreatorDetailResponse with backend schema (7 new fields) a…
...
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/CreatorDetail.tsx"
GSD-Task: S01/T01
2026-04-03 08:50:12 +00:00
jlightner
3807db8028
add robots.txt — disallow all crawlers from indexing the site
2026-04-03 08:31:33 +00:00
jlightner
c5b7fcf4b1
fix: route LLM calls through OpenWebUI tracked proxy for analytics
...
Changed LLM_API_URL and LLM_FALLBACK_URL from /api/v1 to /api so
requests hit OpenWebUI's /api/chat/completions (tracked) instead of
/api/v1/chat/completions (passthrough with no analytics).
2026-04-03 08:27:53 +00:00
jlightner
ea479f093e
fix: run card collapse flicker — auto-expand only on first load, not on every re-render
...
The load callback had expandedRunId in its dependency array, so collapsing
(setting expandedRunId=null) triggered a reload which re-expanded it.
Replaced with a useRef flag that fires once.
2026-04-03 08:21:51 +00:00
jlightner
c0e95df9f8
fix: static 96k max_tokens for all pipeline stages — dynamic estimator was truncating thinking model output
...
The dynamic token estimator calculated max_tokens from input size × stage ratio,
which produced ~9k for stage 5 compose calls. Thinking models consume unpredictable
budget for internal reasoning, leaving 0 visible output tokens.
Changed: hard_limit 32768→96000, estimate_max_tokens now returns hard_limit directly.
2026-04-03 08:18:28 +00:00
jlightner
76e3543a99
fix: revert plugin pill + stats colors to cyan, lower title bar z-index so admin dropdown renders above it
2026-04-03 07:54:15 +00:00
jlightner
74e89e8a3f
fix: ToC border-left back to cyan accent (missed purple revert)
2026-04-03 07:46:15 +00:00