scythe410/vectorscape-reducer
fix(reducer): make Redis-backed progress optional; /status survives without Redis
feat(reducer): add /embed primitive endpoint for demo search
fix(reducer): drop bogus reducer/ COPY breaking HF Space build
fix: replace arq/Redis queue with in-process background task to fix Vercel FUNCTION_INVOCATION_TIMEOUT
fix(reducer): snippet-fallback labels + in-place /relabel endpoint
fix(reducer): keyword fallback when IDF zeros every term in a cluster
fix(reducer): always queue embed-reduce + warm-load embedder on boot
chore(reducer): drop orphan reducer/ shim package
chore(reducer): refresh uv.lock
fix(reducer): phase 6a — mypy clean (F-1, F-2, F-3)
chore(qa): phase 5 — static audit baseline + findings recorded
test(qa): phase 4 — security tests
test(qa): phase 3 — integration tests against fakes + RLS SQL files
test(qa): phase 2 — unit tests for pure logic
feat(adjacency): faint links between semantically-near clusters
feat(search): aggregate matches by cluster, surface named regions
feat(reducer): real cluster labels via c-TF-IDF, opt-in LLM upgrade
feat(search): natural-language search over project galaxy
feat(bridge): gate Gemini free-tier path behind user consent
feat(reducer): add Gemini fallback for /bridge LLM summary
chore(reducer): dockerize for hugging face spaces deploy
chore: reduce CSV preview to 20 rows & add multi-topic sample dataset
fix(security): apply qa_fixes — auth, prompt injection, upload cap, race lock, truncation, sanitization
feat(bridge): explain shared theme + contrast between two clusters
feat(web): SKM lens, landing page, and pre-baked demo galaxy
feat(reducer): arq worker for >10k jobs + /status endpoint with error capture
feat(reducer): /embed-reduce pipeline (MiniLM + conditional PCA + PaCMAP + HDBSCAN) and CLI harness
chore: scaffold bun-workspaces monorepo
