pumuki 6.3.48 → 6.3.49

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.
@@ -5,6 +5,21 @@ Detailed commit history remains available through Git history (`git log` / `git
5
5
 
6
6
  ## 2026-03 (enterprise hardening updates)
7
7
 
8
+ ### 2026-03-05 (v6.3.49)
9
+
10
+ - Watch JSON contract clarity for staged scope:
11
+ - `lastTick.changed` now reflects real scoped file delta, not merely tick execution.
12
+ - In `scope=staged` with no staged files:
13
+ - `changed=false`
14
+ - `changedFiles=[]`
15
+ - `evaluatedFiles=[]`
16
+ - Operational impact:
17
+ - prevents false interpretation of activity in consumer diagnostics and backlog evidence.
18
+ - Validation evidence:
19
+ - `npx --yes tsx@4.21.0 --test integrations/lifecycle/__tests__/watch.test.ts` (`6 pass / 0 fail`)
20
+ - `npm run -s typecheck` (`PASS`)
21
+ - consumer smoke (Flux, local core bin): `watch --once --stage=PRE_COMMIT --scope=staged --json` -> `changed=false` with empty arrays.
22
+
8
23
  ### 2026-03-05 (v6.3.48)
9
24
 
10
25
  - Anti-drift hardening for consumer validation flows:
@@ -2546,4 +2546,46 @@
2546
2546
  - `sed -n '1,60p' /Users/.../R_GO/docs/.../pumuki-integration-feedback.md` (estado cerrado 100/0).
2547
2547
  - `gh issue close 720 --repo SwiftEnProfundidad/ast-intelligence-hooks ...`.
2548
2548
 
2549
- - 🚧 PUMUKI-189: Ejecutar siguiente bug prioritaria activa de Flux (`PUM-013`) sobre drift de dependencia en manifests durante validación y cerrar con fix + release + validación consumer.
2549
+ - PUMUKI-189: Ejecutar siguiente bug prioritaria activa de Flux (`PUM-013`) sobre drift de dependencia en manifests durante validación y cerrar con fix + release + validación consumer.
2550
+ - Resultado (2026-03-05):
2551
+ - issue upstream `#722` cerrada tras validación real en consumer.
2552
+ - `PUM-013` actualizado a `✅ Cerrado` en el MD externo de Flux.
2553
+ - verificación de no-mutación confirmada:
2554
+ - `package.json` hash before/after sin cambios,
2555
+ - `pnpm-lock.yaml` hash before/after sin cambios,
2556
+ - `watch --once --json` en `ALLOW` (`gateExitCode=0`).
2557
+ - Evidencia:
2558
+ - `npx --yes --package pumuki@latest pumuki watch --once --stage=PRE_COMMIT --scope=staged --json`
2559
+ - `gh issue close 722 --repo SwiftEnProfundidad/ast-intelligence-hooks ...`
2560
+ - `/Users/juancarlosmerlosalbarracin/Developer/Projects/Flux_training/docs/BUGS_Y_MEJORAS_PUMUKI.md` (`PUM-013` -> `✅ Cerrado`).
2561
+
2562
+ - ✅ PUMUKI-190: Ejecutar vigilancia activa del backlog canónico de RuralGo y abrir/cerrar loop solo ante nuevos hallazgos netos reproducibles (`OPEN/REPORTED`), manteniendo SAAS/Flux en validación de no-regresión sin tocar código consumidor.
2563
+ - Resultado (2026-03-05):
2564
+ - tick fleet ejecutado sobre los 3 backlogs externos (`SAAS`, `RuralGo`, `Flux`) sin hallazgos netos.
2565
+ - `non_closed_total=0`, `action_required_targets=0`, `has_action_required=false`.
2566
+ - no se abren issues nuevas ni se requiere fix técnico en este ciclo.
2567
+ - Evidencia:
2568
+ - `npm run -s validation:backlog-watch:tick`
2569
+ - salida JSON: `targets=3`, `entries_scanned_total=142`, `non_closed_total=0`.
2570
+
2571
+ - ✅ PUMUKI-191: Mantener monitorización continua multi-consumer (tick periódico) y abrir ejecución técnica inmediata solo cuando `has_action_required=true`, actualizando en el mismo ciclo el MD externo afectado + este MD interno.
2572
+ - Resultado (2026-03-05):
2573
+ - tick fleet detectó hallazgo neto nuevo en Flux (`PUM-014`) con `has_action_required=true`.
2574
+ - issue upstream creada: `#723`.
2575
+ - MD externo Flux actualizado a estado activo (`PUM-014` -> `🚧 En construccion (#723)`).
2576
+ - Evidencia:
2577
+ - `npm run -s validation:backlog-watch:tick` (run_id `819f019e-36ce-405f-ba24-3cb1372a2021`)
2578
+ - `gh issue create --repo SwiftEnProfundidad/ast-intelligence-hooks ...` -> `#723`
2579
+ - `/Users/juancarlosmerlosalbarracin/Developer/Projects/Flux_training/docs/BUGS_Y_MEJORAS_PUMUKI.md` actualizado.
2580
+
2581
+ - 🚧 PUMUKI-192: Ejecutar fix de `PUM-014/#723` en `watch --json` para alinear `lastTick.changed` con delta real de archivos del scope, validar en tests y preparar cierre de leyenda externa.
2582
+ - Avance (2026-03-05):
2583
+ - fix aplicado en `integrations/lifecycle/watch.ts` (`changed` ahora depende del delta real del scope).
2584
+ - regresión añadida/actualizada en `integrations/lifecycle/__tests__/watch.test.ts`.
2585
+ - smoke en Flux con binario local del core:
2586
+ - `changed=false`, `changedFiles=[]`, `evaluatedFiles=[]`, `gateOutcome=ALLOW`.
2587
+ - issue `#723` actualizada con evidencia técnica.
2588
+ - Pendiente para cierre:
2589
+ - publicar corte con este fix,
2590
+ - validar en Flux con `npx --yes --package pumuki@latest ...`,
2591
+ - mover `PUM-014` de `🚧` a `✅` y cerrar `#723`.
@@ -373,6 +373,7 @@ export const runLifecycleWatch = async (
373
373
  });
374
374
  const changedFiles = collectChangedFilesFromFacts(facts);
375
375
  const evaluatedFiles = collectEvaluatedFilesFromFacts(facts);
376
+ const scopeHasFileDelta = changedFiles.length > 0 || evaluatedFiles.length > 0;
376
377
  const runEvaluation = async (): Promise<{
377
378
  gateExitCode: number;
378
379
  evidence: AiEvidenceV2_1 | undefined;
@@ -530,7 +531,7 @@ export const runLifecycleWatch = async (
530
531
 
531
532
  lastTick = {
532
533
  tick: ticks,
533
- changed,
534
+ changed: scopeHasFileDelta,
534
535
  evaluated: true,
535
536
  stage,
536
537
  scope,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pumuki",
3
- "version": "6.3.48",
3
+ "version": "6.3.49",
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": {