Commit graph

376 commits

Author SHA1 Message Date
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
jlightner
80097df4da 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
75693f3b35 chore: auto-commit after complete-milestone
GSD-Unit: M018
2026-04-03 21:17:47 +00:00
jlightner
31b72c731c feat: Compiled 467-line Site Audit Report merging source code research…
- ".gsd/milestones/M018/slices/S01/SITE-AUDIT-REPORT.md"

GSD-Task: S01/T02
2026-04-03 19:49:14 +00:00
jlightner
35c9fad8ef feat: Audited all 12 frontend routes and 22 API endpoints on live Chrys…
- ".gsd/milestones/M018/slices/S01/AUDIT-FINDINGS.md"

GSD-Task: S01/T01
2026-04-03 19:45:34 +00:00
jlightner
69335d8d6d 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
ab210b62fd chore: auto-commit after complete-milestone
GSD-Unit: M017
2026-04-03 09:24:16 +00:00
jlightner
ca3d33ba34 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
18eb4e0ee8 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
47014f5a3f 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
539274ce58 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
0234a87429 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
cafbd0afb1 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
bef8d5939d 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
74a4f25402 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
3c3ed8090c add robots.txt — disallow all crawlers from indexing the site 2026-04-03 08:31:33 +00:00
jlightner
c6a1d32498 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
ff351b38d7 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
906b6491fe 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
ed3c09ab18 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
27e3b88371 fix: ToC border-left back to cyan accent (missed purple revert) 2026-04-03 07:46:15 +00:00
jlightner
97abc7c80c style: back arrow inline with article title, title bumped to 1.5rem 2026-04-03 07:44:32 +00:00
jlightner
1d210faf68 style: related techniques cards use same recent-card styling as homepage Recently Added 2026-04-03 07:43:03 +00:00
jlightner
71183639ea fix: revert purple accents, move stats/tags into grid main column, shrink sidebar to 16rem, right-align ToC, fix stray CSS brace 2026-04-03 07:39:28 +00:00
jlightner
ffd50a76df fix: title bar background var(--color-bg) → var(--color-bg-page) — was transparent, content bled through 2026-04-03 07:26:54 +00:00
jlightner
e1a29f5650 fix: remove overflow-x:hidden from html,body — was creating scroll container that broke position:sticky on title bar 2026-04-03 07:25:44 +00:00
jlightner
f79d197dd4 fix: remove overflow-x:hidden from .app-main — was breaking position:sticky on title bar 2026-04-03 07:23:11 +00:00
jlightner
342a62ca6b style: purple (#c084fc) accent touches — plugin pills, stat numbers, section labels, ToC border, back-link hover 2026-04-03 07:21:29 +00:00
jlightner
e5badbbf75 style: thinner gradient border on featured technique card (2px → 1px) 2026-04-03 07:18:35 +00:00
jlightner
b132c4ac7b feat: restructure technique page — bibliography key moments, ToC-only sidebar, sticky title bar, solid featured border
- Move key moments below prose as bibliography-style sources with [N] indices
- Move signal chains and related techniques to main column below key moments
- Sidebar now dedicated to ToC only, sticky with scroll tracking
- Replace position:fixed reading header with sticky title bar within content area
- ToC smooth-scrolls on click with history.replaceState for hash updates
- Featured technique card: solid cyan-to-purple gradient border (border-image)
- Remove ReadingHeader component (replaced by title bar)
- Hide sidebar ToC on mobile (single-column reading)
- Related techniques grid defaults to 2-column in main content area
2026-04-03 07:16:03 +00:00
jlightner
6d910f504a fix: move scroll-spy hooks above early returns to fix React hooks ordering crash
M016 added useState/useMemo/useEffect hooks after conditional early
returns (loading/notFound/error), violating React rules of hooks.
Moved all hooks above the early returns so they execute on every render.
2026-04-03 06:46:16 +00:00
jlightner
4f8f612d77 chore: auto-commit after complete-milestone
GSD-Unit: M016
2026-04-03 06:27:26 +00:00
jlightner
c3e5a8fe86 feat: add embed-status endpoint for per-video embedding/Qdrant detail
GET /admin/pipeline/embed-status/{video_id} returns technique pages
linked to the video, Qdrant vector count, and last stage 6 event —
provides data for the currently non-functional Embed tab in admin UI.
2026-04-03 06:24:58 +00:00
jlightner
7d4168c048 feat: Added .section-heading utility class to unify four heading styles…
- "frontend/src/App.css"
- "frontend/src/pages/Home.tsx"

GSD-Task: S06/T02
2026-04-03 06:22:11 +00:00
jlightner
e98f43193e feat: Lifted scroll-spy state from TableOfContents to TechniquePage, cr…
- "frontend/src/components/ReadingHeader.tsx"
- "frontend/src/components/TableOfContents.tsx"
- "frontend/src/pages/TechniquePage.tsx"
- "frontend/src/App.css"

GSD-Task: S05/T01
2026-04-03 06:01:13 +00:00