@saulwade/swl-ses 2.2.4 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/CLAUDE.md +48 -7
  2. package/README.md +3 -3
  3. package/agentes/accesibilidad-wcag-swl.md +690 -690
  4. package/agentes/arquitecto-swl.md +267 -267
  5. package/agentes/auto-evolucion-swl.md +908 -908
  6. package/agentes/backend-api-swl.md +472 -472
  7. package/agentes/backend-csharp-swl.md +420 -420
  8. package/agentes/backend-go-swl.md +390 -390
  9. package/agentes/backend-java-swl.md +281 -281
  10. package/agentes/backend-node-swl.md +479 -479
  11. package/agentes/backend-python-swl.md +605 -605
  12. package/agentes/backend-rust-swl.md +364 -364
  13. package/agentes/backend-workers-swl.md +482 -482
  14. package/agentes/cloud-infra-swl.md +509 -509
  15. package/agentes/consolidador-swl.md +541 -541
  16. package/agentes/datos-swl.md +605 -605
  17. package/agentes/depurador-swl.md +352 -352
  18. package/agentes/devops-ci-swl.md +400 -400
  19. package/agentes/disenador-ui-swl.md +569 -569
  20. package/agentes/documentador-swl.md +345 -345
  21. package/agentes/frontend-angular-swl.md +621 -621
  22. package/agentes/frontend-css-swl.md +716 -716
  23. package/agentes/frontend-react-swl.md +692 -692
  24. package/agentes/frontend-swl.md +496 -496
  25. package/agentes/frontend-tailwind-swl.md +826 -826
  26. package/agentes/gh-fix-ci-swl.md +2 -2
  27. package/agentes/implementador-swl.md +328 -328
  28. package/agentes/investigador-swl.md +432 -432
  29. package/agentes/investigador-ux-swl.md +505 -505
  30. package/agentes/llm-apps-swl.md +278 -278
  31. package/agentes/migrador-swl.md +442 -442
  32. package/agentes/mobile-android-swl.md +511 -511
  33. package/agentes/mobile-cross-swl.md +541 -541
  34. package/agentes/mobile-ios-swl.md +502 -502
  35. package/agentes/mobile-testing-swl.md +302 -302
  36. package/agentes/nemesis-auditor-swl.md +285 -285
  37. package/agentes/notificador-swl.md +918 -918
  38. package/agentes/observabilidad-swl.md +438 -438
  39. package/agentes/orquestador-swl.md +1026 -1026
  40. package/agentes/pagos-swl.md +310 -310
  41. package/agentes/perfilador-usuario-swl.md +321 -321
  42. package/agentes/planificador-swl.md +399 -399
  43. package/agentes/producto-prd-swl.md +589 -589
  44. package/agentes/red-team-swl.md +1 -1
  45. package/agentes/release-manager-swl.md +590 -590
  46. package/agentes/rendimiento-swl.md +713 -713
  47. package/agentes/resolutor-build-swl.md +245 -245
  48. package/agentes/revisor-angular-swl.md +278 -278
  49. package/agentes/revisor-codigo-swl.md +505 -505
  50. package/agentes/revisor-csharp-swl.md +264 -264
  51. package/agentes/revisor-go-swl.md +259 -259
  52. package/agentes/revisor-java-swl.md +257 -257
  53. package/agentes/revisor-kotlin-swl.md +273 -273
  54. package/agentes/revisor-nextjs-swl.md +281 -281
  55. package/agentes/revisor-php-swl.md +271 -271
  56. package/agentes/revisor-react-swl.md +278 -278
  57. package/agentes/revisor-rust-swl.md +346 -346
  58. package/agentes/revisor-seguridad-swl.md +399 -399
  59. package/agentes/revisor-swift-swl.md +268 -268
  60. package/agentes/revisor-typescript-swl.md +346 -346
  61. package/agentes/sre-swl.md +291 -291
  62. package/agentes/tdd-qa-swl.md +393 -393
  63. package/comandos/swl/aprobar-plan.md +146 -141
  64. package/comandos/swl/briefing.md +119 -119
  65. package/comandos/swl/contribuir.md +233 -233
  66. package/comandos/swl/predecir.md +139 -139
  67. package/comandos/swl/release.md +30 -8
  68. package/comandos/swl/sesiones.md +1 -1
  69. package/comandos/swl/status.md +343 -333
  70. package/gateway/agent-executor.js +1 -1
  71. package/gateway/lib/event-channel.js +191 -191
  72. package/habilidades/agent-deep-links/SKILL.md +148 -148
  73. package/habilidades/agentes-como-servicio/SKILL.md +2 -2
  74. package/habilidades/angular-moderno/SKILL.md +20 -1
  75. package/habilidades/auto-evolucion-protocolo/SKILL.md +276 -276
  76. package/habilidades/backend-async-postgres-testing/SKILL.md +215 -215
  77. package/habilidades/backend-error-design/SKILL.md +221 -221
  78. package/habilidades/backend-production-resilience/SKILL.md +288 -288
  79. package/habilidades/benchmark-memoria/SKILL.md +186 -186
  80. package/habilidades/calidad-anti-patrones-universales/SKILL.md +368 -368
  81. package/habilidades/calidad-contract-testing/SKILL.md +165 -165
  82. package/habilidades/calidad-mutation-testing/SKILL.md +170 -170
  83. package/habilidades/changelog-generator/scripts/parse-commits.js +367 -367
  84. package/habilidades/checklist-seguridad/recursos/stride-cobertura.md +60 -60
  85. package/habilidades/contenedores-docker/SKILL.md +3 -1
  86. package/habilidades/diagrama-arquitectura/assets/template.html +276 -276
  87. package/habilidades/doubt-driven-review/recursos/EXAMPLES.md +130 -130
  88. package/habilidades/drift-detection/SKILL.md +179 -179
  89. package/habilidades/ejecutar-fase/SKILL.md +564 -541
  90. package/habilidades/ejecutar-task-iterativo/SKILL.md +278 -278
  91. package/habilidades/estructura-proyecto-claude/recursos/frontmatter-y-hooks-referencia.md +1 -1
  92. package/habilidades/estructura-proyecto-claude/recursos/mcp-json-template.json +57 -57
  93. package/habilidades/eval-framework/SKILL.md +212 -212
  94. package/habilidades/extractor-de-aprendizajes/SKILL.md +3 -3
  95. package/habilidades/feynman-auditor-swl/recursos/preguntas-language-agnostic.md +108 -108
  96. package/habilidades/harness-claude-code/recursos/disciplina-harness-regla.md +252 -252
  97. package/habilidades/legacy-code-rescue/SKILL.md +267 -267
  98. package/habilidades/meta-skills-estandar/recursos/convencion-examples.md +93 -93
  99. package/habilidades/patrones-python/recursos/patrones-avanzados.md +469 -469
  100. package/habilidades/perfil-usuario/SKILL.md +200 -200
  101. package/habilidades/planear-fase/SKILL.md +15 -1
  102. package/habilidades/prevencion-sobreingenieria/recursos/EXAMPLES.md +580 -580
  103. package/habilidades/proceso-ddia-fundamentos/SKILL.md +255 -255
  104. package/habilidades/proceso-ddia-streaming/SKILL.md +231 -231
  105. package/habilidades/proceso-debate-adversarial/SKILL.md +191 -164
  106. package/habilidades/proceso-debate-adversarial/recursos/personas.md +105 -105
  107. package/habilidades/proceso-discovery-machote/SKILL.md +157 -157
  108. package/habilidades/proceso-dynamic-workflows/SKILL.md +138 -138
  109. package/habilidades/proceso-dynamic-workflows/recursos/template-adversarial-verify.js +65 -65
  110. package/habilidades/proceso-dynamic-workflows/recursos/template-triage.js +65 -65
  111. package/habilidades/proceso-intent-engineering/SKILL.md +269 -269
  112. package/habilidades/proceso-modular-split/SKILL.md +256 -256
  113. package/habilidades/prompt-engineering/recursos/patrones-avanzados.md +2 -2
  114. package/habilidades/state-inconsistency-auditor-swl/recursos/coupled-state-patterns.md +147 -147
  115. package/habilidades/structured-outputs/SKILL.md +2 -2
  116. package/habilidades/swl-claudemd/recursos/contrato-aprender.md +83 -83
  117. package/habilidades/swl-claudemd/recursos/duplicacion-reglas-globales.md +85 -85
  118. package/habilidades/swl-claudemd/recursos/plantillas-init.md +94 -94
  119. package/habilidades/swl-dashboard/SKILL.md +2 -2
  120. package/habilidades/tdd-workflow/SKILL.md +33 -1
  121. package/habilidades/tdd-workflow/recursos/gherkin-bdd.md +111 -111
  122. package/habilidades/validacion-ci-sistema/recursos/validadores-completos.md +1 -1
  123. package/habilidades/validacion-ci-sistema/scripts/validar-sistema.sh +1 -1
  124. package/hooks/captura-acciones-post.js +151 -0
  125. package/hooks/captura-acciones-session.js +155 -0
  126. package/hooks/ciclo-evolucion-subagente.js +26 -26
  127. package/hooks/ciclo-evolucion.js +26 -26
  128. package/hooks/claudemd-bloat-detector.js +161 -161
  129. package/hooks/claudemd-duplicacion-detector.js +170 -170
  130. package/hooks/contexto-iteracion.js +144 -144
  131. package/hooks/guardrail-modelo.js +1 -1
  132. package/hooks/lib/agent-routing.js +107 -107
  133. package/hooks/lib/auto-consolidator.js +335 -335
  134. package/hooks/lib/autonomia.js +208 -208
  135. package/hooks/lib/briefing.js +512 -474
  136. package/hooks/lib/captura-acciones.js +392 -0
  137. package/hooks/lib/ciclo-evolucion.js +47 -47
  138. package/hooks/lib/deep-links.js +185 -185
  139. package/hooks/lib/error-classifier.js +308 -308
  140. package/hooks/lib/etapa-auto-evolucion.js +701 -701
  141. package/hooks/lib/etapa-metricas.js +388 -388
  142. package/hooks/lib/etapa-perfil-usuario.js +376 -376
  143. package/hooks/lib/loop-telemetry.js +321 -321
  144. package/hooks/lib/merkle-audit.js +96 -96
  145. package/hooks/lib/model-router.js +2 -2
  146. package/hooks/lib/propose-step.js +358 -358
  147. package/hooks/lib/provenance-tracker.js +191 -191
  148. package/hooks/lib/rate-limit-tracker.js +253 -253
  149. package/hooks/lib/resource-quota.js +122 -122
  150. package/hooks/lib/retry-jitter.js +165 -165
  151. package/hooks/lib/security-net.js +201 -201
  152. package/hooks/lib/skill-auditor.js +588 -588
  153. package/hooks/lib/sync-status.js +228 -228
  154. package/hooks/lib/taint-tracker.js +107 -107
  155. package/hooks/lib/text-similarity.js +241 -241
  156. package/hooks/lib/token-estimator.js +1 -0
  157. package/hooks/lib/toon-compressor.js +245 -245
  158. package/hooks/lib/usage-model.js +1 -1
  159. package/hooks/linea-estado.js +2 -0
  160. package/hooks/registro-turnos.js +209 -209
  161. package/hooks/session-briefing.js +98 -98
  162. package/hooks/spec-gate.js +211 -211
  163. package/hooks/sugerir-regenerar-inventario.js +170 -170
  164. package/hooks/tdd-gate.js +241 -241
  165. package/hooks/telemetria-skill-routing.js +100 -100
  166. package/hooks/validar-formato-post-subagente.js +140 -140
  167. package/hooks/validar-intent-spec.js +242 -242
  168. package/hooks/validar-memoria-hook.js +218 -218
  169. package/hooks/validar-planning-paths.js +134 -134
  170. package/instintos/autonomia.yaml +27 -27
  171. package/instintos/prompt-appendices.yaml +57 -57
  172. package/llms.txt +2 -2
  173. package/manifiestos/agent-output-schemas.json +57 -57
  174. package/manifiestos/canonical-hashes.json +2291 -1637
  175. package/manifiestos/hooks-config.json +18 -0
  176. package/manifiestos/modulos.json +4 -0
  177. package/manifiestos/planning-paths.json +44 -44
  178. package/manifiestos/skills-lock.json +1282 -1282
  179. package/package.json +2 -2
  180. package/plantillas/auditor-veto-template.md +105 -105
  181. package/plantillas/github-workflows/README.md +47 -47
  182. package/plantillas/github-workflows/release-please.yml +44 -44
  183. package/plantillas/github-workflows/swl-ci.yml +107 -107
  184. package/plantillas/github-workflows/swl-security.yml +51 -51
  185. package/plugin.json +2 -2
  186. package/reglas/accesibilidad.md +10 -10
  187. package/reglas/analisis-previo-tareas-grandes.md +172 -172
  188. package/reglas/api-diseno.md +9 -9
  189. package/reglas/arreglar-al-detectar.md +240 -240
  190. package/reglas/auditorias-documentales-estructurales.md +7 -7
  191. package/reglas/cloud-infra.md +8 -8
  192. package/reglas/consultar-vault-primero.md +195 -195
  193. package/reglas/debatir-antes-de-aceptar.md +158 -158
  194. package/reglas/fragmentos-compartidos.md +183 -183
  195. package/reglas/hooks.md +6 -6
  196. package/reglas/intent-engineering.md +218 -218
  197. package/reglas/markitdown.md +8 -8
  198. package/reglas/memoria-consolidada.md +41 -0
  199. package/reglas/monitor-ci.md +309 -309
  200. package/reglas/patrones.md +6 -6
  201. package/reglas/seguridad-agentes.md +66 -0
  202. package/reglas/sesiones-paralelas.md +180 -180
  203. package/reglas/sin-duplicacion-reglas-globales.md +182 -182
  204. package/reglas/skills-estandar.md +6 -6
  205. package/reglas/testing.md +7 -7
  206. package/reglas/tests-cleanup.md +224 -224
  207. package/reglas/usar-code-review-graph.md +155 -155
  208. package/reglas/usar-context7.md +226 -226
  209. package/reglas/verificar-citas-normativas.md +548 -548
  210. package/schemas/agent-frontmatter.schema.json +3 -3
  211. package/schemas/agent-message.schema.json +73 -73
  212. package/schemas/agent-output-implementacion.schema.json +114 -114
  213. package/schemas/agent-output-planificacion.schema.json +150 -150
  214. package/schemas/agent-output-review.schema.json +98 -98
  215. package/schemas/diary-entry.schema.json +112 -112
  216. package/schemas/hook-profiles.schema.json +54 -54
  217. package/schemas/hooks-config.schema.json +89 -89
  218. package/schemas/instinct.schema.json +161 -152
  219. package/schemas/modulos.schema.json +38 -38
  220. package/schemas/perfiles.schema.json +36 -36
  221. package/schemas/plugin.schema.json +77 -77
  222. package/schemas/skill-evals.schema.json +119 -119
  223. package/schemas/skill-frontmatter.schema.json +245 -245
  224. package/scripts/audit-tools/audit-history.js +330 -330
  225. package/scripts/audit-tools/bundle-tracker.js +290 -290
  226. package/scripts/audit-tools/canary-monitor.js +352 -352
  227. package/scripts/audit-tools/code-profiler.js +605 -605
  228. package/scripts/audit-tools/dep-doctor.js +320 -320
  229. package/scripts/audit-tools/env-validator.js +206 -206
  230. package/scripts/audit-tools/lib/fs-walk.js +48 -48
  231. package/scripts/audit-tools/lib/output.js +23 -23
  232. package/scripts/audit-tools/migration-checker.js +392 -392
  233. package/scripts/audit-tools/pentest-scanner.js +1436 -1436
  234. package/scripts/benchmark-memoria.js +167 -167
  235. package/scripts/bootstrap-instintos.js +25 -7
  236. package/scripts/cli/aprobar-plan.js +73 -73
  237. package/scripts/cli/briefing.js +23 -23
  238. package/scripts/cli/ciclo-evolucion.js +26 -26
  239. package/scripts/cli/configurar-ci.js +40 -40
  240. package/scripts/cli/derivar-feature-list.js +25 -25
  241. package/scripts/cli/detectar-host.js +27 -27
  242. package/scripts/cli/diary-entry.js +69 -69
  243. package/scripts/cli/execution-state.js +18 -18
  244. package/scripts/cli/gateway-notify.js +41 -41
  245. package/scripts/cli/liberar-fase.js +42 -42
  246. package/scripts/cli/loop-telemetry.js +125 -125
  247. package/scripts/cli/mark-evolved.js +56 -56
  248. package/scripts/cli/metricas-dora.js +26 -26
  249. package/scripts/cli/near-duplicate.js +55 -55
  250. package/scripts/cli/notificaciones.js +123 -123
  251. package/scripts/cli/propose-step.js +29 -29
  252. package/scripts/cli/schedule-parse.js +19 -19
  253. package/scripts/cli/sugerir-modelo.js +20 -20
  254. package/scripts/cli/verificar-plan.js +36 -36
  255. package/scripts/cli/verificar-trazabilidad.js +35 -35
  256. package/scripts/configurar-branch-protection.js +418 -418
  257. package/scripts/detectar-aprendizajes-duplicados.js +151 -151
  258. package/scripts/field-report.js +199 -199
  259. package/scripts/generar-checklists-consolidados.js +273 -273
  260. package/scripts/generar-matriz-lenguajes.js +271 -271
  261. package/scripts/lib/artefactos-python.js +43 -43
  262. package/scripts/lib/auditar-invocaciones-comandos.js +104 -104
  263. package/scripts/lib/benchmark-metrics.js +160 -160
  264. package/scripts/lib/budget-enforcer.js +252 -252
  265. package/scripts/lib/ci-reader.js +193 -193
  266. package/scripts/lib/claude-sessions.js +1 -0
  267. package/scripts/lib/configurar-ci.js +380 -380
  268. package/scripts/lib/contadores-inventario.js +217 -217
  269. package/scripts/lib/detectar-host-swl.js +175 -175
  270. package/scripts/lib/detectar-stack-detallado.js +307 -307
  271. package/scripts/lib/detector-autoduplicacion-intra-archivo.js +234 -234
  272. package/scripts/lib/detector-reglas-duplicadas.js +220 -220
  273. package/scripts/lib/diary-entry.js +234 -234
  274. package/scripts/lib/eval-metrics-store.js +218 -218
  275. package/scripts/lib/eval-quality.js +171 -171
  276. package/scripts/lib/eval-schemas.js +144 -144
  277. package/scripts/lib/eval-self-correct.js +106 -106
  278. package/scripts/lib/eval-validator.js +185 -185
  279. package/scripts/lib/evidencia-release.js +322 -322
  280. package/scripts/lib/expandir-targets.js +71 -71
  281. package/scripts/lib/gate-hooks-requires.js +249 -249
  282. package/scripts/lib/gate-licencias.js +212 -212
  283. package/scripts/lib/git-metricas.js +257 -257
  284. package/scripts/lib/gitignore-manifest.js +44 -11
  285. package/scripts/lib/jaccard-similarity.js +98 -98
  286. package/scripts/lib/longmemeval-runner.js +125 -125
  287. package/scripts/lib/metricas-dora.js +204 -204
  288. package/scripts/lib/npm-version.js +261 -261
  289. package/scripts/lib/paquetes-conocidos.js +50 -50
  290. package/scripts/lib/plan-lock.js +275 -275
  291. package/scripts/lib/pr-analyzer.js +399 -399
  292. package/scripts/lib/prompt-builder.js +264 -264
  293. package/scripts/lib/reglas-globales-conocidas.json +180 -180
  294. package/scripts/lib/resolver-plan-fase.js +37 -37
  295. package/scripts/lib/rrf-fusion.js +175 -175
  296. package/scripts/lib/schema-version.js +164 -164
  297. package/scripts/lib/scoring-instintos.js +277 -277
  298. package/scripts/lib/semantic-search.js +252 -252
  299. package/scripts/lib/skill-metrics.js +41 -1
  300. package/scripts/lib/toml-merge.js +204 -204
  301. package/scripts/lib/tool-cost-analyzer.js +1 -0
  302. package/scripts/limpiar-artefactos-python.js +131 -131
  303. package/scripts/mcp-server/auth.js +105 -105
  304. package/scripts/mcp-server/cache.js +106 -106
  305. package/scripts/migrar-csv-a-array.js +168 -168
  306. package/scripts/migrar-fase-dominio.js +200 -200
  307. package/scripts/publicar.js +497 -497
  308. package/scripts/run-eval.js +141 -141
  309. package/scripts/tui/componentes/selector-multi.js +189 -189
  310. package/scripts/tui/componentes/selector-unico.js +158 -158
  311. package/scripts/tui/ejecutores.js +375 -375
  312. package/scripts/tui/index.js +162 -162
  313. package/scripts/tui/lib/colores.js +129 -129
  314. package/scripts/tui/lib/render.js +264 -264
  315. package/scripts/tui/lib/teclas.js +113 -113
  316. package/scripts/tui/pantallas/inspect.js +173 -173
  317. package/scripts/tui/pantallas/install-wizard.js +334 -334
  318. package/scripts/tui/pantallas/menu-principal.js +52 -52
  319. package/scripts/tui/pantallas/progreso.js +274 -274
  320. package/scripts/tui/pantallas/resumen.js +132 -132
  321. package/scripts/tui/pantallas/uninstall-wizard.js +208 -208
  322. package/scripts/tui/pantallas/update-wizard.js +232 -232
  323. package/scripts/tui/pantallas/welcome.js +187 -187
  324. package/scripts/validar-userland-vacio.js +110 -110
  325. package/scripts/verificar-trazabilidad.js +329 -298
