| classify_fleet_termination |
function |
go |
infra |
1.0.0 |
pure |
func ClassifyFleetTermination(status, phase, dodContract, dodStatus string, idleSeconds, stallThresholdSeconds int) string |
Clasifica MECANICAMENTE el estado de terminacion de un agente Claude de la flota para que un watcher barato sin LLM decida que hacer. Pura y determinista. Devuelve una de RECLAMA, MAL_LANZADO, DICE_TERMINADO, ESTANCADO o TRABAJANDO segun precedencia fija: RECLAMA (pide input humano) manda sobre todo, luego MAL_LANZADO (sin DoD-contrato), luego DICE_TERMINADO, ESTANCADO y TRABAJANDO. |
| fleet |
| claude-fleet |
| classification |
| watcher |
| termination |
| orchestrator |
| pure |
| infra |
|
|
|
|
false |
|
|
| name |
desc |
| status |
estado del proceso Claude leido de sessions.json: idle | busy | waiting |
|
| name |
desc |
| phase |
fase de trabajo del goal.json: investigando | planificando | haciendo | testeando | puliendo | pendiente_revision | preguntando | bloqueado | en_pausa | hecho | iterando | (vacio) |
|
| name |
desc |
| dodContract |
criterio de aceptacion fijo del agente; cadena vacia significa que no se definio DoD-contrato (agente mal lanzado) |
|
| name |
desc |
| dodStatus |
estado de cumplimiento del DoD: pending | met | failed | (vacio) |
|
| name |
desc |
| idleSeconds |
segundos transcurridos desde la ultima actividad de la sesion |
|
| name |
desc |
| stallThresholdSeconds |
umbral en segundos a partir del cual un agente idle no terminado se considera ESTANCADO (comparacion >=, inclusiva) |
|
|
una etiqueta string: RECLAMA | MAL_LANZADO | DICE_TERMINADO | ESTANCADO | TRABAJANDO (constantes exportadas TerminationReclama, TerminationMalLanzado, TerminationDiceTerminado, TerminationEstancado, TerminationTrabajando) |
true |
| waiting reclama input |
| phase preguntando reclama |
| phase bloqueado reclama |
| waiting manda aunque sin dodContract |
| preguntando manda aunque sin dodContract |
| bloqueado manda aunque idle estancado |
| sin dodContract busy |
| sin dodContract idle reciente |
| sin dodContract idle estancado |
| sin dodContract phase hecho |
| sin dodContract dodStatus met |
| idle phase hecho |
| idle dodStatus met |
| idle hecho y met |
| idle met aunque estancado por tiempo |
| idle hecho aunque estancado por tiempo |
| idle no hecho en umbral exacto |
| idle no hecho por encima del umbral |
| idle iterando estancado |
| idle dodStatus failed estancado |
| idle en_pausa estancado |
| busy trabajando |
| busy aunque idleSeconds alto |
| idle reciente bajo umbral |
| idle reciente cero segundos |
| idle no hecho justo bajo umbral |
| busy phase vacia con dodContract |
| umbral cero idle no hecho => estancado |
| idle hecho con umbral cero => dice terminado |
| dodStatus met con status busy NO termina |
| phase hecho con status busy NO termina |
| idle pendiente_revision bajo umbral trabajando |
| idle pendiente_revision sobre umbral estancado |
| waiting con dodStatus met sigue reclamando |
|
functions/infra/classify_fleet_termination_test.go |
functions/infra/classify_fleet_termination.go |