Implementation coherence

Mirror → reuse → extract+catalog — one canonical pattern (ADR-062).

Source: docs/adr/ADR-062-implementation-coherence.md

ADR-062: Implementation coherence

Estado

Accepted — 2026-08-23
Amendment 2026-08-24: gold y Mirror solo en IVPrior. IVPrior es muestra de copy one-shot, no dependencia.
Amendment 2026-09-08: isolation = Subscriber (DOC-002), no Tenant = Organization.

Contexto

IVPrior DOC-015: un solo autor aparente. IVPrior no debe reinventar chrome admin. Eso se logra copiando primitivos y patrones dentro de este repo, no enlazando el otro proyecto.

Decisión

  1. Una forma canónica por tipo: list page, form, dialog, API list, wizard.
  2. Antes de inventar: buscar en docs/development/DOC-024-canonical-implementations.md.
  3. Mirror: declarar Mirror: <path> de un archivo en este repositorio y leerlo antes del primer edit.
  4. Reutilizar @ivprior/ui y @ivprior/admin-layout (código copiado al monorepo). Prohibido clonar tabla + toolbar “por ahora”.
  5. Segunda variante de chrome requiere fila en DOC-024.
  6. Tasks de UI lista/wizard: línea Mirror: … (path IVPrior).
  7. Isolation de cuenta = Subscriber (DOC-002 / ADR-018). No copiar Location / X-Location-Id. No modelar Tenant/Organization B2B. organizationId en Prisma es leftover de fábrica hasta remap.
  8. Tokens: mismos nombres CSS que el diseño de muestra; valores light IVPrior.
  9. Independencia: ni package.json, ni git submodule, ni instrucciones de agente pueden requerir el repo IVPrior para buildear o implementar.

Consecuencias

  • Rules: .cursor/rules/seed-implementation-coherence.mdc (alwaysApply), seed-platform-admin-crud.mdc, seed-admin-wizard.mdc.
  • El primer list/wizard en IVPrior define el gold; los siguientes hacen Mirror a ese archivo.
  • Un port desde una muestra externa es un copy de archivos hacia packages/ / docs/ en un slice explícito; después la muestra no se consulta como fuente de código.