jlightner
|
4854dad086
|
feat: Ran manual chat evaluation against live endpoint, documented qual…
- ".gsd/milestones/M025/slices/S09/S09-QUALITY-REPORT.md"
- "backend/pipeline/quality/results/chat_eval_baseline.json"
GSD-Task: S09/T03
|
2026-04-04 14:50:44 +00:00 |
|
jlightner
|
3cbb614654
|
test: Rewrote _SYSTEM_PROMPT_TEMPLATE with citation density rules, resp…
- "backend/chat_service.py"
GSD-Task: S09/T02
|
2026-04-04 14:45:09 +00:00 |
|
jlightner
|
846db2aad5
|
test: Created chat-specific LLM-as-judge scorer (5 dimensions), SSE-par…
- "backend/pipeline/quality/chat_scorer.py"
- "backend/pipeline/quality/chat_eval.py"
- "backend/pipeline/quality/fixtures/chat_test_suite.yaml"
- "backend/pipeline/quality/__main__.py"
GSD-Task: S09/T01
|
2026-04-04 14:43:52 +00:00 |
|
jlightner
|
899ab742a8
|
test: Added automatic primary→fallback LLM endpoint switching in ChatSe…
- "backend/chat_service.py"
- "backend/tests/test_chat.py"
- "docker-compose.yml"
GSD-Task: S08/T01
|
2026-04-04 14:31:28 +00:00 |
|
jlightner
|
8b2876906c
|
chore: Added GET /creator/export endpoint that returns a ZIP archive co…
- "backend/routers/creator_dashboard.py"
- "backend/tests/test_export.py"
GSD-Task: S07/T01
|
2026-04-04 14:16:56 +00:00 |
|
jlightner
|
b32fc5134b
|
feat: Added GET /creator/transparency endpoint returning technique page…
- "backend/schemas.py"
- "backend/routers/creator_dashboard.py"
GSD-Task: S05/T01
|
2026-04-04 13:55:13 +00:00 |
|
jlightner
|
be1919e223
|
feat: Added GET /admin/usage endpoint with today/week/month token aggre…
- "backend/routers/admin.py"
- "frontend/src/api/admin-usage.ts"
- "frontend/src/pages/AdminUsage.tsx"
- "frontend/src/pages/AdminUsage.module.css"
- "frontend/src/App.tsx"
- "frontend/src/components/AdminDropdown.tsx"
- "frontend/src/api/index.ts"
GSD-Task: S04/T02
|
2026-04-04 13:44:44 +00:00 |
|
jlightner
|
a5d3af55ca
|
feat: Built Redis sliding-window rate limiter, ChatUsageLog model with…
- "backend/rate_limiter.py"
- "backend/models.py"
- "backend/routers/chat.py"
- "backend/chat_service.py"
- "backend/config.py"
- "alembic/versions/031_add_chat_usage_log.py"
GSD-Task: S04/T01
|
2026-04-04 13:36:29 +00:00 |
|
jlightner
|
51e3e75cf8
|
feat: Added onboarding_completed flag to User model, UserResponse schem…
- "backend/models.py"
- "backend/schemas.py"
- "backend/routers/auth.py"
- "alembic/versions/030_add_onboarding_completed.py"
GSD-Task: S03/T01
|
2026-04-04 13:13:05 +00:00 |
|
jlightner
|
cb3a6c919c
|
test: Added GET/PUT notification preferences endpoints, signed-token un…
- "backend/routers/notifications.py"
- "backend/main.py"
- "backend/tests/notifications/test_notifications.py"
- "frontend/src/api/notifications.ts"
- "frontend/src/pages/CreatorSettings.tsx"
GSD-Task: S01/T03
|
2026-04-04 12:27:18 +00:00 |
|
jlightner
|
5e4b173917
|
feat: Built send_digest_emails Celery task with per-user content queryi…
- "backend/tasks/__init__.py"
- "backend/tasks/notifications.py"
- "backend/worker.py"
- "docker-compose.yml"
GSD-Task: S01/T02
|
2026-04-04 12:15:43 +00:00 |
|
jlightner
|
34a45d1c8e
|
chore: Added SMTP config, User notification_preferences JSONB, EmailDig…
- "backend/config.py"
- "backend/models.py"
- "backend/schemas.py"
- "backend/services/email.py"
- "alembic/versions/029_add_email_digest.py"
GSD-Task: S01/T01
|
2026-04-04 12:11:13 +00:00 |
|
jlightner
|
f706afe8f6
|
feat: Added source_video_id, start_time, end_time, and video_filename t…
- "backend/search_service.py"
- "backend/chat_service.py"
GSD-Task: S05/T01
|
2026-04-04 11:40:59 +00:00 |
|
jlightner
|
a60f4074dc
|
chore: Add GET/PUT shorts-template admin endpoints, collapsible templat…
- "backend/routers/creators.py"
- "backend/schemas.py"
- "frontend/src/api/templates.ts"
- "frontend/src/pages/HighlightQueue.tsx"
- "frontend/src/pages/HighlightQueue.module.css"
- "backend/routers/shorts.py"
- "backend/pipeline/stages.py"
- "frontend/src/api/shorts.ts"
GSD-Task: S04/T03
|
2026-04-04 11:25:29 +00:00 |
|
jlightner
|
fa493e2640
|
feat: Built ffmpeg-based card renderer with concat demuxer pipeline and…
- "backend/pipeline/card_renderer.py"
- "backend/pipeline/shorts_generator.py"
- "backend/pipeline/stages.py"
- "backend/models.py"
- "alembic/versions/028_add_shorts_template.py"
- "backend/pipeline/test_card_renderer.py"
GSD-Task: S04/T02
|
2026-04-04 11:17:38 +00:00 |
|
jlightner
|
125983588d
|
feat: Created ASS subtitle generator with karaoke word-by-word highligh…
- "backend/pipeline/caption_generator.py"
- "backend/pipeline/shorts_generator.py"
- "backend/pipeline/stages.py"
- "backend/models.py"
- "alembic/versions/027_add_captions_enabled.py"
- "backend/pipeline/test_caption_generator.py"
GSD-Task: S04/T01
|
2026-04-04 11:12:19 +00:00 |
|
jlightner
|
5f4b960dc1
|
feat: Added share_token column with migration 026, wired token generati…
- "backend/models.py"
- "alembic/versions/026_add_share_token.py"
- "backend/pipeline/stages.py"
- "backend/routers/shorts.py"
- "backend/routers/shorts_public.py"
- "backend/main.py"
GSD-Task: S01/T01
|
2026-04-04 10:33:00 +00:00 |
|
jlightner
|
1062e003bf
|
feat: Replaced 3-tier step function with 5-tier continuous interpolatio…
- "backend/chat_service.py"
- "backend/tests/test_chat.py"
GSD-Task: S04/T01
|
2026-04-04 10:04:47 +00:00 |
|
jlightner
|
84d8dc4455
|
feat: Added shorts router with generate/list/download endpoints, fronte…
- "backend/routers/shorts.py"
- "backend/main.py"
- "frontend/src/api/shorts.ts"
- "frontend/src/pages/HighlightQueue.tsx"
- "frontend/src/pages/HighlightQueue.module.css"
GSD-Task: S03/T03
|
2026-04-04 09:52:01 +00:00 |
|
jlightner
|
0007528e77
|
feat: Added shorts_generator.py with 3 format presets and stage_generat…
- "backend/pipeline/shorts_generator.py"
- "backend/pipeline/stages.py"
GSD-Task: S03/T02
|
2026-04-04 09:47:40 +00:00 |
|
jlightner
|
dfc5aa2ae7
|
chore: Added GeneratedShort model with FormatPreset/ShortStatus enums,…
- "backend/models.py"
- "backend/config.py"
- "docker/Dockerfile.api"
- "docker-compose.yml"
- "alembic/versions/025_add_generated_shorts.py"
GSD-Task: S03/T01
|
2026-04-04 09:43:36 +00:00 |
|
jlightner
|
d1efdbb3fa
|
feat: Added personality_weight (0.0–1.0) to chat API; modulates system…
- "backend/routers/chat.py"
- "backend/chat_service.py"
- "backend/tests/test_chat.py"
GSD-Task: S02/T01
|
2026-04-04 09:28:35 +00:00 |
|
jlightner
|
cc60852ac9
|
feat: Built post CRUD and file upload/download API routers with auth, o…
- "backend/routers/posts.py"
- "backend/routers/files.py"
- "backend/minio_client.py"
- "backend/auth.py"
- "backend/main.py"
GSD-Task: S01/T02
|
2026-04-04 09:07:35 +00:00 |
|
jlightner
|
f0f36a3f76
|
feat: Added MinIO Docker service, Post/PostAttachment models with migra…
- "docker-compose.yml"
- "backend/config.py"
- "backend/minio_client.py"
- "backend/models.py"
- "backend/schemas.py"
- "backend/requirements.txt"
- "docker/nginx.conf"
- "alembic/versions/024_add_posts_and_attachments.py"
GSD-Task: S01/T01
|
2026-04-04 09:02:40 +00:00 |
|
jlightner
|
2d9076ae92
|
feat: Added personality extraction pipeline: prompt template, 3-tier tr…
- "prompts/personality_extraction.txt"
- "backend/pipeline/stages.py"
- "backend/schemas.py"
- "backend/routers/admin.py"
GSD-Task: S06/T02
|
2026-04-04 08:28:18 +00:00 |
|
jlightner
|
10cd175333
|
feat: Added personality_profile JSONB column to Creator model with migr…
- "backend/models.py"
- "backend/schemas.py"
- "backend/routers/creators.py"
- "alembic/versions/023_add_personality_profile.py"
GSD-Task: S06/T01
|
2026-04-04 08:24:44 +00:00 |
|
jlightner
|
fb6a4cc58a
|
feat: Wired word-timing extraction into stage_highlight_detection — 62…
- "backend/pipeline/stages.py"
- ".gsd/KNOWLEDGE.md"
GSD-Task: S05/T02
|
2026-04-04 08:11:32 +00:00 |
|
jlightner
|
27c5f4866b
|
test: Added 3 audio proxy scoring functions, extract_word_timings utili…
- "backend/pipeline/highlight_scorer.py"
- "backend/pipeline/highlight_schemas.py"
- "backend/pipeline/test_highlight_scorer.py"
GSD-Task: S05/T01
|
2026-04-04 08:05:22 +00:00 |
|
jlightner
|
d13d6c3aa1
|
test: Added multi-turn conversation memory with Redis-backed history (1…
- "backend/chat_service.py"
- "backend/routers/chat.py"
- "backend/tests/test_chat.py"
GSD-Task: S04/T01
|
2026-04-04 07:50:30 +00:00 |
|
jlightner
|
243a7a3eb6
|
feat: Follow system + tier config page (M022/S02)
- CreatorFollow model + pure SQL migration 022
- Follow router: POST/DELETE /follows/{creator_id}, GET /follows/me, GET /follows/{id}/status
- follower_count on creator detail endpoint
- Follow button on CreatorDetail (authenticated users only)
- CreatorTiers page with Free/Pro/Premium cards, Coming Soon modals
- Tiers link in creator sidebar nav
- Route /creator/tiers (protected)
|
2026-04-04 07:34:03 +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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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 |
|