@@ -1,240 +1,240 @@
1
- # Regla: Detectar → Informar → Arreglar en el mismo turno
2
-
3
- Esta regla es OBLIGATORIA y aplica a todo trabajo que Claude ejecute en cualquier
4
- proyecto del usuario. Consolida cuatro feedbacks repetidos en sesiones distintas
5
- entre 2026-04-23 y 2026-05-03 con la misma señal: el usuario rechaza entregas
6
- parciales, deuda silenciosa y bypass de errores ajenos.
7
-
8
- ---
9
-
10
- ## Principio
11
-
12
- > Cuando detectes un error, bug, inconsistencia, anomalía o problema secundario
13
- > durante la ejecución de cualquier trabajo, **informa al usuario brevemente Y
14
- > procede a resolverlo en el mismo turno**. Nunca lo dejes como pendiente, deuda
15
- > implícita, "ya estaba antes" ni "fuera del scope".
16
-
17
- Esta regla resume cuatro feedbacks separados que el usuario reforzó como mismo
18
- principio:
19
-
20
- - "No me gustan las cosas a medias" — rechazo de entregas parciales (2026-04-23).
21
- - "Cuando detectes errores, bugs, inconsistencias y demás informes al usuario y
22
- procedas a solucionar y/o arreglar, además nunca debes dejar pendientes, ni
23
- diferir" (2026-04-30).
24
- - "Resuelve los test que fallan, no bypass" — al detectar intento de excluir
25
- tests del glob para evitar arreglarlos (2026-04-30).
26
- - "Si el job CI falla, hay que arreglarlo todo" — al ver tests rotos
27
- presentados como "preexistentes, no críticos" (2026-05-03).
28
-
29
- ---
30
-
31
- ## Cómo aplicar
32
-
33
- ### Al detectar un problema secundario durante el trabajo principal
34
-
35
- - Reportarlo brevemente al usuario: qué se detectó, dónde, severidad.
36
- - Resolverlo en el mismo turno o en commit separado de la misma sesión.
37
- - NUNCA ofrecer "lo documento como deuda" como primera opción.
38
- - NUNCA usar frases como "son tests con mocks pre-existentes que ya estaban rotos",
39
- "esto estaba antes", "no es del scope inmediato" para evitar el trabajo.
40
-
41
- ### Al ejecutar tests, builds, lints, validadores
42
-
43
- - Si hay failures, listarlos todos y atacarlos todos.
44
- - No distinguir "bugs reales" vs "tests con mocks mal configurados" como excusa
45
- para arreglar solo unos. Si están rotos, arreglarlos.
46
- - Excepción: bugs que requieran decisión arquitectural ambigua del usuario —
47
- pedir esa decisión explícitamente, no diferir como "tu decisión".
48
-
49
- ### Al modificar código adyacente
50
-
51
- - Si tocas líneas con problemas adyacentes (None checks faltantes, schemas
52
- obsoletos, mocks inconsistentes, contadores stale, paths inválidos),
53
- arreglarlos en el mismo commit o en commit separado de la misma sesión.
54
-
55
- ### Al refactorizar
56
-
57
- - Si encuentras código adyacente que se quedó obsoleto por un refactor previo,
58
- actualizarlo. No dejar deuda residual.
59
-
60
- ### Al detectar un error ajeno al trabajo actual
61
-
62
- - NO bypassear (excluir tests del glob, comentar checks, `|| true`,
63
- downgradear a warning, ignorar).
64
- - Resolver de raíz o, si requiere decisión, abrir explícitamente la decisión
65
- con el usuario antes de bypassear.
66
- - El default es resolver, no esquivar.
67
-
68
- ### Al presentar planes con sub-tareas
69
-
70
- - Dar primero la opción "todo completo" con esfuerzo estimado.
71
- - Si por capacity hay que partir el trabajo, hacerlo explícito con razón
72
- concreta: "esta sesión cubre 3.1 a 3.4; la 3.5 va en commit separado por
73
- X razón concreta", no por preferencia genérica.
74
-
75
- ### Al recomendar diferir un patrón o feature
76
-
77
- - Redactar **simultáneamente** el ítem de deuda formal con criterio de disparo
78
- verificable. La oferta "lo dejo apuntado" sin entrada formal no es aceptable.
79
- - Distinción de categorías:
80
- - **DT (deuda técnica)** con plan de cierre.
81
- - **DA (decisión arquitectural)** con trigger verificable.
82
- - **OP (pendiente operacional)** con responsable.
83
- - "Mediano plazo / Q3 / cuando aparezca demanda" sin trigger verificable es
84
- deuda silenciosa. Convertir a DA formal en mismo commit.
85
- - Trigger verificable significa condición observable: "≥2 clientes distintos
86
- reportan", "p95 > 60s en producción documentado", "uso > N veces/mes",
87
- no "cuando sea relevante" o "más adelante".
88
-
89
- ### Hallazgos colaterales con blast radius alto — patrón Hallazgo A/B/C
90
-
91
- Durante el trabajo principal puedes detectar un problema secundario cuyo fix
92
- **no cabe** en la regla general "detectar → informar → arreglar en mismo
93
- turno" porque su blast radius es alto: toca infra compartida, requiere
94
- downtime, modifica contratos públicos, exige decisión arquitectural, o su
95
- remediación dura más que el trabajo principal en curso.
96
-
97
- Aplicar el catálogo de tres opciones explícitas — NUNCA mezclar el fix con
98
- el trabajo principal sin etiquetarlo y NUNCA dejarlo como deuda silenciosa.
99
-
100
- #### Definición operacional
101
-
102
- Un hallazgo colateral cumple **al menos uno** de estos atributos:
103
-
104
- - Su fix toca archivos fuera del scope del trabajo principal (>3 archivos
105
- no relacionados con la tarea actual).
106
- - Requiere operación destructiva (`git filter-branch`, `git filter-repo`,
107
- drop de tabla, rotación de credencial productiva).
108
- - Modifica configuración de infra compartida (CI/CD, branch protection,
109
- permisos de repo, secrets de organización).
110
- - Exige decisión arquitectural ambigua que el agente no puede tomar solo.
111
- - Su remediación dura más que el commit actual del trabajo principal.
112
-
113
- Si NO cumple ninguno de estos atributos, NO es Hallazgo A/B/C — aplicar la
114
- regla general (arreglar en mismo turno).
115
-
116
- #### Las tres opciones explícitas
117
-
118
- | Opción | Cuándo | Acción |
119
- |---|---|---|
120
- | **Hallazgo A — Resolver ahora** | Fix < 30 min, reversible con `git revert`, sin blast radius en infra compartida, sin decisión arquitectural | Pausar trabajo principal, fix en commit separado etiquetado, retomar |
121
- | **Hallazgo B — DT formal con trigger verificable** | Fix con blast radius alto pero NO bloqueante para el trabajo principal. Tiene criterio observable que define cuándo cerrarlo | Redactar entry en `.planning/DEUDA-TECNICA.md` con ID, trigger verificable, plan de cierre paso a paso. Continuar trabajo principal |
122
- | **Hallazgo C — Escalar al usuario** | Fix excede autorización del agente: requiere decisión arquitectural, operación destructiva irreversible, o modifica contratos productivos | Pausar trabajo principal, reportar al usuario con 3 opciones concretas y recomendación, esperar decisión explícita |
123
-
124
- #### Reglas duras
125
-
126
- - **Reportar siempre, independientemente de la opción elegida**: el usuario
127
- ve el hallazgo en el mismo turno, no se entera en el commit posterior.
128
- - **DT formal NO es "lo apunto y veremos"**: requiere ID (`DT-NOMBRE-X`),
129
- trigger verificable observable, plan de cierre con pasos concretos, y
130
- entry visible en `.planning/DEUDA-TECNICA.md` commiteada en mismo turno.
131
- - **NUNCA degradar Hallazgo C a Hallazgo B sin pedirlo**: una decisión
132
- arquitectural disfrazada de DT es deuda silenciosa con cara de proceso.
133
- - **NUNCA "arreglar como parte del trabajo principal" un Hallazgo B/C
134
- sin etiquetarlo**: aunque el fix sea pequeño, si su blast radius es alto
135
- el commit debe ser separado con mensaje explícito ("colateral: cierra
136
- DT-X" o "colateral: aplica fix urgente fuera de scope original").
137
-
138
- #### Ejemplo validado (SIGAF, sesión 2026-05-20)
139
-
140
- Durante implementación de pipeline DevSecOps (gates gitleaks + SAST + deps
141
- + containers), el agente detectó tres hallazgos colaterales:
142
-
143
- - **Hallazgo A — Validator JWT con frozenset + regex**: bug detectado en
144
- `backend/app/core/config.py` donde `_CENTINELA` hardcodeado divergía del
145
- `.env.example` real. Fix < 30 min, reversible, alcance acotado a
146
- validators. Aplicado en commit separado mismo turno + 8 tests de regresión.
147
-
148
- - **Hallazgo B — DT-GHAS-HABILITAR**: detectado que repo PRIVATE en
149
- organización sin GitHub Advanced Security responde 403 al upload SARIF.
150
- Mitigación inmediata con `continue-on-error: true` en step de upload.
151
- DT formal con trigger verificable: "equipo crece >2 personas, auditoría
152
- externa, o licencia GHAS adquirida". Entry en `.planning/DEUDA-TECNICA.md`
153
- con plan de cierre (eliminar `continue-on-error` cuando GHAS activo).
154
-
155
- - **Hallazgo C — DT-HISTORIAL-ENV**: detectado que commit `203a603` en
156
- historial git contenía `ADMIN_PASSWORD=Admin2026!` (ya rotado, ya en
157
- `.gitignore`, pero presente en `git log -p`). Fix requiere `git
158
- filter-branch` o `git filter-repo` (destructivo, irreversible para
159
- colaboradores con clones locales). El agente escaló al usuario; usuario
160
- respondió "estamos en desarrollo y etapa de pruebas" → degradado a DT
161
- formal con trigger "antes del primer deploy productivo, repo público
162
- o colaborador externo".
163
-
164
- Los tres hallazgos quedaron visibles, etiquetados y con trigger observable.
165
- Ninguno se mezcló silenciosamente con el trabajo principal del pipeline.
166
-
167
- #### Anti-patrones específicos
168
-
169
- - **"Lo arreglo de paso porque ya estoy aquí"**: si el fix tiene blast
170
- radius alto, NO va de paso. Va etiquetado o no va.
171
- - **DT sin trigger verificable**: "cuando sea posible", "más adelante",
172
- "cuando tengamos tiempo" — viola la regla general arriba. Trigger debe
173
- ser condición observable.
174
- - **Reportar Hallazgo C como informativo sin pedir decisión**: si la
175
- decisión requiere autorización del usuario, la respuesta NO es
176
- "documentado para tu consideración" — es "elige A, B o C".
177
- - **Aplicar Hallazgo A descubriendo en medio que era Hallazgo C**: si al
178
- empezar el fix detectas que tiene blast radius mayor del estimado,
179
- detente, revierte el WIP, y re-clasifica. NO terminar "porque ya
180
- empezamos".
181
-
182
- ---
183
-
184
- ## Excepciones legítimas
185
-
186
- NO aplicar la regla al pie de la letra cuando:
187
-
188
- 1. **El fix es ambiguo** — varias opciones razonables sin criterio claro para
189
- elegir. Presentar opciones concretas con la recomendación y esperar
190
- decisión rápida.
191
- 2. **El fix es destructivo** — `rm -rf`, `git reset --hard`, `git push --force`,
192
- eliminar tablas de BD. Esos siguen requiriendo confirmación explícita por
193
- separado, sin importar que el problema esté detectado.
194
- 3. **El fix tiene blast radius alto** — modifica configuración de CI, infra
195
- compartida, contratos públicos de API. Presentar plan, pedir confirmación.
196
- 4. **El bug requiere decisión de producto** — comportamiento esperado ambiguo,
197
- breaking change. Explícito al usuario y esperar.
198
-
199
- En todos los casos: presentar la opción y la recomendación, NO dejar el
200
- problema sin reportar.
201
-
202
- ---
203
-
204
- ## Anti-patrones explícitos
205
-
206
- - "Lo dejo como deuda residual" — sin DT/DA formal con criterio de disparo.
207
- - "Esos tests ya estaban rotos antes" — usado para evitar arreglarlos.
208
- - "No es parte del scope inmediato" — para esquivar un fix obvio.
209
- - "Lo documento y tú decides" — para diferir trabajo claro al usuario.
210
- - "Mediano plazo" sin trigger verificable.
211
- - Excluir tests del glob, comentar checks, `|| true`, downgradear severidad de
212
- un linter — para que el CI deje de fallar sin arreglar la causa.
213
- - Mover archivos a `legacy/` o `deprecated/` sin plan de eliminación con
214
- criterio de disparo.
215
-
216
- ---
217
-
218
- ## Relación con otras reglas
219
-
220
- - `seguridad-agentes.md` — sección "Anti-fallback silencioso y anti-degradación"
221
- cubre el mismo principio aplicado a agentes autónomos. Esta regla lo extiende
222
- al trabajo del usuario.
223
- - `git-workflow.md` — los commits siguen siendo atómicos; arreglar un problema
224
- detectado puede requerir varios commits, no uno solo gigante.
225
- - `pruebas.md` — los tests rotos son violaciones a esta regla. No se mergea
226
- con tests rotos (excepción: tests rotos por decisión de producto en proceso).
227
-
228
- ---
229
-
230
- ## Origen de esta regla
231
-
232
- Consolidada el 2026-05-04 a partir de cuatro feedbacks repetidos del usuario en
233
- memorias nativas de Claude Code de los proyectos sigm, swl-ses y emaia
234
- (2026-04-23 a 2026-05-03). Antes vivía duplicada en 4 archivos de feedback
235
- distintos en 2 de los 3 proyectos. Promovida a regla global para eliminar
236
- duplicación y aplicar uniformemente a todo proyecto del usuario.
237
-
238
- Memoria nativa local correspondiente: redundante tras esta regla; mantener solo
239
- una mención mínima en MEMORY.md de cada proyecto si se desea preservar el rastro
240
- histórico, pero el contenido operativo vive aquí.
1
+ # Regla: Detectar → Informar → Arreglar en el mismo turno
2
+
3
+ Esta regla es OBLIGATORIA y aplica a todo trabajo que Claude ejecute en cualquier
4
+ proyecto del usuario. Consolida cuatro feedbacks repetidos en sesiones distintas
5
+ entre 2026-04-23 y 2026-05-03 con la misma señal: el usuario rechaza entregas
6
+ parciales, deuda silenciosa y bypass de errores ajenos.
7
+
8
+ ---
9
+
10
+ ## Principio
11
+
12
+ > Cuando detectes un error, bug, inconsistencia, anomalía o problema secundario
13
+ > durante la ejecución de cualquier trabajo, **informa al usuario brevemente Y
14
+ > procede a resolverlo en el mismo turno**. Nunca lo dejes como pendiente, deuda
15
+ > implícita, "ya estaba antes" ni "fuera del scope".
16
+
17
+ Esta regla resume cuatro feedbacks separados que el usuario reforzó como mismo
18
+ principio:
19
+
20
+ - "No me gustan las cosas a medias" — rechazo de entregas parciales (2026-04-23).
21
+ - "Cuando detectes errores, bugs, inconsistencias y demás informes al usuario y
22
+ procedas a solucionar y/o arreglar, además nunca debes dejar pendientes, ni
23
+ diferir" (2026-04-30).
24
+ - "Resuelve los test que fallan, no bypass" — al detectar intento de excluir
25
+ tests del glob para evitar arreglarlos (2026-04-30).
26
+ - "Si el job CI falla, hay que arreglarlo todo" — al ver tests rotos
27
+ presentados como "preexistentes, no críticos" (2026-05-03).
28
+
29
+ ---
30
+
31
+ ## Cómo aplicar
32
+
33
+ ### Al detectar un problema secundario durante el trabajo principal
34
+
35
+ - Reportarlo brevemente al usuario: qué se detectó, dónde, severidad.
36
+ - Resolverlo en el mismo turno o en commit separado de la misma sesión.
37
+ - NUNCA ofrecer "lo documento como deuda" como primera opción.
38
+ - NUNCA usar frases como "son tests con mocks pre-existentes que ya estaban rotos",
39
+ "esto estaba antes", "no es del scope inmediato" para evitar el trabajo.
40
+
41
+ ### Al ejecutar tests, builds, lints, validadores
42
+
43
+ - Si hay failures, listarlos todos y atacarlos todos.
44
+ - No distinguir "bugs reales" vs "tests con mocks mal configurados" como excusa
45
+ para arreglar solo unos. Si están rotos, arreglarlos.
46
+ - Excepción: bugs que requieran decisión arquitectural ambigua del usuario —
47
+ pedir esa decisión explícitamente, no diferir como "tu decisión".
48
+
49
+ ### Al modificar código adyacente
50
+
51
+ - Si tocas líneas con problemas adyacentes (None checks faltantes, schemas
52
+ obsoletos, mocks inconsistentes, contadores stale, paths inválidos),
53
+ arreglarlos en el mismo commit o en commit separado de la misma sesión.
54
+
55
+ ### Al refactorizar
56
+
57
+ - Si encuentras código adyacente que se quedó obsoleto por un refactor previo,
58
+ actualizarlo. No dejar deuda residual.
59
+
60
+ ### Al detectar un error ajeno al trabajo actual
61
+
62
+ - NO bypassear (excluir tests del glob, comentar checks, `|| true`,
63
+ downgradear a warning, ignorar).
64
+ - Resolver de raíz o, si requiere decisión, abrir explícitamente la decisión
65
+ con el usuario antes de bypassear.
66
+ - El default es resolver, no esquivar.
67
+
68
+ ### Al presentar planes con sub-tareas
69
+
70
+ - Dar primero la opción "todo completo" con esfuerzo estimado.
71
+ - Si por capacity hay que partir el trabajo, hacerlo explícito con razón
72
+ concreta: "esta sesión cubre 3.1 a 3.4; la 3.5 va en commit separado por
73
+ X razón concreta", no por preferencia genérica.
74
+
75
+ ### Al recomendar diferir un patrón o feature
76
+
77
+ - Redactar **simultáneamente** el ítem de deuda formal con criterio de disparo
78
+ verificable. La oferta "lo dejo apuntado" sin entrada formal no es aceptable.
79
+ - Distinción de categorías:
80
+ - **DT (deuda técnica)** con plan de cierre.
81
+ - **DA (decisión arquitectural)** con trigger verificable.
82
+ - **OP (pendiente operacional)** con responsable.
83
+ - "Mediano plazo / Q3 / cuando aparezca demanda" sin trigger verificable es
84
+ deuda silenciosa. Convertir a DA formal en mismo commit.
85
+ - Trigger verificable significa condición observable: "≥2 clientes distintos
86
+ reportan", "p95 > 60s en producción documentado", "uso > N veces/mes",
87
+ no "cuando sea relevante" o "más adelante".
88
+
89
+ ### Hallazgos colaterales con blast radius alto — patrón Hallazgo A/B/C
90
+
91
+ Durante el trabajo principal puedes detectar un problema secundario cuyo fix
92
+ **no cabe** en la regla general "detectar → informar → arreglar en mismo
93
+ turno" porque su blast radius es alto: toca infra compartida, requiere
94
+ downtime, modifica contratos públicos, exige decisión arquitectural, o su
95
+ remediación dura más que el trabajo principal en curso.
96
+
97
+ Aplicar el catálogo de tres opciones explícitas — NUNCA mezclar el fix con
98
+ el trabajo principal sin etiquetarlo y NUNCA dejarlo como deuda silenciosa.
99
+
100
+ #### Definición operacional
101
+
102
+ Un hallazgo colateral cumple **al menos uno** de estos atributos:
103
+
104
+ - Su fix toca archivos fuera del scope del trabajo principal (>3 archivos
105
+ no relacionados con la tarea actual).
106
+ - Requiere operación destructiva (`git filter-branch`, `git filter-repo`,
107
+ drop de tabla, rotación de credencial productiva).
108
+ - Modifica configuración de infra compartida (CI/CD, branch protection,
109
+ permisos de repo, secrets de organización).
110
+ - Exige decisión arquitectural ambigua que el agente no puede tomar solo.
111
+ - Su remediación dura más que el commit actual del trabajo principal.
112
+
113
+ Si NO cumple ninguno de estos atributos, NO es Hallazgo A/B/C — aplicar la
114
+ regla general (arreglar en mismo turno).
115
+
116
+ #### Las tres opciones explícitas
117
+
118
+ | Opción | Cuándo | Acción |
119
+ |---|---|---|
120
+ | **Hallazgo A — Resolver ahora** | Fix < 30 min, reversible con `git revert`, sin blast radius en infra compartida, sin decisión arquitectural | Pausar trabajo principal, fix en commit separado etiquetado, retomar |
121
+ | **Hallazgo B — DT formal con trigger verificable** | Fix con blast radius alto pero NO bloqueante para el trabajo principal. Tiene criterio observable que define cuándo cerrarlo | Redactar entry en `.planning/DEUDA-TECNICA.md` con ID, trigger verificable, plan de cierre paso a paso. Continuar trabajo principal |
122
+ | **Hallazgo C — Escalar al usuario** | Fix excede autorización del agente: requiere decisión arquitectural, operación destructiva irreversible, o modifica contratos productivos | Pausar trabajo principal, reportar al usuario con 3 opciones concretas y recomendación, esperar decisión explícita |
123
+
124
+ #### Reglas duras
125
+
126
+ - **Reportar siempre, independientemente de la opción elegida**: el usuario
127
+ ve el hallazgo en el mismo turno, no se entera en el commit posterior.
128
+ - **DT formal NO es "lo apunto y veremos"**: requiere ID (`DT-NOMBRE-X`),
129
+ trigger verificable observable, plan de cierre con pasos concretos, y
130
+ entry visible en `.planning/DEUDA-TECNICA.md` commiteada en mismo turno.
131
+ - **NUNCA degradar Hallazgo C a Hallazgo B sin pedirlo**: una decisión
132
+ arquitectural disfrazada de DT es deuda silenciosa con cara de proceso.
133
+ - **NUNCA "arreglar como parte del trabajo principal" un Hallazgo B/C
134
+ sin etiquetarlo**: aunque el fix sea pequeño, si su blast radius es alto
135
+ el commit debe ser separado con mensaje explícito ("colateral: cierra
136
+ DT-X" o "colateral: aplica fix urgente fuera de scope original").
137
+
138
+ #### Ejemplo validado (SIGAF, sesión 2026-05-20)
139
+
140
+ Durante implementación de pipeline DevSecOps (gates gitleaks + SAST + deps
141
+ + containers), el agente detectó tres hallazgos colaterales:
142
+
143
+ - **Hallazgo A — Validator JWT con frozenset + regex**: bug detectado en
144
+ `backend/app/core/config.py` donde `_CENTINELA` hardcodeado divergía del
145
+ `.env.example` real. Fix < 30 min, reversible, alcance acotado a
146
+ validators. Aplicado en commit separado mismo turno + 8 tests de regresión.
147
+
148
+ - **Hallazgo B — DT-GHAS-HABILITAR**: detectado que repo PRIVATE en
149
+ organización sin GitHub Advanced Security responde 403 al upload SARIF.
150
+ Mitigación inmediata con `continue-on-error: true` en step de upload.
151
+ DT formal con trigger verificable: "equipo crece >2 personas, auditoría
152
+ externa, o licencia GHAS adquirida". Entry en `.planning/DEUDA-TECNICA.md`
153
+ con plan de cierre (eliminar `continue-on-error` cuando GHAS activo).
154
+
155
+ - **Hallazgo C — DT-HISTORIAL-ENV**: detectado que commit `203a603` en
156
+ historial git contenía `ADMIN_PASSWORD=Admin2026!` (ya rotado, ya en
157
+ `.gitignore`, pero presente en `git log -p`). Fix requiere `git
158
+ filter-branch` o `git filter-repo` (destructivo, irreversible para
159
+ colaboradores con clones locales). El agente escaló al usuario; usuario
160
+ respondió "estamos en desarrollo y etapa de pruebas" → degradado a DT
161
+ formal con trigger "antes del primer deploy productivo, repo público
162
+ o colaborador externo".
163
+
164
+ Los tres hallazgos quedaron visibles, etiquetados y con trigger observable.
165
+ Ninguno se mezcló silenciosamente con el trabajo principal del pipeline.
166
+
167
+ #### Anti-patrones específicos
168
+
169
+ - **"Lo arreglo de paso porque ya estoy aquí"**: si el fix tiene blast
170
+ radius alto, NO va de paso. Va etiquetado o no va.
171
+ - **DT sin trigger verificable**: "cuando sea posible", "más adelante",
172
+ "cuando tengamos tiempo" — viola la regla general arriba. Trigger debe
173
+ ser condición observable.
174
+ - **Reportar Hallazgo C como informativo sin pedir decisión**: si la
175
+ decisión requiere autorización del usuario, la respuesta NO es
176
+ "documentado para tu consideración" — es "elige A, B o C".
177
+ - **Aplicar Hallazgo A descubriendo en medio que era Hallazgo C**: si al
178
+ empezar el fix detectas que tiene blast radius mayor del estimado,
179
+ detente, revierte el WIP, y re-clasifica. NO terminar "porque ya
180
+ empezamos".
181
+
182
+ ---
183
+
184
+ ## Excepciones legítimas
185
+
186
+ NO aplicar la regla al pie de la letra cuando:
187
+
188
+ 1. **El fix es ambiguo** — varias opciones razonables sin criterio claro para
189
+ elegir. Presentar opciones concretas con la recomendación y esperar
190
+ decisión rápida.
191
+ 2. **El fix es destructivo** — `rm -rf`, `git reset --hard`, `git push --force`,
192
+ eliminar tablas de BD. Esos siguen requiriendo confirmación explícita por
193
+ separado, sin importar que el problema esté detectado.
194
+ 3. **El fix tiene blast radius alto** — modifica configuración de CI, infra
195
+ compartida, contratos públicos de API. Presentar plan, pedir confirmación.
196
+ 4. **El bug requiere decisión de producto** — comportamiento esperado ambiguo,
197
+ breaking change. Explícito al usuario y esperar.
198
+
199
+ En todos los casos: presentar la opción y la recomendación, NO dejar el
200
+ problema sin reportar.
201
+
202
+ ---
203
+
204
+ ## Anti-patrones explícitos
205
+
206
+ - "Lo dejo como deuda residual" — sin DT/DA formal con criterio de disparo.
207
+ - "Esos tests ya estaban rotos antes" — usado para evitar arreglarlos.
208
+ - "No es parte del scope inmediato" — para esquivar un fix obvio.
209
+ - "Lo documento y tú decides" — para diferir trabajo claro al usuario.
210
+ - "Mediano plazo" sin trigger verificable.
211
+ - Excluir tests del glob, comentar checks, `|| true`, downgradear severidad de
212
+ un linter — para que el CI deje de fallar sin arreglar la causa.
213
+ - Mover archivos a `legacy/` o `deprecated/` sin plan de eliminación con
214
+ criterio de disparo.
215
+
216
+ ---
217
+
218
+ ## Relación con otras reglas
219
+
220
+ - `seguridad-agentes.md` — sección "Anti-fallback silencioso y anti-degradación"
221
+ cubre el mismo principio aplicado a agentes autónomos. Esta regla lo extiende
222
+ al trabajo del usuario.
223
+ - `git-workflow.md` — los commits siguen siendo atómicos; arreglar un problema
224
+ detectado puede requerir varios commits, no uno solo gigante.
225
+ - `pruebas.md` — los tests rotos son violaciones a esta regla. No se mergea
226
+ con tests rotos (excepción: tests rotos por decisión de producto en proceso).
227
+
228
+ ---
229
+
230
+ ## Origen de esta regla
231
+
232
+ Consolidada el 2026-05-04 a partir de cuatro feedbacks repetidos del usuario en
233
+ memorias nativas de Claude Code de los proyectos sigm, swl-ses y emaia
234
+ (2026-04-23 a 2026-05-03). Antes vivía duplicada en 4 archivos de feedback
235
+ distintos en 2 de los 3 proyectos. Promovida a regla global para eliminar
236
+ duplicación y aplicar uniformemente a todo proyecto del usuario.
237
+
238
+ Memoria nativa local correspondiente: redundante tras esta regla; mantener solo
239
+ una mención mínima en MEMORY.md de cada proyecto si se desea preservar el rastro
240
+ histórico, pero el contenido operativo vive aquí.
@@ -1,10 +1,10 @@
1
- ---
2
- paths:
3
- - "**/scripts/verificar-*.js"
4
- - "**/MANUAL_USO.md"
5
- - "**/manifiestos/**"
6
- - "**/INVENTARIO.md"
7
- ---
1
+ ---
2
+ paths:
3
+ - "**/scripts/verificar-*.js"
4
+ - "**/MANUAL_USO.md"
5
+ - "**/manifiestos/**"
6
+ - "**/INVENTARIO.md"
7
+ ---
8
8
  # Regla: Auditorías documentales estructurales en SWL
9
9
 
10
10
  Esta regla es **OBLIGATORIA** y aplica a todo agente o agente humano que
@@ -1,11 +1,11 @@
1
- ---
2
- paths:
3
- - "**/*.tf"
4
- - "**/*.tfvars"
5
- - "**/Dockerfile*"
6
- - "**/*.bicep"
7
- - "**/docker-compose*.{yml,yaml}"
8
- ---
1
+ ---
2
+ paths:
3
+ - "**/*.tf"
4
+ - "**/*.tfvars"
5
+ - "**/Dockerfile*"
6
+ - "**/*.bicep"
7
+ - "**/docker-compose*.{yml,yaml}"
8
+ ---
9
9
  # Regla: Infraestructura Cloud
10
10
 
11
11
  Esta regla es OBLIGATORIA para todo recurso desplegado en cloud sin excepción.