pumuki 6.3.93 → 6.3.94

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.
@@ -1,3 +1,7 @@
1
+ ## 2026-04-20 (v6.3.94)
2
+ - **Subtitle de bloqueo 100% en español**: la causa primaria visible de notificaciones ya traduce explícitamente los mensajes exactos de `console.log usage is not allowed in frontend code.` y `...backend code.` antes de construir el `subtitle`, evitando el último escape de copy inglés en bloqueos reales de frontend/backend.
3
+ - **Rollout recomendado**: publicar `pumuki@6.3.94`, repin inmediato en `Flux_training` y repetir un rojo real de frontend con `PUMUKI_SKIP_CHAINED_PRE_WRITE=1 pnpm exec pumuki-pre-commit`, confirmando que el `subtitle` contiene `Se detectó uso de "console.log" en frontend.` y no la frase inglesa raw.
4
+
1
5
  ## 2026-04-20 (v6.3.93)
2
6
  - **Tracking terminal 100% en español**: las violaciones de repo policy `TRACKING_CANONICAL_SOURCE_CONFLICT`, `TRACKING_CANONICAL_FILE_MISSING` y `TRACKING_CANONICAL_IN_PROGRESS_INVALID` traducen ya la línea `[ERROR]` del gate en terminal, no solo el banner/modal.
3
7
  - **Rollout recomendado**: publicar `pumuki@6.3.93`, repin inmediato en `Flux_training` y repetir el bloqueo con doble `🚧` para confirmar que desaparece la frase inglesa `Tracking canonical file must contain exactly one in-progress task`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pumuki",
3
- "version": "6.3.93",
3
+ "version": "6.3.94",
4
4
  "description": "Enterprise-grade AST Intelligence System with multi-platform support (iOS, Android, Backend, Frontend) and Feature-First + DDD + Clean Architecture enforcement. Includes dynamic violations API for intelligent querying.",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -19,6 +19,8 @@ const BLOCKED_CAUSE_SUMMARY_BY_CODE: Readonly<Record<string, string>> = {
19
19
  OPENSPEC_MISSING: 'OpenSpec no está instalado en este repositorio.',
20
20
  MCP_ENTERPRISE_RECEIPT_MISSING: 'Falta el recibo enterprise de MCP.',
21
21
  BACKEND_AVOID_EXPLICIT_ANY: 'Se detectó uso de "any" explícito en backend.',
22
+ FRONTEND_NO_CONSOLE_LOG: 'Se detectó uso de "console.log" en frontend.',
23
+ BACKEND_NO_CONSOLE_LOG: 'Se detectó uso de "console.log" en backend.',
22
24
  GIT_ATOMICITY_TOO_MANY_SCOPES: 'Se han cambiado demasiados scopes en el mismo commit.',
23
25
  SOLID_HEURISTIC: 'Se detectó una violación estructural en el cambio actual.',
24
26
  TRACKING_CANONICAL_SOURCE_CONFLICT:
@@ -63,6 +65,12 @@ const toKnownSpanishCauseFromMessage = (message: string): string | null => {
63
65
  if (normalized.includes('avoid explicit any')) {
64
66
  return BLOCKED_CAUSE_SUMMARY_BY_CODE.BACKEND_AVOID_EXPLICIT_ANY;
65
67
  }
68
+ if (normalized.includes('console.log usage is not allowed in frontend code')) {
69
+ return BLOCKED_CAUSE_SUMMARY_BY_CODE.FRONTEND_NO_CONSOLE_LOG;
70
+ }
71
+ if (normalized.includes('console.log usage is not allowed in backend code')) {
72
+ return BLOCKED_CAUSE_SUMMARY_BY_CODE.BACKEND_NO_CONSOLE_LOG;
73
+ }
66
74
  if (normalized.includes('evidence is stale')) {
67
75
  return BLOCKED_CAUSE_SUMMARY_BY_CODE.EVIDENCE_STALE;
68
76
  }