Apertura y posicionamiento
Alineamos expectativas, damos contexto de industria y plantamos la lente conceptual con la que se lee el resto del workshop. ALDC no es un framework inventado internamente — es la concreción AL de una disciplina que se está consolidando en la comunidad de agentic coding.
Bienvenida
Tres horas de workshop intensivo sobre GitHub Copilot para Business Central, agentes y disciplina en AL. Empezamos puntuales para poder acabar puntuales.
Javier Armesto · 20+ años con Business Applications de Microsoft. El contenido del workshop recoge lo aprendido construyendo agentes, skills y frameworks open-source sobre AL durante los últimos meses. Todo lo que aparece hoy es material que se usa en proyectos reales, no teoría.
Regla que vale la pena subrayar: si algo no funciona como se esperaba en vivo — y va a pasar, trabajamos con agentes — señaladlo. Lo que falla en directo enseña más que lo que funciona perfecto.
Posicionamiento · ALDC vs vanilla LLM
El problema central que aborda todo el workshop tiene nombre: context decay. El código que un LLM genera suele ser bueno al principio y degradarse cuando la sesión se alarga, cuando el contexto crece, cuando el requisito es ambiguo.
Hay dos modelos mentales distintos para trabajar con Copilot hoy. No son rivales — son adecuados para momentos distintos.
Los dos modelos mentales
Vanilla LLM
- Un prompt — una respuesta
- Contexto se acumula en sesión
- El LLM decide qué hacer
- Bueno para exploración
ALDC
- Roles disjuntos, HITL gates, Skills Evidencing
- Memoria externalizada en ficheros
- La spec decide qué hacer, el LLM ejecuta
- Bueno para producción
Vanilla no es malo. Es perfecto para un prototipo, una prueba rápida, un script de migración one-off. El problema aparece cuando se usa donde no toca — código de cliente, extensiones que van a producción, integraciones con core funcional.
BC-Bench · la vara de medir objetiva
FRAMEWORK DE BENCHMARKING · MICROSOFT
BC-Bench
Framework de Microsoft para evaluar agentes de codificación AL sobre Business Central. No es un framework de VS Sistemas ni de ningún partner — es la referencia oficial.
- Evalúa tareas AL reales (crear objetos, fixes, extensiones)
- Mide tasa de éxito, compilación limpia, tests, adherencia a convenciones
- Permite comparar agentes entre sí con reglas claras
ALDC se mide contra BC-Bench en 3 escenarios: baseline vanilla, al-developer y al-conductor con variantes bench-mode que desactivan HITL gates para evaluación automatizada.
Píldora SDD · validación externa y marco conceptual
ALDC no es una invención interna. Es la concreción AL de Spec-Driven Development — un consenso emergente en la industria de agentic coding que aparece ya en cursos, en herramientas de spec authoring y en publicaciones técnicas.
Mapa conceptual · SDD canónico → ALDC Core → Ecosistema ALDC
SDD canónico
- Constitution
- Plan →
- Implement →
- Validate →
- Replan
ALDC Core
- Decálogo 12 normas
- architect/spec/conductor
- Skills Evidencing
- No-self-review
Ecosistema ALDC
- ALDC ↔ CIRCE ↔ Delfos
- Extension Manifest
- (bridge asíncrono)
SDD canónico · Constitution del proyecto, plan por feature, implementar, validar, replantear. El consenso de la industria.
ALDC Core · Toma ese consenso y lo endurece con las restricciones reales de AL y BC: rangos de ID, ownership por app, dependencias explícitas, convenciones de naming, permission sets. La spec no se improvisa en cada feature — se fija una vez y el agente la sigue.
Ecosistema ALDC · ALDC para AL, CIRCE para Copilot Studio, Delfos para Power BI. Tres squads conectados por un Extension Manifest asíncrono. El manifest aparece funcionando en el Bloque 4.
Correspondencia 1:1 · SDD canónico ↔ ALDC
| Capa | SDD canónico | ALDC |
|---|---|---|
| Contrato de proyecto | Constitution | Decálogo + decisions.md |
| Diseño de feature | Plan + spec | al-architect + al-spec.create |
| Ejecución | Agente implementa | al-conductor + 3 subagentes |
| Validación | Scorecard | review-subagent + no-self-review |
Cada capa de ALDC tiene un equivalente directo en SDD canónico. La diferencia está en cómo ALDC separa los roles.
SDD canónico es monoagente — el mismo agente diseña, implementa y valida. ALDC separa cuatro funciones: architect diseña, spec.create detalla, conductor ejecuta, review-subagent audita. Sin self-review.
Es la diferencia entre un solista y una orquesta con director. No es pedantería — es la única manera de hacer auditable el uso de agentes en un proyecto regulado.
Greenfield vs brownfield · ALDC se adapta
🌱 Greenfield
Extensión AL nueva. La Constitution se escribe una vez y el agente nunca más adivina rangos, convenciones ni dependencias. El tech debt baja desde el día uno.
🏚 Brownfield
Upgrade NAV→BC, custom heredado. Antes disciplina, después cambios. Discovery asistido y decisions.md para documentar legacy sin reescribir.
Dos escenarios donde ALDC cambia de forma pero mantiene la filosofía. El workshop de hoy es greenfield — caso CRONUS con extensión nueva. Pero la idea a retener: ALDC se adapta, y cuanto más complejo es el proyecto, más paga la disciplina.
La spec es el cerebro.
El agente, el músculo.
El arquitecto humano, el que firma.
Agenda y caso que vamos a construir
Cuatro bloques. El primero es calentamiento — Copilot bien usado. El segundo sube un escalón — cómo ALDC estructura lo que Copilot hace. El tercero introduce la orquestación con roles. El cuarto es el hands-on integral, el caso completo de principio a fin.
Lo que te llevas del workshop
Repo público
El repo aldc-workshop con el caso resuelto en rama solution.
Ejercicios abiertos
Retos para continuar por tu cuenta después del workshop.
Material complementario
Contenido post-workshop compartible según interés y demanda.
Qué cubre este bloque
Bienvenida
Apertura breve y presentación del ponente. Contexto de industria.
Posicionamiento
Context decay. Vanilla vs ALDC. BC-Bench como vara de medir objetiva.
Píldora SDD
Mapa conceptual de 3 bloques. Tabla 1:1 de correspondencia. Greenfield vs brownfield. La frase de la spec.
Agenda y caso
Los 4 bloques con la pausa. Barista Incidents presentado como expectativa. Los 3 entregables.