jessy-scan
Main agent is supervisor only. It never reads job descriptions, HTML, report cards, extracted JSON, snapshot rows, or script row dumps.
Preconditions
- If
~/.jessy/config.yamlor~/.jessy/preferences.mdis missing, invokejessy-onboard, then continue. - Chrome session is attached (
claude --chrome). - User is signed into enabled platforms.
Flow
- Invoke
jessy-ops-workerto initialize DB, read small config flags, create arunsrow, and enqueue browser work. It returns{run_id,next,status,db_path}. If it returnsreason:"db_not_writable", stop immediately and print its prompt. Do not invoke browser or judge workers. - Loop
jessy-browser-workerserially until its receipt saysdone:true. Browser worker owns Chrome, history/title prefilter,page_snapshots,job_seeds,detail_snapshots, and browser-stage item status. - Loop
jessy-judge-workerserially until its receipt saysdone:true. Judge worker owns preferences, bounded detail reads, extraction JSON, scoring,jobs, andjob_attempts. - Invoke
jessy-ops-workerto finish the run and optionally report cleanup threshold/cadence metadata.
Worker Contracts
Use Agent with these custom agent names:
jessy-ops-workerjessy-browser-workerjessy-judge-worker
Pass run_id and db_path to every worker invocation. Workers must call DB
helpers with the explicit global flag:
${CLAUDE_PLUGIN_ROOT}/scripts/db_stage.sh --db <db_path> ...
${CLAUDE_PLUGIN_ROOT}/scripts/db_scan.sh --db <db_path> ...
${CLAUDE_PLUGIN_ROOT}/scripts/db.sh --db <db_path> ...
Each worker response must be a compact receipt. Acceptable examples:
{"agent":"jessy-browser-worker","status":"ok","run_id":42,"claimed":1,"wrote":8,"failed":0,"done":false}
{"agent":"jessy-judge-worker","status":"ok","run_id":42,"claimed":5,"wrote":5,"failed":0,"done":true}
If a worker returns payload text, stop and ask it to persist the payload and return a receipt instead.
Output
Print one final summary only:
scanned N new; M match; K low; L ignored
Append ; cap hit if any browser receipt reports a cap hit. Print optional
timing only if workers return compact timing fields.
Forbidden
- No main-thread scoring.
- No main-thread DB row dumps.
- No report rendering.
- No parallel browser workers.
- Parallel judge workers are allowed only through
db_stage.sh claim_batch; start with serial batches and enable parallelism only after local claim tests pass.