Alcy Legacy analiza el riesgo de tocar código legacy: dependencias, cobertura de tests y antigüedad — antes de que se ejecute cualquier cambio.
Cómo funciona Alcy Legacy, qué calcula y qué limitaciones tiene este prototipo.
Cuando alguien (o Bob) modifica código legacy — código viejo, sin tests, sin documentación — el riesgo real no es escribir el cambio, es romper algo silenciosamente que dependía de ese código, sin que nadie se entere hasta producción.
Alcy Legacy es un Skill de IBM Bob que evalúa ese riesgo antes de dejar que Bob modifique el archivo, y solo avanza si el riesgo está controlado o si ya se agregaron tests mínimos.
El cálculo es determinista — no es el modelo de lenguaje "opinando", es una fórmula fija y explicable:
| Factor | Condición | Puntos |
|---|---|---|
| Cobertura de tests | No se detectan tests que cubran el archivo | +2 |
| Dependientes | 3 o más archivos dependientes | +2 |
| Dependientes | 1 o 2 archivos dependientes | +1 |
| Antigüedad | Último cambio hace más de 365 días | +1 |
Riesgo bajo: 0–1 puntos · Riesgo medio: 2–3 puntos · Riesgo alto: 4+ puntos
Cada análisis muestra el desglose exacto de por qué llegó a ese resultado — la explicabilidad es un requisito de diseño, no un extra.
| Pieza del prototipo | Equivalente en producción |
|---|---|
| Búsqueda de texto para dependientes | dependency_scanner.py (análisis estático real) |
| Búsqueda en archivos de test | coverage_checker.py |
| Fecha de modificación del navegador | git_age.py (usa git log real) |
Función computeRisk() en JS |
risk_score.py, invocado como archivo de soporte del skill |
| Consola simulada del Paso 2 | Ejecución real en Agent mode, activada automáticamente por el Skill alcy-legacy |
Según la documentación oficial de Bob, un Skill
(no un modo custom) es la pieza correcta para esto: vive en .bob/skills/alcy-legacy/SKILL.md con
un name y description en el frontmatter, y Bob lo activa automáticamente cuando detecta que la tarea coincide con esa descripción —
justo el comportamiento de "interceptar antes de tocar código legacy" sin que el desarrollador tenga que
cambiar de modo a mano. Los scripts del analyzer (risk_score.py, etc.) se agregan como archivos
de soporte del propio skill, que Bob puede leer una vez activado.
Los modos custom de Bob (Agent/Plan/Ask + los propios) siguen siendo útiles para otra parte del flujo: por ejemplo, un modo "Legacy Reviewer" que el equipo activa manualmente para auditorías profundas, complementando al skill automático.
Referencia de la API planeada para la versión de producción de Alcy Legacy.
Todas las peticiones requieren una API key en el header, asociada a la cuenta iniciada sesión.
En producción, este endpoint es llamado directamente por el Skill de Bob como una tool antes de permitir un cambio en Agent mode — el mismo flujo que hoy simula este prototipo en el navegador.
El talento multidisciplinario detrás de Alcy Legacy — construido en 48 horas para el IBM Bob 2.0 Hackathon.