Commit Graph

7 Commits

Author SHA1 Message Date
freemo 52bfb1658a build(agents): remove all retry limits — agents never give up
Every finite retry cap in the agent system has been replaced with infinite
retry + diagnostic logging. The system now self-corrects indefinitely
rather than giving up and leaving work incomplete.

Changes across 9 agent definitions:

- ca-pr-self-reviewer: Merge retry changed from `for attempt in 1..3` to
  `WHILE True` with exponential backoff (10s → 5 min cap). Only exits
  the retry loop on success or merge conflict (which requires implementor
  rebase, not more retries).

- ca-continuous-pr-reviewer: Removed the `attempts >= 5` give-up block
  that posted "manual intervention required" and stopped retrying. PRs
  are now retried indefinitely with a diagnostic comment every 10 attempts.

- issue-implementor: Removed the "2 retries then permanently failed"
  budget. Failed issues are always re-queued. Every 3 consecutive failures
  posts a diagnostic comment on the Forgejo issue and resets the approach
  (clears prior attempt context to break out of repeating failure patterns).
  Removed the `skipped` list entirely — no issue is ever skipped.

- product-builder: Forgejo API retry changed from "3 times then halt" to
  "indefinitely with exponential backoff, cap 5 min." Only halts on auth
  revocation (HTTP 401/403). Worker failure docs updated to reflect the
  issue-implementor's infinite retry policy.

- ca-pr-checker, ca-timeline-updater, ca-spec-updater,
  ca-project-bootstrapper, ca-docs-writer: Git push conflict retry changed
  from "up to 3 times" to "indefinitely with rebase." Added reclone
  fallback: after every 5 consecutive push failures, the clone is deleted
  and recreated fresh to recover from corrupted git state.

NOT changed (already correct):
- ca-subtask-loop: 3-retry transient error classification is a heuristic
  for deciding when to escalate model tier. The loop itself already says
  "NEVER give up" and runs indefinitely at opus tier.
- ca-human-liaison: Already says "Never exit voluntarily."
2026-04-02 16:43:22 +00:00
CleverAgents 3db9113bac build(agents): replace rounds-based orchestration with continuous watchdog model
The product-builder was acting as a workflow orchestrator that ran
supervisors in sequential "rounds" (launch all → wait for ALL to finish →
check convergence → re-launch). This caused three problems:

1. Supervisors were treated as batch jobs, not services — they ran once
   and exited, leaving gaps in coverage between rounds.
2. The product-builder blocked on wait_for_all(), meaning if one supervisor
   ran for hours, all others were dead during that time.
3. Coordination flowed through the product-builder (passing data between
   supervisors) instead of through Forgejo.

The new model treats the product-builder as a process supervisor (like
systemd). Its only jobs are: launch all 11 supervisors in a single
parallel batch, keep them alive (re-launch on exit), and periodically
check convergence by querying Forgejo. It never coordinates between
supervisors — they self-coordinate exclusively through Forgejo issues,
PRs, and comments.

Changes across 11 agent definitions:

- product-builder: Replaced Phase C.2/C.3 rounds loop with watchdog
  loop (wait_for_any + re-launch). Added mandatory pre-flight checklist
  and post-dispatch validation requiring all 11 supervisors. Removed
  all "round" variables and batch-wait semantics.

- issue-implementor: Added 60-minute idle polling loop after queue
  drains — polls Forgejo for new issues every 60s before exiting,
  allowing it to pick up UAT bugs and human-created issues.

- ca-continuous-pr-reviewer: Increased idle exit from 50 polls (~25 min)
  to 300 polls (~150 min).

- ca-backlog-groomer: Increased from 30 cycles/5 clean to 200 cycles/
  20 clean before exit.

- ca-bug-hunter: Increased idle tolerance from 5 waits (~5 min) to 60
  waits (~60 min).

- ca-uat-tester: Increased idle tolerance from 5 waits (~5 min) to 60
  waits (~60 min).

- ca-architecture-guard, ca-spec-updater, ca-docs-writer,
  ca-timeline-updater: Converted from one-shot agents to continuous
  services with monitoring loops that re-check for new code/changes
  at 10-30 minute intervals and exit after 100-300 minutes idle.

- ca-agent-evolver: Clarified idle exit timing (~150 min).
2026-04-02 16:37:58 +00:00
freemo a0f3999362 build(agents): restructure for async pool supervision, PR merge lifecycle, and human interaction
Overhauls the agent orchestration architecture to solve three systemic issues:

1. PARALLELISM: Replaces the N-instances-per-stream-type model with a
   pool-supervisor pattern. Product-builder now launches ONE supervisor per
   stream type, each managing N workers internally. Eliminates batch-and-wait
   tail latency where 15 finished agents waited for 1 slow one. UAT tester
   and bug hunter gain dual-mode operation (pool supervisor + worker) with
   self-dispatch for parallel batches of narrow-scope workers.

2. PR MERGE LIFECYCLE: Fixes PRs being reviewed but never merged. PR self-
   reviewer now uses force_merge (no approval count required), checks CI
   status before merge, uses merge_when_checks_succeed for pending CI, and
   retries 3x on failure. Continuous PR reviewer converted to pool supervisor
   dispatching N parallel reviews, with approved-but-unmerged tracking and
   5-attempt merge retry budget. Stale threshold increased from 5 to 25 min.

3. HUMAN INTERACTION: New ca-human-liaison agent continuously monitors
   Forgejo for developer activity (comments, issues, reviews), responds
   with context-aware replies, triages new issues with full authority,
   decomposes epics into child issues, fills epic/legendary gaps, and
   coordinates spec changes through human-approved PR workflow.

Additionally adds ca-agent-evolver for self-improvement: analyzes agent
performance patterns and proposes targeted modifications to agent
definitions via PRs with 'needs feedback' label (human must approve).

Backlog groomer gains epic/legendary completeness analysis (passes 9-10)
to proactively create missing child issues for parent tickets with gaps.

All agent permission cross-references verified consistent.
2026-04-02 16:12:17 +00:00
freemo 0db70b9514 build: further expanded opencode agents for better parallelism and better isolation between agents environments 2026-04-02 03:55:43 -04:00
freemo c937abdc09 build: Fixed opencode agents so they dont accidentally delete PR body 2026-04-02 03:09:55 -04:00
freemo ec83213294 build: Modified opencode agents to be more aggressive in being parallel 2026-04-02 03:06:32 -04:00
freemo d344989387 build: submited opencode agent files 2026-04-02 02:07:23 -04:00