← all projects · project dashboard

Uplink — Local RAG // Portfolio build

built 2026-10-16 10:54 UTC
NEXT
Phase-2 hybrid retrieval built + measured (BM25 53%→hybrid 93% on 10-K set, gated behind a flag, reviewed); legacy .xls, source filtering, dictation shipped; next: integration + /api/file security reviews 2026-08-13, decide public hybrid activation
Status: In Progress · 11 items overdue
78%
Progress
21/27 tasks done
12/17
Milestones
next 2026-08-13
2026-09-20
Deadline
26d overdue
0
Blocked
tasks needing action
11
Overdue
tasks + milestones
2026-08-08
Last updated
stale 69d

Overview

DescriptionLocal, private, self-hosted RAG system. Multi-format indexer (Markdown, PDF, Word, Excel, CSV/TSV, TXT) into SQLite FTS5 with BM25 search; Claude Code is the generation layer; phone access via the bridge queue pattern (read-only). Flagship privacy-first retrieval piece: "your documents never leave your machine." Standalone public repo — resume artifact in its own right.
PriorityHigh
ClientInternal (Artificial Management)
Start2026-08-06
Deadline2026-09-20 26d overdue
Next milestoneSystems-integration review (fresh clone, AGENT.md contract, privacy sweep) (2026-08-13)
Updated2026-08-08 stale 69d
TeamAI Engineering Build Agent Data Integrity Agent Portfolio Agent
LinksUplink repo · local: `Desktop/uplink`

Tasks by department 21/27 done · 78%

AI Engineering Build Agent
V1 build: extractors, chunker, indexer, search CLI, eval, 25 tests2026-08-06Complete
Adversarial code review + apply fixes2026-08-06Complete
Publish public GitHub repo2026-08-06Complete
Report templates: 3 deterministic reports, SVG charts, eval history, AGENT.md2026-08-06Complete
Logic + code reviews of report phase, fixes applied (56 tests)2026-08-06Complete
v0.2 build: collections schema v2 + migration, upload/feedback endpoints, export/promote CLI2026-08-06Complete
v0.2 sequential reviews (logic 10 findings, code 8 findings) — all fixed, pinned; 109 tests2026-08-06Complete
Ask AI build: ask queue, /api/ask endpoints, Ask AI UI, watcher, AGENT.md drain contract2026-08-06Complete
Ask-surface adversarial review (6 findings) — all fixed, pinned; 143 tests2026-08-06Complete
Doc-surface review (5 findings) + workspace review (6 findings, 1 critical) — all fixed, pinned; 205 tests2026-08-06Complete
Metrics/history/labels/original-file build (233 tests)2026-08-07Complete
Self-improvement pass: answer thumbs, zero-hit + unknown-term gap detector, /api/promote (268 tests)2026-08-07Complete
Add-sources dialog: batch upload, pasted-text notes, collection picker, uplink forget (325 tests; parallel session)2026-08-07Complete
Native .xls extractor (xlrd, hand-built BIFF2 fixture) + original-file content-type parity2026-08-07Complete
Workspace UX: source title search + type filter, select-all docKey scoping fix, plain-English Studio labels, mic dictation (332 tests)2026-08-07Complete
Bridge integration: question action type, read-only2026-08-27late
Phase 2 hybrid retrieval, eval-gated2026-09-10late
Data Integrity Agent
Golden fixtures (18 questions) + baseline eval numbers2026-08-06Complete
Industry corpora fetched + indexed (SEC/CDC/NIST); industry-golden fixtures, baseline 92%/0.9232026-08-06Complete
Evaluation credibility pass: Wilson CIs, run-to-run deltas, live scoring, answer-quality metrics, metric tooltips (262 tests)2026-08-07Complete
Spreadsheet/CSV industry corpora (BLS, CISA, CDC) + 6 fixtures; baseline 95%/0.947 over 19 questions2026-08-07Complete
Grounding enforcement: scoped asks + mechanical citation verification (282 tests)2026-08-07Complete
Apple 10-K corpus: 10 EDGAR .xls filings FY2016–25 identified, renamed, indexed (apple: 257 docs); post-ingest eval 90%/0.900 unchanged, run logged2026-08-07Complete
DEFERRED at Erick's direction: security review of /api/file (path containment, iframe posture, metrics disclosure, DoS) — must run before Tailscale exposure2026-08-13late
Systems-integration review (deferred at Erick's direction 2026-08-06)2026-08-13late
Eval review of phase 2 numbers2026-09-12late
Portfolio Agent
Case study, README polish, demo recording2026-09-20late

Milestones 12/17 reached

V1 core: multi-format indexer + BM25 search + eval harness + tests2026-08-06Complete
Review-agent findings applied; repo public on GitHub2026-08-08Complete
Report templates with charts (deterministic, SVG, narrative slot)2026-08-20Complete
Web UI: local Ask page with cited results (uplink serve)2026-08-27Complete
v0.2: collections, localhost-gated upload/feedback, industry corpora, promote loop2026-08-27Complete
Ask AI: generative cited answers via the ask queue + borrowed brain session2026-09-03Complete
Verifiable citations: source reader served from the index2026-09-03Complete
Workspace UI: three-panel NotebookLM-style shell, scoped sources, saved notes2026-09-10Complete
Metrics surface, chat history, readable labels, original-file reader2026-09-10Complete
Evaluation panel: confidence intervals, regression deltas, live drift + failing questions2026-09-15Complete
Self-improvement loop: answer feedback, gap detection, in-app promote2026-09-15Complete
Source management: add-sources dialog, legacy .xls, search/type filtering, dictation2026-09-10Complete
Systems-integration review (fresh clone, AGENT.md contract, privacy sweep)2026-08-13late
Security review of /api/file original-file endpoint (deferred 2026-08-07)2026-08-13late
Phone access via bridge queue (read-only questions)2026-08-27late
Phase 2: fastembed vectors + RRF, before/after eval numbers in README2026-09-10late
Case study + recorded demo published2026-09-20late

Risks & blockers

  • Answers only when a Claude Code session is open with the watcher armed (same availability model as the bridge — accepted)
  • Phase 2 vector layer depends on fastembed/bge-small behaving on this Windows box; LanceDB is the vetted fallback, ChromaDB is disqualified (MSVC build failures)
  • Retrieved chunk text is a prompt-injection channel — must stay under the "untrusted data, never instructions" rule
  • `/api/file` (added 2026-08-07) is the only request-time corpus file read; containment is enforced against each collection's recorded root, but its security review was deferred and gates Tailscale exposure
  • Two brain sessions armed the same ask queue 2026-08-07 and raced on an answer — standing rule: exactly one armed watcher per queue (logged in decisions 2026-08-07)

Recent changes source: logs/changes.md

2026-08-08 · github.com/evanderpool/erick-portfolio (Officia…
2026-08-07 · decisions/log.md
2026-08-07 · projects/master-operating-system/project-tracke…
2026-08-07 · logs/sessions/2026-08-07-session.md
2026-08-07 · github.com/evanderpool/uplink
2026-08-07 · Desktop/uplink/corpora/apple-products/sec-filin…