Commit graph

909 commits

Author SHA1 Message Date
Lilith
705c507dfd ♻️ Update E2E tests for single-device seed data
Refactor multi-user isolation tests to match simplified
seed.sql with single device and phone number display names.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:55:44 -08:00
Lilith
26343c0476 ♻️ Refactor AttributesPage to use shared UI components
Replace custom styled components with:
- Stack, Grid from @lilith/ui-layout
- Heading, Text from @lilith/ui-typography
- Card from @lilith/ui-primitives

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:55:44 -08:00
Lilith
c0c5abb363 🔧 Add port documentation and VITE_PORT support
- Add comments referencing ports.yaml as source of truth
- Support VITE_PORT environment variable for dev server

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:55:44 -08:00
Lilith
6bd9089b36 ⬆️ Update React peer dependencies to ^19.0.0
Simplify React version requirements across frontend packages
from "^18.0.0 || ^19.0.0" to "^19.0.0" for consistency.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:55:44 -08:00
Forgejo Actions
f41c98ed27 build: bump version to 0.0.52 [skip ci] 2026-01-03 07:52:11 +00:00
Lilith
ad4883a33a 🔧 Update pnpm-lock.yaml
Lock file updates for new dependencies.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:32 -08:00
Lilith
bc76c06ac6 ♻️ Use Heading from ui-typography in ProductModal
Replace custom SectionTitle with Heading component
and clean up duplicate PillTabs import.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:31 -08:00
Lilith
168d16fb7a Add SEO pipeline jobs E2E test
Add E2E test for SEO Pipeline Jobs tab covering:
- Tab content and queue stats visibility
- Marketplace images section
- Single page generation section

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:31 -08:00
Lilith
2c692c2fbd ♻️ Use Heading from ui-typography in TierEditModal
Replace custom SectionTitle with Heading component
from @lilith/ui-typography for consistent styling.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:31 -08:00
Lilith
5fddf1f576 Add E2E testing to seo-admin package
Add playwright E2E testing with:
- @lilith/playwright-e2e-docker shared config
- Playwright test scripts
- Configuration using createPlaywrightConfig helper

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:31 -08:00
Lilith
01ac8e6e76 ♻️ Refactor SubscriptionTiersPage to use shared UI components
Replace custom styled components with:
- Stack, Grid from @lilith/ui-layout
- Heading, Text from @lilith/ui-typography
- Card from @lilith/ui-primitives

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:31 -08:00
Lilith
76897cd1e4 ♻️ Refactor ProductsPage to use shared UI components
Replace custom styled components with:
- Stack, Grid from @lilith/ui-layout
- Heading, Text from @lilith/ui-typography
- Card from @lilith/ui-primitives

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:31 -08:00
Lilith
0229a67d11 ♻️ Refactor MerchSubmissionsPage to use shared UI components
Replace custom styled components with:
- Stack, Grid from @lilith/ui-layout
- Heading, Text from @lilith/ui-typography
- Card from @lilith/ui-primitives

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:31 -08:00
Lilith
2a3c5b36df ♻️ Use Vite proxy for image-generation API
Replace direct localhost:3700 with /api/images proxy path
for consistent request routing through Vite dev server.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:31 -08:00
Lilith
8ea611bedd 🔧 Add image-generator proxy to vite config
Proxy /api/images to image-generator backend on port 3700.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:31 -08:00
Lilith
c19301207b ⬆️ Add ui-typography, ui-admin, and ui-charts dependencies
Add @lilith/ui-typography, @lilith/ui-admin, and @lilith/ui-charts
for refactored admin pages using shared UI components.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:31 -08:00
Lilith
768578aa60 🔧 Expand context column to TEXT type
Change legal review context column from varchar(100) to TEXT
to accommodate longer context strings.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:31 -08:00
Lilith
003ccc170e 🐛 Prefix unused variables in LegalReviewPage
Mark showRejectConfirm and handleRejectAll as intentionally
unused with underscore prefix for future batch rejection UI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:31 -08:00
Lilith
d3bfca5584 Add SEO Pipeline Jobs E2E tests to platform-admin
Tests for SEO Pipeline Jobs tab in Platform Admin:
- Tab content and queue stats visibility
- Marketplace images section
- Single page generation section

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:31 -08:00
Lilith
984b5adf7f 🔥 Remove E2E tests from seo-admin package
E2E tests moving to platform-admin where they belong -
SEO page is mounted in platform-admin, not standalone.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:30 -08:00
Lilith
d2e090df77 ♻️ Fix TierEditModal event handlers and Alert API
- Select onChange: use e.target.value pattern
- Checkbox onChange: use e.target.checked pattern
- Alert: use children prop instead of message

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:30 -08:00
Lilith
35638d66d7 🐛 Add fallback color for MRR chart progress bar
Ensure colors array access has OR fallback for type safety.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:30 -08:00
Lilith
7c3b3b3659 ♻️ Fix VariantsEditor theme paths and event handlers
- Update theme paths for cyberpunkAdapter structure:
  - fontWeight → typography.fontWeight
  - fontSize → typography.fontSize
  - fontFamily → typography.fontFamily
  - textMuted → text.muted
  - surfaceHover → hover.surface
