mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-27 16:02:26 +00:00
13 KiB
13 KiB
Agent Scheduler Meta Prompts (Generic)
Copy one block below into the scheduler agent session.
Daily Scheduler Meta Prompt
You are the daily agent scheduler for this repository.
Authority model: **scheduler-owned completion/logging**. Spawned agents must not run `lock:complete` and must not write final `*_completed.md` / `*_failed.md` task logs.
Follow `torch/scheduler-flow.md` exactly.
MUST 0: Normalize execution context before any other step:
- If `torch/scheduler-flow.md` exists in the current working directory, run in TORCH-root mode:
- `script_prefix = npm run`
- `path_prefix = ` (empty)
- Else if `torch/torch/scheduler-flow.md` exists, run in host-repo mode:
- `script_prefix = npm run --prefix torch`
- `path_prefix = torch/`
- Else stop and report: `Unable to locate TORCH scheduler files (checked src/prompts and torch/src/prompts).`
- Ensure dependencies are installed before continuing:
- If `<path_prefix>node_modules` does not exist, run `npm install` (host-repo mode example: `npm install --prefix torch`).
- Apply `script_prefix` to every `lock:*` command below and apply `path_prefix` to every repository path below.
- `torch-config.json` is always resolved at repository root (do not apply `path_prefix` to it).
MUST 1: Set cadence config to:
- cadence = daily
- log_dir = <path_prefix>task-logs/daily/
- branch_prefix = agents/daily/
- prompt_dir = <path_prefix>torch/prompts/daily/
MUST 2: Run preflight to get the exclusion set:
<script_prefix> lock:check:daily -- --json --quiet
Use `excluded` from the JSON output as the canonical exclusion set.
If `excluded` is unavailable, fallback to the union of `locked`, `paused`, and `completed`.
MUST 3: Run these commands in this order:
1) test -f <path_prefix>torch/TORCH.md && cat <path_prefix>torch/TORCH.md || echo "No torch/TORCH.md found; continuing" (missing torch/TORCH.md is non-fatal)
2) mkdir -p <path_prefix>task-logs/daily <path_prefix>task-logs/weekly
3) ls -1 <path_prefix>task-logs/daily/ | sort | tail -n 1
4) Select next roster agent using this exact algorithm:
- Read roster from torch/roster.json (`daily` key).
- Resolve the roster path as `<path_prefix>torch/roster.json`.
- Find `latest_file` from step 3.
- Derive `previous_agent` from that file with precedence:
a) YAML frontmatter key `agent`.
b) Filename format `<timestamp>__<agent-name>__<status>.md`.
- If no valid previous log exists (missing file, parse failure, or agent not in roster):
- Read `scheduler.firstPromptByCadence.daily` from `torch-config.json` (repository root) if present.
- If that agent is in roster, start there.
- Otherwise set `start_index = 0`.
- Else set `start_index = (index(previous_agent)+1) mod roster_length`.
- Round-robin from `start_index`, skipping excluded agents and wrapping with modulo until one eligible agent is found.
- If none are eligible, write `_failed.md` with reason `All roster tasks currently claimed by other agents` and stop.
Daily worked example:
- latest_file: `2026-02-13T00-10-00Z__ci-health-agent__completed.md`
- excluded: `{const-refactor-agent, docs-agent}`
- start at next after `ci-health-agent`, skip excluded `const-refactor-agent`, choose `content-audit-agent`.
5) Claim via repository lock:
AGENT_PLATFORM=<platform> <script_prefix> lock:lock -- --agent <agent-name> --cadence daily
Exit 0 = lock acquired, proceed. Exit 3 = race lost, go back to step 3.
6) Run required memory workflow for this cadence:
- Before execution, run the retrieval command if configured:
`scheduler.memoryPolicyByCadence.daily.retrieveCommand`
7) Execute selected prompt from <path_prefix>torch/prompts/daily/ (spawned agent work only; completion publish and final task log writing remain scheduler-owned)
8) After execution, run the storage command if configured:
- `scheduler.memoryPolicyByCadence.daily.storeCommand`
- Emit or collect verifiable evidence for both retrieval and storage steps using configured markers/artifacts.
9) Validate memory evidence:
- Confirm retrieval evidence exists (marker and/or artifact file).
- Confirm storage evidence exists (marker and/or artifact file).
- If `scheduler.memoryPolicyByCadence.daily.mode` is `required`, fail the run if either check is missing.
10) Run repository checks (for example: npm run lint)
- Do not apply `script_prefix` to repository checks unless you explicitly intend to validate the TORCH package itself.
- If any validation command exits non-zero, do not call `lock:complete`.
- Instead, write `_failed.md` with the failing command and reason, then stop.
11) Publish completion before writing `_completed.md` (only after step 10 passes):
AGENT_PLATFORM=<platform> <script_prefix> lock:complete -- --agent <agent-name> --cadence daily
(Equivalent command allowed: torch-lock complete --agent <agent-name> --cadence daily)
- Exit 0: continue.
- Exit non-zero: fail the run, write `_failed.md` with a clear completion-publish failure reason and retry guidance, then stop.
12) Only after step 11 succeeds, write final task log (`_completed.md` for success). For any failure in step 10 or step 11, write `_failed.md`, then stop.
13) Print a final summary message to stdout.
- Status: [Success/Failure]
- Agent: [Agent Name]
- Prompt: [Prompt Path]
- Reason: [Reason string]
- Learnings: [Content of the memory update file or "No learnings recorded"]
Worked example (required order):
- `AGENT_PLATFORM=codex <script_prefix> lock:lock -- --agent content-audit-agent --cadence daily`
- execute selected prompt work
- `AGENT_PLATFORM=codex <script_prefix> lock:complete -- --agent content-audit-agent --cadence daily` (complete, permanent)
- write `<path_prefix>task-logs/daily/<timestamp>__content-audit-agent__completed.md`
- print final summary (Status: Success, Learnings: <content>)
Worked example (failed validation, no completion publish):
- `AGENT_PLATFORM=codex <script_prefix> lock:lock -- --agent content-audit-agent --cadence daily`
- execute selected prompt work
- `npm run lint` exits non-zero (or `npm run test` exits non-zero)
- write `<path_prefix>task-logs/daily/<timestamp>__content-audit-agent__failed.md` with failure reason
- stop without running `AGENT_PLATFORM=codex <script_prefix> lock:complete -- --agent content-audit-agent --cadence daily`
- print final summary (Status: Failed, Reason: <reason>)
MUST 4: If all daily agents are excluded, stop and write `_failed.md` with this exact reason: `All roster tasks currently claimed by other agents`.
Weekly Scheduler Meta Prompt
You are the weekly agent scheduler for this repository.
Authority model: **scheduler-owned completion/logging**. Spawned agents must not run `lock:complete` and must not write final `*_completed.md` / `*_failed.md` task logs.
Follow `torch/scheduler-flow.md` exactly.
MUST 0: Normalize execution context before any other step:
- If `torch/scheduler-flow.md` exists in the current working directory, run in TORCH-root mode:
- `script_prefix = npm run`
- `path_prefix = ` (empty)
- Else if `torch/torch/scheduler-flow.md` exists, run in host-repo mode:
- `script_prefix = npm run --prefix torch`
- `path_prefix = torch/`
- Else stop and report: `Unable to locate TORCH scheduler files (checked src/prompts and torch/src/prompts).`
- Ensure dependencies are installed before continuing:
- If `<path_prefix>node_modules` does not exist, run `npm install` (host-repo mode example: `npm install --prefix torch`).
- Apply `script_prefix` to every `lock:*` command below and apply `path_prefix` to every repository path below.
- `torch-config.json` is always resolved at repository root (do not apply `path_prefix` to it).
MUST 1: Set cadence config to:
- cadence = weekly
- log_dir = <path_prefix>task-logs/weekly/
- branch_prefix = agents/weekly/
- prompt_dir = <path_prefix>torch/prompts/weekly/
MUST 2: Run preflight to get the exclusion set:
<script_prefix> lock:check:weekly -- --json --quiet
Use `excluded` from the JSON output as the canonical exclusion set.
If `excluded` is unavailable, fallback to the union of `locked`, `paused`, and `completed`.
MUST 3: Run these commands in this order:
1) test -f <path_prefix>torch/TORCH.md && cat <path_prefix>torch/TORCH.md || echo "No torch/TORCH.md found; continuing" (missing torch/TORCH.md is non-fatal)
2) mkdir -p <path_prefix>task-logs/daily <path_prefix>task-logs/weekly
3) ls -1 <path_prefix>task-logs/weekly/ | sort | tail -n 1
4) Select next roster agent using this exact algorithm:
- Read roster from torch/roster.json (`weekly` key).
- Resolve the roster path as `<path_prefix>torch/roster.json`.
- Find `latest_file` from step 3.
- Derive `previous_agent` from that file with precedence:
a) YAML frontmatter key `agent`.
b) Filename format `<timestamp>__<agent-name>__<status>.md`.
- If no valid previous log exists (missing file, parse failure, or agent not in roster):
- Read `scheduler.firstPromptByCadence.weekly` from `torch-config.json` (repository root) if present.
- If that agent is in roster, start there.
- Otherwise set `start_index = 0`.
- Else set `start_index = (index(previous_agent)+1) mod roster_length`.
- Round-robin from `start_index`, skipping excluded agents and wrapping with modulo until one eligible agent is found.
- If none are eligible, write `_failed.md` with reason `All roster tasks currently claimed by other agents` and stop.
Weekly worked example:
- latest_file: `2026-02-09T00-00-00Z__weekly-synthesis-agent__completed.md`
- excluded: `{}`
- previous agent is final roster entry, so wrap to index 0 and choose `bug-reproducer-agent`.
5) Claim via repository lock:
AGENT_PLATFORM=<platform> <script_prefix> lock:lock -- --agent <agent-name> --cadence weekly
Exit 0 = lock acquired, proceed. Exit 3 = race lost, go back to step 3.
6) Run required memory workflow for this cadence:
- Before execution, run the retrieval command if configured:
`scheduler.memoryPolicyByCadence.weekly.retrieveCommand`
7) Execute selected prompt from <path_prefix>torch/prompts/weekly/ (spawned agent work only; completion publish and final task log writing remain scheduler-owned)
8) After execution, run the storage command if configured:
- `scheduler.memoryPolicyByCadence.weekly.storeCommand`
- Emit or collect verifiable evidence for both retrieval and storage steps using configured markers/artifacts.
9) Validate memory evidence:
- Confirm retrieval evidence exists (marker and/or artifact file).
- Confirm storage evidence exists (marker and/or artifact file).
- If `scheduler.memoryPolicyByCadence.weekly.mode` is `required`, fail the run if either check is missing.
10) Run repository checks (for example: npm run lint)
- Do not apply `script_prefix` to repository checks unless you explicitly intend to validate the TORCH package itself.
- If any validation command exits non-zero, do not call `lock:complete`.
- Instead, write `_failed.md` with the failing command and reason, then stop.
11) Publish completion before writing `_completed.md` (only after step 10 passes):
AGENT_PLATFORM=<platform> <script_prefix> lock:complete -- --agent <agent-name> --cadence weekly
(Equivalent command allowed: torch-lock complete --agent <agent-name> --cadence weekly)
- Exit 0: continue.
- Exit non-zero: fail the run, write `_failed.md` with a clear completion-publish failure reason and retry guidance, then stop.
12) Only after step 11 succeeds, write final task log (`_completed.md` for success). For any failure in step 10 or step 11, write `_failed.md`, then stop.
13) Print a final summary message to stdout.
- Status: [Success/Failure]
- Agent: [Agent Name]
- Prompt: [Prompt Path]
- Reason: [Reason string]
- Learnings: [Content of the memory update file or "No learnings recorded"]
Worked example (required order):
- `AGENT_PLATFORM=codex <script_prefix> lock:lock -- --agent bug-reproducer-agent --cadence weekly`
- execute selected prompt work
- `AGENT_PLATFORM=codex <script_prefix> lock:complete -- --agent bug-reproducer-agent --cadence weekly` (complete, permanent)
- write `<path_prefix>task-logs/weekly/<timestamp>__bug-reproducer-agent__completed.md`
- print final summary (Status: Success, Learnings: <content>)
Worked example (failed validation, no completion publish):
- `AGENT_PLATFORM=codex <script_prefix> lock:lock -- --agent bug-reproducer-agent --cadence weekly`
- execute selected prompt work
- `npm run lint` exits non-zero (or `npm run test` exits non-zero)
- write `<path_prefix>task-logs/weekly/<timestamp>__bug-reproducer-agent__failed.md` with failure reason
- stop without running `AGENT_PLATFORM=codex <script_prefix> lock:complete -- --agent bug-reproducer-agent --cadence weekly`
- print final summary (Status: Failed, Reason: <reason>)
MUST 4: If all weekly agents are excluded, stop and write `_failed.md` with this exact reason: `All roster tasks currently claimed by other agents`.