Seam Engineering
Effort: free — pura disciplina de reparación: un solo arreglo de clase en la primitiva compartida en vez de N parches puntuales. Elimina: el mismo bug reparado otra vez en cada sitio hermano, y el hallazgo medio aplazado que se vuelve el bug misterioso que nadie encuentra en seis meses.
Un seam (la costura del sistema donde vive el defecto) se cierra correcta y
completamente, o no está cerrado. Un parche rápido hoy es el bug que nadie puede
encontrar en seis meses. Esta skill convierte un reporte de bug en una clase de
bugs cerrada.
Cuándo correrla
Cualquier reparación: un bug reportado, un test fallido, una lista de hallazgos
de una auditoría o cacería de bugs. Sobre todo cuando sientes el tirón de
"parchearlo aquí nomás".
Pasos
- Causa raíz con evidencia. Arregla la causa, no el síntoma. Antes de
escribir el fix, muestra la prueba: una reproducción que falla, una línea de
log, un trace que apunta al seam real. Un fix sin evidencia es una suposición.
- Nombra la CLASE del defecto. Pregunta: ¿qué familia de error es esta, y en
qué otro lugar podría vivir el mismo error? Escribe la clase en una frase.
- Arregla en vertical — una vez, en la primitiva compartida. La primitiva
compartida es la función o módulo por donde fluye cada ocurrencia. Arréglala
ahí. Nunca N parches puntuales. Nunca marcar-el-caso-malo-y-compensar.
- Barre en horizontal. Busca cada ocurrencia hermana de la clase y
arréglalas en el mismo cambio, no "después".
- Aterriza una guarda estructural. Un test o chequeo automatizado que falla
con la PRÓXIMA instancia de la clase. La clase se queda cerrada porque algo la
vigila, no porque todos se acuerden.
- Cierra el seam completo. Lista cada hallazgo que la cacería sacó a la luz.
Antes de aterrizar, cada uno está arreglado y en verde, o carga un veredicto
explícito y registrado de "no es un bug" con evidencia. Nunca un aplazamiento
silencioso. Nunca "estacionado en un doc".
Reglas duras
- Una reparación que agrega una nueva condición de fallo es en sí misma un
bug. Un helper de rollback que puede reventar, una limpieza que deja estado
huérfano, un test editado para bendecir el defecto que debía atrapar — todos
bugs. Rediseña el cambio como una unidad atómica, o como una máquina de
estados explícita y a prueba de caídas. Nunca lo tapes de pasada.
- "Arreglé los de severidad alta; el resto son seguimientos" reprueba la
skill. Ese es el hábito exacto que esta skill existe para matar. Un bug medio
aplazado es el futuro bug misterioso. Cada hallazgo del seam cuenta igual.
- "Suficientemente bueno para aterrizar" no es un estado. Si el seam no está
bien, sigue iterando — quita el bloqueo, escala a un modelo o revisor más
fuerte, reintenta — hasta que lo esté.
- Un parche puntual junto a una primitiva compartida existente reprueba la
skill. Si una primitiva ya posee el seam, el fix la monta; un fix que la
esquiva recrea la clase.
- Un "no es un bug" adjudicado necesita evidencia, no un voto. Registra qué
se revisó y por qué el hallazgo no se sostiene.
Combina bien con
- root-cause-first — la disciplina de
investigación detrás del paso 1.
- red-first — el test que falla y prueba el fix, y el
patrón de guarda estructural para el paso 5.
- sniper-testing — tests acotados mientras
iteras; una pasada completa al aterrizar.
- repair-loop — el loop de punta a punta dentro del
que corre esta disciplina.
- incident-closure — "arréglalo" significa un
cierre completo, nunca un menú de opciones.
1---2name: seam-engineering-33description: Úsala al reparar un bug o al cerrar una auditoría o cacería de bugs. Arregla la clase del defecto una sola vez en su primitiva compartida, barre a cada hermano, aterriza una guarda que atrapa la próxima instancia y cierra cada hallazgo sacado a la luz — sin aplazamientos silenciosos. Trigger words: seam, class fix, whole-seam closure, point patch, structural guard, do it right the first time, costura, arreglo de clase, cierre de seam completo, parche puntual, guarda estructural, hazlo bien a la primera.4license: MIT5---67# Seam Engineering8**Effort:** free — pura disciplina de reparación: un solo arreglo de clase en la primitiva compartida en vez de N parches puntuales. Elimina: el mismo bug reparado otra vez en cada sitio hermano, y el hallazgo medio aplazado que se vuelve el bug misterioso que nadie encuentra en seis meses.910Un seam (la costura del sistema donde vive el defecto) se cierra correcta y11completamente, o no está cerrado. Un parche rápido hoy es el bug que nadie puede12encontrar en seis meses. Esta skill convierte un reporte de bug en una clase de13bugs cerrada.1415## Cuándo correrla1617Cualquier reparación: un bug reportado, un test fallido, una lista de hallazgos18de una auditoría o cacería de bugs. Sobre todo cuando sientes el tirón de19"parchearlo aquí nomás".2021## Pasos22231. **Causa raíz con evidencia.** Arregla la causa, no el síntoma. Antes de24 escribir el fix, muestra la prueba: una reproducción que falla, una línea de25 log, un trace que apunta al seam real. Un fix sin evidencia es una suposición.262. **Nombra la CLASE del defecto.** Pregunta: ¿qué familia de error es esta, y en27 qué otro lugar podría vivir el mismo error? Escribe la clase en una frase.283. **Arregla en vertical — una vez, en la primitiva compartida.** La primitiva29 compartida es la función o módulo por donde fluye cada ocurrencia. Arréglala30 ahí. Nunca N parches puntuales. Nunca marcar-el-caso-malo-y-compensar.314. **Barre en horizontal.** Busca cada ocurrencia hermana de la clase y32 arréglalas en el mismo cambio, no "después".335. **Aterriza una guarda estructural.** Un test o chequeo automatizado que falla34 con la PRÓXIMA instancia de la clase. La clase se queda cerrada porque algo la35 vigila, no porque todos se acuerden.366. **Cierra el seam completo.** Lista cada hallazgo que la cacería sacó a la luz.37 Antes de aterrizar, cada uno está arreglado y en verde, o carga un veredicto38 explícito y registrado de "no es un bug" con evidencia. Nunca un aplazamiento39 silencioso. Nunca "estacionado en un doc".4041## Reglas duras4243- **Una reparación que agrega una nueva condición de fallo es en sí misma un44 bug.** Un helper de rollback que puede reventar, una limpieza que deja estado45 huérfano, un test editado para bendecir el defecto que debía atrapar — todos46 bugs. Rediseña el cambio como una unidad atómica, o como una máquina de47 estados explícita y a prueba de caídas. Nunca lo tapes de pasada.48- **"Arreglé los de severidad alta; el resto son seguimientos" reprueba la49 skill.** Ese es el hábito exacto que esta skill existe para matar. Un bug medio50 aplazado es el futuro bug misterioso. Cada hallazgo del seam cuenta igual.51- **"Suficientemente bueno para aterrizar" no es un estado.** Si el seam no está52 bien, sigue iterando — quita el bloqueo, escala a un modelo o revisor más53 fuerte, reintenta — hasta que lo esté.54- **Un parche puntual junto a una primitiva compartida existente reprueba la55 skill.** Si una primitiva ya posee el seam, el fix la monta; un fix que la56 esquiva recrea la clase.57- **Un "no es un bug" adjudicado necesita evidencia,** no un voto. Registra qué58 se revisó y por qué el hallazgo no se sostiene.5960## Combina bien con6162- [root-cause-first](../root-cause-first/SKILL.md) — la disciplina de63 investigación detrás del paso 1.64- [red-first](../red-first/SKILL.md) — el test que falla y prueba el fix, y el65 patrón de guarda estructural para el paso 5.66- [sniper-testing](../sniper-testing/SKILL.md) — tests acotados mientras67 iteras; una pasada completa al aterrizar.68- [repair-loop](../repair-loop/SKILL.md) — el loop de punta a punta dentro del69 que corre esta disciplina.70- [incident-closure](../incident-closure/SKILL.md) — "arréglalo" significa un71 cierre completo, nunca un menú de opciones.