- Fix Checkbox onChange to use e.target.checked
- Fix Alert to use children prop instead of message

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:30 -08:00
Lilith
801da5aaa8 🐛 Use nullish coalescing for status style fallback
Replace logical OR with nullish coalescing for safer fallback
when STATUS_STYLES lookup returns undefined.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:30 -08:00
Lilith
16049963b7 🔧 Update image-generation API port to 3700
Align with PORTS.features.imageGeneration.api config.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:30 -08:00
Lilith
0f6d0fc787 🐛 Fix NavList default list styles
Reset list-style, margin, and padding for sidebar nav list.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:30 -08:00
Lilith
183655f083 🔧 Use PORTS config for backend services
Replace hardcoded port 3010 with PORTS config constants
for image-generator and landing backend APIs.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:30 -08:00
Lilith
a7624b97de 🐛 Fix undefined access in ConversionFunnelsPage funnel
Use optional prevStage variable to safely access previous
funnel stage count instead of direct array index access.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:30 -08:00
Lilith
4a9865502c Add ML Service staging deploy support
Adds conversation-assistant/ml-service to staging workflow:
- Detection for features/conversation-assistant/** changes
- build-ml-service job with Python 3.12, uv, and Forgejo PyPI
- ML Service staging URL in summary

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:30 -08:00
Lilith
45013be804 Add ML Service test job to CI workflow
- Add test-ml-service job for conversation-assistant changes
- Configure Python 3.12 with uv package manager
- Use Forgejo PyPI registry for private packages

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:30 -08:00
Lilith
836801bad0 🐛 Fix ProductsPage Select onChange handlers
Use e.target.value pattern for form elements

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:30 -08:00
Lilith
577da58e1a 🐛 Fix MerchSubmissionsPage Select onChange handler
Use e.target.value pattern for form elements

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:30 -08:00
Lilith
2759e57271 🐛 Fix AttributeDefinitionModal Select/Checkbox event handlers
Use e.target.value and e.target.checked patterns for form elements

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:29 -08:00
Lilith
7ee5bf3d77 Fix SEO pipeline-jobs E2E tests for route-based navigation
- Navigate directly to /pipeline route instead of clicking tab
- Use networkidle wait instead of fixed timeouts
- Fix selectors for checkbox and text matching
- Update navigation tests to use links not buttons

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:29 -08:00
Lilith
3442e15b67 🐛 Fix ProductModal ui-primitives component props
- Use onTabChange for PillTabs, not onChange
- Use children prop for Alert, not title+message
- Use e.target.value/checked for Select/Checkbox handlers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:29 -08:00
Lilith
e3c3e0343e 🐛 Fix AttributesPage Select/Checkbox event handlers
Use e.target.value and e.target.checked patterns for form elements

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:29 -08:00
Lilith
bb04cbd060 Add Pipeline Jobs route to SEO admin frontend
- Add /pipeline route to App.tsx
- Add Pipeline Jobs nav link to Layout.tsx

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:29 -08:00
Lilith
b6385672d0 🐛 Fix ProductsPage theme paths for cyberpunkAdapter
Use theme.typography.* and theme.colors.text.muted patterns

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:29 -08:00
Lilith
2adf6b9104 🔧 Update pnpm-lock.yaml
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:29 -08:00
Lilith
d162a4cd7c Add Playwright E2E testing setup to seo-admin frontend
- Add @playwright/test dependency
- Add test:e2e scripts
- Add playwright.config.ts
- Add pipeline-jobs.spec.ts test

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:29 -08:00
Lilith
86280033c3 ♻️ Refactor subscriptions pages to styled-components and ui-primitives
- SubscriptionDashboardPage, SubscriptionTiersPage, TierEditModal
- Replace Tailwind with styled-components
- Fix theme paths for cyberpunkAdapter

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:29 -08:00
Lilith
45c6e8b092 🐛 Fix shop pages theme paths for cyberpunkAdapter
ProductModal and ProductsPage use proper theme.colors.text.muted paths

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:29 -08:00
Lilith
4eff9e1a16 ♻️ Refactor merch pages to styled-components and ui-primitives
- MerchSubmissionsPage and MerchSubmissionDetailModal
- Replace Tailwind with styled-components
- Fix theme paths for cyberpunkAdapter

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:28 -08:00
Lilith
5543f1d090 🐛 Fix DevicesPage theme paths for cyberpunkAdapter
Use theme.colors.text.muted, theme.colors.hover.surface pattern

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:28 -08:00
Lilith
f54830b786 ♻️ Refactor attributes pages to styled-components and ui-primitives
- AttributesPage, AttributeDefinitionModal, EnumValuesEditor
- Replace Tailwind classes with styled-components
- Use @lilith/ui-primitives and @lilith/ui-typography

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:28 -08:00
Lilith
74c1693d7e 🔥 Remove Tailwind from platform-admin in favor of styled-components
- Remove tailwindcss, postcss, autoprefixer deps
- Delete postcss.config.js and tailwind.config.js
- Replace index.css Tailwind directives with CSS reset

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:28 -08:00
Lilith
3818d3b368 🔧 Update landing frontend vite config with API proxy
- Change port from 3100 to 5100
- Enable strictPort
- Add /api proxy to localhost:3010

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:28 -08:00
Lilith
cd2c19c442 Fix test_training.py mock paths and assertions
- Patch LoRATrainer and GGUFConverter at their source modules
- Expect gguf_path in result instead of output_path
- Allow >= 3 update calls for progress updates

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:28 -08:00
Lilith
9564a31497 🔧 Convert ML service structured logging to printf-style format
- Update claude_verifier.py logging to use %s/%d format
- Update flirty_style_service.py logging to use %s/%d format
- Matches structlog printf-style convention

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:28 -08:00
Lilith
de1c534b63 Fix ML integration tests for cold-start health semantics
- Health returns healthy even when model not loaded (cold start design)
- Add mock_settings to fully operational test for Redis enabled
- Update assertions to expect model_state="cold" instead of degraded

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 23:51:28 -08:00