Task_Register
#pefi.tasks92 totalCompleted_Stack (92)
No regressions introduced
No regressions introduced
Automated tests pass (or written if missing)
No regressions introduced
Automated tests pass (or written if missing)
Functionality verified manually
Automated tests pass (or written if missing)
Functionality verified manually
Functionality verified manually
2.1.1 Obtain Let's Encrypt SSL cert for pefi.sunfeld.nl via certbot and verify cert files exist at /etc/letsencrypt/live/pefi.sunfeld.nl/
2.1.2 Create /etc/nginx/sites-available/pefi.sunfeld.nl proxying HTTPS to http://127.0.0.1:3000 with SSE/WebSocket headers, enable site, reload nginx
2.1.3 Verify https://pefi.sunfeld.nl returns HTTP 200 (pefi-dashboard Next.js home page)
3.1.1 Add research_jobs table CREATE IF NOT EXISTS in pefi-runtime/server.js init block
3.1.2 Add POST /api/research/start endpoint with username variation generation and job persistence
3.1.3 Add GET /api/research/:id status endpoint
3.1.4 Add GET /api/research/:id/stream SSE progress endpoint (10s poll interval)
3.1.5 Add GET /api/research/:id/dossier password-verified zip download endpoint
3.2.1 Implement startResearchDaemon() running all tools sequentially, saving output to /app/data/dossiers/:id/
3.2.2 Implement generateUsernameVariations() producing 8+ variations from full name
3.2.3 Implement progress tracker updating DB after each tool step
