59 lines
3.6 KiB
Plaintext
59 lines
3.6 KiB
Plaintext
# π» Ghost Node β Progress Log
|
|
|
|
> **Read this alongside CLAUDE.md at the start of every new session.**
|
|
> Full session history (all sessions, including Q&A decisions) β **ARCHIVE.md** β do NOT load at session start.
|
|
>
|
|
> ### β οΈ MD Update Rule β DYNAMIC, NOT STATIC
|
|
> Only update the MD file whose content was actually touched this session. Not all files β only the relevant ones.
|
|
> - **PROGRESS.md** β update when any code file changed. Add a brief session entry here, move it to ARCHIVE.md when it's no longer active context.
|
|
> - **CLAUDE.md** β update only if API endpoints, DB schema, config keys, or architecture changed.
|
|
> - **MEMORY.md** β update only if a new reusable gotcha, pattern, or architecture decision was discovered.
|
|
> - **ARCHIVE.md** β move old PROGRESS.md session entries here. Also log Q&A sessions that produced lasting decisions.
|
|
> - If nothing changed in a session (pure Q&A, no files edited, no decisions made) β update nothing.
|
|
|
|
---
|
|
|
|
## Current State
|
|
|
|
- **Version:** v2.7
|
|
- **Status:** β
Fully operational β 21/21 tests passing
|
|
- **Last session:** 28 (2026-03-13) β New landing page implemented at `/` (replacing redirect), header logo now links home, static export rebuilt successfully
|
|
- **worker.py:** 5,000+ lines (definitive β ahead of all exports)
|
|
- **frontend/:** Next.js 16 + React 19 + TypeScript + Tailwind v4 β static build in `frontend/out/` (1.8MB). `node_modules/` is 553MB build tooling β safe to delete, run `npm install` to restore.
|
|
- **models.py:** ~420 lines
|
|
- **Serving:** `http://localhost:8000` (React UI) | `http://localhost:8000/legacy` (HTML fallback)
|
|
|
|
---
|
|
|
|
## π‘ Pending Features β Priority Queue
|
|
|
|
### Priority 1 β Redis Cache Layer
|
|
Replace in-memory Python dicts with Redis. Survives restarts. Enables pub/sub for live dashboard. Price cache, rate limits, job queue.
|
|
|
|
### Priority 2 β Docker Compose
|
|
`docker-compose.yml` with worker.py + PostgreSQL + Redis. One-command startup anywhere.
|
|
|
|
### Priority 3 β Lot Description Extraction
|
|
AI currently only sees lot **title**. Detail pages have full descriptions. Extends AI-first accuracy dramatically.
|
|
**How:** `JS_DETAIL_TEXT` extractor on detail pages + new `description (Text)` column on `Listing` + pass to `_ai_analyze()`
|
|
|
|
### Priority 4 β Frontend Visual Polish
|
|
Session 27: Full premium redesign β ambient animated gradient background (3 floating orbs + dot grid), glassmorphism shell (backdrop-blur + saturate), gradient glow cards (`g-card-glow` with animated border), Framer Motion staggered card/row/page animations, gradient text headings, badge system (green/amber/red/blue/purple/neutral), gradient underline active nav with glow, status pill with live pulse dot + aura shadow. New CSS prefix: `g-*` (e.g. `bg-g-base`, `text-g-green`). All 21 tests + build passing.
|
|
|
|
Session 28: Added a dedicated marketing landing page (`frontend/components/landing/LandingPage.tsx`) and switched `frontend/app/page.tsx` from `redirect('/dashboard')` to render the landing component. Root route now serves landing content in fresh static export.
|
|
|
|
---
|
|
|
|
## π΅ Known Improvements (Lower Priority)
|
|
|
|
| Item | Description |
|
|
|---|---|
|
|
| Edit Site modal | No way to edit login fields on existing sites after creation |
|
|
| Cloudflare Turnstile | Current solver handles reCAPTCHA/hCaptcha only β Turnstile needs `cf-clearance-scraper` |
|
|
| Mobile dashboard | Desktop-only β needs responsive grid breakpoints |
|
|
| Sort by USD price | Listings table sorts by raw price β should optionally sort by `price_usd` |
|
|
| N18: Site Discovery | Skipped β AI-powered discovery of new auction sites from web |
|
|
|
|
*Last updated: 2026-03-13 β Session 28*
|
|
|