- .claude/CLAUDE.md - .claude/commands/subagentes.md - .claude/rules/INDEX.md - .mcp.json - bash/functions/cybersecurity/analyze_dns.md - bash/functions/cybersecurity/audit_http_headers.md - bash/functions/cybersecurity/audit_ssh_config.md - bash/functions/cybersecurity/check_firewall.md - bash/functions/cybersecurity/detect_suspicious_users.md - bash/functions/cybersecurity/encrypt_file.md - ... Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4.5 KiB
/autonomous-task — Lanza fn-orquestador (Fase 6 del ciclo reactivo)
Lanza el meta-orquestador autonomo que recorre el bucle CONSTRUIR → EJECUTAR → RECOPILAR → ANALIZAR → MEJORAR sobre un issue, sin intervencion humana, hasta convergencia / estancamiento / timeout / limite de iteraciones.
Issue 0069. Pre-condiciones obligatorias (chequear ANTES de despachar):
- Migration
fn_operations/migrations/006_task_runs.sqlaplicada. - Subagentes
fn-constructor,fn-executor,fn-recopilador,fn-analizador,fn-mejorador,fn-orquestadorpresentes en.claude/agents/. dev/autonomous_protected_paths.jsonexiste.masterlocal up-to-date conorigin/master.- Branch
auto/<issue_id>NO existe ya. gh auth statusOK (necesario para PR draft al converger).- Tipo de tarea soportado:
feature_app_simple,bugfix_with_repro,refactor_safe,add_e2e_check.
Si alguna pre-condicion falla → ABORT con razon. NO improvisar.
Argumento
$ARGUMENTS — <issue_id> o <task_spec_path> + flags opcionales.
/autonomous-task 0070
/autonomous-task 0070 --max-iterations 15 --max-minutes 90
/autonomous-task 0070 --auto-apply-proposals safe
/autonomous-task 0070 --dry-run
/autonomous-task path/to/spec.yaml --branch auto/custom-name
Flags:
--max-iterations Ntope de iteraciones (default 10)--max-minutes Mtimeout total (default 60)--auto-apply-proposalsnone|safe|aggressive(defaultsafe)--branch NAMErama TBD (defaultauto/<issue_id>)--dry-runsimula, NO aplica
Comportamiento
- Verificar pre-condiciones con script bash (ver arriba). Si alguna falla, reportar y salir.
- Despachar a
fn-orquestadorvia Agent tool consubagent_type=fn-orquestador. Pasar:issue_idotask_spec- flags resueltos
- paths protegidos (leidos de
dev/autonomous_protected_paths.json)
- El subagente:
- Crea worktree aislado
/tmp/fn_orq_<issue>_<ts>/desdemaster. - Persiste estado en
task_runs(operations.db del app target o repo root). - Despacha por fases a los 5 subagentes especializados.
- Aplica proposals filtradas por
--auto-apply-proposals. - Termina con:
converged(PR draft creado) |stalled|timeout|iterations_exhausted|needs_human|aborted.
- Crea worktree aislado
- Reportar resultado al humano con:
status,iterations / max,duration / maxbranch,worktree,PR draft urlsi convergedproposals creadas / aplicadaslast run_idy status- Resumen iter-por-iter del
progress_json
Reglas duras (no negociables)
- Sandbox de rama EN WORKTREE — nunca toca master ni el working tree del humano.
- No merge automatico — PR draft siempre.
- No
--no-verify, no--force, no skip hooks. - Paths protegidos via
dev/autonomous_protected_paths.json. - Watchdog: 2 iteraciones con mismo set de fails →
status=stalled. - Auditoria total en
task_runs.progress_json. - No self-modification: NO toca
.claude/agents/ni.claude/commands/.
Integracion con call_monitor (issue 0085)
El orquestador puede leer projects/fn_monitoring/apps/call_monitor/operations.db para:
- Consultar
function_statsantes de decidir que funciones usar/reusar. - Filtrar proposals existentes via
mcp__registry__fn_proposal --status pendingpara evitar duplicados. - Loggear sus invocaciones via el hook PostToolUse (automatico).
Tras converger, el call_monitor propose ejecutado por el humano (o futuro cron) absorbera las nuevas violations / copied_code / fails para alimentar la siguiente ronda.
Tipos NO soportados
- Diseño arquitectura nuevo (humano decide).
- Decisiones UX subjetivas.
- Cambios BD productiva.
- Cualquier cosa que toque secrets/credenciales.
- Self-modification del propio orquestador.
Si el issue contiene criterios no-verificables programaticamente, ABORT con status=needs_human.
Output canonico
=== /autonomous-task: 0070 ===
status: converged
iterations: 7 / 10
duration: 23 min / 60
branch: auto/0070
worktree: /tmp/fn_orq_0070_1731612345
PR draft: https://github.com/.../pull/123
proposals: 3 creadas, 2 auto-aplicadas
last run_id: e2e_run_abc123 (status: pass)
Iter:
1. construir → ok (2 funciones nuevas)
2. ejecutar → ok
3. analizar → fail (2/8 checks)
4. mejorar → 3 proposals (2 auto-applicadas)
5. construir → ok (re-build tras patches)
6. analizar → pass
7. recopilador → ok (operations.db integra)
Siguiente: revisar PR draft + fn proposal list -s pending --target-id 0070