Saltar al contenido
Academy
0/19

Rutas

En esta página

Arquitectura auditable · Unidad 4 de 8

Legacy visible y el plan de migración

Una dependencia puede cerrar a través de un manifiesto con forma legacy. Está permitido, pero jamás es silencioso: el reporte lo nombra (MILPA_LEGACY_CONTRACT_ACTIVE) y el status degrada a legacy_compatible. La compatibilidad legacy se nombra para que siga visible en lugar de decaer en arqueología invisible.

Intermedio a senior35 min

Al terminar podrás

  • Distinguir el legacy tolerado del legacy no permitido
  • Leer el MigrationPlan como propuesta de solo lectura

Entender

Una dependencia puede cerrar a través de un manifiesto con forma legacy. Está permitido, pero jamás es silencioso: el reporte lo nombra (MILPA_LEGACY_CONTRACT_ACTIVE) y el status degrada a legacy_compatible. La compatibilidad legacy se nombra para que siga visible en lugar de decaer en arqueología invisible.

allowedLegacyContracts en el perfil del host es una puerta, no una nota: un camino legacy que la allowlist no permite bloquea con MILPA_LEGACY_NOT_ALLOWED en lugar de degradar. Y lo deprecado avisa antes de romper: MILPA_DEPRECATED_CONTRACT_USED funciona hoy, pero la metadata anuncia que esa forma está programada para irse, y migrar antes de la remoción es más barato que después.

La salida tiene plan: coa:migrate:plan no cambia nada — solo produce plan. Por paquete lista Detected, Recommended, Steps (con la re-inspección siempre al final), Compatibility y Academy. La línea de compatibilidad es honesta y va verbatim: el plan nunca inventa una fecha límite que el código no declara.

Ver

Abrir la frontera

La misma disciplina: cuando dos representaciones divergen, la divergencia se nombra y se repara desde la fuente de verdad, nunca se deja decaer en silencio.

Hacer

Ejecuta la práctica en tu checkout y conserva la salida como evidencia.

terminal
$php coa coa:migrate:plan

Verificar

Demuestra que puedes aplicar la unidad. El progreso solo avanza al aprobar la evaluación.

Criterios evaluados

  • Distingue el status legacy_compatible del bloqueo por allowedLegacyContracts.
  • Explica por qué el plan de migración es de solo lectura y su compatibilidad no inventa fechas.

Evaluación calificable

Resuelve los 3 escenarios. Esta unidad exige 3 de 3 respuestas correctas.

0 intentos
Pregunta 1 de 3Un contrato cierra a través de un manifiesto con forma legacy y el perfil del host lo permite. ¿Qué debe reflejar el reporte de resolución?
Pregunta 2 de 3El perfil del host declara allowedLegacyContracts: ["billing"] y el contrato reports solo puede resolver a través de una forma legacy. ¿Qué resultado corresponde?
Pregunta 3 de 3Un equipo corre php coa coa:migrate:plan sobre un host con contratos legacy y deprecados. ¿Qué garantiza ese comando?

La calificación valida respuestas en este navegador; no certifica identidad.

Fuentes primarias

Contenido verificado: 2026-07-12