@saulwade/swl-ses 1.3.3 → 1.3.4

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 CHANGED
@@ -1,4 +1,4 @@
1
- # CLAUDE.md — @saulwade/swl-ses v1.3.3
1
+ # CLAUDE.md — @saulwade/swl-ses v1.3.4
2
2
 
3
3
  ## Reglas de máxima prioridad (aplican SIEMPRE, sin excepción)
4
4
 
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # swl-ses v1.3.3
1
+ # swl-ses v1.3.4
2
2
 
3
3
  > El paquete anterior `@saulwadeleon/swl-software-engineering-system` está deprecado. Migrar a `@saulwade/swl-ses` (npmjs.org canónico) o `@saul-wade/swl-ses` (mirror en GitHub Packages) — el CLI `swl-ses` no cambia.
4
4
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: swl-claudemd
3
- description: Tratamiento profesional de CLAUDE.md según best practices Anthropic (ADR-0016). Cubre auditoría (líneas totales, bullets gigantes, secciones canónicas, @references, placeholders), refactor (extracción a archivos referenciados con @), generación de templates (init-user para preferencias personales transversales en ~/.claude/CLAUDE.md, init-project para CLAUDE.md raíz del proyecto detectando stack). Cargar cuando se invoque /swl:claudemd o cuando el hook claudemd-bloat-detector sugiera intervención.
4
- version: "1.0.0"
3
+ description: Conocimiento operacional para auditar y mantener archivos CLAUDE.md contrato canónico de secciones (best practices Anthropic, ADR-0016), umbrales de bloat (líneas totales, bullets gigantes, placeholders, @references rotas), reglas de extracción a archivos referenciados con @, y plantillas de inicialización (init-user para ~/.claude/CLAUDE.md, init-project para CLAUDE.md raíz detectando stack). Provee las reglas; el comando /swl:claudemd ejecuta el flujo. Cargar desde ese comando o cuando el hook claudemd-bloat-detector sugiera intervención.
4
+ version: "1.0.1"
5
5
  herramientasPermitidas: [Read, Write, Edit, Bash, Glob, Grep]
6
6
  exclusiones:
7
7
  - "No cargar para editar reglas globales en ~/.claude/rules/ — usar Edit directo."
@@ -623,6 +623,17 @@ const PATRONES_ARCHIVO_SWL_EXCLUIDO = [
623
623
  /[\\/]INSTALACION\.md$/i,
624
624
  /[\\/]INVENTARIO\.md$/i,
625
625
  /[\\/]SALUD\.md$/i,
626
+ // Artefactos meta del flujo de release/planning. Su contenido suele
627
+ // ser narrativa de proceso (estructura, headings, listas) que el hook
628
+ // confunde con aprendizajes genuinos. Ver L-NN (2026-05-11) en
629
+ // APRENDIZAJES.md sobre el bug recurrente del placeholder generado.
630
+ /[\\/]RELEASE-NOTES[-_].*\.md$/i,
631
+ /[\\/]RELEASE_NOTES\.md$/i,
632
+ /[\\/]RESUMEN\.md$/i,
633
+ /[\\/]PLAN\.md$/i,
634
+ /[\\/]CONTEXTO\.md$/i,
635
+ /[\\/]ROADMAP.*\.md$/i,
636
+ /[\\/]MAPEO[_-].*\.md$/i,
626
637
  /[\\/]package\.json$/,
627
638
  /[\\/]plugin\.json$/,
628
639
  /[\\/]package-lock\.json$/,
@@ -672,6 +683,19 @@ function pareceContenidoEstructuralSwl(contexto) {
672
683
  return true;
673
684
  }
674
685
 
686
+ // Contexto compuesto mayoritariamente de headings sin cuerpo. Detecta
687
+ // placeholders auto-generados al hacer Write de archivos meta (RELEASE-NOTES,
688
+ // RESUMEN, PLAN) cuya estructura es solo `## Sección 1`, `## Sección 2`...
689
+ // sin párrafos sustantivos. Acepta tanto headings desnudos (`## Titulo`)
690
+ // como indentados como blockquote (`> ## Titulo`) porque el hook envuelve
691
+ // el contexto con `> ` antes de evaluar el resultado.
692
+ if (noVacias.length >= 3) {
693
+ const headings = noVacias.filter(l => /^(>\s*)?#{1,6}\s+\S/.test(l));
694
+ if (headings.length / noVacias.length > 0.6) {
695
+ return true;
696
+ }
697
+ }
698
+
675
699
  return false;
676
700
  }
677
701