Laboratorio La fundición de autómatas
[!TIP] Descarga el ZIP del alumno o copia todo este laboratorio en una carpeta sin usar. Lee la configuración y los pasos opcionales de GitHub primero.
Antes de ejecutar nada
| Elemento | Contrato |
|---|---|
| Runtime | Node 24; las integraciones en vivo son independientes |
| Archivos a revisar | starter/index.ts, starter/package.json, starter/evaluation.json, verify.js |
| Directorio del verificador | Raíz del kit extraído: node verify.js; desde starter/: node ../verify.js |
| Estado inicial | Se rechaza un starter sin terminar; conserva el diagnóstico |
| Evidencia final | El verificador estructural acepta el origen y los cinco casos declarados; los resultados en vivo, si los hay, se registran por separado. |
Concepto en la práctica: Una aplicación puede enviar un prompt e imprimir una respuesta y aun así fallar por tiempo de espera o solicitudes no compatibles. Su plan de evaluación debe preguntar qué evidencia distingue estas rutas.
Compila y evalúa una aplicación mínima de TypeScript con el GitHub Copilot SDK.
Aísla el ejercicio
Copia este laboratorio a una ubicación desechable y abre starter/ como raíz del espacio de trabajo. No añadas credenciales a los archivos fuente.
Misión
- Completa
starter/index.ts:- lee el prompt de los argumentos de la línea de comandos;
- crea
CopilotClient; - crea una sesión con
model: "auto"; - llama a
sendAndWait; - muestra el contenido devuelto;
- detén el cliente en
finally.
- Completa los cinco casos de
starter/evaluation.json:- explicación fundamentada;
- plan acotado;
- implementación verificada;
- solicitud no admitida;
- fallo controlado de herramienta.
- Ejecuta el verificador estructural determinista:
node ../verify.js
- Si la autenticación de Copilot CLI está disponible, ejecuta la aplicación:
npm install
npm start -- "Explain the evidence required before declaring a task complete."
Registra el comando, el código de salida, la respuesta observada y las limitaciones de autenticación. El verificador no afirma la calidad del modelo ni realiza una llamada de red.
Ejecución guiada
- Ejecuta el verificador sin modificar y registra el estado inicial esperado.
- Pide una explicación fundamentada en las fuentes del código y las comprobaciones relevantes.
- Planifica: completa el ciclo de vida fijado del SDK de TypeScript y la entrada del prompt de la CLI. Mantén las credenciales fuera del código fuente, detén el cliente en finally y define cinco casos con evidencia esperada antes de cualquier solicitud en vivo opcional.
- Implementa solo el fragmento aprobado y luego vuelve a ejecutar el mismo verificador.
- Elimina la limpieza del cliente de la aplicación copiada y confirma el rechazo estructural. Restaúrala; no infieras limpieza en tiempo de ejecución solo a partir de esta prueba estática.
- Revisa el diff y registra la limitación: el verificador estructural no mide la calidad del modelo ni autentica la aplicación. Sigue el laboratorio profesional del SDK para pruebas más sólidas sin conexión de herramientas y del ciclo de vida.
Finalización y restablecimiento seguro
- El comportamiento requerido y su caso negativo cuentan con evidencia observada.
- El resultado distingue la verificación local del comportamiento en vivo del host/runtime.
- No se cambiaron credenciales, archivos no relacionados ni servicios.
- La evidencia está guardada antes de restablecer el starter copiado.
Usa una nueva extracción para otro intento, o restaura solo los archivos nombrados desde una línea base de Git creada en esta copia. Nunca apliques un comando de restablecimiento de la raíz del currículo desde un proyecto ajeno.
Continúa con la aventura y la rúbrica.