Commit Graph
16 Commits
Author SHA1 Message Date
Claude 445262110b refactor(agents): simplify scheduler to Nostr-only locking
Remove the git push and GitHub API fallback methods from the scheduler
flow, leaving only the Nostr lock as the single locking mechanism.

This significantly reduces the agent reasoning chain:
- scheduler-flow.md: 10 steps → 8 steps, single code path
- META_PROMPTS.md: 5 MUST blocks → 4, no jq pipeline or branching
- AGENTS.md: 3-method protocol → 2 commands (check + lock)

The agent no longer needs to parse jq output, decide between methods,
handle cascading fallbacks, or perform manual race detection. It runs
two scripts and checks exit codes.

https://claude.ai/code/session_01BpDsVSAkVWtJLnfKxsB9ib
2026-02-13 20:59:44 +00:00
Claude 86f322550a feat(agents): add Nostr-based distributed task locking via NIP-78
Replace GitHub draft PR as the primary locking mechanism with Nostr
relay-based locks. Each agent generates an ephemeral keypair, publishes
a NIP-78 (Kind 30078) lock event with NIP-40 auto-expiration, and
discards the key. No tokens, no secrets, no git push required.

New script: scripts/agent/nostr-lock.mjs
  - check: query relays for active locks, return JSON exclusion set
  - lock: claim a task with built-in race detection (exit 3 = lost)
  - list: human-readable table of all active locks

The locking fallback chain is now:
  1. Nostr lock (no credentials needed, works in any sandbox)
  2. git push + draft PR (traditional method)
  3. GitHub API via curl (needs GITHUB_TOKEN)

Updated scheduler-flow.md, META_PROMPTS.md, and AGENTS.md to document
all three methods with Nostr as the preferred primary.

https://claude.ai/code/session_01BpDsVSAkVWtJLnfKxsB9ib
2026-02-13 20:53:14 +00:00
Claude 9e5797c5e0 fix(agents): add GitHub API fallback for task locking in restricted environments
Jules agents cannot git push due to sandbox restrictions, which breaks the
draft PR-based distributed lock mechanism. Multiple agents can pick up the
same task because the claim is never visible remotely.

This adds scripts/agent/claim-task-api.sh which creates the remote branch,
started.md log file, and draft PR entirely via curl and the GitHub REST API,
bypassing git push. The scheduler-flow.md, META_PROMPTS.md, and AGENTS.md
are updated to document the fallback: try git push first, fall back to the
API script if push is blocked, fail-closed if neither method works.

https://claude.ai/code/session_01BpDsVSAkVWtJLnfKxsB9ib
2026-02-13 20:29:38 +00:00
thePR0M3TH3AN 5740fefbb2 docs(agents): normalize scheduler prompts to MUST workflow 2026-02-13 14:36:29 -05:00
thePR0M3TH3AN 9acbd6e893 docs(scheduler): simplify preflight to PR list check 2026-02-13 14:26:50 -05:00
thePR0M3TH3AN 7f3531ac4c docs(agents): add claim audit utility for scheduler exclusions 2026-02-13 12:22:54 -05:00
thePR0M3TH3AN fb8d196704 docs(agents): unify scheduler claim sequence and checklist 2026-02-13 12:15:57 -05:00
thePR0M3TH3AN f6ec91bc2c docs: tighten scheduler race-check metadata and verdict rules 2026-02-13 12:07:58 -05:00
thePR0M3TH3AN 5756503c30 docs(agents): enforce deterministic PR agent extraction 2026-02-13 12:02:02 -05:00
Claude ce72c4bbad fix(agents): replace gh CLI with curl for PR checking to prevent duplicate work
Agents do not have access to gh CLI, causing them to skip the pre-flight
PR check and collide on duplicate work. This replaces all gh-based PR
checking commands with curl + jq using the GitHub REST API, updates the
task claiming protocol to use branch push + started log file as the
primary lock mechanism, and updates automation scripts to use curl for
PR listing and git fetch for PR checkout.

