jlightner
|
f8fecf79ac
|
fix: use pure SQL for migrations 019/020 — bypasses all SQLAlchemy enum hooks
|
2026-04-04 07:19:01 +00:00 |
|
jlightner
|
9c307c663d
|
fix: use String column + ALTER TYPE cast for enum migrations (avoids SQLAlchemy before_create hook)
|
2026-04-04 07:17:34 +00:00 |
|
jlightner
|
b9f042f400
|
fix: use raw SQL for enum creation in migrations 019/020 to avoid SQLAlchemy double-create
|
2026-04-04 07:16:22 +00:00 |
|
jlightner
|
198170d999
|
fix: prevent double enum creation in migrations 019/020 (create_type=False)
|
2026-04-04 07:14:16 +00:00 |
|
jlightner
|
ddeaf9ac41
|
fix: resolve TS errors in ChapterReview and HighlightQueue (noUncheckedIndexedAccess)
|
2026-04-04 07:09:39 +00:00 |
|
jlightner
|
3bea232a1c
|
chore: M022/S01 complete — highlight queue UI shipped
|
2026-04-04 07:06:17 +00:00 |
|
jlightner
|
ce08d729cd
|
feat: Built HighlightQueue page with filter tabs, candidate cards with…
- "frontend/src/api/highlights.ts"
- "frontend/src/pages/HighlightQueue.tsx"
- "frontend/src/pages/HighlightQueue.module.css"
- "frontend/src/App.tsx"
- "frontend/src/pages/CreatorDashboard.tsx"
GSD-Task: S01/T02
|
2026-04-04 07:01:57 +00:00 |
|
jlightner
|
c05e4da594
|
feat: Add creator-scoped highlight review endpoints (list/detail/status…
- "backend/models.py"
- "alembic/versions/021_add_highlight_trim_columns.py"
- "backend/routers/creator_highlights.py"
- "backend/main.py"
GSD-Task: S01/T01
|
2026-04-04 06:58:28 +00:00 |
|
jlightner
|
29c2a58843
|
chore: auto-commit after complete-milestone
GSD-Unit: M021
|
2026-04-04 06:50:34 +00:00 |
|
jlightner
|
79e144ff89
|
feat: Pushed 3 new wiki pages (Chat-Engine, Search-Retrieval, Highlight…
- "Chat-Engine.md"
- "Search-Retrieval.md"
- "Highlights.md"
- "Home.md"
- "Architecture.md"
- "Data-Model.md"
- "API-Surface.md"
- "Frontend.md"
GSD-Task: S08/T01
|
2026-04-04 06:42:02 +00:00 |
|
jlightner
|
4bda29705d
|
feat: Added AdminAuditLog page with paginated impersonation log table,…
- "frontend/src/pages/AdminAuditLog.tsx"
- "frontend/src/pages/AdminAuditLog.module.css"
- "frontend/src/App.tsx"
- "frontend/src/components/AdminDropdown.tsx"
GSD-Task: S07/T03
|
2026-04-04 06:29:47 +00:00 |
|
jlightner
|
4969935c76
|
feat: Added ConfirmModal component, Edit As button with write-mode conf…
- "frontend/src/components/ConfirmModal.tsx"
- "frontend/src/components/ConfirmModal.module.css"
- "frontend/src/api/auth.ts"
- "frontend/src/context/AuthContext.tsx"
- "frontend/src/pages/AdminUsers.tsx"
- "frontend/src/pages/AdminUsers.module.css"
- "frontend/src/components/ImpersonationBanner.tsx"
- "frontend/src/components/ImpersonationBanner.module.css"
GSD-Task: S07/T02
|
2026-04-04 06:27:38 +00:00 |
|
jlightner
|
ab9dd2aa1b
|
feat: Added write_mode support to impersonation tokens with conditional…
- "backend/auth.py"
- "backend/models.py"
- "backend/routers/admin.py"
- "backend/tests/test_impersonation.py"
GSD-Task: S07/T01
|
2026-04-04 06:24:04 +00:00 |
|
jlightner
|
f822415f6f
|
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
|
7b111a7ded
|
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
|
ed9aa7a83a
|
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
|
76880d0477
|
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
|
96608a3d8f
|
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
|
e44ec1d1d5
|
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
|
6f12d5a240
|
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
|
2d7b812c6a
|
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
|
289e707799
|
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
|
9bdb5b0e4a
|
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
|
a9589bfc93
|
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
|
195ba6e0a7
|
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
|
a976129179
|
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
|
dcd949a25b
|
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
|
17b43d9778
|
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
|
4115c8add0
|
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
|
31638b5a3a
|
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
|
da29a2a723
|
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
|
0fc0df1d29
|
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
|
8417f0e9e0
|
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
|
8069e9e2a3
|
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
|
87cb667848
|
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
|
3710c3f8bb
|
chore: auto-commit after complete-milestone
GSD-Unit: M019
|
2026-04-03 23:30:13 +00:00 |
|
jlightner
|
38c606f358
|
feat: Updated 5 existing Forgejo wiki pages and created new Authenticat…
- "Architecture.md (wiki)"
- "Data-Model.md (wiki)"
- "API-Surface.md (wiki)"
- "Deployment.md (wiki)"
- "_Sidebar.md (wiki)"
- "Authentication.md (wiki
- new)"
- ".gsd/KNOWLEDGE.md"
GSD-Task: S06/T01
|
2026-04-03 23:24:38 +00:00 |
|
jlightner
|
dbc4afcf42
|
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
|
1bbcb8f5bf
|
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
|
39e169b4ce
|
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
|
9e0006ea6a
|
feat: Deployed reindex script to ub01 via image rebuild, started full 9…
- "backend/scripts/reindex_lightrag.py"
GSD-Task: S04/T02
|
2026-04-03 22:53:18 +00:00 |
|
jlightner
|
338be29e92
|
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
|
bfb303860b
|
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
|
db135f738e
|
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
|
8487af0282
|
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
|
c60fc8c3b3
|
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
|
b344307a89
|
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
|
77f44b0b48
|
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
|
a06ea946b1
|
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
|
d77b749cfb
|
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 |
|