theus-cli-linux-x64 1.2.2 → 1.4.0
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.
- package/README.md +50 -11
- package/RELEASE.json +6 -6
- package/bin/theus +0 -0
- package/package.json +1 -1
- package/vendor/higiene-motor/PARCHES.md +244 -0
- package/vendor/higiene-motor/audit_dir.py +166 -0
- package/vendor/higiene-motor/audit_lib.py +333 -0
- package/vendor/higiene-motor/audit_website.py +635 -0
- package/vendor/higiene-motor/av_meta.py +498 -0
- package/vendor/higiene-motor/check_staged.py +71 -0
- package/vendor/higiene-motor/clean_ctrlregen.py +212 -0
- package/vendor/higiene-motor/clean_file.py +237 -0
- package/vendor/higiene-motor/clean_image.py +218 -0
- package/vendor/higiene-motor/clean_staged.py +143 -0
- package/vendor/higiene-motor/clean_text.py +108 -0
- package/vendor/higiene-motor/common.py +486 -0
- package/vendor/higiene-motor/container_meta.py +2522 -0
- package/vendor/higiene-motor/detect_gumbel.py +308 -0
- package/vendor/higiene-motor/detect_text_watermark.py +613 -0
- package/vendor/higiene-motor/format_dispatch.py +157 -0
- package/vendor/higiene-motor/hook_written_file.py +253 -0
- package/vendor/higiene-motor/image_meta.py +2171 -0
- package/vendor/higiene-motor/inspect_file.py +138 -0
- package/vendor/higiene-motor/inspect_image.py +72 -0
- package/vendor/higiene-motor/inspect_text.py +86 -0
- package/vendor/higiene-motor/markdiffusion_harness.py +533 -0
- package/vendor/higiene-motor/rewrite_text.py +737 -0
- package/vendor/higiene-motor/score_stylometry.py +460 -0
- package/vendor/higiene-motor/score_synthid.py +165 -0
- package/vendor/higiene-motor/server.py +1059 -0
- package/vendor/higiene-motor/synthid_score_server.py +176 -0
- package/vendor/higiene-motor/text_detectors.py +433 -0
- package/vendor/higiene-motor/text_unicode.py +730 -0
- package/vendor/theus-arsenal/.arsenal-nombres-ola2.json +0 -6
- package/vendor/theus-arsenal/.arsenal-nombres-ola3.json +0 -72
- package/vendor/theus-arsenal/.mailmap +0 -2
- package/vendor/theus-arsenal/.theus-plugin/marketplace.json +0 -25
- package/vendor/theus-arsenal/.theus-plugin/plugin.json +0 -20
- package/vendor/theus-arsenal/AUTHORS.md +0 -8
- package/vendor/theus-arsenal/CLEANROOM_REPLACEMENT_PLAN.md +0 -11
- package/vendor/theus-arsenal/LICENSE +0 -26
- package/vendor/theus-arsenal/PROVENANCE.md +0 -9
- package/vendor/theus-arsenal/README.md +0 -41
- package/vendor/theus-arsenal/THIRD_PARTY.md +0 -80
- package/vendor/theus-arsenal/agents/actualizador-docs.md +0 -123
- package/vendor/theus-arsenal/agents/analista-comentarios.md +0 -53
- package/vendor/theus-arsenal/agents/analista-conversaciones.md +0 -60
- package/vendor/theus-arsenal/agents/analista-tests-pr.md +0 -53
- package/vendor/theus-arsenal/agents/analista-tipos.md +0 -49
- package/vendor/theus-arsenal/agents/arquitecto-accesibilidad.md +0 -148
- package/vendor/theus-arsenal/agents/arquitecto-codigo.md +0 -79
- package/vendor/theus-arsenal/agents/arquitecto-homelab.md +0 -90
- package/vendor/theus-arsenal/agents/arquitecto-redes.md +0 -116
- package/vendor/theus-arsenal/agents/arquitecto-sistemas.md +0 -219
- package/vendor/theus-arsenal/agents/bifurcador-opensource.md +0 -206
- package/vendor/theus-arsenal/agents/cazador-fallos-silenciosos.md +0 -58
- package/vendor/theus-arsenal/agents/consultor-documentacion.md +0 -76
- package/vendor/theus-arsenal/agents/diagnosticador-redes.md +0 -135
- package/vendor/theus-arsenal/agents/ejecutor-e2e.md +0 -96
- package/vendor/theus-arsenal/agents/empaquetador-opensource.md +0 -257
- package/vendor/theus-arsenal/agents/escaner-secretos.md +0 -196
- package/vendor/theus-arsenal/agents/especialista-seo.md +0 -70
- package/vendor/theus-arsenal/agents/estratega-marketing.md +0 -158
- package/vendor/theus-arsenal/agents/evaluador-agentes.md +0 -214
- package/vendor/theus-arsenal/agents/evaluador-harness.md +0 -217
- package/vendor/theus-arsenal/agents/explorador-codigo.md +0 -79
- package/vendor/theus-arsenal/agents/extractor-specs.md +0 -214
- package/vendor/theus-arsenal/agents/generador-harness.md +0 -139
- package/vendor/theus-arsenal/agents/guia-tdd.md +0 -99
- package/vendor/theus-arsenal/agents/jefe-de-gabinete.md +0 -162
- package/vendor/theus-arsenal/agents/limpiador-refactors.md +0 -93
- package/vendor/theus-arsenal/agents/optimizador-rendimiento.md +0 -454
- package/vendor/theus-arsenal/agents/planificador-harness.md +0 -107
- package/vendor/theus-arsenal/agents/planificador.md +0 -221
- package/vendor/theus-arsenal/agents/resolutor-apps-harmonyos.md +0 -181
- package/vendor/theus-arsenal/agents/resolutor-builds-cpp.md +0 -98
- package/vendor/theus-arsenal/agents/resolutor-builds-dart.md +0 -209
- package/vendor/theus-arsenal/agents/resolutor-builds-django.md +0 -253
- package/vendor/theus-arsenal/agents/resolutor-builds-go.md +0 -102
- package/vendor/theus-arsenal/agents/resolutor-builds-java.md +0 -274
- package/vendor/theus-arsenal/agents/resolutor-builds-kotlin.md +0 -128
- package/vendor/theus-arsenal/agents/resolutor-builds-pytorch.md +0 -128
- package/vendor/theus-arsenal/agents/resolutor-builds-react.md +0 -214
- package/vendor/theus-arsenal/agents/resolutor-builds-rust.md +0 -156
- package/vendor/theus-arsenal/agents/resolutor-builds-swift.md +0 -169
- package/vendor/theus-arsenal/agents/resolutor-builds.md +0 -122
- package/vendor/theus-arsenal/agents/revisor-bd.md +0 -97
- package/vendor/theus-arsenal/agents/revisor-codigo.md +0 -291
- package/vendor/theus-arsenal/agents/revisor-config-red.md +0 -116
- package/vendor/theus-arsenal/agents/revisor-cpp.md +0 -80
- package/vendor/theus-arsenal/agents/revisor-csharp.md +0 -109
- package/vendor/theus-arsenal/agents/revisor-django.md +0 -168
- package/vendor/theus-arsenal/agents/revisor-fastapi.md +0 -82
- package/vendor/theus-arsenal/agents/revisor-flutter.md +0 -251
- package/vendor/theus-arsenal/agents/revisor-go.md +0 -84
- package/vendor/theus-arsenal/agents/revisor-java.md +0 -192
- package/vendor/theus-arsenal/agents/revisor-kotlin.md +0 -171
- package/vendor/theus-arsenal/agents/revisor-ml.md +0 -159
- package/vendor/theus-arsenal/agents/revisor-php.md +0 -108
- package/vendor/theus-arsenal/agents/revisor-python.md +0 -106
- package/vendor/theus-arsenal/agents/revisor-react.md +0 -166
- package/vendor/theus-arsenal/agents/revisor-rust.md +0 -102
- package/vendor/theus-arsenal/agents/revisor-seguridad.md +0 -116
- package/vendor/theus-arsenal/agents/revisor-software-clinico.md +0 -95
- package/vendor/theus-arsenal/agents/revisor-swift.md +0 -115
- package/vendor/theus-arsenal/agents/revisor-typescript.md +0 -123
- package/vendor/theus-arsenal/agents/revisor-vue.md +0 -205
- package/vendor/theus-arsenal/agents/simplificador-codigo.md +0 -55
- package/vendor/theus-arsenal/commands/actualizar-docs.md +0 -88
- package/vendor/theus-arsenal/commands/actualizar-mapas-codigo.md +0 -78
- package/vendor/theus-arsenal/commands/aprender-evaluar.md +0 -109
- package/vendor/theus-arsenal/commands/aprender.md +0 -74
- package/vendor/theus-arsenal/commands/arreglar-build.md +0 -66
- package/vendor/theus-arsenal/commands/bucle-multiperspectiva.md +0 -153
- package/vendor/theus-arsenal/commands/build-cpp.md +0 -173
- package/vendor/theus-arsenal/commands/build-flutter.md +0 -164
- package/vendor/theus-arsenal/commands/build-go.md +0 -183
- package/vendor/theus-arsenal/commands/build-gradle.md +0 -75
- package/vendor/theus-arsenal/commands/build-kotlin.md +0 -176
- package/vendor/theus-arsenal/commands/build-react.md +0 -187
- package/vendor/theus-arsenal/commands/build-rust.md +0 -187
- package/vendor/theus-arsenal/commands/campana-marketing.md +0 -125
- package/vendor/theus-arsenal/commands/checkpoint.md +0 -78
- package/vendor/theus-arsenal/commands/cobertura-tests.md +0 -73
- package/vendor/theus-arsenal/commands/configurar-gestor-paquetes.md +0 -86
- package/vendor/theus-arsenal/commands/consulta.md +0 -164
- package/vendor/theus-arsenal/commands/control-calidad.md +0 -50
- package/vendor/theus-arsenal/commands/crear-skill.md +0 -77
- package/vendor/theus-arsenal/commands/enrutar-modelo.md +0 -30
- package/vendor/theus-arsenal/commands/epica-desbloquear.md +0 -17
- package/vendor/theus-arsenal/commands/epica-descomponer.md +0 -22
- package/vendor/theus-arsenal/commands/epica-publicar.md +0 -21
- package/vendor/theus-arsenal/commands/epica-reclamar.md +0 -25
- package/vendor/theus-arsenal/commands/epica-revisar.md +0 -22
- package/vendor/theus-arsenal/commands/epica-sincronizar.md +0 -21
- package/vendor/theus-arsenal/commands/epica-validar.md +0 -21
- package/vendor/theus-arsenal/commands/evolucionar.md +0 -176
- package/vendor/theus-arsenal/commands/funcionalidad.md +0 -49
- package/vendor/theus-arsenal/commands/guardar-sesion.md +0 -278
- package/vendor/theus-arsenal/commands/harness-build.md +0 -111
- package/vendor/theus-arsenal/commands/harness-diseno.md +0 -46
- package/vendor/theus-arsenal/commands/informe-costos.md +0 -90
- package/vendor/theus-arsenal/commands/iniciar-bucle.md +0 -36
- package/vendor/theus-arsenal/commands/instintos-estado.md +0 -53
- package/vendor/theus-arsenal/commands/instintos-exportar.md +0 -69
- package/vendor/theus-arsenal/commands/instintos-importar.md +0 -120
- package/vendor/theus-arsenal/commands/lienzo-planes.md +0 -48
- package/vendor/theus-arsenal/commands/limpiar-refactor.md +0 -84
- package/vendor/theus-arsenal/commands/modo-seguro.md +0 -96
- package/vendor/theus-arsenal/commands/orq-agregar-funcionalidad.md +0 -36
- package/vendor/theus-arsenal/commands/orq-cambiar-funcionalidad.md +0 -38
- package/vendor/theus-arsenal/commands/orq-construir-mvp.md +0 -36
- package/vendor/theus-arsenal/commands/orq-corregir-defecto.md +0 -40
- package/vendor/theus-arsenal/commands/orq-refinar-codigo.md +0 -44
- package/vendor/theus-arsenal/commands/orq-revisar.md +0 -135
- package/vendor/theus-arsenal/commands/plan-prd.md +0 -160
- package/vendor/theus-arsenal/commands/plan.md +0 -198
- package/vendor/theus-arsenal/commands/podar.md +0 -31
- package/vendor/theus-arsenal/commands/pr.md +0 -181
- package/vendor/theus-arsenal/commands/promover.md +0 -41
- package/vendor/theus-arsenal/commands/proyectos.md +0 -33
- package/vendor/theus-arsenal/commands/prp-commit.md +0 -112
- package/vendor/theus-arsenal/commands/prp-implementar.md +0 -385
- package/vendor/theus-arsenal/commands/prp-planificar.md +0 -501
- package/vendor/theus-arsenal/commands/reanudar-sesion.md +0 -160
- package/vendor/theus-arsenal/commands/revisar-codigo.md +0 -289
- package/vendor/theus-arsenal/commands/revisar-cpp.md +0 -132
- package/vendor/theus-arsenal/commands/revisar-fastapi.md +0 -39
- package/vendor/theus-arsenal/commands/revisar-flutter.md +0 -115
- package/vendor/theus-arsenal/commands/revisar-go.md +0 -148
- package/vendor/theus-arsenal/commands/revisar-kotlin.md +0 -140
- package/vendor/theus-arsenal/commands/revisar-pr.md +0 -37
- package/vendor/theus-arsenal/commands/revisar-python.md +0 -297
- package/vendor/theus-arsenal/commands/revisar-react.md +0 -170
- package/vendor/theus-arsenal/commands/revisar-rust.md +0 -142
- package/vendor/theus-arsenal/commands/revisar-vue.md +0 -174
- package/vendor/theus-arsenal/commands/salud-skills.md +0 -52
- package/vendor/theus-arsenal/commands/sesiones.md +0 -345
- package/vendor/theus-arsenal/commands/test-cpp.md +0 -252
- package/vendor/theus-arsenal/commands/test-flutter.md +0 -143
- package/vendor/theus-arsenal/commands/test-go.md +0 -268
- package/vendor/theus-arsenal/commands/test-kotlin.md +0 -312
- package/vendor/theus-arsenal/commands/test-react.md +0 -265
- package/vendor/theus-arsenal/commands/test-rust.md +0 -309
- package/vendor/theus-arsenal/commands/vigilancia-canary.md +0 -43
- package/vendor/theus-arsenal/hooks/hooks.json +0 -274
- package/vendor/theus-arsenal/package.json +0 -6
- package/vendor/theus-arsenal/rules/angular/coding-style.md +0 -182
- package/vendor/theus-arsenal/rules/angular/hooks.md +0 -25
- package/vendor/theus-arsenal/rules/angular/patterns.md +0 -249
- package/vendor/theus-arsenal/rules/angular/security.md +0 -87
- package/vendor/theus-arsenal/rules/angular/testing.md +0 -164
- package/vendor/theus-arsenal/rules/arkts/coding-style.md +0 -153
- package/vendor/theus-arsenal/rules/arkts/hooks.md +0 -80
- package/vendor/theus-arsenal/rules/arkts/patterns.md +0 -236
- package/vendor/theus-arsenal/rules/arkts/security.md +0 -141
- package/vendor/theus-arsenal/rules/arkts/testing.md +0 -126
- package/vendor/theus-arsenal/rules/common/agents.md +0 -49
- package/vendor/theus-arsenal/rules/common/code-review.md +0 -123
- package/vendor/theus-arsenal/rules/common/coding-style.md +0 -90
- package/vendor/theus-arsenal/rules/common/development-workflow.md +0 -44
- package/vendor/theus-arsenal/rules/common/git-workflow.md +0 -24
- package/vendor/theus-arsenal/rules/common/hooks.md +0 -32
- package/vendor/theus-arsenal/rules/common/patterns.md +0 -31
- package/vendor/theus-arsenal/rules/common/performance.md +0 -53
- package/vendor/theus-arsenal/rules/common/security.md +0 -29
- package/vendor/theus-arsenal/rules/common/testing.md +0 -57
- package/vendor/theus-arsenal/rules/cpp/coding-style.md +0 -44
- package/vendor/theus-arsenal/rules/cpp/hooks.md +0 -39
- package/vendor/theus-arsenal/rules/cpp/patterns.md +0 -51
- package/vendor/theus-arsenal/rules/cpp/security.md +0 -51
- package/vendor/theus-arsenal/rules/cpp/testing.md +0 -44
- package/vendor/theus-arsenal/rules/csharp/coding-style.md +0 -72
- package/vendor/theus-arsenal/rules/csharp/hooks.md +0 -25
- package/vendor/theus-arsenal/rules/csharp/patterns.md +0 -50
- package/vendor/theus-arsenal/rules/csharp/security.md +0 -58
- package/vendor/theus-arsenal/rules/csharp/testing.md +0 -50
- package/vendor/theus-arsenal/rules/dart/coding-style.md +0 -159
- package/vendor/theus-arsenal/rules/dart/hooks.md +0 -68
- package/vendor/theus-arsenal/rules/dart/patterns.md +0 -261
- package/vendor/theus-arsenal/rules/dart/security.md +0 -135
- package/vendor/theus-arsenal/rules/dart/testing.md +0 -215
- package/vendor/theus-arsenal/rules/fsharp/coding-style.md +0 -112
- package/vendor/theus-arsenal/rules/fsharp/hooks.md +0 -26
- package/vendor/theus-arsenal/rules/fsharp/patterns.md +0 -111
- package/vendor/theus-arsenal/rules/fsharp/security.md +0 -76
- package/vendor/theus-arsenal/rules/fsharp/testing.md +0 -62
- package/vendor/theus-arsenal/rules/golang/coding-style.md +0 -32
- package/vendor/theus-arsenal/rules/golang/hooks.md +0 -17
- package/vendor/theus-arsenal/rules/golang/patterns.md +0 -45
- package/vendor/theus-arsenal/rules/golang/security.md +0 -34
- package/vendor/theus-arsenal/rules/golang/testing.md +0 -31
- package/vendor/theus-arsenal/rules/java/coding-style.md +0 -114
- package/vendor/theus-arsenal/rules/java/hooks.md +0 -18
- package/vendor/theus-arsenal/rules/java/patterns.md +0 -147
- package/vendor/theus-arsenal/rules/java/security.md +0 -101
- package/vendor/theus-arsenal/rules/java/testing.md +0 -133
- package/vendor/theus-arsenal/rules/kotlin/coding-style.md +0 -86
- package/vendor/theus-arsenal/rules/kotlin/hooks.md +0 -17
- package/vendor/theus-arsenal/rules/kotlin/patterns.md +0 -146
- package/vendor/theus-arsenal/rules/kotlin/security.md +0 -82
- package/vendor/theus-arsenal/rules/kotlin/testing.md +0 -128
- package/vendor/theus-arsenal/rules/nuxt/coding-style.md +0 -47
- package/vendor/theus-arsenal/rules/nuxt/hooks.md +0 -39
- package/vendor/theus-arsenal/rules/nuxt/patterns.md +0 -54
- package/vendor/theus-arsenal/rules/nuxt/security.md +0 -48
- package/vendor/theus-arsenal/rules/nuxt/testing.md +0 -49
- package/vendor/theus-arsenal/rules/php/coding-style.md +0 -40
- package/vendor/theus-arsenal/rules/php/hooks.md +0 -24
- package/vendor/theus-arsenal/rules/php/patterns.md +0 -33
- package/vendor/theus-arsenal/rules/php/security.md +0 -37
- package/vendor/theus-arsenal/rules/php/testing.md +0 -38
- package/vendor/theus-arsenal/rules/python/coding-style.md +0 -42
- package/vendor/theus-arsenal/rules/python/fastapi.md +0 -58
- package/vendor/theus-arsenal/rules/python/hooks.md +0 -19
- package/vendor/theus-arsenal/rules/python/patterns.md +0 -39
- package/vendor/theus-arsenal/rules/python/security.md +0 -30
- package/vendor/theus-arsenal/rules/python/testing.md +0 -38
- package/vendor/theus-arsenal/rules/react/coding-style.md +0 -109
- package/vendor/theus-arsenal/rules/react/hooks.md +0 -187
- package/vendor/theus-arsenal/rules/react/patterns.md +0 -194
- package/vendor/theus-arsenal/rules/react/security.md +0 -180
- package/vendor/theus-arsenal/rules/react/testing.md +0 -208
- package/vendor/theus-arsenal/rules/react-native/accessibility.md +0 -55
- package/vendor/theus-arsenal/rules/react-native/coding-style.md +0 -71
- package/vendor/theus-arsenal/rules/react-native/hooks.md +0 -28
- package/vendor/theus-arsenal/rules/react-native/patterns.md +0 -88
- package/vendor/theus-arsenal/rules/react-native/performance.md +0 -45
- package/vendor/theus-arsenal/rules/react-native/production-readiness.md +0 -51
- package/vendor/theus-arsenal/rules/react-native/security.md +0 -43
- package/vendor/theus-arsenal/rules/react-native/testing.md +0 -52
- package/vendor/theus-arsenal/rules/ruby/coding-style.md +0 -46
- package/vendor/theus-arsenal/rules/ruby/hooks.md +0 -37
- package/vendor/theus-arsenal/rules/ruby/patterns.md +0 -44
- package/vendor/theus-arsenal/rules/ruby/security.md +0 -51
- package/vendor/theus-arsenal/rules/ruby/testing.md +0 -51
- package/vendor/theus-arsenal/rules/rust/coding-style.md +0 -151
- package/vendor/theus-arsenal/rules/rust/hooks.md +0 -16
- package/vendor/theus-arsenal/rules/rust/patterns.md +0 -168
- package/vendor/theus-arsenal/rules/rust/security.md +0 -141
- package/vendor/theus-arsenal/rules/rust/testing.md +0 -154
- package/vendor/theus-arsenal/rules/swift/coding-style.md +0 -47
- package/vendor/theus-arsenal/rules/swift/hooks.md +0 -20
- package/vendor/theus-arsenal/rules/swift/patterns.md +0 -66
- package/vendor/theus-arsenal/rules/swift/security.md +0 -33
- package/vendor/theus-arsenal/rules/swift/testing.md +0 -45
- package/vendor/theus-arsenal/rules/typescript/coding-style.md +0 -199
- package/vendor/theus-arsenal/rules/typescript/hooks.md +0 -22
- package/vendor/theus-arsenal/rules/typescript/patterns.md +0 -52
- package/vendor/theus-arsenal/rules/typescript/security.md +0 -28
- package/vendor/theus-arsenal/rules/typescript/testing.md +0 -18
- package/vendor/theus-arsenal/rules/vue/coding-style.md +0 -54
- package/vendor/theus-arsenal/rules/vue/hooks.md +0 -45
- package/vendor/theus-arsenal/rules/vue/patterns.md +0 -56
- package/vendor/theus-arsenal/rules/vue/security.md +0 -46
- package/vendor/theus-arsenal/rules/vue/testing.md +0 -53
- package/vendor/theus-arsenal/rules/web/coding-style.md +0 -108
- package/vendor/theus-arsenal/rules/web/design-quality.md +0 -75
- package/vendor/theus-arsenal/rules/web/hooks.md +0 -141
- package/vendor/theus-arsenal/rules/web/patterns.md +0 -91
- package/vendor/theus-arsenal/rules/web/performance.md +0 -76
- package/vendor/theus-arsenal/rules/web/security.md +0 -69
- package/vendor/theus-arsenal/rules/web/testing.md +0 -67
- package/vendor/theus-arsenal/scripts/hooks/bash-hook-dispatcher.js +0 -192
- package/vendor/theus-arsenal/scripts/hooks/block-no-verify.js +0 -556
- package/vendor/theus-arsenal/scripts/hooks/check-console-log.js +0 -92
- package/vendor/theus-arsenal/scripts/hooks/check-hook-enabled.js +0 -16
- package/vendor/theus-arsenal/scripts/hooks/config-protection.js +0 -171
- package/vendor/theus-arsenal/scripts/hooks/design-quality-check.js +0 -132
- package/vendor/theus-arsenal/scripts/hooks/doc-file-warning.js +0 -110
- package/vendor/theus-arsenal/scripts/hooks/modo-seguro.js +0 -158
- package/vendor/theus-arsenal/scripts/hooks/notificacion-escritorio.js +0 -208
- package/vendor/theus-arsenal/scripts/hooks/plugin-hook-bootstrap.js +0 -280
- package/vendor/theus-arsenal/scripts/hooks/post-bash-command-log.js +0 -87
- package/vendor/theus-arsenal/scripts/hooks/post-bash-dispatcher.js +0 -24
- package/vendor/theus-arsenal/scripts/hooks/post-bash-pr-created.js +0 -60
- package/vendor/theus-arsenal/scripts/hooks/post-edit-accumulator.js +0 -94
- package/vendor/theus-arsenal/scripts/hooks/post-edit-console-warn.js +0 -54
- package/vendor/theus-arsenal/scripts/hooks/post-edit-format.js +0 -110
- package/vendor/theus-arsenal/scripts/hooks/post-edit-typecheck.js +0 -98
- package/vendor/theus-arsenal/scripts/hooks/pre-bash-commit-quality.js +0 -447
- package/vendor/theus-arsenal/scripts/hooks/pre-bash-dev-server-block.js +0 -232
- package/vendor/theus-arsenal/scripts/hooks/pre-bash-dispatcher.js +0 -27
- package/vendor/theus-arsenal/scripts/hooks/pre-compact.js +0 -101
- package/vendor/theus-arsenal/scripts/hooks/pretooluse-visible-output.js +0 -49
- package/vendor/theus-arsenal/scripts/hooks/quality-gate.js +0 -168
- package/vendor/theus-arsenal/scripts/hooks/run-with-flags.js +0 -271
- package/vendor/theus-arsenal/scripts/hooks/salud-mcp.js +0 -749
- package/vendor/theus-arsenal/scripts/hooks/seguimiento-costos.js +0 -161
- package/vendor/theus-arsenal/scripts/hooks/session-end.js +0 -340
- package/vendor/theus-arsenal/scripts/hooks/session-start.js +0 -906
- package/vendor/theus-arsenal/scripts/hooks/stop-format-typecheck.js +0 -263
- package/vendor/theus-arsenal/scripts/hooks/suggest-compact.js +0 -286
- package/vendor/theus-arsenal/scripts/hooks/theus-context-monitor.js +0 -289
- package/vendor/theus-arsenal/scripts/hooks/verificacion-factual.js +0 -1278
- package/vendor/theus-arsenal/scripts/lib/agent-data-home.js +0 -96
- package/vendor/theus-arsenal/scripts/lib/cost-estimate.js +0 -66
- package/vendor/theus-arsenal/scripts/lib/hook-flags.js +0 -79
- package/vendor/theus-arsenal/scripts/lib/llm-summary.js +0 -185
- package/vendor/theus-arsenal/scripts/lib/loopback-guard.js +0 -54
- package/vendor/theus-arsenal/scripts/lib/observer-sessions.js +0 -237
- package/vendor/theus-arsenal/scripts/lib/package-manager.d.ts +0 -120
- package/vendor/theus-arsenal/scripts/lib/package-manager.js +0 -434
- package/vendor/theus-arsenal/scripts/lib/path-safety.js +0 -86
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/markdown.js +0 -285
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/sdk.js +0 -238
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/server.js +0 -534
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/sessions.js +0 -274
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/ui.js +0 -546
- package/vendor/theus-arsenal/scripts/lib/project-detect.js +0 -451
- package/vendor/theus-arsenal/scripts/lib/resolve-formatter.js +0 -193
- package/vendor/theus-arsenal/scripts/lib/resolve-theus-root.js +0 -101
- package/vendor/theus-arsenal/scripts/lib/session-aliases.d.ts +0 -138
- package/vendor/theus-arsenal/scripts/lib/session-aliases.js +0 -483
- package/vendor/theus-arsenal/scripts/lib/session-bridge.js +0 -155
- package/vendor/theus-arsenal/scripts/lib/session-manager.d.ts +0 -137
- package/vendor/theus-arsenal/scripts/lib/session-manager.js +0 -555
- package/vendor/theus-arsenal/scripts/lib/shell-split.js +0 -86
- package/vendor/theus-arsenal/scripts/lib/shell-substitution.js +0 -501
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/dashboard.js +0 -414
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/health.js +0 -285
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/index.js +0 -22
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/provenance.js +0 -200
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/tracker.js +0 -157
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/versioning.js +0 -246
- package/vendor/theus-arsenal/scripts/lib/transcript-context.js +0 -232
- package/vendor/theus-arsenal/scripts/lib/utils.d.ts +0 -205
- package/vendor/theus-arsenal/scripts/lib/utils.js +0 -658
- package/vendor/theus-arsenal/scripts/plan-canvas.js +0 -341
- package/vendor/theus-arsenal/scripts/setup-package-manager.js +0 -46
- package/vendor/theus-arsenal/scripts/skills-health.js +0 -143
- package/vendor/theus-arsenal/skills/a11y-frontend/SKILL.md +0 -444
- package/vendor/theus-arsenal/skills/accesibilidad/SKILL.md +0 -144
- package/vendor/theus-arsenal/skills/acelerador-throughput-datos/SKILL.md +0 -72
- package/vendor/theus-arsenal/skills/agente-scraper-datos/SKILL.md +0 -771
- package/vendor/theus-arsenal/skills/analisis-plataformas-competencia/SKILL.md +0 -137
- package/vendor/theus-arsenal/skills/api-x/SKILL.md +0 -233
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/SKILL.md +0 -335
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/observer-loop.sh +0 -374
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/observer.md +0 -188
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/session-guardian.sh +0 -153
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/start-observer.sh +0 -253
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/config.json +0 -8
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/hooks/observe.sh +0 -594
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/detect-project.sh +0 -325
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/instinct-cli.py +0 -1918
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/lib/arsenal-dir.sh +0 -23
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/test_parse_instinct.py +0 -1420
- package/vendor/theus-arsenal/skills/arquitectura-hexagonal/SKILL.md +0 -275
- package/vendor/theus-arsenal/skills/arquitectura-limpia-android/SKILL.md +0 -340
- package/vendor/theus-arsenal/skills/arquitectura-pipelines-recomendacion/SKILL.md +0 -112
- package/vendor/theus-arsenal/skills/atlas-datos-prediccion/SKILL.md +0 -53
- package/vendor/theus-arsenal/skills/auditoria-arquitectura-agentes/SKILL.md +0 -257
- package/vendor/theus-arsenal/skills/auditoria-produccion/SKILL.md +0 -180
- package/vendor/theus-arsenal/skills/auditoria-rutas-clic/SKILL.md +0 -243
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/SKILL.md +0 -180
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/examples/high-score-example.md +0 -89
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/examples/low-score-example.md +0 -87
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/references/evaluation-criteria.md +0 -71
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/references/hook-integration.md +0 -90
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/scripts/evaluate.py +0 -409
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/templates/evaluation-report.md +0 -86
- package/vendor/theus-arsenal/skills/automatizacion-ssh-netmiko/SKILL.md +0 -176
- package/vendor/theus-arsenal/skills/base-datos-pubmed/SKILL.md +0 -174
- package/vendor/theus-arsenal/skills/base-datos-uspto/SKILL.md +0 -173
- package/vendor/theus-arsenal/skills/benchmark/SKILL.md +0 -92
- package/vendor/theus-arsenal/skills/bitacora-crecimiento/SKILL.md +0 -120
- package/vendor/theus-arsenal/skills/bucle-verificacion/SKILL.md +0 -125
- package/vendor/theus-arsenal/skills/buscar-primero/SKILL.md +0 -184
- package/vendor/theus-arsenal/skills/busqueda-exa/SKILL.md +0 -111
- package/vendor/theus-arsenal/skills/cache-por-hash/SKILL.md +0 -160
- package/vendor/theus-arsenal/skills/campana-marketing/SKILL.md +0 -118
- package/vendor/theus-arsenal/skills/capacidad-producto/SKILL.md +0 -138
- package/vendor/theus-arsenal/skills/cazador-vulnerabilidades/SKILL.md +0 -104
- package/vendor/theus-arsenal/skills/compactacion-estrategica/SKILL.md +0 -115
- package/vendor/theus-arsenal/skills/comparador-baskets-prediccion/SKILL.md +0 -69
- package/vendor/theus-arsenal/skills/compras-energia/SKILL.md +0 -206
- package/vendor/theus-arsenal/skills/concurrencia-swift-6-2/SKILL.md +0 -224
- package/vendor/theus-arsenal/skills/consejo/SKILL.md +0 -201
- package/vendor/theus-arsenal/skills/construccion-harness-agentes/SKILL.md +0 -78
- package/vendor/theus-arsenal/skills/constructor-conectores/SKILL.md +0 -119
- package/vendor/theus-arsenal/skills/constructor-equipos/SKILL.md +0 -169
- package/vendor/theus-arsenal/skills/consulta-documentacion/SKILL.md +0 -92
- package/vendor/theus-arsenal/skills/consultas-genomicas-gget/SKILL.md +0 -170
- package/vendor/theus-arsenal/skills/contacto-inversores/SKILL.md +0 -95
- package/vendor/theus-arsenal/skills/corrutinas-flows-kotlin/SKILL.md +0 -284
- package/vendor/theus-arsenal/skills/creacion-video-remotion/SKILL.md +0 -46
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/3d.md +0 -86
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/animations.md +0 -29
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/charts-bar-chart.tsx +0 -173
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/text-animations-typewriter.tsx +0 -100
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/text-animations-word-highlight.tsx +0 -108
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets.md +0 -78
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/audio.md +0 -172
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/calculate-metadata.md +0 -104
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/can-decode.md +0 -75
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/charts.md +0 -58
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/compositions.md +0 -146
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/display-captions.md +0 -126
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/extract-frames.md +0 -229
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/fonts.md +0 -152
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-audio-duration.md +0 -58
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-video-dimensions.md +0 -68
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-video-duration.md +0 -58
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/gifs.md +0 -138
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/images.md +0 -130
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/import-srt-captions.md +0 -67
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/lottie.md +0 -67
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/measuring-dom-nodes.md +0 -34
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/measuring-text.md +0 -143
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/sequencing.md +0 -106
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/tailwind.md +0 -11
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/text-animations.md +0 -20
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/timing.md +0 -179
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/transcribe-captions.md +0 -19
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/transitions.md +0 -122
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/trimming.md +0 -52
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/videos.md +0 -171
- package/vendor/theus-arsenal/skills/cumplimiento-aduanero/SKILL.md +0 -270
- package/vendor/theus-arsenal/skills/cumplimiento-hipaa/SKILL.md +0 -78
- package/vendor/theus-arsenal/skills/datos-sensibles-salud/SKILL.md +0 -149
- package/vendor/theus-arsenal/skills/decimales-tokens-evm/SKILL.md +0 -128
- package/vendor/theus-arsenal/skills/decisiones-arquitectura/SKILL.md +0 -206
- package/vendor/theus-arsenal/skills/demos-ui/SKILL.md +0 -469
- package/vendor/theus-arsenal/skills/desarrollo-por-intencion/SKILL.md +0 -369
- package/vendor/theus-arsenal/skills/descubrimiento-marca/SKILL.md +0 -149
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/10_proposito-porque.md +0 -42
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/20_posicionamiento.md +0 -47
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/30_audiencia-nicho.md +0 -53
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/40_personalidad-arquetipo.md +0 -61
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/50_voz-tono.md +0 -62
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/60_narrativa-historia.md +0 -54
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/70_tension-fundador.md +0 -50
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/90_SINTESIS.md +0 -133
- package/vendor/theus-arsenal/skills/descubrimiento-plugins-laravel/SKILL.md +0 -230
- package/vendor/theus-arsenal/skills/destilado-reglas/SKILL.md +0 -263
- package/vendor/theus-arsenal/skills/destilado-reglas/scripts/scan-rules.sh +0 -58
- package/vendor/theus-arsenal/skills/destilado-reglas/scripts/scan-skills.sh +0 -129
- package/vendor/theus-arsenal/skills/diagnostico-bgp/SKILL.md +0 -170
- package/vendor/theus-arsenal/skills/direccion-estetica/SKILL.md +0 -220
- package/vendor/theus-arsenal/skills/direccion-estetica/references/taxonomia-generos.md +0 -89
- package/vendor/theus-arsenal/skills/diseno-api/SKILL.md +0 -522
- package/vendor/theus-arsenal/skills/diseno-liquid-glass/SKILL.md +0 -282
- package/vendor/theus-arsenal/skills/e2e-escritorio-windows/SKILL.md +0 -879
- package/vendor/theus-arsenal/skills/edicion-video/SKILL.md +0 -289
- package/vendor/theus-arsenal/skills/enfoque-producto/SKILL.md +0 -91
- package/vendor/theus-arsenal/skills/entornos-flox/SKILL.md +0 -493
- package/vendor/theus-arsenal/skills/estandares-codigo/SKILL.md +0 -548
- package/vendor/theus-arsenal/skills/estandares-cpp/SKILL.md +0 -727
- package/vendor/theus-arsenal/skills/estandares-java/SKILL.md +0 -389
- package/vendor/theus-arsenal/skills/estilo-legado/SKILL.md +0 -149
- package/vendor/theus-arsenal/skills/estructura-informes-competencia/SKILL.md +0 -95
- package/vendor/theus-arsenal/skills/evaluacion-academica/SKILL.md +0 -165
- package/vendor/theus-arsenal/skills/explorador-skills/SKILL.md +0 -129
- package/vendor/theus-arsenal/skills/flujo-git/SKILL.md +0 -714
- package/vendor/theus-arsenal/skills/flujo-ingenieria-ml/SKILL.md +0 -343
- package/vendor/theus-arsenal/skills/flujo-tdd/SKILL.md +0 -584
- package/vendor/theus-arsenal/skills/forja-personas/SKILL.md +0 -298
- package/vendor/theus-arsenal/skills/forja-personas/gacha.py +0 -224
- package/vendor/theus-arsenal/skills/forja-personas/gacha.sh +0 -5
- package/vendor/theus-arsenal/skills/forja-personas/references/avatar-style.md +0 -123
- package/vendor/theus-arsenal/skills/forja-personas/references/boundary-rules.md +0 -53
- package/vendor/theus-arsenal/skills/forja-personas/references/error-handling.md +0 -53
- package/vendor/theus-arsenal/skills/forja-personas/references/identity-tension.md +0 -48
- package/vendor/theus-arsenal/skills/forja-personas/references/naming-system.md +0 -39
- package/vendor/theus-arsenal/skills/forja-personas/references/output-template.md +0 -166
- package/vendor/theus-arsenal/skills/fundamentos-animacion/SKILL.md +0 -296
- package/vendor/theus-arsenal/skills/generacion-iconos-ios/SKILL.md +0 -156
- package/vendor/theus-arsenal/skills/generacion-iconos-ios/scripts/generate_icons.swift +0 -258
- package/vendor/theus-arsenal/skills/generacion-iconos-ios/scripts/iconify_gen.sh +0 -235
- package/vendor/theus-arsenal/skills/gestion-excepciones-logisticas/SKILL.md +0 -208
- package/vendor/theus-arsenal/skills/gestion-transportistas/SKILL.md +0 -204
- package/vendor/theus-arsenal/skills/guia-adopcion-ml/SKILL.md +0 -64
- package/vendor/theus-arsenal/skills/harness-agente-autonomo/SKILL.md +0 -252
- package/vendor/theus-arsenal/skills/harness-eval-clinico/SKILL.md +0 -212
- package/vendor/theus-arsenal/skills/harness-evaluacion/SKILL.md +0 -296
- package/vendor/theus-arsenal/skills/harness-generador-evaluador/SKILL.md +0 -254
- package/vendor/theus-arsenal/skills/homelab-diseno-red/SKILL.md +0 -120
- package/vendor/theus-arsenal/skills/homelab-dns-pihole/SKILL.md +0 -264
- package/vendor/theus-arsenal/skills/homelab-preparacion-red/SKILL.md +0 -144
- package/vendor/theus-arsenal/skills/homelab-segmentacion-vlan/SKILL.md +0 -307
- package/vendor/theus-arsenal/skills/homelab-vpn-wireguard/SKILL.md +0 -299
- package/vendor/theus-arsenal/skills/ingenieria-agentica/SKILL.md +0 -96
- package/vendor/theus-arsenal/skills/inspeccion-animaciones-blender/SKILL.md +0 -164
- package/vendor/theus-arsenal/skills/instaladores-python/SKILL.md +0 -820
- package/vendor/theus-arsenal/skills/integracion-jira/SKILL.md +0 -307
- package/vendor/theus-arsenal/skills/inteligencia-leads/SKILL.md +0 -312
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/agente-enriquecimiento.md +0 -87
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/mapeador-mutuos.md +0 -76
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/puntuador-senales.md +0 -60
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/redactor-outreach.md +0 -102
- package/vendor/theus-arsenal/skills/inteligencia-mercados-prediccion/SKILL.md +0 -53
- package/vendor/theus-arsenal/skills/introspeccion-agente/SKILL.md +0 -150
- package/vendor/theus-arsenal/skills/inventario-skills/SKILL.md +0 -194
- package/vendor/theus-arsenal/skills/inventario-skills/scripts/quick-diff.sh +0 -87
- package/vendor/theus-arsenal/skills/inventario-skills/scripts/save-results.sh +0 -57
- package/vendor/theus-arsenal/skills/inventario-skills/scripts/scan.sh +0 -170
- package/vendor/theus-arsenal/skills/investigacion-mercado/SKILL.md +0 -87
- package/vendor/theus-arsenal/skills/investigacion-oraculos-prediccion/SKILL.md +0 -59
- package/vendor/theus-arsenal/skills/investigacion-profunda/SKILL.md +0 -161
- package/vendor/theus-arsenal/skills/keccak256-nodejs/SKILL.md +0 -100
- package/vendor/theus-arsenal/skills/libro-decisiones-recursivo/SKILL.md +0 -82
- package/vendor/theus-arsenal/skills/lienzo-planes/SKILL.md +0 -111
- package/vendor/theus-arsenal/skills/limpieza-configuracion/SKILL.md +0 -116
- package/vendor/theus-arsenal/skills/logistica-inversa-devoluciones/SKILL.md +0 -241
- package/vendor/theus-arsenal/skills/manejo-errores/SKILL.md +0 -375
- package/vendor/theus-arsenal/skills/materiales-inversores/SKILL.md +0 -101
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/SKILL.md +0 -170
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/forget.mjs +0 -44
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/info.mjs +0 -24
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/init.mjs +0 -152
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/list.mjs +0 -40
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/migrate.mjs +0 -214
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/resume.mjs +0 -36
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/save.mjs +0 -210
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/shared.mjs +0 -402
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/hooks/session-start.mjs +0 -238
- package/vendor/theus-arsenal/skills/metodologia-benchmarks/SKILL.md +0 -131
- package/vendor/theus-arsenal/skills/migraciones-bd/SKILL.md +0 -430
- package/vendor/theus-arsenal/skills/modelos-fundacionales-en-dispositivo/SKILL.md +0 -244
- package/vendor/theus-arsenal/skills/modo-seguro/SKILL.md +0 -86
- package/vendor/theus-arsenal/skills/motion-avanzado/SKILL.md +0 -592
- package/vendor/theus-arsenal/skills/motor-de-contenido/SKILL.md +0 -136
- package/vendor/theus-arsenal/skills/no-conformidades-calidad/SKILL.md +0 -249
- package/vendor/theus-arsenal/skills/onboarding-codigo/SKILL.md +0 -244
- package/vendor/theus-arsenal/skills/operaciones-agentes-empresariales/SKILL.md +0 -51
- package/vendor/theus-arsenal/skills/operaciones-conocimiento/SKILL.md +0 -159
- package/vendor/theus-arsenal/skills/operaciones-correo/SKILL.md +0 -123
- package/vendor/theus-arsenal/skills/operaciones-facturacion/SKILL.md +0 -142
- package/vendor/theus-arsenal/skills/operaciones-flujo-proyectos/SKILL.md +0 -110
- package/vendor/theus-arsenal/skills/operaciones-github/SKILL.md +0 -143
- package/vendor/theus-arsenal/skills/operaciones-google-workspace/SKILL.md +0 -100
- package/vendor/theus-arsenal/skills/operaciones-investigacion/SKILL.md +0 -124
- package/vendor/theus-arsenal/skills/operaciones-mensajes/SKILL.md +0 -103
- package/vendor/theus-arsenal/skills/operaciones-terminal/SKILL.md +0 -110
- package/vendor/theus-arsenal/skills/optimizacion-benchmark/SKILL.md +0 -70
- package/vendor/theus-arsenal/skills/optimizacion-costos-llm/SKILL.md +0 -182
- package/vendor/theus-arsenal/skills/optimizador-conexiones/SKILL.md +0 -191
- package/vendor/theus-arsenal/skills/optimizador-paralelismo/SKILL.md +0 -75
- package/vendor/theus-arsenal/skills/optimizador-prompts/SKILL.md +0 -374
- package/vendor/theus-arsenal/skills/orq-agregar-funcionalidad/SKILL.md +0 -37
- package/vendor/theus-arsenal/skills/orq-cambiar-funcionalidad/SKILL.md +0 -36
- package/vendor/theus-arsenal/skills/orq-construir-mvp/SKILL.md +0 -38
- package/vendor/theus-arsenal/skills/orq-corregir-defecto/SKILL.md +0 -36
- package/vendor/theus-arsenal/skills/orq-pipeline/SKILL.md +0 -134
- package/vendor/theus-arsenal/skills/orq-refinar-codigo/SKILL.md +0 -49
- package/vendor/theus-arsenal/skills/orquestacion-equipos-agentes/SKILL.md +0 -117
- package/vendor/theus-arsenal/skills/pagos-agentes-x402/SKILL.md +0 -237
- package/vendor/theus-arsenal/skills/patrones-angular/SKILL.md +0 -153
- package/vendor/theus-arsenal/skills/patrones-angular/references/angular-animations.md +0 -160
- package/vendor/theus-arsenal/skills/patrones-angular/references/angular-aria.md +0 -410
- package/vendor/theus-arsenal/skills/patrones-angular/references/cli.md +0 -86
- package/vendor/theus-arsenal/skills/patrones-angular/references/component-harnesses.md +0 -59
- package/vendor/theus-arsenal/skills/patrones-angular/references/component-styling.md +0 -91
- package/vendor/theus-arsenal/skills/patrones-angular/references/components.md +0 -117
- package/vendor/theus-arsenal/skills/patrones-angular/references/creating-services.md +0 -97
- package/vendor/theus-arsenal/skills/patrones-angular/references/data-resolvers.md +0 -69
- package/vendor/theus-arsenal/skills/patrones-angular/references/define-routes.md +0 -67
- package/vendor/theus-arsenal/skills/patrones-angular/references/defining-providers.md +0 -72
- package/vendor/theus-arsenal/skills/patrones-angular/references/di-fundamentals.md +0 -120
- package/vendor/theus-arsenal/skills/patrones-angular/references/e2e-testing.md +0 -56
- package/vendor/theus-arsenal/skills/patrones-angular/references/effects.md +0 -83
- package/vendor/theus-arsenal/skills/patrones-angular/references/hierarchical-injectors.md +0 -43
- package/vendor/theus-arsenal/skills/patrones-angular/references/host-elements.md +0 -80
- package/vendor/theus-arsenal/skills/patrones-angular/references/injection-context.md +0 -63
- package/vendor/theus-arsenal/skills/patrones-angular/references/inputs.md +0 -101
- package/vendor/theus-arsenal/skills/patrones-angular/references/linked-signal.md +0 -59
- package/vendor/theus-arsenal/skills/patrones-angular/references/loading-strategies.md +0 -61
- package/vendor/theus-arsenal/skills/patrones-angular/references/mcp.md +0 -67
- package/vendor/theus-arsenal/skills/patrones-angular/references/navigate-to-routes.md +0 -69
- package/vendor/theus-arsenal/skills/patrones-angular/references/outputs.md +0 -86
- package/vendor/theus-arsenal/skills/patrones-angular/references/reactive-forms.md +0 -122
- package/vendor/theus-arsenal/skills/patrones-angular/references/rendering-strategies.md +0 -44
- package/vendor/theus-arsenal/skills/patrones-angular/references/resource.md +0 -77
- package/vendor/theus-arsenal/skills/patrones-angular/references/route-animations.md +0 -56
- package/vendor/theus-arsenal/skills/patrones-angular/references/route-guards.md +0 -52
- package/vendor/theus-arsenal/skills/patrones-angular/references/router-lifecycle.md +0 -45
- package/vendor/theus-arsenal/skills/patrones-angular/references/router-testing.md +0 -87
- package/vendor/theus-arsenal/skills/patrones-angular/references/show-routes-with-outlets.md +0 -68
- package/vendor/theus-arsenal/skills/patrones-angular/references/signal-forms.md +0 -795
- package/vendor/theus-arsenal/skills/patrones-angular/references/signals-overview.md +0 -94
- package/vendor/theus-arsenal/skills/patrones-angular/references/tailwind-css.md +0 -69
- package/vendor/theus-arsenal/skills/patrones-angular/references/template-driven-forms.md +0 -114
- package/vendor/theus-arsenal/skills/patrones-angular/references/testing-fundamentals.md +0 -65
- package/vendor/theus-arsenal/skills/patrones-animacion/SKILL.md +0 -432
- package/vendor/theus-arsenal/skills/patrones-backend/SKILL.md +0 -560
- package/vendor/theus-arsenal/skills/patrones-cdss-clinico/SKILL.md +0 -249
- package/vendor/theus-arsenal/skills/patrones-cisco-ios/SKILL.md +0 -148
- package/vendor/theus-arsenal/skills/patrones-clickhouse/SKILL.md +0 -443
- package/vendor/theus-arsenal/skills/patrones-compose-multiplatform/SKILL.md +0 -298
- package/vendor/theus-arsenal/skills/patrones-dart-flutter/SKILL.md +0 -566
- package/vendor/theus-arsenal/skills/patrones-despliegue/SKILL.md +0 -426
- package/vendor/theus-arsenal/skills/patrones-django/SKILL.md +0 -739
- package/vendor/theus-arsenal/skills/patrones-django-celery/SKILL.md +0 -456
- package/vendor/theus-arsenal/skills/patrones-docker/SKILL.md +0 -363
- package/vendor/theus-arsenal/skills/patrones-dotnet/SKILL.md +0 -321
- package/vendor/theus-arsenal/skills/patrones-emr-clinico/SKILL.md +0 -168
- package/vendor/theus-arsenal/skills/patrones-fastapi/SKILL.md +0 -513
- package/vendor/theus-arsenal/skills/patrones-frontend/SKILL.md +0 -655
- package/vendor/theus-arsenal/skills/patrones-go/SKILL.md +0 -674
- package/vendor/theus-arsenal/skills/patrones-jpa/SKILL.md +0 -156
- package/vendor/theus-arsenal/skills/patrones-kotlin/SKILL.md +0 -717
- package/vendor/theus-arsenal/skills/patrones-kotlin-exposed/SKILL.md +0 -724
- package/vendor/theus-arsenal/skills/patrones-kotlin-ktor/SKILL.md +0 -694
- package/vendor/theus-arsenal/skills/patrones-kubernetes/SKILL.md +0 -754
- package/vendor/theus-arsenal/skills/patrones-laravel/SKILL.md +0 -414
- package/vendor/theus-arsenal/skills/patrones-mcp/SKILL.md +0 -66
- package/vendor/theus-arsenal/skills/patrones-mysql/SKILL.md +0 -420
- package/vendor/theus-arsenal/skills/patrones-nestjs/SKILL.md +0 -229
- package/vendor/theus-arsenal/skills/patrones-nextjs/SKILL.md +0 -56
- package/vendor/theus-arsenal/skills/patrones-nuxt4/SKILL.md +0 -99
- package/vendor/theus-arsenal/skills/patrones-perl/SKILL.md +0 -508
- package/vendor/theus-arsenal/skills/patrones-postgres/SKILL.md +0 -141
- package/vendor/theus-arsenal/skills/patrones-prisma/SKILL.md +0 -399
- package/vendor/theus-arsenal/skills/patrones-python/SKILL.md +0 -750
- package/vendor/theus-arsenal/skills/patrones-pytorch/SKILL.md +0 -400
- package/vendor/theus-arsenal/skills/patrones-quarkus/SKILL.md +0 -729
- package/vendor/theus-arsenal/skills/patrones-react/SKILL.md +0 -339
- package/vendor/theus-arsenal/skills/patrones-react-native/SKILL.md +0 -325
- package/vendor/theus-arsenal/skills/patrones-redis/SKILL.md +0 -401
- package/vendor/theus-arsenal/skills/patrones-rust/SKILL.md +0 -504
- package/vendor/theus-arsenal/skills/patrones-springboot/SKILL.md +0 -314
- package/vendor/theus-arsenal/skills/patrones-swiftui/SKILL.md +0 -261
- package/vendor/theus-arsenal/skills/patrones-tinystruct/SKILL.md +0 -281
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/architecture.md +0 -90
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/data-handling.md +0 -60
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/database.md +0 -99
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/routing.md +0 -64
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/system-usage.md +0 -97
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/testing.md +0 -72
- package/vendor/theus-arsenal/skills/patrones-vite/SKILL.md +0 -449
- package/vendor/theus-arsenal/skills/patrones-vue/SKILL.md +0 -469
- package/vendor/theus-arsenal/skills/persistencia-actores-swift/SKILL.md +0 -148
- package/vendor/theus-arsenal/skills/pipeline-opensource/SKILL.md +0 -254
- package/vendor/theus-arsenal/skills/planificacion-demanda-inventario/SKILL.md +0 -236
- package/vendor/theus-arsenal/skills/planificador-trades-prediccion/SKILL.md +0 -60
- package/vendor/theus-arsenal/skills/plano-tecnico/SKILL.md +0 -102
- package/vendor/theus-arsenal/skills/presentaciones-html/SKILL.md +0 -189
- package/vendor/theus-arsenal/skills/presentaciones-html/STYLE_PRESETS.md +0 -330
- package/vendor/theus-arsenal/skills/presentaciones-html/animation-patterns.md +0 -122
- package/vendor/theus-arsenal/skills/presentaciones-html/html-template.md +0 -419
- package/vendor/theus-arsenal/skills/presentaciones-html/scripts/export-pdf.sh +0 -418
- package/vendor/theus-arsenal/skills/presentaciones-html/scripts/extract-pptx.py +0 -96
- package/vendor/theus-arsenal/skills/presentaciones-html/viewport-base.css +0 -153
- package/vendor/theus-arsenal/skills/presupuesto-contexto/SKILL.md +0 -263
- package/vendor/theus-arsenal/skills/procesamiento-documentos-nutrient/SKILL.md +0 -168
- package/vendor/theus-arsenal/skills/programacion-produccion/SKILL.md +0 -220
- package/vendor/theus-arsenal/skills/publicacion-cruzada/SKILL.md +0 -117
- package/vendor/theus-arsenal/skills/publicador-social/SKILL.md +0 -121
- package/vendor/theus-arsenal/skills/puerta-de-entrega/SKILL.md +0 -164
- package/vendor/theus-arsenal/skills/puerta-de-entrega/hooks/puerta-entrega.py +0 -242
- package/vendor/theus-arsenal/skills/pulir-interfaces/SKILL.md +0 -126
- package/vendor/theus-arsenal/skills/qa-navegador/SKILL.md +0 -103
- package/vendor/theus-arsenal/skills/ranking-grafo-social/SKILL.md +0 -153
- package/vendor/theus-arsenal/skills/recuperacion-iterativa/SKILL.md +0 -236
- package/vendor/theus-arsenal/skills/redaccion-articulos/SKILL.md +0 -81
- package/vendor/theus-arsenal/skills/regex-vs-llm/SKILL.md +0 -221
- package/vendor/theus-arsenal/skills/regresion-codigo-ia/SKILL.md +0 -388
- package/vendor/theus-arsenal/skills/rendimiento-react/SKILL.md +0 -567
- package/vendor/theus-arsenal/skills/revision-codigo-flutter-dart/SKILL.md +0 -442
- package/vendor/theus-arsenal/skills/revision-literatura-cientifica/SKILL.md +0 -191
- package/vendor/theus-arsenal/skills/revision-multiperspectiva/SKILL.md +0 -302
- package/vendor/theus-arsenal/skills/revision-riesgo-prediccion/SKILL.md +0 -56
- package/vendor/theus-arsenal/skills/revision-seguridad/SKILL.md +0 -505
- package/vendor/theus-arsenal/skills/revision-seguridad/cloud-infrastructure-security.md +0 -361
- package/vendor/theus-arsenal/skills/runtime-bun/SKILL.md +0 -83
- package/vendor/theus-arsenal/skills/salud-codigo-codescene/SKILL.md +0 -163
- package/vendor/theus-arsenal/skills/salud-interfaces-red/SKILL.md +0 -143
- package/vendor/theus-arsenal/skills/seguimiento-costos/SKILL.md +0 -122
- package/vendor/theus-arsenal/skills/seguridad-agentes-trading/SKILL.md +0 -145
- package/vendor/theus-arsenal/skills/seguridad-amm-defi/SKILL.md +0 -166
- package/vendor/theus-arsenal/skills/seguridad-django/SKILL.md +0 -648
- package/vendor/theus-arsenal/skills/seguridad-laravel/SKILL.md +0 -945
- package/vendor/theus-arsenal/skills/seguridad-perl/SKILL.md +0 -507
- package/vendor/theus-arsenal/skills/seguridad-quarkus/SKILL.md +0 -474
- package/vendor/theus-arsenal/skills/seguridad-springboot/SKILL.md +0 -279
- package/vendor/theus-arsenal/skills/seo/SKILL.md +0 -166
- package/vendor/theus-arsenal/skills/sistema-diseno/SKILL.md +0 -81
- package/vendor/theus-arsenal/skills/sistema-operativo-agentico/SKILL.md +0 -375
- package/vendor/theus-arsenal/skills/sistemas-latencia-critica/SKILL.md +0 -65
- package/vendor/theus-arsenal/skills/tdd-django/SKILL.md +0 -735
- package/vendor/theus-arsenal/skills/tdd-laravel/SKILL.md +0 -673
- package/vendor/theus-arsenal/skills/tdd-quarkus/SKILL.md +0 -817
- package/vendor/theus-arsenal/skills/tdd-springboot/SKILL.md +0 -165
- package/vendor/theus-arsenal/skills/testing-cpp/SKILL.md +0 -328
- package/vendor/theus-arsenal/skills/testing-csharp/SKILL.md +0 -321
- package/vendor/theus-arsenal/skills/testing-e2e/SKILL.md +0 -325
- package/vendor/theus-arsenal/skills/testing-go/SKILL.md +0 -719
- package/vendor/theus-arsenal/skills/testing-kotlin/SKILL.md +0 -829
- package/vendor/theus-arsenal/skills/testing-perl/SKILL.md +0 -479
- package/vendor/theus-arsenal/skills/testing-protocolos-di-swift/SKILL.md +0 -196
- package/vendor/theus-arsenal/skills/testing-python/SKILL.md +0 -815
- package/vendor/theus-arsenal/skills/testing-react/SKILL.md +0 -421
- package/vendor/theus-arsenal/skills/testing-rust/SKILL.md +0 -506
- package/vendor/theus-arsenal/skills/tours-de-codigo/SKILL.md +0 -252
- package/vendor/theus-arsenal/skills/traduccion-documentos-visado/SKILL.md +0 -121
- package/vendor/theus-arsenal/skills/ui-a-vue/SKILL.md +0 -141
- package/vendor/theus-arsenal/skills/validacion-config-red/SKILL.md +0 -211
- package/vendor/theus-arsenal/skills/verificacion-django/SKILL.md +0 -470
- package/vendor/theus-arsenal/skills/verificacion-factual/SKILL.md +0 -142
- package/vendor/theus-arsenal/skills/verificacion-laravel/SKILL.md +0 -184
- package/vendor/theus-arsenal/skills/verificacion-quarkus/SKILL.md +0 -485
- package/vendor/theus-arsenal/skills/verificacion-springboot/SKILL.md +0 -237
- package/vendor/theus-arsenal/skills/videodb/SKILL.md +0 -374
- package/vendor/theus-arsenal/skills/videodb/reference/api-reference.md +0 -550
- package/vendor/theus-arsenal/skills/videodb/reference/capture-reference.md +0 -407
- package/vendor/theus-arsenal/skills/videodb/reference/capture.md +0 -101
- package/vendor/theus-arsenal/skills/videodb/reference/editor.md +0 -443
- package/vendor/theus-arsenal/skills/videodb/reference/generative.md +0 -331
- package/vendor/theus-arsenal/skills/videodb/reference/rtstream-reference.md +0 -564
- package/vendor/theus-arsenal/skills/videodb/reference/rtstream.md +0 -65
- package/vendor/theus-arsenal/skills/videodb/reference/search.md +0 -230
- package/vendor/theus-arsenal/skills/videodb/reference/streaming.md +0 -406
- package/vendor/theus-arsenal/skills/videodb/reference/use-cases.md +0 -118
- package/vendor/theus-arsenal/skills/videodb/scripts/ws_listener.py +0 -279
- package/vendor/theus-arsenal/skills/videos-manim/SKILL.md +0 -91
- package/vendor/theus-arsenal/skills/videos-manim/assets/network_graph_scene.py +0 -52
- package/vendor/theus-arsenal/skills/vigilancia-canary/SKILL.md +0 -108
- package/vendor/theus-arsenal/skills/voz-de-marca/SKILL.md +0 -106
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
# Integración con hooks para autoevaluación al cierre de sesión
|
|
2
|
-
|
|
3
|
-
Añade este hook a tu `hooks/hooks.json` para recordar al agente que se autoevalúe al final de cada respuesta mediante el evento `Stop` (el hook emite un recordatorio; no ejecuta el evaluador automáticamente):
|
|
4
|
-
|
|
5
|
-
```json
|
|
6
|
-
{
|
|
7
|
-
"hooks": {
|
|
8
|
-
"Stop": [
|
|
9
|
-
{
|
|
10
|
-
"hooks": [
|
|
11
|
-
{
|
|
12
|
-
"type": "command",
|
|
13
|
-
"command": "echo '[Autoevaluación] Sesión completada. Considera ejecutar autoevaluacion-agente para calificar tu salida.'"
|
|
14
|
-
}
|
|
15
|
-
],
|
|
16
|
-
"description": "Recordar al agente autoevaluarse al final de la sesión"
|
|
17
|
-
}
|
|
18
|
-
]
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Los eventos `Stop` no requieren un campo `matcher` (es opcional para `Stop`). Si se omite, el objeto del hook solo necesita `hooks` y metadatos como `description`.
|
|
24
|
-
|
|
25
|
-
## Qué recibe el hook de Stop en Theus
|
|
26
|
-
|
|
27
|
-
Los hooks de Theus reciben por stdin un JSON con `session_id`, `transcript_path`, `cwd` y `permission_mode`; el evento `Stop` añade además `stop_hook_active` y `last_assistant_message`. No existe ninguna variable de entorno con el id de sesión: lee siempre `session_id` del stdin. Por entorno, los hooks reciben `THEUS_PROJECT_DIR`, `THEUS_PLUGIN_ROOT` y `THEUS_PLUGIN_DATA` (directorio de datos del plugin — úsalo para cualquier estado persistente).
|
|
28
|
-
|
|
29
|
-
Semántica de salida: `exit 0` = ok, `exit 2` = bloquea con feedback; también se soporta responder con JSON `{"decision": "block", "reason": "..."}`.
|
|
30
|
-
|
|
31
|
-
## Integración con el evaluador de Python
|
|
32
|
-
|
|
33
|
-
El script `scripts/evaluate.py` puede usarse como herramienta independiente:
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
# Encauza la salida del agente directamente
|
|
37
|
-
echo "Aquí la respuesta de tu agente" | python3 skills/autoevaluacion-agente/scripts/evaluate.py
|
|
38
|
-
|
|
39
|
-
# Desde archivos
|
|
40
|
-
python3 skills/autoevaluacion-agente/scripts/evaluate.py --task tarea.txt --output respuesta.txt
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Para integrarlo en un hook de `Stop`, aprovecha que el stdin ya trae `last_assistant_message`: extrae ese campo y pásalo al evaluador, guardando el informe en `THEUS_PLUGIN_DATA` (no en el proyecto):
|
|
44
|
-
|
|
45
|
-
```json
|
|
46
|
-
{
|
|
47
|
-
"hooks": {
|
|
48
|
-
"Stop": [
|
|
49
|
-
{
|
|
50
|
-
"hooks": [
|
|
51
|
-
{
|
|
52
|
-
"type": "command",
|
|
53
|
-
"command": "python3 -c \"import sys,json,subprocess,os; d=json.load(sys.stdin); m=d.get('last_assistant_message',''); p=os.environ.get('THEUS_PLUGIN_ROOT','.'); r=subprocess.run(['python3', p+'/skills/autoevaluacion-agente/scripts/evaluate.py'], input=m, capture_output=True, text=True); out=os.environ.get('THEUS_PLUGIN_DATA','.'); open(out+'/autoeval-'+d.get('session_id','sin-sesion')+'.txt','w').write(r.stdout)\""
|
|
54
|
-
}
|
|
55
|
-
],
|
|
56
|
-
"description": "Evaluar la última respuesta del agente al cierre y guardar el informe en los datos del plugin"
|
|
57
|
-
}
|
|
58
|
-
]
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Para recordatorios ligeros después de una verificación por shell, usa un matcher soportado simple:
|
|
64
|
-
|
|
65
|
-
```json
|
|
66
|
-
{
|
|
67
|
-
"hooks": {
|
|
68
|
-
"PostToolUse": [
|
|
69
|
-
{
|
|
70
|
-
"matcher": "Bash",
|
|
71
|
-
"hooks": [
|
|
72
|
-
{
|
|
73
|
-
"type": "command",
|
|
74
|
-
"command": "echo '[Autoevaluación] Si este comando completó la verificación de una tarea no trivial, considera ejecutar autoevaluacion-agente.'"
|
|
75
|
-
}
|
|
76
|
-
],
|
|
77
|
-
"description": "Recordar al agente autoevaluarse tras una verificación por shell"
|
|
78
|
-
}
|
|
79
|
-
]
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
Esto evita documentar sintaxis de matchers por expresión de comando no soportada. Si tu arnés soporta expresiones de matcher a nivel de comando, prefiere una regex con límites de palabra como `\b(pytest|npm test|go test)\b` en lugar de una subcadena amplia como `test`.
|
|
85
|
-
|
|
86
|
-
Estos hooks son opcionales (opt-in). Añádelos a tu `hooks/hooks.json` local si quieres recordatorios de evaluación automatizados.
|
|
87
|
-
|
|
88
|
-
## Uso manual (recomendado)
|
|
89
|
-
|
|
90
|
-
El enfoque más fiable es la invocación manual: el agente ejecuta la autoevaluación como parte de su flujo de trabajo cuando la skill `autoevaluacion-agente` está activa, sin requerir configuración de hooks. La sección "Cuándo activarla" de la skill ya cubre las condiciones de disparo (cambios multi-archivo, sesiones de depuración, documentos de diseño).
|
|
@@ -1,409 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""Evaluador independiente de salidas de agente usando la rúbrica de 5 ejes.
|
|
3
|
-
|
|
4
|
-
Lee una descripción de tarea y la salida del agente desde stdin o archivos,
|
|
5
|
-
puntúa cada eje e imprime un informe de evaluación estructurado.
|
|
6
|
-
|
|
7
|
-
Uso:
|
|
8
|
-
# Encauzar la salida directamente
|
|
9
|
-
echo "Tarea: añadir lógica de reintentos" | evaluate.py --output respuesta.txt
|
|
10
|
-
|
|
11
|
-
# Desde archivos
|
|
12
|
-
evaluate.py --task tarea.txt --output respuesta.txt
|
|
13
|
-
|
|
14
|
-
# Interactivo (pide la tarea por prompt, lee la salida de stdin)
|
|
15
|
-
evaluate.py --interactive
|
|
16
|
-
|
|
17
|
-
El evaluador usa heurísticas de palabras clave + comprobaciones estructurales
|
|
18
|
-
como primera pasada (las señales se detectan en español y en inglés).
|
|
19
|
-
Para uso en producción, combínalo con un juez LLM para comprensión semántica.
|
|
20
|
-
"""
|
|
21
|
-
|
|
22
|
-
import argparse
|
|
23
|
-
import re
|
|
24
|
-
import sys
|
|
25
|
-
from dataclasses import dataclass, field
|
|
26
|
-
from typing import Optional
|
|
27
|
-
|
|
28
|
-
# Umbrales ajustables para las heurísticas de evaluación
|
|
29
|
-
WALL_OF_TEXT_WORDS = 200
|
|
30
|
-
SUMMARY_CHECK_WORDS = 300
|
|
31
|
-
SUMMARY_CHECK_FIRST_N = 100
|
|
32
|
-
TASK_OUTPUT_RATIO_HIGH = 15
|
|
33
|
-
TASK_OUTPUT_RATIO_MEDIUM = 8
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
@dataclass
|
|
37
|
-
class AxisScore:
|
|
38
|
-
name: str
|
|
39
|
-
score: int
|
|
40
|
-
evidence: list[str] = field(default_factory=list)
|
|
41
|
-
improvement: Optional[str] = None
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
def count_words(text: str) -> int:
|
|
45
|
-
return len(text.split())
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
def check_accuracy(text: str) -> AxisScore:
|
|
49
|
-
"""Busca afirmaciones verificables, referencias a salida de herramientas y señales de error."""
|
|
50
|
-
evidence = []
|
|
51
|
-
deductions = 0
|
|
52
|
-
score = 5
|
|
53
|
-
|
|
54
|
-
# Señales positivas: afirmaciones verificadas
|
|
55
|
-
verified_patterns = [
|
|
56
|
-
(r"(?i)(tests?\s+pass|all\s+tests?\s+passing|\d+\s+passed|tests?\s+pasan|todos\s+los\s+tests?\s+pasan)", "Tests en verde"),
|
|
57
|
-
(r"(?i)(exit\s+code\s*[:=]?\s*0|exited\s+with\s+0|c[oó]digo\s+de\s+salida\s*[:=]?\s*0)", "Código de salida limpio"),
|
|
58
|
-
(r"(?i)(lint.*clean|no\s+lint\s+errors|0\s+errors|lint\s+limpio|sin\s+errores\s+de\s+lint|0\s+errores)", "Lint limpio"),
|
|
59
|
-
(r"(?i)(verified|confirmed|validated)\s+(with|against|using|by)|(verificad[oa]|confirmad[oa]|validad[oa])\s+(con|contra|usando|mediante)", "Verificación explícita"),
|
|
60
|
-
(r"(?i)(grep|rg)\s+.*\b(found|matched|returned|encontr[oó]|coincidi[oó]|devolvi[oó])", "Confirmado con grep"),
|
|
61
|
-
]
|
|
62
|
-
for pattern, label in verified_patterns:
|
|
63
|
-
if re.search(pattern, text):
|
|
64
|
-
evidence.append(f"+ {label}")
|
|
65
|
-
|
|
66
|
-
# Señales negativas: afirmaciones sin verificar
|
|
67
|
-
danger_patterns = [
|
|
68
|
-
(r"(?i)(should\s+work|probably\s+fine|should\s+be\s+ok|deber[ií]a\s+funcionar|probablemente\s+(est[eé]n?\s+bien|funcione))", "Afirmación con rodeos sin verificación"),
|
|
69
|
-
(r"(?i)(I\s+think|I\s+believe|I\s+assume|might\s+be|creo\s+que|supongo\s+que|asumo\s+que|podr[ií]a\s+ser)", "Especulación sin evidencia"),
|
|
70
|
-
(r"(?i)(untested|not\s+tested|haven'?t\s+tested|sin\s+probar|no\s+(est[aá]\s+)?probad[oa]|no\s+(lo\s+)?he\s+probado)", "Explícitamente sin probar"),
|
|
71
|
-
(r"(?i)(TODO|FIXME|HACK|WORKAROUND)", "TODO/FIXME sin resolver"),
|
|
72
|
-
]
|
|
73
|
-
for pattern, label in danger_patterns:
|
|
74
|
-
if re.search(pattern, text):
|
|
75
|
-
deductions += 1
|
|
76
|
-
evidence.append(f"- {label}")
|
|
77
|
-
|
|
78
|
-
if deductions >= 3:
|
|
79
|
-
score = 2
|
|
80
|
-
elif deductions == 2:
|
|
81
|
-
score = 3
|
|
82
|
-
elif deductions == 1:
|
|
83
|
-
score = 4
|
|
84
|
-
|
|
85
|
-
if not evidence:
|
|
86
|
-
evidence.append("Sin señales de verificación detectadas — la puntuación asume corrección")
|
|
87
|
-
|
|
88
|
-
result = AxisScore(name="Precisión", score=score, evidence=evidence)
|
|
89
|
-
if score < 5:
|
|
90
|
-
result.improvement = "Citar salidas de herramientas concretas (resultados de tests, códigos de salida, hallazgos de grep) para respaldar las afirmaciones"
|
|
91
|
-
return result
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
def check_completeness(text: str) -> AxisScore:
|
|
95
|
-
"""Busca cobertura de requisitos, casos límite y manejo de errores."""
|
|
96
|
-
evidence = []
|
|
97
|
-
score = 5
|
|
98
|
-
|
|
99
|
-
# Señales positivas
|
|
100
|
-
completeness_signals = [
|
|
101
|
-
(r"(?i)(edge\s*cases?|corner\s*cases?|casos?\s+l[ií]mite|casos?\s+borde)", "Casos límite atendidos"),
|
|
102
|
-
(r"(?i)(error\s*handling|exception\s*handling|try/except|try\s*{|manejo\s+de\s+(errores|excepciones))", "Manejo de errores presente"),
|
|
103
|
-
(r"(?i)(all\s+\w+\s+(methods|endpoints|routes)|todos?\s+los\s+(m[eé]todos|endpoints|rutas))", "Se afirma cobertura total"),
|
|
104
|
-
(r"(?i)(verification|verified\s+that|confirmed\s+that|verificaci[oó]n|se\s+verific[oó]\s+que|se\s+confirm[oó]\s+que)", "Paso de verificación presente"),
|
|
105
|
-
]
|
|
106
|
-
for pattern, label in completeness_signals:
|
|
107
|
-
if re.search(pattern, text):
|
|
108
|
-
evidence.append(f"+ {label}")
|
|
109
|
-
|
|
110
|
-
# Brechas
|
|
111
|
-
gap_signals = [
|
|
112
|
-
(r"(?i)(not\s+covered|not\s+handled|out\s+of\s+scope|no\s+cubiert[oa]|no\s+manejad[oa]|fuera\s+de\s+alcance)", "Brecha reconocida explícitamente"),
|
|
113
|
-
(r"(?i)(only\s+(works|handles|supports)\s+\w+|solo\s+(funciona|maneja|soporta)\s+\w+)", "Alcance limitado señalado"),
|
|
114
|
-
(r"(?i)(assume[sd]?\s+that|assuming\s+the|asum(e|iendo)\s+que|suponiendo\s+que)", "Suposición sin verificar"),
|
|
115
|
-
]
|
|
116
|
-
deductions = 0
|
|
117
|
-
for pattern, label in gap_signals:
|
|
118
|
-
if re.search(pattern, text):
|
|
119
|
-
deductions += 1
|
|
120
|
-
evidence.append(f"- {label}")
|
|
121
|
-
|
|
122
|
-
if deductions >= 2:
|
|
123
|
-
score = 3
|
|
124
|
-
elif deductions == 1:
|
|
125
|
-
score = 4
|
|
126
|
-
|
|
127
|
-
if not evidence:
|
|
128
|
-
evidence.append("Sin señales de completitud — no fue posible valorar la cobertura")
|
|
129
|
-
|
|
130
|
-
result = AxisScore(name="Completitud", score=score, evidence=evidence)
|
|
131
|
-
if score < 5:
|
|
132
|
-
result.improvement = "Listar lo que se cubrió Y lo que se excluyó intencionalmente, con su razonamiento"
|
|
133
|
-
return result
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
def _check_jargon(text: str) -> tuple[int, list[str]]:
|
|
137
|
-
"""Devuelve deducciones de claridad por jerga de dominio sin explicar."""
|
|
138
|
-
jargon = [
|
|
139
|
-
(r"\b(idempotent|idempotente|race condition|condici[oó]n de carrera|deadlock|interbloqueo|thundering herd)\b", "concurrencia"),
|
|
140
|
-
(r"\b(exponential backoff|backoff exponencial|circuit breaker|bulkhead)\b", "resiliencia"),
|
|
141
|
-
(r"\b(ACID|CAP|eventual consistency|consistencia eventual|linearizability|linealizabilidad)\b", "teoría de bases de datos"),
|
|
142
|
-
]
|
|
143
|
-
explanation_pattern = r"(?i)({domain}|means|refers to|i\.e\.|in other words|significa|se refiere a|es decir|en otras palabras)"
|
|
144
|
-
for pattern, domain in jargon:
|
|
145
|
-
has_term = re.search(pattern, text, re.IGNORECASE)
|
|
146
|
-
explains_term = re.search(explanation_pattern.format(domain=domain), text)
|
|
147
|
-
if has_term and not explains_term:
|
|
148
|
-
return 1, [f"- Término de dominio usado sin explicación ({domain})"]
|
|
149
|
-
return 0, []
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
def _check_summary(text: str) -> tuple[int, list[str]]:
|
|
153
|
-
"""Devuelve una deducción de claridad cuando una salida larga carece de resumen temprano."""
|
|
154
|
-
summary_terms = ["summary", "tldr", "overview", "in short", "resumen", "en resumen", "en corto", "en pocas palabras"]
|
|
155
|
-
has_early_summary = any(term in ' '.join(text.split()[:SUMMARY_CHECK_FIRST_N]).lower() for term in summary_terms)
|
|
156
|
-
if not has_early_summary and count_words(text) > SUMMARY_CHECK_WORDS:
|
|
157
|
-
return 1, ["- Sin resumen/TLDR en las primeras 100 palabras (el texto supera las 300)"]
|
|
158
|
-
return 0, []
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
def check_clarity(text: str) -> AxisScore:
|
|
162
|
-
"""Evalúa estructura, legibilidad y manejo de jerga."""
|
|
163
|
-
evidence = []
|
|
164
|
-
deductions = 0
|
|
165
|
-
|
|
166
|
-
if re.search(r"^#{1,3}\s+", text, re.MULTILINE):
|
|
167
|
-
evidence.append("+ Usa encabezados para estructurar")
|
|
168
|
-
if re.search(r"```", text):
|
|
169
|
-
evidence.append("+ Usa bloques de código")
|
|
170
|
-
if re.search(r"^\s*[-*]\s+", text, re.MULTILINE):
|
|
171
|
-
evidence.append("+ Usa viñetas")
|
|
172
|
-
|
|
173
|
-
for paragraph in [p for p in text.split("\n\n") if p.strip()]:
|
|
174
|
-
if count_words(paragraph) > WALL_OF_TEXT_WORDS:
|
|
175
|
-
deductions += 1
|
|
176
|
-
evidence.append("- Párrafo muro-de-texto (>200 palabras sin pausa)")
|
|
177
|
-
break
|
|
178
|
-
|
|
179
|
-
jargon_deductions, jargon_evidence = _check_jargon(text)
|
|
180
|
-
summary_deductions, summary_evidence = _check_summary(text)
|
|
181
|
-
deductions += jargon_deductions + summary_deductions
|
|
182
|
-
evidence.extend(jargon_evidence + summary_evidence)
|
|
183
|
-
|
|
184
|
-
if deductions >= 3:
|
|
185
|
-
score = 2
|
|
186
|
-
elif deductions == 2:
|
|
187
|
-
score = 3
|
|
188
|
-
elif deductions == 1:
|
|
189
|
-
score = 4
|
|
190
|
-
else:
|
|
191
|
-
score = 5
|
|
192
|
-
|
|
193
|
-
if not evidence:
|
|
194
|
-
evidence.append("+ Bien estructurado, sin problemas de claridad detectados")
|
|
195
|
-
|
|
196
|
-
result = AxisScore(name="Claridad", score=score, evidence=evidence)
|
|
197
|
-
if score < 5:
|
|
198
|
-
result.improvement = "Añadir encabezados, partir los párrafos largos y definir los términos de dominio en su primer uso"
|
|
199
|
-
return result
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
def check_actionability(text: str) -> AxisScore:
|
|
203
|
-
"""Comprueba si el usuario puede actuar sobre la salida de inmediato."""
|
|
204
|
-
evidence = []
|
|
205
|
-
score = 5
|
|
206
|
-
deductions = 0
|
|
207
|
-
|
|
208
|
-
# Señales positivas
|
|
209
|
-
actionable_signals = [
|
|
210
|
-
(r"(?i)(merge|PR|pull request).*?(created|ready|open|cread[oa]|list[oa]|abiert[oa])", "PR creado"),
|
|
211
|
-
(r"(?i)(run|execute|ejecuta(r)?|corre(r)?)\s+[`\"']?[\w./-]+", "Se da un comando de ejecución específico"),
|
|
212
|
-
(r"(?i)(next\s+steps?|follow[- ]up|what\s+to\s+do|pr[oó]ximos\s+pasos|siguientes\s+pasos|seguimiento)", "Se proporcionan próximos pasos"),
|
|
213
|
-
(r"(?i)(file\s+(created|written|modified|updated)\s+at|archivo\s+(creado|escrito|modificado|actualizado)\s+en)", "Se especifica la ruta del archivo"),
|
|
214
|
-
]
|
|
215
|
-
for pattern, label in actionable_signals:
|
|
216
|
-
if re.search(pattern, text):
|
|
217
|
-
evidence.append(f"+ {label}")
|
|
218
|
-
|
|
219
|
-
# Señales negativas
|
|
220
|
-
vague_signals = [
|
|
221
|
-
(r"(?i)(you\s+(should|could|might\s+want\s+to))\s+\w+|(deber[ií]as|podr[ií]as|tal\s+vez\s+quieras|querr[aá]s)\s+\w+", "Sugerencia vaga sin detalles concretos"),
|
|
222
|
-
(r"(?i)(consider|maybe|perhaps)\s+\w+ing|(considera|quiz[aá]s?|tal\s+vez)\s+\w+", "Sugerencia no comprometida"),
|
|
223
|
-
(r"(?i)(figure\s+out|look\s+into|investigate|averigua(r)?|indaga(r)?|investiga(r)?)\s", "Delega trabajo al usuario"),
|
|
224
|
-
]
|
|
225
|
-
for pattern, label in vague_signals:
|
|
226
|
-
if re.search(pattern, text):
|
|
227
|
-
deductions += 1
|
|
228
|
-
evidence.append(f"- {label}")
|
|
229
|
-
|
|
230
|
-
if deductions >= 3:
|
|
231
|
-
score = 2
|
|
232
|
-
elif deductions == 2:
|
|
233
|
-
score = 3
|
|
234
|
-
elif deductions == 1:
|
|
235
|
-
score = 4
|
|
236
|
-
|
|
237
|
-
if not evidence:
|
|
238
|
-
evidence.append("Sin señales de accionabilidad — el usuario podría tener que preguntar '¿y ahora qué?'")
|
|
239
|
-
|
|
240
|
-
result = AxisScore(name="Accionabilidad", score=score, evidence=evidence)
|
|
241
|
-
if score < 5:
|
|
242
|
-
result.improvement = "Terminar con una única acción clara: 'Haz merge de este PR', 'Ejecuta ./deploy.sh' o 'Revisa los 3 archivos modificados'"
|
|
243
|
-
return result
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
def check_conciseness(text: str, task: Optional[str] = None) -> AxisScore:
|
|
247
|
-
"""Busca redundancia, relleno y mide la densidad de información."""
|
|
248
|
-
evidence = []
|
|
249
|
-
score = 5
|
|
250
|
-
wc = count_words(text)
|
|
251
|
-
|
|
252
|
-
# Heurística: relación tarea/salida
|
|
253
|
-
if task:
|
|
254
|
-
task_wc = count_words(task)
|
|
255
|
-
ratio = wc / max(task_wc, 1)
|
|
256
|
-
if ratio > TASK_OUTPUT_RATIO_HIGH:
|
|
257
|
-
evidence.append(f"- La salida es {ratio:.0f}x más larga que la descripción de la tarea (relación alta)")
|
|
258
|
-
score = min(score, 3)
|
|
259
|
-
elif ratio > TASK_OUTPUT_RATIO_MEDIUM:
|
|
260
|
-
evidence.append(f"- La salida es {ratio:.0f}x más larga que la descripción de la tarea")
|
|
261
|
-
score = min(score, 4)
|
|
262
|
-
|
|
263
|
-
# Señales de redundancia
|
|
264
|
-
redundancy_checks = [
|
|
265
|
-
(r"(?i)(as\s+(I|we)\s+(mentioned|said|noted|discussed)\s+(earlier|above|before)|como\s+(mencion[eé]|dije|se[nñ]al[eé]|coment[eé])\s+(antes|arriba|anteriormente))",
|
|
266
|
-
"Remite a una afirmación anterior (posible repetición)"),
|
|
267
|
-
(r"(?i)(to\s+summarize|in\s+summary|in\s+conclusion|to\s+conclude|para\s+resumir|en\s+resumen|en\s+conclusi[oó]n|para\s+concluir)",
|
|
268
|
-
"Tiene resumen explícito (bueno si hace falta, señal si es redundante)"),
|
|
269
|
-
(r"(?i)(let\s+me\s+(explain|break\s+this\s+down|walk\s+you\s+through)|d[eé]jame\s+(explicar|desglosarlo)|perm[ií]teme\s+explicar)",
|
|
270
|
-
"El meta-comentario añade palabras sin información"),
|
|
271
|
-
]
|
|
272
|
-
redundant_count = 0
|
|
273
|
-
for pattern, label in redundancy_checks:
|
|
274
|
-
matches = re.findall(pattern, text)
|
|
275
|
-
if len(matches) > 2:
|
|
276
|
-
redundant_count += 1
|
|
277
|
-
evidence.append(f"- '{label}' aparece {len(matches)} veces")
|
|
278
|
-
|
|
279
|
-
if redundant_count >= 2:
|
|
280
|
-
score = min(score, 3)
|
|
281
|
-
elif redundant_count == 1:
|
|
282
|
-
score = min(score, 4)
|
|
283
|
-
|
|
284
|
-
if not evidence and score == 5:
|
|
285
|
-
evidence.append("+ Sin redundancia detectada. La densidad de información parece buena.")
|
|
286
|
-
|
|
287
|
-
result = AxisScore(name="Concisión", score=score, evidence=evidence)
|
|
288
|
-
if score < 5:
|
|
289
|
-
result.improvement = "Recortar el meta-comentario, eliminar puntos repetidos y reducir los ejemplos a un caso representativo"
|
|
290
|
-
return result
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
def evaluate(task: Optional[str], output: str) -> list[AxisScore]:
|
|
294
|
-
"""Ejecuta las 5 comprobaciones de eje y devuelve los resultados puntuados."""
|
|
295
|
-
return [
|
|
296
|
-
check_accuracy(output),
|
|
297
|
-
check_completeness(output),
|
|
298
|
-
check_clarity(output),
|
|
299
|
-
check_actionability(output),
|
|
300
|
-
check_conciseness(output, task),
|
|
301
|
-
]
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
def format_report(scores: list[AxisScore]) -> str:
|
|
305
|
-
"""Da formato a las puntuaciones como un informe de evaluación legible."""
|
|
306
|
-
avg = sum(s.score for s in scores) / len(scores)
|
|
307
|
-
lines = []
|
|
308
|
-
lines.append("=" * 60)
|
|
309
|
-
lines.append("INFORME DE AUTOEVALUACIÓN DEL AGENTE")
|
|
310
|
-
lines.append("=" * 60)
|
|
311
|
-
lines.append(f"Resumen: puntuación global {avg:.1f}/5 en 5 ejes de calidad.")
|
|
312
|
-
lines.append("")
|
|
313
|
-
|
|
314
|
-
for s in scores:
|
|
315
|
-
bar = "█" * s.score + "░" * (5 - s.score)
|
|
316
|
-
lines.append(f" {s.name:<15} {bar} {s.score}/5")
|
|
317
|
-
lines.extend(f" {e}" for e in s.evidence)
|
|
318
|
-
if s.improvement:
|
|
319
|
-
lines.append(f" → {s.improvement}")
|
|
320
|
-
lines.append("")
|
|
321
|
-
|
|
322
|
-
lines.append(f" {'GLOBAL':<15} {avg:.1f}/5")
|
|
323
|
-
lines.append("")
|
|
324
|
-
|
|
325
|
-
# Problemas críticos (ejes ≤ 2)
|
|
326
|
-
critical = [(s, s.improvement or "Sin mejora sugerida") for s in scores if s.score <= 2]
|
|
327
|
-
lines.append("PROBLEMAS CRÍTICOS (ejes ≤ 2):")
|
|
328
|
-
if critical:
|
|
329
|
-
for s, imp in critical:
|
|
330
|
-
lines.append(f" [{s.name}] Puntuación {s.score}/5 — {imp}")
|
|
331
|
-
else:
|
|
332
|
-
lines.append(" Ninguno")
|
|
333
|
-
|
|
334
|
-
lines.append("")
|
|
335
|
-
lines.append("Autocomprobación: ¿Estaría el usuario de acuerdo con esta valoración? [Sí/No + breve justificación]")
|
|
336
|
-
lines.append("")
|
|
337
|
-
|
|
338
|
-
# Mejoras principales (ejes con puntuación < 4, ordenadas por impacto)
|
|
339
|
-
improvements = [(s, s.improvement) for s in scores if s.improvement and s.score < 4]
|
|
340
|
-
lines.append("MEJORAS PRINCIPALES:")
|
|
341
|
-
if improvements:
|
|
342
|
-
for i, (s, imp) in enumerate(sorted(improvements, key=lambda x: x[0].score), 1):
|
|
343
|
-
lines.append(f" {i}. [{s.name}] {imp}")
|
|
344
|
-
else:
|
|
345
|
-
lines.append(" Ningún eje por debajo de 4. Salida sólida en todas las dimensiones.")
|
|
346
|
-
|
|
347
|
-
lines.append("")
|
|
348
|
-
|
|
349
|
-
# Veredicto
|
|
350
|
-
min_score = min(s.score for s in scores)
|
|
351
|
-
if min_score <= 2:
|
|
352
|
-
verdict = f"Rehacer con correcciones específicas. Eje más débil: {min(scores, key=lambda s: s.score).name} ({min_score}/5)."
|
|
353
|
-
elif any(s.score <= 3 for s in scores):
|
|
354
|
-
weak = [s.name for s in scores if s.score <= 3]
|
|
355
|
-
verdict = f"Corregir los problemas de {'/'.join(weak)} y luego entregar."
|
|
356
|
-
elif avg >= 4.5:
|
|
357
|
-
verdict = "Entregar tal cual. No se necesitan cambios."
|
|
358
|
-
else:
|
|
359
|
-
verdict = "Entregar tal cual. Mejoras menores anotadas arriba."
|
|
360
|
-
lines.append(f"VEREDICTO: {verdict}")
|
|
361
|
-
|
|
362
|
-
return "\n".join(lines)
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
def _read_file_or_text(path: Optional[str], *, required: bool = False) -> Optional[str]:
|
|
366
|
-
"""Lee una ruta de archivo o devuelve el texto en línea cuando está permitido."""
|
|
367
|
-
if path is None:
|
|
368
|
-
return None
|
|
369
|
-
try:
|
|
370
|
-
with open(path) as f:
|
|
371
|
-
return f.read()
|
|
372
|
-
except FileNotFoundError:
|
|
373
|
-
if required:
|
|
374
|
-
print(f"Error: no se encontró el archivo de salida '{path}'", file=sys.stderr)
|
|
375
|
-
sys.exit(1)
|
|
376
|
-
return path
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
def _read_input(args: argparse.Namespace) -> tuple[Optional[str], str]:
|
|
380
|
-
"""Lee la tarea y la salida en modo interactivo, por archivos o por tubería."""
|
|
381
|
-
if args.interactive:
|
|
382
|
-
task = input("Descripción de la tarea: ").strip()
|
|
383
|
-
print("Pega la salida del agente (Ctrl+D para terminar):")
|
|
384
|
-
return task, sys.stdin.read()
|
|
385
|
-
if args.output:
|
|
386
|
-
return _read_file_or_text(args.task), _read_file_or_text(args.output, required=True) or ""
|
|
387
|
-
return _read_file_or_text(args.task), sys.stdin.read()
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
def main() -> None:
|
|
391
|
-
parser = argparse.ArgumentParser(
|
|
392
|
-
description="Evalúa la salida de un agente contra la rúbrica de 5 ejes"
|
|
393
|
-
)
|
|
394
|
-
parser.add_argument("--task", help="Descripción de la tarea (ruta de archivo o texto en línea)")
|
|
395
|
-
parser.add_argument("--output", help="Salida del agente a evaluar (ruta de archivo)")
|
|
396
|
-
parser.add_argument("--interactive", action="store_true", help="Pide la tarea por prompt y lee la salida de stdin")
|
|
397
|
-
args = parser.parse_args()
|
|
398
|
-
|
|
399
|
-
task, output = _read_input(args)
|
|
400
|
-
if not output:
|
|
401
|
-
print("Error: no hay salida que evaluar", file=sys.stderr)
|
|
402
|
-
sys.exit(1)
|
|
403
|
-
|
|
404
|
-
scores = evaluate(task, output)
|
|
405
|
-
print(format_report(scores))
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
if __name__ == "__main__":
|
|
409
|
-
main()
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
# Plantilla del informe de autoevaluación del agente
|
|
2
|
-
|
|
3
|
-
Copia esta plantilla y complétala tras terminar una tarea. El formato coincide con la salida de `scripts/evaluate.py`.
|
|
4
|
-
|
|
5
|
-
```
|
|
6
|
-
============================================================
|
|
7
|
-
INFORME DE AUTOEVALUACIÓN DEL AGENTE
|
|
8
|
-
============================================================
|
|
9
|
-
Resumen: puntuación global X.X/5 en 5 ejes de calidad.
|
|
10
|
-
|
|
11
|
-
Precisión █████ 5/5 o ███░░ 3/5
|
|
12
|
-
+ [Evidencia: tests que pasan, afirmaciones verificadas]
|
|
13
|
-
- [Brechas: afirmaciones sin verificar, lenguaje de rodeos]
|
|
14
|
-
→ [Mejora si la puntuación es < 5]
|
|
15
|
-
|
|
16
|
-
Completitud █████ 5/5
|
|
17
|
-
+ [Qué se cubre: todos los requisitos + casos límite]
|
|
18
|
-
- [Qué falta: reconocer las brechas explícitamente]
|
|
19
|
-
→ [Mejora si la puntuación es < 5]
|
|
20
|
-
|
|
21
|
-
Claridad █████ 5/5
|
|
22
|
-
+ [Estructura: encabezados, bloques de código, viñetas]
|
|
23
|
-
- [Problemas: términos sin definir, muro de texto, sin resumen]
|
|
24
|
-
→ [Mejora si la puntuación es < 5]
|
|
25
|
-
|
|
26
|
-
Accionabilidad █████ 5/5
|
|
27
|
-
+ [El usuario puede: hacer merge del PR, ejecutar un comando, revisar un archivo]
|
|
28
|
-
- [Bloqueos: pasos faltantes, sugerencias vagas]
|
|
29
|
-
→ [Mejora si la puntuación es < 5]
|
|
30
|
-
|
|
31
|
-
Concisión █████ 5/5
|
|
32
|
-
+ [Compacto: sin repetición, alta densidad de información]
|
|
33
|
-
- [Relleno: paja, meta-comentarios, puntos repetidos]
|
|
34
|
-
→ [Mejora si la puntuación es < 5]
|
|
35
|
-
|
|
36
|
-
GLOBAL X.X/5
|
|
37
|
-
|
|
38
|
-
PROBLEMAS CRÍTICOS (ejes ≤ 2):
|
|
39
|
-
[Eje] Puntuación N/5 — corrección específica necesaria
|
|
40
|
-
(o "Ninguno" si ningún eje está ≤ 2)
|
|
41
|
-
|
|
42
|
-
Autocomprobación: ¿Estaría el usuario de acuerdo con esta valoración? [Sí/No + breve justificación]
|
|
43
|
-
|
|
44
|
-
MEJORAS PRINCIPALES:
|
|
45
|
-
1. [Corrección de mayor impacto]
|
|
46
|
-
2. [La segunda de mayor impacto]
|
|
47
|
-
(Listar solo los ejes con puntuación < 4, ordenados por impacto en el usuario)
|
|
48
|
-
|
|
49
|
-
VEREDICTO: [Entregar tal cual / Corregir N problemas y luego entregar / Rehacer desde cero]
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## Referencia rápida: disparadores de puntuación
|
|
53
|
-
|
|
54
|
-
| Si ves esto... | Precisión | Completitud | Claridad | Accionabilidad | Concisión |
|
|
55
|
-
|---|---|---|---|---|---|
|
|
56
|
-
| "debería funcionar" / "probablemente esté bien" | ≤4 | — | — | — | — |
|
|
57
|
-
| "creo que" / "supongo que" | ≤4 | — | — | — | — |
|
|
58
|
-
| Sin salida de tests citada | ≤4 | — | — | — | — |
|
|
59
|
-
| "TODO" / "FIXME" dejados atrás | ≤3 | ≤3 | — | ≤3 | — |
|
|
60
|
-
| Falta manejo de errores | — | ≤3 | — | — | — |
|
|
61
|
-
| Solo se cubre el camino feliz | — | ≤3 | — | — | — |
|
|
62
|
-
| Párrafo muro-de-texto (>200 palabras) | — | — | ≤3 | — | — |
|
|
63
|
-
| Sin encabezados ni estructura | — | — | ≤3 | — | — |
|
|
64
|
-
| "Deberías..." sin detalles concretos | — | — | — | ≤3 | — |
|
|
65
|
-
| Sin PR ni archivo creado | — | — | — | ≤3 | — |
|
|
66
|
-
| El usuario tiene que averiguar el siguiente paso | — | — | — | ≤2 | — |
|
|
67
|
-
| Puntos repetidos (3+ veces) | — | — | — | — | ≤3 |
|
|
68
|
-
| "Déjame explicar..." / "Para resumir..." x3+ | — | — | — | — | ≤3 |
|
|
69
|
-
| Salida >15x más larga que la tarea | — | — | — | — | ≤3 |
|
|
70
|
-
|
|
71
|
-
## Cuándo omitirla
|
|
72
|
-
|
|
73
|
-
Omite la evaluación si:
|
|
74
|
-
- La tarea fue una sola llamada a herramienta (p.ej. "lee este archivo" — no hay nada que evaluar)
|
|
75
|
-
- El usuario dice explícitamente "no evalúes" o "solo hazlo"
|
|
76
|
-
- La tarea es puramente conversacional (saludo, charla trivial)
|
|
77
|
-
- Estás a mitad de un flujo y el usuario juzgará la salida final, no los pasos intermedios
|
|
78
|
-
|
|
79
|
-
## Acciones posteriores a la evaluación
|
|
80
|
-
|
|
81
|
-
| Puntuación global | Qué hacer |
|
|
82
|
-
|---|---|
|
|
83
|
-
| ≥4.5 | Entregar tal cual. No se necesitan cambios. |
|
|
84
|
-
| 3.5–4.4 | Señalar la mejora principal pero entregar. Corregir si toma <30 segundos. |
|
|
85
|
-
| 2.5–3.4 | Indicar qué cambiarías. Preguntar al usuario: "¿Rehago [eje] o entrego tal cual?" |
|
|
86
|
-
| <2.5 | No entregar. Decir: "Esto puntuó [puntuación] porque [evidencia]. Voy a rehacerlo con [corrección específica]." Y rehacerlo. |
|