Files updated:
- AGENTS.md (Section 12 coordination rules)
- CLAUDE.md (coordination rules)
- META_PROMPTS.md (daily + weekly meta prompts)
- daily-scheduler.md (pre-flight gate, task claiming, error handling)
- weekly-scheduler.md (pre-flight gate, task claiming, error handling)
- bitvid-pr-review-agent.md (PR enumeration + checkout)
- bitvid-ci-health-agent.md (CI run gathering)
- bitvid-weekly-synthesis-agent.md (PR metadata gathering)
- bitvid-changelog-agent.md (PR metadata verification)
- scripts/agent/review-open-prs.mjs (PR listing + checkout)
- scripts/automated-pr-review.mjs (--all mode PR listing + checkout)

https://claude.ai/code/session_01L5bzzGpZ6YTiLXcfqaL81G
2026-02-13 15:47:42 +00:00
Claude f794971bfc fix(agents): rewrite scheduler prompts to force pre-flight execution
Agents were skipping the pre-flight curl/gh check for in-progress work,
causing duplicate task runs. Root causes:

1. Two-document indirection (meta prompt → scheduler) caused the pre-flight
   instructions to get lost when the agent opened the second file
2. No proof-of-execution gate — agents could assert "no conflicts" without
   actually running the commands
3. curl|jq pipeline silently fails when jq is unavailable
4. "Step 0" labeling felt like skippable preamble

Changes:
- Make the commands the literal first instruction ("run NOW, paste output")
- Use gh CLI as primary (authenticated, no jq needed), curl as fallback
- Require raw terminal output pasted before proceeding (output gate)
- Rename "Step 0" to "PRE-FLIGHT GATE" to signal it's not optional
- Eliminate duplication between meta prompt and scheduler files
- Add explicit "STOP HERE" checkpoint after command execution
- Add skip-ahead clause for agents arriving from meta prompt

https://claude.ai/code/session_01S7jaQb9ctJ4bzqRhEcm28Q
2026-02-13 05:21:25 +00:00
Claude 17a736b8da refactor(agents): migrate task logs from CSV to directory-based format
Replace shared CSV files (AGENT_TASK_LOG.csv, WEEKLY_AGENT_TASK_LOG.csv)
with per-entry files in docs/agents/task-logs/{daily,weekly}/. Each log
entry is now a separate file named YYYY-MM-DD_HH-MM-SS_<agent>_<status>.md,
eliminating git merge conflicts and race conditions when multiple agents
run concurrently.

Updated files:
- daily-scheduler.md: rewritten for directory-based log format
- weekly-scheduler.md: rewritten for directory-based log format
- META_PROMPTS.md: updated pre-flight scan and claiming instructions
- AGENTS.md: updated scheduler reference from CSV to directory-based

Migrated all existing CSV entries to individual files in the new
directory structure.

https://claude.ai/code/session_01P62EWUXwupgxPhpnRejUuz
2026-02-13 04:41:05 +00:00
thePR0M3TH3AN 39b27c6bbc docs(agents): clarify scheduler PR filter scope 2026-02-12 20:00:38 -05:00
google-labs-jules[bot]andPR0M3TH3AN b7f63b323a chore(agents): replace gh pr list with curl in agent prompts
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-13 00:37:21 +00:00
Claude 857e820d65 fix(agents): prevent duplicate job selection in scheduler prompts
Agents were repeatedly picking up content-audit-agent because:
1. CSV only updated after task completion — crashes left no trace
2. PR claim check (Step 1.5) was buried and easy to skip
3. No "started" status meant failed runs were invisible to rotation
4. Pre-flight scan was too narrow (checked one agent, not all)

Changes:
- Add Step 0 (mandatory pre-flight) that scans ALL open PRs and CSV
  for in-progress work before selecting any task
- Introduce "started" CSV status logged immediately upon claiming,
  before task execution begins — ensures rotation advances on crash
- Promote claim check from sub-step 1.5 to full Step 2 with explicit
  MANDATORY warnings
- Add 24-hour stale claim timeout for abandoned "started" entries
- Add fallback: if gh is unavailable, CSV "started" rows still work
- Strengthen META_PROMPTS.md to front-load deduplication as Step 0
  with explicit "this has happened before" warning language
- Add Quick Reference table summarizing all 5 deduplication layers

https://claude.ai/code/session_017QCJvunQJ7ATr6uZBHV5iA
2026-02-13 00:08:36 +00:00
google-labs-jules[bot]andPR0M3TH3AN 7e86f96a2c chore(agents): fix scheduler task claiming logic and add meta prompts
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-12 23:41:48 +00:00