Commit Graph

7 Commits

Author SHA1 Message Date
freemo 2c736373cc fix(agents): use correct IssueMeta schema for Forgejo dependency API
The Forgejo blocks/dependencies REST API requires the IssueMeta schema
with owner, repo, and index fields — not the undocumented dependency_id
field that was previously used. All 10 curl examples across 6 agent
definitions were using {"dependency_id": N} which returns a 404
IsErrRepoNotExist error. Updated to the correct format:
{"owner": "<owner>", "repo": "<repo>", "index": N}

Files updated:
- ca-new-issue-creator.md (2 occurrences)
- ca-pr-api-creator.md (1 occurrence)
- ca-state-reconciler.md (1 occurrence)
- ca-project-owner.md (1 occurrence)
- ca-backlog-groomer.md (2 occurrences)
- ca-epic-planner.md (3 occurrences)

ISSUES CLOSED: #2750
2026-04-04 17:30:45 +00:00
freemo 8c13e63c75 chore(agents): add system watchdog, remove force_merge, fix 9 systemic agent issues
Add ca-system-watchdog (16th supervisor) for continuous system health
monitoring with quality gate auditing, zombie detection, ticket state
reconciliation, and priority enforcement. Add ca-quality-enforcer and
ca-state-reconciler as one-off fix agents dispatched by the watchdog.

Critical fix: remove all force_merge: true usage from ca-pr-self-reviewer
which was bypassing branch protection and allowing PRs to merge with
failing CI. Replace with strict CI-gating merge logic that respects
branch protection rules per CONTRIBUTING.md.

Update product-builder to launch 16 supervisors, strengthen anti-return
language with explicit context hygiene, add tracking ticket lifecycle
management (one open at a time, closed on completion).

Update ca-project-bootstrapper with strict branch protection config
requiring status-check CI context, 2 approvals, and dismiss stale reviews.
Fix label set to match CONTRIBUTING.md exactly.

Update issue-implementor with priority gate enforcing lowest-milestone-first
and critical-bugs-first ordering. Update ca-backlog-groomer with closed
issue state reconciliation, PAT for REST API dependency operations, and
health signaling. Update ca-spec-updater with proactive full-scan mode.

Add health signaling and context self-management to 7 continuous
supervisors to prevent zombie sessions from context exhaustion.

Strengthen state label transitions in ca-pr-self-reviewer, ca-pr-api-creator,
ca-issue-state-updater, and ca-backlog-groomer to ensure closed issues
always have correct terminal state labels.

Add Forgejo PAT and REST API curl templates for dependency link creation
to ca-backlog-groomer and ca-project-owner since the MCP does not support
dependency manipulation.
2026-04-03 14:01:41 -04:00
freemo 4ecf446360 build(agents): open bash permissions to allow complex commands
Agents were failing when trying to run complex bash commands (curl with
pipes to python3, multi-command pipelines, etc.) because their bash
permissions were set to '"*": deny' with only specific simple patterns
allowed (e.g., "curl *": allow). Shell pipelines like:

  curl -s http://localhost:4096/session | python3 -c "import json..."

don't match any single allow pattern and get denied.

Changed 17 agent files from restrictive bash permissions to '"*": allow'.
This includes all agents that need to:
- Run curl pipelines with python3 for prompt_async session management
- Create Forgejo dependency links via REST API curl calls
- Execute complex git operations with pipes
- Run bash sleep for polling loops

Only 3 truly read-only analysis agents remain restricted:
ca-difficulty-evaluator, ca-implementation-reviewer, ca-issue-analyzer.
These don't need bash access at all.
2026-04-02 18:36:23 +00:00
freemo 3e9de4ca21 build(agents): enforce CONTRIBUTING.md label, milestone, and dependency compliance
Issues and PRs created by agents were missing required labels, milestones,
and Forgejo dependency links per CONTRIBUTING.md. This commit adds explicit
API call instructions and a continuous compliance audit to fix the gaps.

