Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
A comprehensive collection of Agent Skills for context engineering, multi-agent architectures, and production agent systems.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
researcher/runbooks/continuous-operation.md
1# Continuous Operation Runbook23This runbook explains how to run the researcher harness as a daemon on macOS so it can advance the research-to-skill loop for days without manual intervention.45## What Runs67| Job | Frequency | Purpose |8| --- | --- | --- |9| `loop_step.py` | every 10 minutes | pull from inbox, advance one active run by one state, park anything that needs human or judge review |10| `loop_discover.py` | twice daily (05:00 and 17:00 local) | append new candidate sources from configured feeds into the inbox |11| `loop_daily.py` | once daily (06:30 local) | run repo validation, activation cases, benchmarks, write a dated snapshot, flag volatile claims due for review |12| `loop_status.py` | piggy-backs on every `loop_step` and `loop_daily` | refresh the dashboard and parked review surface |1314All schedules and budgets live in `researcher/orchestration/config.json`. Default budgets:1516- max active runs: 317- max runs per day: 618- max parked: 1219- max failures per day: 520- max inbox size: 2002122When any budget is exceeded the loop stops doing destructive work and continues only with bookkeeping until the human reviews.2324## Install2526```bash27researcher/orchestration/launchd/install.sh28```2930The script:31321. Substitutes the repository path into the launchd plists.332. Writes them under `~/Library/LaunchAgents/`.343. Bootstraps them under the current user agent domain.354. Enables the labels so they survive logout/login.3637Logs land in `researcher/reports/logs/`:3839- `loop_step.log`, `loop_discover.log`, `loop_daily.log`, `loop_status.log`40- `launchd-loop-step.out` and `.err` for raw launchd output4142## Uninstall4344```bash45researcher/orchestration/launchd/uninstall.sh46```4748## Manual Operation4950You can run the loop scripts directly without launchd:5152```bash53python3 researcher/scripts/loop_discover.py # pull new sources into inbox54python3 researcher/scripts/loop_step.py --allow-fetch # advance one step55python3 researcher/scripts/loop_daily.py # benchmarks + snapshot56python3 researcher/scripts/loop_status.py # refresh dashboard57```5859`--allow-fetch` enables HTTP GET retrieval through Python's stdlib `urllib`. Without it the loop parks runs that need source retrieval and waits for a human.6061## Human Review Surface6263Read these files when checking on the loop:6465- `researcher/reports/status.md` - high-level dashboard.66- `researcher/reports/parked-review.md` - runs waiting for a reviewer.67- `researcher/reports/snapshots/<date>.md` - daily snapshot.68- `researcher/reports/benchmark-history.jsonl` - append-only benchmark trend.69- `researcher/queue/inbox.jsonl` - candidate sources awaiting initialization.70- `researcher/queue/quarantine.jsonl` - sources removed from rotation.7172Parked runs require one of these actions:7374| Reason | Action |75| --- | --- |76| `needs source retrieval` | retrieve manually and run `research_loop.py retrieve --run-dir <run> --file <evidence>` |77| `needs evaluation` | complete the source evaluation JSON and run `research_loop.py evaluate --run-dir <run>` |78| `needs human or model action from state proposed` | finish the proposal and run `research_loop.py novelty --run-dir <run>` |79| `needs merge approval` | review the PR notes; merge only after explicit approval |8081## Safety8283- The loop never invokes LLMs or paid APIs.84- Source retrieval uses stdlib `urllib` with a 30-second timeout and a 1.5MB cap.85- Sources that fail twice are quarantined.86- The mechanism registry can only be updated through `research_loop.py promote-mechanisms` with a recorded reviewer; the loop does not edit it.87- Push and merge are always human-controlled.8889## Daily Rhythm9091A reasonable cadence for a human running this:92931. Morning: read the latest snapshot and parked review.942. Pick up to three parked runs and either advance, reject, or abandon them.953. Approve any mechanism promotions whose runs are publish-ready.964. Leave the loop running for the next day.97