Diseño del esqueleto textil (T-1) — cadena de operadores con atestación por rol¶
Arte Taxco / ICEDE-USC · 31 Julio 2026 · Diseño de alcance (no implementación)
Para qué existe. Convertir la fase T-1 de
RUTA-DEMOSTRADOR-TEXTIL.md(cadena de operadores aguas arriba) en una tarea de código acotada, y definir el esqueleto funcional mínimo: una prenda recorre una cadena corta, cada rol atesta los atributos de los que responde, y el sistema emite un pasaporte textil conforme. Es la opción A de la conversación (esqueleto técnico demostrable), no el demostrador real con empresas (opción B, institucional). Escrito tras leer el as-built del canal circular (no un doc de estado).
0. As-built verificado (qué existe HOY, en código)¶
| Pieza | Estado real (file:line) |
|---|---|
| Roles de actor | RolActorCircular = REPARADOR / RECICLADOR / REVENDEDOR — todos post-consumo. prisma/schema.prisma |
| Mínimo privilegio | lib/circular/actor-scope.ts: ACTIVIDADES_POR_ROL (rol→tipos de evento) + datosParaActor (rol→proyección de lectura; nunca PII ni precio) |
| Escritura de eventos por actor | /actor (login OTP) + admin.circular.registrarActividadCircular. Los actores registran ACTIVIDADES |
Escritura de atributos (AtributoDPP) |
Existe pero acotada: solo AT, solo joyería (ley/peso), solo en la recertificación de reventa (server/trpc/circular.router.ts:1136). Shape: {clase, clave, valor, unidad, estatus, emisorRol, viaEventoId} |
| Vista/export de atributos | vistaAtributos() hace overlay de lo persistido sobre los campos planos; el export muestra el estatus real |
| Perfil textil | T-0 ✅: textil v1.0-demostrador con nivelExigido por atributo |
Dos hechos que definen T-1:
1. El patrón de "atributo atestado" ya existe (verificarOferta) — pero hardcodeado a AT / joyería / recertificación. T-1 lo generaliza: cualquier operador de la cadena atesta un atributo con emisorRol = su rol.
2. Los roles son post-consumo. La cadena de producción (confección, marca) no existe — es el delta central.
1. La cadena mínima del esqueleto (una prenda, pocos roles)¶
No la cadena completa de la estrategia. La mínima que demuestra atestación multi-operador y emite un pasaporte conforme:
| Eslabón | Rol | Atesta (clave → nivel real que puede dar) | Nuevo o existente |
|---|---|---|---|
| Confección | CONFECCION | composicionFibra → DECLARADO (exige MEDIDO), origenConfeccion → ATESTADO, cuidado → DECLARADO |
rol nuevo |
| Marca / distribución | MARCA | durabilidad, reparabilidad → DECLARADO; condicionesProduccion → ATESTADO (la marca responde contractualmente de su cadena) |
rol nuevo |
| Venta | (flujo actual) | Certificate + propietario #1 automático |
existente |
| Reventa / reparación | REVENDEDOR / REPARADOR | eventos R (ya) | existente |
| Clasificación posconsumo | CLASIFICACION | lectura terminal | T-4, fuera |
Una prenda productType='textil' la recorre; cada rol entra por su superficie
/actor (OTP, mínimo privilegio) y atesta lo suyo. Con eso hay un pasaporte
textil real, emitido, con provenance por atributo.
2. La decisión clave: el esqueleto NO finge verificación¶
El perfil textil exige composicionFibra = MEDIDO (laboratorio) y
contenidoReciclado/sustanciasQuimicas = VERIFICADO. En el esqueleto no hay
laboratorio (eso es T-2). La tentación sería marcar esos atributos como
VERIFICADO/MEDIDO para "que se vea completo". No se hace — es la misma línea
roja de toda la disciplina (EPCIS serializable≠emisor, joyería≠textil).
En cambio, el esqueleto exhibe el hueco como evidencia: el atributo lleva
nivelExigido="MEDIDO" y estatus="DECLARADO". Esa distancia, legible por
máquina, es exactamente lo que la estrategia (§2) y ICEDE (§15) dicen que el
pasaforte debe hacer: separar lo afirmado de lo comprobado. Un pasaporte del
esqueleto que dice "esta composición REQUIERE ensayo de laboratorio, que aún no
se ha hecho" es más honesto —y mejor narrativa de fondos— que uno que finge
estar verificado. El gap nivelExigido↔estatus ES el argumento de por qué hace
falta T-2.
3. Los deltas de T-1 (sobre lo que ya existe)¶
-
Cuarto nivel epistémico
ATESTADO(decidido 31 Jul — fidelidad a la taxonomía de 4 niveles de la estrategia §2/§2.1). AgregarATESTADOal enumEstatusAtributo(hoy DECLARADO/VERIFICADO/MEDIDO), en el orden de fuerza epistémica DECLARADO < ATESTADO < VERIFICADO < MEDIDO. La atestación en cadena deja de representarse como "VERIFICADO + emisorRol" y pasa a ser su propio nivel: el proveedor responde contractualmente, distinto del tercero que responde bajo evaluación de conformidad. Toca el modelo canónico, no solo textil:EstatusAtributo(db pushaditivo),EstatusTypeenpublic/dpp/dpp-1.0.xsd, y el manejo del valor nuevo enlib/dpp/export.tsy en la vista. Joyería no cambia (nadie usa ATESTADO ahí todavía). Es el primer paso de T-1 porque el write-path (delta 2) lo usa. -
Roles de producción. Extender
RolActorCircularconCONFECCIONyMARCA(aditivo,prisma db pushnuncamigrate dev). Extender el tipoRolActorenactor-scope.tsen paralelo (o eltscrompe). - Write-path genérico de atributo atestado. Generalizar el patrón de
verificarOfertaa una operación reutilizableregistrarAtributoAtestado(actor, folio, clave, valor, estatus, viaEvento?)que escribeAtributoDPPconemisorRol = rol del actor. Es el corazón de la "atestación en cadena" hecha ejecutable. - Matriz rol×atributo de ESCRITURA. Añadir
ATRIBUTOS_POR_ROLaactor-scope.ts(junto aACTIVIDADES_POR_ROL): qué atributos puede atestar cada rol. Es la parte del contrato de interfaz que el software aplica (la cláusula legal es institucional, fuera del esqueleto). Impide que la marca atesta composición o que el revendedor toque el origen. - Proyección de lectura para los roles nuevos: extender
datosParaActor(qué ve un operador de confección — su prenda, los atributos que atesta, nunca PII ni precio). - Superficie
/actor: UI de atestación de atributo (extiende la de actividad; misma auth OTP).
Todo aditivo. Toca: schema.prisma (2 valores de enum), actor-scope.ts,
el router tRPC (una operación nueva generalizando verificarOferta), y /actor.
4. Qué NO es T-1 (para no construir de más)¶
- Verificación real / laboratorio → T-2 (institucional + técnico).
- Firma
did:web(EN 18246) → T-3. - Endpoint de la planta de clasificación → T-4.
- Empresas reales, prendas reales, contratos de interfaz legales → programa institucional (opción B).
- Interconexión por APIs (§6 del multi-actor) → pospuesto a fondos por decisión
del 25 Jul (
MAPA-ECOSISTEMA-DPP.md).
El esqueleto se opera a mano: una persona por rol camina una prenda de prueba por la cadena. No necesita terceros para demostrar la capacidad.
5. Distancia real al piloto¶
- Esqueleto (A): T-1 + pulido mínimo de las superficies por rol. Al terminar T-1 puedes caminar una prenda por la cadena y emitir su pasaporte — la prueba de capacidad / TRL para una solicitud. Semanas de código, no meses.
- Demostrador real (B): la estrategia lo dimensiona (1.5–3 M€, 24 meses, 15–25 empresas). El cuello de botella es reclutar operadores, contratos de interfaz, laboratorio ENAC, financiación. T-1 no lo acorta — le da la capacidad que ese proyecto usaría, y la evidencia (esqueleto funcional) que hace creíble la solicitud.
6. El prompt T-1 (acotado, para el chat de código)¶
Tarea T-1 — Cadena de operadores con atestación de atributos por rol. LEE primero:
docs/DISENO-ESQUELETO-TEXTIL-T1.md(este doc),docs/RUTA-DEMOSTRADOR-TEXTIL.md,lib/circular/actor-scope.ts,server/trpc/circular.router.ts(la operaciónverificarOferta, ~línea 1136, que es la PLANTILLA del atributo atestado),lib/dpp/atributos.ts(perfil textil,PERFILES.textil), y el modeloAtributoDPP+ enumRolActorCircularenprisma/schema.prisma.
- Nivel epistémico
ATESTADO: agregaATESTADOal enumEstatusAtributo(orden DECLARADO < ATESTADO < VERIFICADO < MEDIDO),EstatusTypeenpublic/dpp/dpp-1.0.xsd, y el manejo del valor enlib/dpp/export.tsy la vista. Aditivo (prisma db push). Es un paso propio, con su commit; joyería no lo usa aún.- Roles de producción: agrega
CONFECCIONyMARCAaRolActorCircular(aditivo,prisma db push, NUNCAmigrate dev); extiende el tipoRolActorenactor-scope.ts.ATRIBUTOS_POR_ROLenactor-scope.ts: matriz rol→atributos del perfil textil que ese rol puede atestar (CONFECCION: composicionFibra, origenConfeccion, cuidado; MARCA: durabilidad, reparabilidad, condicionesProduccion). Gate:rolPuedeAtestar(rol, clave).- Write-path genérico
registrarAtributoAtestado: generaliza el patrón deverificarOferta— escribeAtributoDPP {clase (del perfil), clave, valor, unidad (del perfil), estatus, emisorRol = rol del actor, viaEventoId?}. Regla dura de honestidad: elestatusque un operador puede poner está ACOTADO por lo que su rol puede probar. En el esqueleto (sin laboratorio): composición/reciclado/químicos quedan DECLARADO aunque el perfil exija MEDIDO/VERIFICADO; origen y condiciones de producción, que el operador atesta contractualmente, quedan ATESTADO. NUNCA marcar VERIFICADO/MEDIDO sin evidencia real (eso es T-2). Laclasey launidadsalen del perfil (PERFILES.textil), no se inventan.- Proyección de lectura para CONFECCION/MARCA en
datosParaActor(mínimo privilegio; nunca PII ni precio).- Superficie
/actor: formulario de atestación de atributo (reutiliza la auth OTP y la UI de actividad existentes).ACEPTACIÓN:
npx tsc --noEmit0 errores; una prenda de prueba (productTypetextil) recorre CONFECCION→MARCA y su export XML/EPCIS muestra cada atributo conemisorRoldel operador que lo atestó,estatusreal ynivelExigidodel perfil; joyería y el flujo de recertificación intactos. Documenta enFIXES.md(sugerido FEAT-DPP-TEXTIL-T1-001). Commit en español; muéstrame el diff antes del push.FUERA DE ALCANCE: laboratorio (T-2), firma did:web (T-3), endpoint de clasificación (T-4), empresas reales, APIs. Solo la cadena de atestación.
7. Decisiones (resueltas 31 Jul 2026)¶
- Roles del esqueleto →
CONFECCION+MARCA(dos aguas arriba). AgregarAPROVISIONAMIENTO(hilatura/tejeduría) queda para después: un valor de enum - una fila en
ATRIBUTOS_POR_ROL. - Cuarto nivel
ATESTADO→ SÍ (ver delta 0). Fidelidad a la taxonomía de 4 niveles de la estrategia (§2/§2.1): el proveedor que atesta responde contractualmente, distinto del tercero que verifica bajo conformidad. El demostrador es evidencia TRL de una solicitud anclada en esa estrategia; el estatus legible por máquina debe calzar con sus cuatro niveles. - Prenda de prueba → sintética, etiquetada como dato de prueba. Una prenda real con ensayo de fibra es T-2 (laboratorio).
Arte Taxco / ICEDE-USC · Diseño del esqueleto textil (T-1) · 31 Jul 2026 · alcance, no implementación. Deriva de RUTA-DEMOSTRADOR-TEXTIL.md; leído contra el as-built del canal circular.