Changes across 6 agent definitions:

- ca-new-issue-creator: Added curl bash permission. Added explicit
  post-creation compliance steps: set labels (State/Unverified, Type/*,
  Priority/*) via forgejo_add_issue_labels, set milestone via
  forgejo_update_issue, create parent Epic dependency link via REST API
  (POST /issues/{child}/blocks with parent Epic number — correct direction:
  child blocks parent). Added compliance verification step.

- ca-epic-planner: Added curl bash permission. Added post-creation API
  call checklists for both Epics (labels, Legendary link) and child issues
  (labels, milestone, Epic dependency link, inter-issue dependency links).
  Added compliance verification step.

- ca-backlog-groomer: Added curl and sleep bash permissions. Expanded
  Pass 4 (Label Quality) to auto-fix missing labels (State, Type, Priority)
  and milestones via Forgejo API. Added PR label/milestone compliance
  checking. Added new Pass 9 (Dependency Link Compliance) to auto-fix
  missing parent Epic links, PR-to-issue links, and wrong dependency
  direction. Added new Pass 10 (Issue Body Compliance) to flag missing
  Metadata, Subtasks, and Definition of Done sections.

- ca-pr-api-creator: Added curl bash permission. Replaced vague "add
  dependency" instruction with explicit REST API curl call for creating
  PR-blocks-issue dependency link. Added post-creation compliance
  verification step.

- ca-agent-evolver: Added Priority/Backlog label and milestone assignment
  to proposal issues.

- ca-spec-updater: Added Priority/Backlog label and milestone assignment
  to proposal issues.
2026-04-02 18:28:08 +00:00
freemo 9bbec0e698 build(agents): prompt_async for pool supervisors, session resume, bot signatures, cleanup agent
Four changes in one commit across 27 agent files:

1. POOL SUPERVISOR PROMPT_ASYNC: All 4 pool supervisors (issue-implementor,
   ca-continuous-pr-reviewer, ca-uat-tester, ca-bug-hunter) now dispatch
   their internal workers via the OpenCode Server's prompt_async endpoint
   instead of the Task tool. This eliminates the wait_for_all bottleneck
   at the supervisor level — workers run independently, and a 10-second
   polling loop detects completions and immediately refills vacant slots.
   Added curl/sleep bash permissions where needed. Each supervisor keeps
   N workers running at all times with zero idle slots.

2. SESSION RESUME INSTEAD OF CLEANUP: The product-builder and all 4 pool
   supervisors now RESUME existing sessions from a previous interrupted
   run instead of aborting them. Phase C.0 queries the server for sessions
   titled "[CA-AUTO] supervisor:*" and adopts any that are still active
   into the monitoring loop. Pool supervisors similarly adopt existing
   "[CA-AUTO] worker-*" sessions. This enables "continue where you left
   off" — restarting the product-builder reconnects to running supervisors
   and workers rather than duplicating them.

3. DEDICATED CLEANUP AGENT: New ca-session-cleanup.md primary agent for
   explicit fresh-start cleanup. Run this BEFORE the product-builder when
   you want to abort all previous sessions and start completely fresh. It
   finds all "[CA-AUTO]" sessions, aborts them, and deletes them. This is
   the ONLY way to kill old sessions — the product-builder never does it
   automatically.

4. BOT SIGNATURES: All 26 agents that post content to Forgejo now include
   a mandatory "Bot Signature" section requiring every comment, issue body,
   PR description, and review to end with:

   ---
   **Automated by CleverAgents Bot**
   Supervisor: <category> | Agent: <agent-name>

   24 agents have hardcoded categories. 2 shared agents (ca-new-issue-creator,
   ca-epic-planner) use a parameter-based category from their caller's prompt.
2026-04-02 14:01: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 d344989387 build: submited opencode agent files 2026-04-02 02:07:23 -04:00