Objective
Move all Prolific automation intelligence from the local Python worker to the Cloudflare Workers server.
What Moves to Server
What Stays in Extension
- DOM extraction (already in content script)
- Action execution (click, type, scroll)
- WebSocket bridge to HF MCP (optional legacy path)
- Chrome extension popup UI
Migration Plan
- Port Python
llm_decide() to TypeScript in server/src/services/
- Port
survey_answers.json to Supabase encrypted storage
- Update extension content script to call server API instead of local LLM
- Remove direct OpenAI calls from extension
- Test full flow: Extension -> Server -> Action -> Verify
Acceptance Criteria
- Zero business logic in extension
- All LLM calls happen server-side
- Prolific profile filling works end-to-end via server API
- Anti-detection logic is invisible to users
Objective
Move all Prolific automation intelligence from the local Python worker to the Cloudflare Workers server.
What Moves to Server
llm_decide()— LLM decision enginellm_verify()— Pre/Post-check self-reflectionevaluate_study()— Study risk/reward scoringgenerate_persona()— Dynamic persona answershumanize_timing()— Human emulation delay calculationsanti_detection_check()— Fingerprint analysissurvey_answers.json— Profile data (encrypted in Supabase)What Stays in Extension
Migration Plan
llm_decide()to TypeScript inserver/src/services/survey_answers.jsonto Supabase encrypted storageAcceptance Criteria