@saulwade/swl-ses 2.6.0 → 2.8.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/CLAUDE.md +209 -197
- package/README.md +647 -600
- package/agentes/accesibilidad-wcag-swl.md +690 -690
- package/agentes/arquitecto-swl.md +267 -267
- package/agentes/auto-evolucion-swl.md +932 -932
- package/agentes/backend-csharp-swl.md +420 -420
- package/agentes/backend-go-swl.md +390 -390
- package/agentes/backend-java-swl.md +281 -281
- package/agentes/backend-rust-swl.md +364 -364
- package/agentes/backend-workers-swl.md +482 -482
- package/agentes/cloud-infra-swl.md +509 -509
- package/agentes/consolidador-swl.md +541 -541
- package/agentes/depurador-swl.md +352 -352
- package/agentes/devops-ci-swl.md +400 -400
- package/agentes/disenador-ui-swl.md +569 -569
- package/agentes/documentador-swl.md +345 -345
- package/agentes/frontend-angular-swl.md +621 -621
- package/agentes/frontend-css-swl.md +716 -716
- package/agentes/frontend-react-swl.md +692 -692
- package/agentes/frontend-swl.md +496 -496
- package/agentes/frontend-tailwind-swl.md +826 -826
- package/agentes/investigador-swl.md +432 -432
- package/agentes/investigador-ux-swl.md +505 -505
- package/agentes/migrador-swl.md +442 -442
- package/agentes/mobile-android-swl.md +511 -511
- package/agentes/mobile-cross-swl.md +541 -541
- package/agentes/mobile-ios-swl.md +502 -502
- package/agentes/mobile-testing-swl.md +302 -302
- package/agentes/nemesis-auditor-swl.md +285 -285
- package/agentes/observabilidad-swl.md +438 -438
- package/agentes/pagos-swl.md +310 -310
- package/agentes/perfilador-usuario-swl.md +321 -321
- package/agentes/planificador-swl.md +399 -399
- package/agentes/producto-prd-swl.md +589 -589
- package/agentes/red-team-swl.md +218 -218
- package/agentes/release-manager-swl.md +590 -590
- package/agentes/rendimiento-swl.md +713 -713
- package/agentes/revisor-angular-swl.md +278 -278
- package/agentes/revisor-csharp-swl.md +264 -264
- package/agentes/revisor-go-swl.md +259 -259
- package/agentes/revisor-java-swl.md +257 -257
- package/agentes/revisor-kotlin-swl.md +273 -273
- package/agentes/revisor-nextjs-swl.md +281 -281
- package/agentes/revisor-php-swl.md +271 -271
- package/agentes/revisor-react-swl.md +278 -278
- package/agentes/revisor-rust-swl.md +346 -346
- package/agentes/revisor-seguridad-swl.md +399 -399
- package/agentes/revisor-swift-swl.md +268 -268
- package/agentes/revisor-typescript-swl.md +346 -346
- package/agentes/tdd-qa-swl.md +393 -393
- package/bin/swl-ses.js +10 -0
- package/comandos/swl/actualizar.md +174 -174
- package/comandos/swl/adoptar-proyecto.md +265 -265
- package/comandos/swl/aprender.md +836 -836
- package/comandos/swl/aprobar-plan.md +146 -146
- package/comandos/swl/auditar-deps.md +134 -134
- package/comandos/swl/autoresearch.md +264 -264
- package/comandos/swl/ayuda.md +224 -224
- package/comandos/swl/brainstorm.md +52 -51
- package/comandos/swl/checkpoint.md +325 -325
- package/comandos/swl/claudemd.md +234 -234
- package/comandos/swl/compactar.md +310 -310
- package/comandos/swl/configurar-ci.md +235 -235
- package/comandos/swl/contexto.md +110 -110
- package/comandos/swl/crear-skill.md +292 -292
- package/comandos/swl/cron.md +194 -194
- package/comandos/swl/deuda-codigo.md +97 -97
- package/comandos/swl/discutir-fase.md +169 -169
- package/comandos/swl/ejecutar-fase.md +233 -233
- package/comandos/swl/evaluar-skill.md +520 -520
- package/comandos/swl/evolucion-continua.md +73 -73
- package/comandos/swl/evolucionar.md +267 -267
- package/comandos/swl/exportar-vault.md +583 -583
- package/comandos/swl/fix.md +118 -118
- package/comandos/swl/gateway.md +158 -158
- package/comandos/swl/inbox.md +116 -116
- package/comandos/swl/instalar.md +220 -220
- package/comandos/swl/instintos.md +86 -86
- package/comandos/swl/mapear-codebase.md +312 -312
- package/comandos/swl/mcp-status.md +176 -175
- package/comandos/swl/modelo.md +100 -100
- package/comandos/swl/nemesis.md +433 -433
- package/comandos/swl/notificaciones.md +299 -299
- package/comandos/swl/nuevo-proyecto.md +251 -251
- package/comandos/swl/planear-fase.md +263 -263
- package/comandos/swl/plugins.md +256 -256
- package/comandos/swl/predecir.md +169 -169
- package/comandos/swl/reflect-skills.md +125 -125
- package/comandos/swl/release.md +450 -450
- package/comandos/swl/revisar-impacto.md +201 -201
- package/comandos/swl/revisar.md +330 -330
- package/comandos/swl/seguridad.md +189 -189
- package/comandos/swl/sesiones.md +200 -200
- package/comandos/swl/skill-search.md +113 -113
- package/comandos/swl/status.md +345 -345
- package/comandos/swl/verificar.md +817 -817
- package/comandos/swl/wiki.md +620 -620
- package/gateway/cron/jobs.example.json +12 -12
- package/gateway/lib/event-channel.js +191 -191
- package/habilidades/agent-deep-links/SKILL.md +148 -148
- package/habilidades/auto-evolucion-protocolo/SKILL.md +294 -294
- package/habilidades/backend-async-postgres-testing/SKILL.md +216 -215
- package/habilidades/backend-error-design/SKILL.md +221 -221
- package/habilidades/backend-production-resilience/SKILL.md +288 -288
- package/habilidades/calidad-anti-patrones-universales/SKILL.md +105 -1
- package/habilidades/calidad-contract-testing/SKILL.md +165 -165
- package/habilidades/calidad-mutation-testing/SKILL.md +25 -1
- package/habilidades/changelog-generator/SKILL.md +174 -174
- package/habilidades/checklist-seguridad/recursos/stride-cobertura.md +60 -60
- package/habilidades/ci-cd-pipelines/SKILL.md +5 -1
- package/habilidades/compactacion-contexto/SKILL.md +2 -1
- package/habilidades/contenedores-docker/SKILL.md +4 -2
- package/habilidades/css-moderno/SKILL.md +7 -1
- package/habilidades/diagrama-arquitectura/assets/template.html +276 -276
- package/habilidades/doubt-driven-review/SKILL.md +207 -207
- package/habilidades/doubt-driven-review/recursos/EXAMPLES.md +130 -130
- package/habilidades/drift-detection/SKILL.md +1 -1
- package/habilidades/ejecutar-task-iterativo/SKILL.md +278 -278
- package/habilidades/estructura-proyecto-claude/recursos/mcp-json-template.json +57 -57
- package/habilidades/extractor-de-aprendizajes/SKILL.md +12 -2
- package/habilidades/feynman-auditor-swl/recursos/preguntas-language-agnostic.md +108 -108
- package/habilidades/git-worktrees-paralelo/SKILL.md +19 -1
- package/habilidades/harness-claude-code/SKILL.md +315 -314
- package/habilidades/instalar-sistema/SKILL.md +227 -227
- package/habilidades/meta-skills-estandar/recursos/convencion-examples.md +93 -93
- package/habilidades/patrones-python/recursos/patrones-avanzados.md +469 -469
- package/habilidades/perfil-usuario/SKILL.md +200 -200
- package/habilidades/planear-fase/SKILL.md +358 -358
- package/habilidades/prevencion-sobreingenieria/recursos/EXAMPLES.md +580 -580
- package/habilidades/proceso-ddia-streaming/SKILL.md +231 -231
- package/habilidades/proceso-discovery-machote/SKILL.md +157 -157
- package/habilidades/proceso-dynamic-workflows/SKILL.md +60 -0
- package/habilidades/proceso-dynamic-workflows/recursos/template-adversarial-verify.js +65 -65
- package/habilidades/proceso-dynamic-workflows/recursos/template-triage.js +65 -65
- package/habilidades/proceso-ingenieria-requerimientos/SKILL.md +147 -147
- package/habilidades/proceso-intent-engineering/SKILL.md +269 -269
- package/habilidades/proceso-modular-split/SKILL.md +256 -256
- package/habilidades/release-semver/SKILL.md +2 -2
- package/habilidades/state-inconsistency-auditor-swl/recursos/coupled-state-patterns.md +147 -147
- package/habilidades/swl-claudemd/recursos/contrato-aprender.md +83 -83
- package/habilidades/swl-claudemd/recursos/duplicacion-reglas-globales.md +85 -85
- package/habilidades/swl-claudemd/recursos/plantillas-init.md +94 -94
- package/habilidades/tdd-workflow/SKILL.md +749 -749
- package/habilidades/tdd-workflow/recursos/gherkin-bdd.md +111 -111
- package/hooks/agente-lifecycle.js +1 -1
- package/hooks/audit-trail.js +1 -1
- package/hooks/auto-consolidacion.js +1 -1
- package/hooks/calidad-pre-commit.js +159 -10
- package/hooks/captura-acciones-post.js +1 -1
- package/hooks/captura-acciones-session.js +1 -1
- package/hooks/captura-feedback-usuario.js +1 -1
- package/hooks/ciclo-evolucion-subagente.js +26 -26
- package/hooks/ciclo-evolucion.js +26 -26
- package/hooks/contexto-iteracion.js +1 -1
- package/hooks/degradacion-instintos.js +1 -1
- package/hooks/grafo-contexto.js +1 -1
- package/hooks/guardrail-modelo.js +1 -1
- package/hooks/inbox-aviso.js +1 -1
- package/hooks/inyeccion-contexto.js +1 -1
- package/hooks/lib/agent-matcher.js +1 -1
- package/hooks/lib/agent-routing.js +1 -1
- package/hooks/lib/auto-consolidator.js +335 -335
- package/hooks/lib/captura-acciones.js +1 -1
- package/hooks/lib/ciclo-evolucion.js +47 -47
- package/hooks/lib/deep-links.js +185 -185
- package/hooks/lib/error-classifier.js +308 -308
- package/hooks/lib/etapa-metricas.js +1 -1
- package/hooks/lib/evolution-tracker.js +1 -1
- package/hooks/lib/gateway-notify.js +193 -193
- package/hooks/lib/mcp-health.js +1 -1
- package/hooks/lib/notificacion-formato.js +92 -0
- package/hooks/lib/nudge-tracker.js +1 -1
- package/hooks/lib/otlp-exporter.js +1 -1
- package/hooks/lib/propose-step.js +1 -1
- package/hooks/lib/provenance-tracker.js +191 -191
- package/hooks/lib/raiz-proyecto.js +158 -102
- package/hooks/lib/resource-quota.js +122 -122
- package/hooks/lib/retry-jitter.js +165 -165
- package/hooks/lib/run-log.js +1 -1
- package/hooks/lib/security-net.js +201 -201
- package/hooks/lib/singleton-guard.js +20 -13
- package/hooks/lib/skill-auditor.js +588 -588
- package/hooks/lib/sync-status.js +228 -228
- package/hooks/lib/taint-tracker.js +107 -107
- package/hooks/lib/telegram-cliente.js +11 -3
- package/hooks/lib/text-similarity.js +241 -241
- package/hooks/lib/toon-compressor.js +245 -245
- package/hooks/notificacion-telegram.js +17 -13
- package/hooks/preservar-estado-pre-compact.js +1 -1
- package/hooks/registro-turnos.js +1 -1
- package/hooks/resumen-sesion.js +1 -1
- package/hooks/risk-scoring.js +1 -1
- package/hooks/session-briefing.js +13 -5
- package/hooks/spec-gate.js +1 -1
- package/hooks/sugerir-regenerar-inventario.js +1 -1
- package/hooks/tdd-gate.js +1 -1
- package/hooks/telemetria-agentes.js +1 -1
- package/hooks/telemetria-skill-routing.js +1 -1
- package/hooks/tracking-costos.js +1 -1
- package/hooks/validar-formato-post-subagente.js +1 -1
- package/hooks/validar-intent-spec.js +1 -1
- package/hooks/validar-planning-paths.js +1 -1
- package/instintos/autonomia.yaml +27 -27
- package/instintos/prompt-appendices.yaml +57 -57
- package/llms.txt +29 -29
- package/manifiestos/agent-output-schemas.json +57 -57
- package/manifiestos/canonical-hashes.json +6250 -5257
- package/manifiestos/harness-ir.json +47536 -0
- package/manifiestos/modulos.json +1429 -1428
- package/manifiestos/policy-bundle.json +2065 -0
- package/manifiestos/policy-corpus-w2.json +3926 -0
- package/manifiestos/runtime-adapters-core3.json +208 -0
- package/manifiestos/runtime-conformance.json +139 -0
- package/manifiestos/skills-lock.json +1275 -1275
- package/package.json +94 -94
- package/plantillas/auditor-veto-template.md +105 -105
- package/plantillas/github-workflows/release-please.yml +44 -44
- package/plantillas/github-workflows/swl-ci.yml +107 -107
- package/plantillas/github-workflows/swl-security.yml +51 -51
- package/plugin.json +369 -369
- package/reglas/accesibilidad.md +10 -10
- package/reglas/auditorias-documentales-estructurales.md +7 -7
- package/reglas/cloud-infra.md +8 -8
- package/reglas/consultar-vault-primero.md +195 -195
- package/reglas/git-workflow.md +1 -0
- package/reglas/hooks.md +6 -6
- package/reglas/intent-engineering.md +218 -218
- package/reglas/markitdown.md +8 -8
- package/reglas/monitor-ci.md +12 -0
- package/reglas/patrones.md +6 -6
- package/reglas/testing.md +7 -7
- package/reglas/tests-cleanup.md +224 -224
- package/schemas/agent-message.schema.json +73 -73
- package/schemas/agent-output-implementacion.schema.json +114 -114
- package/schemas/agent-output-planificacion.schema.json +150 -150
- package/schemas/agent-output-review.schema.json +98 -98
- package/schemas/diary-entry.schema.json +112 -112
- package/schemas/gate-state.schema.json +76 -0
- package/schemas/harness-ir.schema.json +369 -0
- package/schemas/hook-profiles.schema.json +54 -54
- package/schemas/hooks-config.schema.json +89 -89
- package/schemas/legacy-gates.schema.json +45 -0
- package/schemas/modulos.schema.json +38 -38
- package/schemas/perfiles.schema.json +36 -36
- package/schemas/plugin.schema.json +77 -77
- package/schemas/policy-bundle.schema.json +140 -0
- package/schemas/policy-enforcement.schema.json +117 -0
- package/schemas/policy-operation.schema.json +261 -0
- package/schemas/runtime-adapter.schema.json +176 -0
- package/schemas/runtime-build-attestation.schema.json +100 -0
- package/schemas/runtime-conformance.schema.json +239 -0
- package/schemas/runtime-diagnostic.schema.json +395 -0
- package/schemas/skill-evals.schema.json +119 -119
- package/schemas/skill-frontmatter.schema.json +245 -245
- package/schemas/w4-certification-request.schema.json +72 -0
- package/schemas/w4-certification-verdict.schema.json +224 -0
- package/schemas/w4-corpus.schema.json +172 -0
- package/schemas/w4-mutation-report.schema.json +116 -0
- package/schemas/w4-replay-result.schema.json +164 -0
- package/schemas/w4-scoring-report.schema.json +89 -0
- package/scripts/audit-tools/audit-history.js +330 -330
- package/scripts/audit-tools/bundle-tracker.js +290 -290
- package/scripts/audit-tools/canary-monitor.js +352 -352
- package/scripts/audit-tools/code-profiler.js +605 -605
- package/scripts/audit-tools/dep-doctor.js +320 -320
- package/scripts/audit-tools/env-validator.js +206 -206
- package/scripts/audit-tools/lib/fs-walk.js +48 -48
- package/scripts/audit-tools/lib/output.js +23 -23
- package/scripts/audit-tools/migration-checker.js +392 -392
- package/scripts/audit-tools/pentest-scanner.js +1436 -1436
- package/scripts/auditar-clases-conocidas.js +134 -134
- package/scripts/bootstrap-instintos.js +88 -14
- package/scripts/canario-hooks.js +166 -166
- package/scripts/cli/aprobar-plan.js +73 -73
- package/scripts/cli/autonomia.js +23 -23
- package/scripts/cli/benchmark-memoria.js +37 -37
- package/scripts/cli/briefing.js +23 -23
- package/scripts/cli/ciclo-autonomo.js +73 -73
- package/scripts/cli/ciclo-evolucion.js +26 -26
- package/scripts/cli/ciclo-fase-b.js +102 -102
- package/scripts/cli/derivar-feature-list.js +25 -25
- package/scripts/cli/detectar-host.js +27 -27
- package/scripts/cli/diary-entry.js +69 -69
- package/scripts/cli/execution-state.js +18 -18
- package/scripts/cli/gateway-notify.js +41 -41
- package/scripts/cli/guardrail-metrics.js +39 -39
- package/scripts/cli/liberar-fase.js +42 -42
- package/scripts/cli/mark-evolved.js +56 -56
- package/scripts/cli/memoria-search.js +69 -69
- package/scripts/cli/metricas-dora.js +26 -26
- package/scripts/cli/near-duplicate.js +55 -55
- package/scripts/cli/notificaciones.js +123 -123
- package/scripts/cli/nudge-accionar.js +39 -39
- package/scripts/cli/propose-step.js +29 -29
- package/scripts/cli/run-eval.js +38 -38
- package/scripts/cli/schedule-parse.js +19 -19
- package/scripts/cli/sugerir-modelo.js +20 -20
- package/scripts/cli/verificar-plan.js +36 -36
- package/scripts/cli/verificar-trazabilidad.js +35 -35
- package/scripts/comandos/install-asistido.js +8 -7
- package/scripts/configurar-branch-protection.js +418 -418
- package/scripts/detectar-aprendizajes-duplicados.js +151 -151
- package/scripts/doctor.js +61 -13
- package/scripts/evidencia-valor.js +101 -101
- package/scripts/field-report.js +16 -16
- package/scripts/generar-checklists-consolidados.js +273 -273
- package/scripts/generar-claims-runtime.js +1342 -0
- package/scripts/generar-harness-ir.js +257 -0
- package/scripts/generar-inventario.js +52 -54
- package/scripts/generar-policy-bundle.js +202 -0
- package/scripts/instalador.js +39 -7
- package/scripts/lib/activar-hooks-proyecto.js +116 -116
- package/scripts/lib/approval-receipts.js +190 -0
- package/scripts/lib/artefactos-python.js +43 -43
- package/scripts/lib/benchmark-metrics.js +160 -160
- package/scripts/lib/budget-enforcer.js +252 -252
- package/scripts/lib/certificacion-loop-state.js +421 -0
- package/scripts/lib/ci-reader.js +193 -193
- package/scripts/lib/ciclo-autonomo/candidatos.js +174 -174
- package/scripts/lib/ciclo-autonomo/config.js +165 -165
- package/scripts/lib/ciclo-autonomo/drenador-feedback.js +174 -174
- package/scripts/lib/ciclo-autonomo/fallback.js +77 -77
- package/scripts/lib/ciclo-autonomo/guard-convivencia.js +139 -139
- package/scripts/lib/ciclo-autonomo/higiene-nudges.js +112 -112
- package/scripts/lib/ciclo-autonomo/index.js +301 -301
- package/scripts/lib/ciclo-autonomo/lock.js +124 -124
- package/scripts/lib/ciclo-autonomo/presupuesto.js +122 -122
- package/scripts/lib/ciclo-autonomo/puente-degradacion.js +240 -240
- package/scripts/lib/ciclo-autonomo/runner-fase-b.js +248 -248
- package/scripts/lib/ciclo-autonomo/writer-instintos.js +190 -190
- package/scripts/lib/ciclo-autonomo/yaml-instintos.js +591 -535
- package/scripts/lib/clasificar-directorio.js +92 -0
- package/scripts/lib/contadores-inventario.js +217 -217
- package/scripts/lib/detectar-host-swl.js +175 -175
- package/scripts/lib/detectar-runtime.js +29 -20
- package/scripts/lib/detectar-stack-detallado.js +307 -307
- package/scripts/lib/detector-autoduplicacion-intra-archivo.js +234 -234
- package/scripts/lib/detector-reglas-duplicadas.js +220 -220
- package/scripts/lib/eval-metrics-store.js +218 -218
- package/scripts/lib/eval-quality.js +171 -171
- package/scripts/lib/eval-schemas.js +144 -144
- package/scripts/lib/eval-self-correct.js +106 -106
- package/scripts/lib/eval-validator.js +185 -185
- package/scripts/lib/evidence-verifier.js +192 -0
- package/scripts/lib/evidencia-release.js +322 -322
- package/scripts/lib/evidencia-valor.js +228 -228
- package/scripts/lib/expandir-targets.js +71 -71
- package/scripts/lib/frontmatter-canonico.js +509 -0
- package/scripts/lib/gate-engine.js +871 -0
- package/scripts/lib/gate-hooks-requires.js +249 -249
- package/scripts/lib/gate-licencias.js +212 -212
- package/scripts/lib/git-config-preflight.js +48 -0
- package/scripts/lib/git-metricas.js +257 -257
- package/scripts/lib/harness-ir.js +778 -0
- package/scripts/lib/harness-source-snapshot.js +309 -0
- package/scripts/lib/integrity-ledger.js +1147 -0
- package/scripts/lib/jaccard-similarity.js +98 -98
- package/scripts/lib/legacy-gate-migration.js +324 -0
- package/scripts/lib/limpiar-basura-global.js +204 -0
- package/scripts/lib/longmemeval-runner.js +125 -125
- package/scripts/lib/metricas-dora.js +204 -204
- package/scripts/lib/notificaciones-telegram.js +1 -0
- package/scripts/lib/npm-version.js +1 -0
- package/scripts/lib/paquetes-conocidos.js +50 -50
- package/scripts/lib/plan-lock.js +61 -13
- package/scripts/lib/policy-broker.js +338 -0
- package/scripts/lib/policy-bundle.js +342 -0
- package/scripts/lib/policy-context-provider.js +310 -0
- package/scripts/lib/policy-contract.js +479 -0
- package/scripts/lib/policy-verifier-utils.js +65 -0
- package/scripts/lib/pr-analyzer.js +399 -399
- package/scripts/lib/principal-verifier.js +178 -0
- package/scripts/lib/prompt-builder.js +264 -264
- package/scripts/lib/resolver-plan-fase.js +37 -37
- package/scripts/lib/rrf-fusion.js +175 -175
- package/scripts/lib/runtime-adapter-contract.js +267 -0
- package/scripts/lib/runtime-artifact-verifier.js +426 -0
- package/scripts/lib/runtime-build-attestation.js +127 -0
- package/scripts/lib/runtime-bundle-installer.js +586 -0
- package/scripts/lib/runtime-compiler.js +327 -0
- package/scripts/lib/runtime-conformance.js +202 -0
- package/scripts/lib/runtime-doctor-core3.js +567 -0
- package/scripts/lib/runtime-doctor-input.js +59 -0
- package/scripts/lib/runtime-operation-adapter.js +267 -0
- package/scripts/lib/schema-version.js +164 -164
- package/scripts/lib/semantic-search.js +252 -252
- package/scripts/lib/signed-envelope.js +545 -0
- package/scripts/lib/single-use-store.js +359 -0
- package/scripts/lib/skills-externas.js +31 -0
- package/scripts/lib/toml-merge.js +204 -204
- package/scripts/lib/transformadores/codex.js +15 -8
- package/scripts/lib/transformadores/gemini.js +79 -5
- package/scripts/lib/w4-attestation-adapter.js +158 -0
- package/scripts/lib/w4-canario.js +337 -0
- package/scripts/lib/w4-claims.js +182 -0
- package/scripts/lib/w4-corpus-generador.js +542 -0
- package/scripts/lib/w4-gate-c5.js +115 -0
- package/scripts/lib/w4-harness-bajo-prueba.js +155 -0
- package/scripts/lib/w4-matriz-combos.js +55 -0
- package/scripts/lib/w4-motor-mutacion.js +1348 -0
- package/scripts/lib/w4-motor-replay.js +735 -0
- package/scripts/lib/w4-pin-origen.js +54 -0
- package/scripts/lib/w4-publicar-request.js +132 -0
- package/scripts/lib/w4-revocacion.js +62 -0
- package/scripts/lib/w4-runtimes-core3.js +38 -0
- package/scripts/lib/w4-scorer-certificacion.js +692 -0
- package/scripts/lib/w4-superficie-candidato.js +49 -0
- package/scripts/lib/w4-veredicto.js +452 -0
- package/scripts/lib/w4-verificar-veredicto.js +302 -0
- package/scripts/limpiar-artefactos-python.js +131 -131
- package/scripts/mcp-server/auth.js +105 -105
- package/scripts/mcp-server/cache.js +106 -106
- package/scripts/migrar-csv-a-array.js +168 -168
- package/scripts/migrar-fase-dominio.js +200 -200
- package/scripts/migrar-gates-legacy.js +108 -0
- package/scripts/publicar-certification-request.js +115 -0
- package/scripts/runtime-doctor.js +107 -0
- package/scripts/tui/componentes/selector-multi.js +189 -189
- package/scripts/tui/componentes/selector-unico.js +158 -158
- package/scripts/tui/ejecutores.js +375 -375
- package/scripts/tui/lib/colores.js +129 -129
- package/scripts/tui/lib/render.js +264 -264
- package/scripts/tui/lib/teclas.js +113 -113
- package/scripts/tui/pantallas/install-wizard.js +408 -403
- package/scripts/tui/pantallas/menu-principal.js +52 -52
- package/scripts/tui/pantallas/progreso.js +274 -274
- package/scripts/tui/pantallas/resumen.js +132 -132
- package/scripts/validar-userland-vacio.js +110 -110
- package/scripts/verificar-aislamiento-swl-eval.js +87 -0
- package/scripts/verificar-empaquetado-downstream.js +375 -0
- package/scripts/verificar-loop-constructor.js +215 -0
- package/scripts/verificar-trazabilidad.js +13 -6
- package/scripts/verificar-veredicto-real.js +84 -0
- package/instintos/.backups/perfil-usuario.yaml.2026-07-10-165128.bak +0 -53
- package/instintos/.backups/proyecto.yaml.2026-07-10-165128.bak +0 -372
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Contrato de aislamiento `swl-ses` ↔ `swl-eval` (ADR-0053, F32/T-01).
|
|
5
|
+
*
|
|
6
|
+
* Este módulo expone la MAQUINARIA DEL JUEZ para el contrato: la superficie
|
|
7
|
+
* pura `validateCertificationRequest()` (sin filesystem, sin red, sin reloj de
|
|
8
|
+
* pared) que el juez externo de `swl-eval` invoca:
|
|
9
|
+
*
|
|
10
|
+
* - `validateCertificationRequest()`: valida el `CertificationRequest`
|
|
11
|
+
* (schemas/w4-certification-request.schema.json) que `swl-ses` publica
|
|
12
|
+
* con el candidato, la matriz runtime/OS/modelo y el punto de entrada
|
|
13
|
+
* del contrato — nunca el corpus ni el veredicto (eso vive en T-02..T-06).
|
|
14
|
+
*
|
|
15
|
+
* La superficie del CANDIDATO (`runHarnessBajoPrueba`) vive ahora en
|
|
16
|
+
* `w4-superficie-candidato.js` (escisión por ADR-0056:100-106 y
|
|
17
|
+
* `DT-MOTOR-REPLAY-SRP-MUTACIONES-PINEADAS`): el juez la resuelve DESDE EL
|
|
18
|
+
* TARBALL, mientras que este validador es maquinaria del juez pineada. No
|
|
19
|
+
* mezclar ambas responsabilidades en un mismo módulo es lo que evita que el
|
|
20
|
+
* juez arrastre la superficie del candidato desde su copia pineada.
|
|
21
|
+
*
|
|
22
|
+
* Modelo de amenaza que T-13 (red-team del aislamiento, fuera de esta
|
|
23
|
+
* tarea) va a probar activamente contra el mecanismo real de ADR-0053 —
|
|
24
|
+
* un resumen de una línea por vector, detalle completo en ADR-0053 § Contrato
|
|
25
|
+
* y .planning/fases/32-PLAN.md § Tanda W4-I:
|
|
26
|
+
*
|
|
27
|
+
* 1. leer el corpus con las credenciales locales del maker disponibles.
|
|
28
|
+
* 2. reproducir el corpus determinista sin conocer la semilla secreta.
|
|
29
|
+
* 3. exfiltrar un secret editando el workflow de `swl-eval` en una rama
|
|
30
|
+
* no protegida del mismo repo (incluye `workflow_dispatch` manual).
|
|
31
|
+
* 4. forjar un `CertificationVerdict`: sin firma protegida, o con firma
|
|
32
|
+
* Sigstore genuina emitida desde un repo/workflow distinto al fijado.
|
|
33
|
+
* 5. usar una credencial local del maker para reconfigurar branch
|
|
34
|
+
* protection o auto-aprobar un deployment del environment `certificacion`.
|
|
35
|
+
* 6. exfiltrar el corpus vía la red o la credencial de modelo del propio
|
|
36
|
+
* candidato durante el replay real (egress fuera del allowlist, o uso
|
|
37
|
+
* de la cuenta de modelo personal del maker en vez de la dedicada H-10).
|
|
38
|
+
*
|
|
39
|
+
* Este validador NO mitiga ninguno de los seis vectores por sí solo — es
|
|
40
|
+
* puro y no tiene acceso al corpus real, al veredicto firmado ni a ninguna
|
|
41
|
+
* credencial. Su única responsabilidad es la validación estructural del
|
|
42
|
+
* contrato (REQ-32-01).
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
const SCHEMA_VERSION = '1.0.0';
|
|
47
|
+
const SHA256 = /^[a-f0-9]{64}$/u;
|
|
48
|
+
const GIT_SHA = /^[a-f0-9]{40}$/u;
|
|
49
|
+
const IDENTIFICADOR = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/u;
|
|
50
|
+
const RELATIVE_PATH = /^(?!\/)(?![A-Za-z]:)(?!.*(?:^|\/)\.\.(?:\/|$))[A-Za-z0-9._/-]+$/u;
|
|
51
|
+
const RUNTIMES_CORE3 = new Set(['claude-code', 'codex-cli', 'gemini-cli']);
|
|
52
|
+
const OS_IDS = new Set(['win32', 'linux', 'darwin']);
|
|
53
|
+
const REQUEST_KEYS = ['kind', 'schemaVersion', 'candidate', 'matrix', 'entryPoint'];
|
|
54
|
+
const CANDIDATE_KEYS = ['commit', 'tarballDigest'];
|
|
55
|
+
const ENTRY_POINT_KEYS = ['module', 'function'];
|
|
56
|
+
const MATRIX_ENTRY_KEYS = ['runtime', 'os', 'model'];
|
|
57
|
+
|
|
58
|
+
function crearError(codigo, mensaje) {
|
|
59
|
+
const error = new Error(mensaje);
|
|
60
|
+
error.codigo = codigo;
|
|
61
|
+
return error;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function fallar(codigo, mensaje) {
|
|
65
|
+
throw crearError(codigo, mensaje);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function esObjetoPlano(valor) {
|
|
69
|
+
return Boolean(valor) && typeof valor === 'object' && !Array.isArray(valor)
|
|
70
|
+
&& Object.getPrototypeOf(valor) === Object.prototype
|
|
71
|
+
&& Object.getOwnPropertySymbols(valor).length === 0;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function validarClaves(valor, esperadas, etiqueta) {
|
|
75
|
+
if (!esObjetoPlano(valor)) fallar('CERTIFICATION_REQUEST_INVALID', `${etiqueta} inválido`);
|
|
76
|
+
const actuales = Object.keys(valor).sort();
|
|
77
|
+
const objetivo = [...esperadas].sort();
|
|
78
|
+
if (JSON.stringify(actuales) !== JSON.stringify(objetivo)) {
|
|
79
|
+
fallar('CERTIFICATION_REQUEST_INVALID', `${etiqueta} inválido`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function validarCandidate(candidate) {
|
|
84
|
+
validarClaves(candidate, CANDIDATE_KEYS, 'candidate');
|
|
85
|
+
if (typeof candidate.commit !== 'string' || !GIT_SHA.test(candidate.commit)) {
|
|
86
|
+
fallar('CERTIFICATION_REQUEST_INVALID', 'candidate.commit inválido');
|
|
87
|
+
}
|
|
88
|
+
if (typeof candidate.tarballDigest !== 'string' || !SHA256.test(candidate.tarballDigest)) {
|
|
89
|
+
fallar('CERTIFICATION_REQUEST_INVALID', 'candidate.tarballDigest inválido');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function validarMatrixEntry(entry) {
|
|
94
|
+
validarClaves(entry, MATRIX_ENTRY_KEYS, 'matrix[]');
|
|
95
|
+
if (typeof entry.runtime !== 'string' || !RUNTIMES_CORE3.has(entry.runtime)) {
|
|
96
|
+
fallar('CERTIFICATION_REQUEST_INVALID', 'matrix[].runtime inválido');
|
|
97
|
+
}
|
|
98
|
+
if (typeof entry.os !== 'string' || !OS_IDS.has(entry.os)) {
|
|
99
|
+
fallar('CERTIFICATION_REQUEST_INVALID', 'matrix[].os inválido');
|
|
100
|
+
}
|
|
101
|
+
if (typeof entry.model !== 'string' || !IDENTIFICADOR.test(entry.model)) {
|
|
102
|
+
fallar('CERTIFICATION_REQUEST_INVALID', 'matrix[].model inválido');
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function validarMatrix(matrix) {
|
|
107
|
+
if (!Array.isArray(matrix) || matrix.length === 0) {
|
|
108
|
+
fallar('CERTIFICATION_REQUEST_INVALID', 'matrix inválida');
|
|
109
|
+
}
|
|
110
|
+
matrix.forEach(validarMatrixEntry);
|
|
111
|
+
const firmas = new Set(matrix.map((entry) => `${entry.runtime}|${entry.os}|${entry.model}`));
|
|
112
|
+
if (firmas.size !== matrix.length) {
|
|
113
|
+
fallar('CERTIFICATION_REQUEST_INVALID', 'matrix con entradas duplicadas');
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
function validarEntryPoint(entryPoint) {
|
|
118
|
+
validarClaves(entryPoint, ENTRY_POINT_KEYS, 'entryPoint');
|
|
119
|
+
if (typeof entryPoint.module !== 'string' || !RELATIVE_PATH.test(entryPoint.module)) {
|
|
120
|
+
fallar('CERTIFICATION_REQUEST_INVALID', 'entryPoint.module inválido');
|
|
121
|
+
}
|
|
122
|
+
if (typeof entryPoint.function !== 'string' || !IDENTIFICADOR.test(entryPoint.function)) {
|
|
123
|
+
fallar('CERTIFICATION_REQUEST_INVALID', 'entryPoint.function inválido');
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Valida un `CertificationRequest` (ADR-0053 § Contrato) sin efectos: no lee
|
|
129
|
+
* disco, no hace red, no consulta el reloj. Lanza CERTIFICATION_REQUEST_INVALID
|
|
130
|
+
* si el valor no cumple `schemas/w4-certification-request.schema.json`;
|
|
131
|
+
* retorna un valor deeply frozen equivalente si es válido.
|
|
132
|
+
*/
|
|
133
|
+
function validateCertificationRequest(value) {
|
|
134
|
+
validarClaves(value, REQUEST_KEYS, 'certificationRequest');
|
|
135
|
+
if (value.kind !== 'swl-certification-request') {
|
|
136
|
+
fallar('CERTIFICATION_REQUEST_INVALID', 'kind inválido');
|
|
137
|
+
}
|
|
138
|
+
if (value.schemaVersion !== SCHEMA_VERSION) {
|
|
139
|
+
fallar('CERTIFICATION_REQUEST_INVALID', 'schemaVersion inválida');
|
|
140
|
+
}
|
|
141
|
+
validarCandidate(value.candidate);
|
|
142
|
+
validarMatrix(value.matrix);
|
|
143
|
+
validarEntryPoint(value.entryPoint);
|
|
144
|
+
return Object.freeze({
|
|
145
|
+
kind: value.kind,
|
|
146
|
+
schemaVersion: value.schemaVersion,
|
|
147
|
+
candidate: Object.freeze({ ...value.candidate }),
|
|
148
|
+
matrix: Object.freeze(value.matrix.map((entry) => Object.freeze({ ...entry }))),
|
|
149
|
+
entryPoint: Object.freeze({ ...value.entryPoint }),
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
module.exports = {
|
|
154
|
+
validateCertificationRequest,
|
|
155
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Fuente de verdad de la matriz OS×runtime Core-3 para el CI matricial de
|
|
5
|
+
* replay del juez (F32/T-08, 32-PLAN.md § Tanda W4-J, REQ-32-08).
|
|
6
|
+
*
|
|
7
|
+
* Dos dominios de identificador de "sistema operativo" coexisten en este
|
|
8
|
+
* repositorio y este módulo usa DELIBERADAMENTE el de GitHub Actions, no el
|
|
9
|
+
* de Node.js:
|
|
10
|
+
* - `OS_IDS` en w4-corpus-generador.js / w4-motor-replay.js son
|
|
11
|
+
* identificadores de `os.platform()` (`win32`/`linux`/`darwin`): el
|
|
12
|
+
* sistema operativo del PROCESO Node que corre el candidato dentro del
|
|
13
|
+
* replay.
|
|
14
|
+
* - `OS_MATRIZ` de este módulo son etiquetas de runner de GitHub Actions
|
|
15
|
+
* (`windows-latest`/`ubuntu-latest`/`macos-latest`): el runner que
|
|
16
|
+
* EJECUTA el job de CI. Mezclar ambos dominios produciría un YAML con
|
|
17
|
+
* `runs-on: win32`, que GitHub Actions rechaza — nunca traducir de uno
|
|
18
|
+
* a otro en este módulo.
|
|
19
|
+
*
|
|
20
|
+
* `RUNTIMES_CORE3` sí es el MISMO valor que el `Set` interno (no exportado)
|
|
21
|
+
* declarado en w4-corpus-generador.js y w4-motor-replay.js. Se redeclara
|
|
22
|
+
* aquí como array congelado porque ninguno de esos dos módulos lo exporta;
|
|
23
|
+
* `tests/lib/w4-matriz.test.js` ancla el valor contra ambos para detectar
|
|
24
|
+
* drift si alguno de los tres cambia sin los otros.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
const OS_MATRIZ = Object.freeze(['windows-latest', 'ubuntu-latest', 'macos-latest']);
|
|
28
|
+
const RUNTIMES_CORE3 = Object.freeze(['claude-code', 'codex-cli', 'gemini-cli']);
|
|
29
|
+
|
|
30
|
+
function congelarProfundo(valor) {
|
|
31
|
+
if (valor && typeof valor === 'object' && !Object.isFrozen(valor)) {
|
|
32
|
+
Object.values(valor).forEach(congelarProfundo);
|
|
33
|
+
Object.freeze(valor);
|
|
34
|
+
}
|
|
35
|
+
return valor;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Producto cruzado `OS_MATRIZ × RUNTIMES_CORE3`: 9 combinaciones explícitas
|
|
40
|
+
* (sin `exclude`), en orden estable (OS externo, runtime interno). El
|
|
41
|
+
* resultado y cada elemento quedan deeply frozen — el gate "ninguna
|
|
42
|
+
* combinación oculta o implícitamente omitida" (32-PLAN.md § Tanda W4-J)
|
|
43
|
+
* depende de que nadie pueda mutar la lista tras generarla.
|
|
44
|
+
*/
|
|
45
|
+
function combos() {
|
|
46
|
+
const resultado = [];
|
|
47
|
+
for (const os of OS_MATRIZ) {
|
|
48
|
+
for (const runtime of RUNTIMES_CORE3) {
|
|
49
|
+
resultado.push({ os, runtime });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return congelarProfundo(resultado);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
module.exports = { OS_MATRIZ, RUNTIMES_CORE3, combos };
|