jlightner
526fd0a58c
feat: Added ReadingHeader sticky bar that slides in when scrolling past…
...
- "frontend/src/components/ReadingHeader.tsx"
- "frontend/src/pages/TechniquePage.tsx"
- "frontend/src/App.css"
GSD-Task: S10/T01
2026-04-04 15:14:05 +00:00
jlightner
c5fb352552
feat: Added ≤768px and ≤400px responsive breakpoints for admin pipeline…
...
- "frontend/src/App.css"
GSD-Task: S02/T03
2026-04-04 13:04:42 +00:00
jlightner
6e038f041f
feat: Audited all 9 public-facing pages at 375px and 768px viewports —…
...
- "frontend/src/App.css"
GSD-Task: S02/T01
2026-04-04 12:48:08 +00:00
jlightner
ddb283cc28
feat: Wired /embed/:videoId route outside AppShell for chrome-free rend…
...
- "frontend/src/App.tsx"
- "frontend/src/pages/WatchPage.tsx"
- "frontend/src/App.css"
GSD-Task: S03/T02
2026-04-04 10:59:14 +00:00
jlightner
86d554a56f
feat: Added collapsible inline video player to TechniquePage with chapt…
...
- "frontend/src/pages/TechniquePage.tsx"
- "frontend/src/App.css"
GSD-Task: S02/T02
2026-04-04 10:48:12 +00:00
jlightner
fa7e4983c7
feat: Replaced thin 3px line markers with 12px color-coded circle pins,…
...
- "frontend/src/components/ChapterMarkers.tsx"
- "frontend/src/components/PlayerControls.tsx"
- "frontend/src/App.css"
GSD-Task: S02/T01
2026-04-04 10:44:45 +00:00
jlightner
73736295c1
feat: Added collapsible PersonalityProfile component to CreatorDetail p…
...
- "frontend/src/components/PersonalityProfile.tsx"
- "frontend/src/api/creators.ts"
- "frontend/src/pages/CreatorDetail.tsx"
- "frontend/src/App.css"
GSD-Task: S06/T03
2026-04-04 08:31:37 +00:00
jlightner
19a6ff660c
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
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
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
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
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
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
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
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
jlightner
49e986a142
style: back arrow inline with article title, title bumped to 1.5rem
2026-04-03 07:44:32 +00:00
jlightner
0d91e87232
style: related techniques cards use same recent-card styling as homepage Recently Added
2026-04-03 07:43:03 +00:00
jlightner
953ab008fb
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
f5d35a0162
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
4d29ec12ce
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
2142efece3
fix: remove overflow-x:hidden from .app-main — was breaking position:sticky on title bar
2026-04-03 07:23:11 +00:00
jlightner
0623fcf430
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
149e4fc147
style: thinner gradient border on featured technique card (2px → 1px)
2026-04-03 07:18:35 +00:00
jlightner
a235fd9e36
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
1b54a86225
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
596331156a
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
jlightner
9acfa9bc20
feat: Added IntersectionObserver scroll-spy to ToC highlighting the act…
...
- "frontend/src/components/TableOfContents.tsx"
- "frontend/src/App.css"
GSD-Task: S04/T02
2026-04-03 05:54:14 +00:00
jlightner
1a7c11cac1
feat: Moved Table of Contents from main prose column to sidebar top; re…
...
- "frontend/src/pages/TechniquePage.tsx"
- "frontend/src/components/TableOfContents.tsx"
- "frontend/src/App.css"
GSD-Task: S04/T01
2026-04-03 05:52:47 +00:00
jlightner
ee3cbb74f7
feat: Added inline SVG logo mark (cyan arc + dot from favicon) to heade…
...
- "frontend/src/App.tsx"
- "frontend/src/App.css"
GSD-Task: S03/T02
2026-04-03 05:47:05 +00:00
jlightner
ab11a00765
fix: Added collapse arrow styling, stage chevrons, filter right-alignme…
...
- "frontend/src/App.css"
- "frontend/src/pages/AdminPipeline.tsx"
GSD-Task: S02/T01
2026-04-03 05:38:10 +00:00
jlightner
9e31e2b744
feat: Unified homepage layout: 42rem max-width on 5 sections, removed b…
...
- "frontend/src/App.css"
GSD-Task: S01/T01
2026-04-03 05:31:46 +00:00
jlightner
489ad88893
fix: remove moments from recent cards, pin footer to bottom of card
2026-04-03 05:14:17 +00:00
jlightner
e52506511d
fix: admin dropdown hover gap bridge + recent card footer layout (creator left, moments, date right)
2026-04-03 05:07:06 +00:00
jlightner
82998c6d8d
feat: Added Trending Searches section to homepage with real-time popula…
...
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/Home.tsx"
- "frontend/src/App.css"
GSD-Task: S04/T01
2026-04-03 04:37:36 +00:00
jlightner
cf90dbb9f0
feat: Homepage displays a stats scorecard showing live article and crea…
...
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/Home.tsx"
- "frontend/src/App.css"
GSD-Task: S03/T02
2026-04-03 04:29:21 +00:00
jlightner
051f1046b0
feat: render last-updated dates on creators page and homepage cards
2026-04-03 04:17:53 +00:00
jlightner
80ac367e23
feat: Stage tab view for pipeline runs, rename stale→orphaned pages
...
- Expanded runs now show horizontal stage tabs (Segment→Extract→Classify→Synthesize→Embed)
- Each tab has status indicator dot (idle/running/done/error) with pulse animation
- Clicking a tab shows that stage's events with summary stats (LLM calls, tokens, duration)
- Error events auto-expanded with monospace error detail block
- Auto-selects the error stage or latest active stage on expand
- Renamed 'stale pages' to 'orphaned pages' in admin header
2026-04-03 03:24:43 +00:00
jlightner
9a8d2ea5c9
feat: Show article + creator count stats on admin techniques page
2026-04-03 02:38:09 +00:00
jlightner
df1d6af84e
style: Admin technique pages — full CSS styling, description text
2026-04-03 02:33:23 +00:00
jlightner
304f3bc069
feat: Added format-aware v2 body_sections rendering with nested TOC, ci…
...
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/TechniquePage.tsx"
- "frontend/src/components/TableOfContents.tsx"
- "frontend/src/utils/citations.tsx"
- "frontend/src/App.css"
GSD-Task: S05/T01
2026-04-03 01:42:56 +00:00
jlightner
da0b4b5fd6
feat: add pipeline iteration tooling — offline test harness, stage re-runs, chunking inspector
...
Drops prompt iteration cycles from 20-30 min to under 5 min by enabling
stage-isolated re-runs and offline prompt testing against exported fixtures.
Phase 1: Offline prompt test harness
- export_fixture.py: export stage 5 inputs from DB to reusable JSON fixtures
- test_harness.py: run synthesis offline with any prompt, no Docker needed
- promote subcommand: deploy winning prompts with backup and optional git commit
Phase 2: Classification data persistence
- Dual-write classification to PostgreSQL + Redis (fixes 24hr TTL data loss)
- Clean retrigger now clears Redis cache keys (fixes stale data bug)
- Alembic migration 011: classification_data JSONB column + stage_rerun enum
Phase 3: Stage-isolated re-run
- run_single_stage Celery task with prerequisite validation and prompt overrides
- _load_prompt supports per-video Redis overrides for testing custom prompts
- POST /admin/pipeline/rerun-stage/{video_id}/{stage_name} endpoint
- Frontend: Re-run Stage modal with stage selector and prompt override textarea
Phase 4: Chunking inspector
- GET /admin/pipeline/chunking/{video_id} returns topic boundaries,
classifications, and synthesis group breakdowns
- Frontend: collapsible Chunking Inspector panel per video
Phase 5: Prompt deployment & stale data cleanup
- GET /admin/pipeline/stale-pages detects pages from older prompts
- POST /admin/pipeline/bulk-resynthesize re-runs a stage on all completed videos
- Frontend: stale pages indicator badge with one-click bulk re-synth
Phase 6: Automated iteration foundation
- Quality CLI --video-id flag auto-exports fixture from DB
- POST /admin/pipeline/optimize-prompt/{stage} dispatches optimization as Celery task
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 15:47:46 +00:00
jlightner
5f608b8889
fix: Parallel search with match_context, deterministic Qdrant IDs, raised embedding timeout
...
- Search now runs semantic + keyword in parallel, merges and deduplicates
- Keyword results always included with match_context explaining WHY matched
- Semantic results filtered by minimum score threshold (0.45)
- match_context shows 'Creator: X', 'Tag: Y', 'Title match', 'Content: ...'
- Qdrant points use deterministic uuid5 IDs (no more duplicates on reindex)
- Embedding timeout raised from 300ms to 2s (Ollama needs it)
- _enrich_qdrant_results reads creator_name from payload before DB fallback
- Frontend displays match_context as highlighted bar on search result cards
2026-04-01 06:54:34 +00:00
jlightner
630d3fa477
feat: Created SortDropdown component and useSortPreference hook, integr…
...
- "frontend/src/components/SortDropdown.tsx"
- "frontend/src/hooks/useSortPreference.ts"
- "frontend/src/pages/SearchResults.tsx"
- "frontend/src/pages/SubTopicPage.tsx"
- "frontend/src/pages/CreatorDetail.tsx"
- "frontend/src/api/public-client.ts"
- "frontend/src/App.css"
GSD-Task: S02/T02
2026-04-01 06:41:52 +00:00
jlightner
c1cdba14f2
feat: Added partial_matches fallback UI to search results — shows muted…
...
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/SearchResults.tsx"
- "frontend/src/App.css"
GSD-Task: S01/T03
2026-04-01 06:41:52 +00:00