pumuki 6.3.39 → 6.3.40

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.
Files changed (63) hide show
  1. package/README.md +21 -12
  2. package/VERSION +1 -1
  3. package/core/gate/evaluateRules.test.ts +40 -0
  4. package/core/gate/evaluateRules.ts +7 -1
  5. package/core/rules/Consequence.ts +1 -0
  6. package/docs/CONFIGURATION.md +50 -0
  7. package/docs/INSTALLATION.md +38 -11
  8. package/docs/MCP_SERVERS.md +1 -1
  9. package/docs/README.md +1 -0
  10. package/docs/RELEASE_NOTES.md +44 -0
  11. package/docs/USAGE.md +191 -9
  12. package/docs/registro-maestro-de-seguimiento.md +2 -2
  13. package/docs/seguimiento-activo-pumuki-saas-supermercados.md +1592 -1
  14. package/docs/validation/README.md +2 -1
  15. package/docs/validation/ast-intelligence-roadmap.md +96 -0
  16. package/integrations/config/skillsCustomRules.ts +14 -0
  17. package/integrations/config/skillsDetectorRegistry.ts +11 -1
  18. package/integrations/config/skillsLock.ts +30 -0
  19. package/integrations/config/skillsMarkdownRules.ts +14 -3
  20. package/integrations/config/skillsRuleSet.ts +25 -3
  21. package/integrations/evidence/readEvidence.test.ts +3 -2
  22. package/integrations/evidence/readEvidence.ts +14 -4
  23. package/integrations/evidence/repoState.ts +10 -2
  24. package/integrations/evidence/schema.test.ts +3 -2
  25. package/integrations/evidence/schema.ts +3 -0
  26. package/integrations/evidence/writeEvidence.test.ts +3 -2
  27. package/integrations/gate/evaluateAiGate.ts +511 -2
  28. package/integrations/git/GitService.ts +5 -1
  29. package/integrations/git/astIntelligenceDualValidation.ts +275 -0
  30. package/integrations/git/gitAtomicity.ts +42 -9
  31. package/integrations/git/resolveGitRefs.ts +37 -0
  32. package/integrations/git/runPlatformGate.ts +228 -1
  33. package/integrations/git/runPlatformGateEvaluation.ts +4 -0
  34. package/integrations/git/stageRunners.ts +116 -2
  35. package/integrations/lifecycle/cli.ts +759 -22
  36. package/integrations/lifecycle/doctor.ts +62 -0
  37. package/integrations/lifecycle/index.ts +1 -0
  38. package/integrations/lifecycle/packageInfo.ts +25 -3
  39. package/integrations/lifecycle/policyReconcile.ts +304 -0
  40. package/integrations/lifecycle/preWriteAutomation.ts +42 -2
  41. package/integrations/lifecycle/watch.ts +365 -0
  42. package/integrations/mcp/aiGateCheck.ts +59 -2
  43. package/integrations/mcp/autoExecuteAiStart.ts +25 -1
  44. package/integrations/mcp/preFlightCheck.ts +13 -0
  45. package/integrations/sdd/evidenceScaffold.ts +223 -0
  46. package/integrations/sdd/index.ts +2 -0
  47. package/integrations/sdd/stateSync.ts +400 -0
  48. package/integrations/sdd/syncDocs.ts +97 -2
  49. package/package.json +4 -1
  50. package/scripts/backlog-action-reasons-lib.ts +38 -0
  51. package/scripts/backlog-id-issue-map-lib.ts +69 -0
  52. package/scripts/backlog-json-contract-lib.ts +3 -0
  53. package/scripts/framework-menu-consumer-preflight-lib.ts +6 -0
  54. package/scripts/package-install-smoke-command-resolution-lib.ts +64 -0
  55. package/scripts/package-install-smoke-consumer-npm-lib.ts +43 -0
  56. package/scripts/package-install-smoke-consumer-repo-setup-lib.ts +2 -0
  57. package/scripts/package-install-smoke-execution-steps-lib.ts +27 -9
  58. package/scripts/package-install-smoke-lifecycle-lib.ts +15 -4
  59. package/scripts/package-install-smoke-workspace-factory-lib.ts +4 -1
  60. package/scripts/reconcile-consumer-backlog-issues-lib.ts +651 -0
  61. package/scripts/reconcile-consumer-backlog-issues.ts +348 -0
  62. package/scripts/watch-consumer-backlog-lib.ts +465 -0
  63. package/scripts/watch-consumer-backlog.ts +326 -0
package/docs/USAGE.md CHANGED
@@ -70,8 +70,8 @@ Pumuki enforces OpenSpec policy/session before allowing normal gate execution.
70
70
  Minimal daily flow:
71
71
 
72
72
  ```bash
73
- # bootstrap lifecycle + OpenSpec baseline when needed
74
- npx --yes pumuki install
73
+ # bootstrap lifecycle + OpenSpec + MCP wiring + doctor deep
74
+ npx --yes pumuki bootstrap --enterprise --agent=codex
75
75
 
76
76
  # inspect current SDD status
77
77
  npx --yes pumuki sdd status
@@ -110,7 +110,7 @@ npm run framework:menu
110
110
  Consumer repository:
111
111
 
112
112
  ```bash
113
- npx --yes pumuki-framework
113
+ npx --yes --package pumuki@latest pumuki-framework
114
114
  ```
115
115
 
116
116
  Menu starts in `Consumer` mode by default (focused operational options).
@@ -211,16 +211,16 @@ Menu-driven audits apply SDD guardrails with the same strict semantics as stage
211
211
 
212
212
  ```bash
213
213
  # PRE_COMMIT
214
- npx --yes pumuki-pre-commit
214
+ npx --yes --package pumuki@latest pumuki-pre-commit
215
215
 
216
216
  # PRE_PUSH
217
- npx --yes pumuki-pre-push
217
+ npx --yes --package pumuki@latest pumuki-pre-push
218
218
 
219
219
  # CI
220
- npx --yes pumuki-ci
220
+ npx --yes --package pumuki@latest pumuki-ci
221
221
 
222
222
  # PRE_WRITE (SDD + AI Gate pre-write policy check)
223
- npx --yes pumuki-pre-write
223
+ npx --yes --package pumuki@latest pumuki-pre-write
224
224
  ```
225
225
 
226
226
  ### 2.1) Lifecycle + SDD + Loop CLI (install / uninstall / remove / update / doctor / status / sdd / loop)
@@ -236,15 +236,26 @@ npm uninstall pumuki
236
236
  `npm upgrade pumuki` is valid where npm maps `upgrade` to `update`.
237
237
 
238
238
  ```bash
239
- # install managed hooks
240
- npx --yes pumuki install
239
+ # recommended: one-shot enterprise bootstrap
240
+ npx --yes pumuki bootstrap --enterprise --agent=codex
241
+
242
+ # fallback: separated flow
243
+ npx --yes pumuki install --with-mcp --agent=codex
241
244
 
242
245
  # inspect enterprise baseline safety checks
243
246
  npx --yes pumuki doctor
247
+ # include deterministic adapter/mcp wiring health checks
248
+ npx --yes pumuki doctor --deep --json
244
249
 
245
250
  # show lifecycle status
246
251
  npx --yes pumuki status
247
252
 
253
+ # proactive local watch (worktree + anti-spam notifications)
254
+ npx --yes pumuki watch --stage=PRE_COMMIT --scope=workingTree --severity=high --interval-ms=3000 --notify-cooldown-ms=30000
255
+
256
+ # one-shot watch tick (scripts/diagnostics)
257
+ npx --yes pumuki watch --once --json
258
+
248
259
  # show SDD/OpenSpec status snapshot
249
260
  npx --yes pumuki sdd status
250
261
 
@@ -256,6 +267,15 @@ npx --yes pumuki sdd session --open --change=<change-id>
256
267
  npx --yes pumuki sdd session --refresh
257
268
  npx --yes pumuki sdd session --close
258
269
 
270
+ # reconcile AGENTS/skills.lock/policy-as-code contract
271
+ npx --yes pumuki policy reconcile --json
272
+
273
+ # scaffold deterministic scenario evidence from real test metadata
274
+ npx --yes pumuki sdd evidence --scenario-id=<scenario-id> --test-command='npm run test -- --grep <scenario-id>' --test-status=passed --dry-run --json
275
+
276
+ # sync scenario state into board artifact (dry-run/apply + conflict-safe)
277
+ npx --yes pumuki sdd state-sync --scenario-id=<scenario-id> --status=in_progress --dry-run --json
278
+
259
279
  # local hotspots analytics and SaaS publication diagnostics
260
280
  npx --yes pumuki analytics hotspots report --top=10 --since-days=90 --json
261
281
  npx --yes pumuki analytics hotspots diagnose --json
@@ -299,8 +319,134 @@ Loop runtime behavior:
299
319
  - Gate policy is strict fail-fast: a blocked attempt returns exit code `1` and status `blocked`.
300
320
  - Per-attempt evidence is persisted as `.pumuki/loop-sessions/<session-id>.attempt-<n>.json`.
301
321
 
322
+ Watch runtime behavior:
323
+ - `pumuki watch` evaluates gate policy on local changes and emits terminal summaries on each evaluation tick.
324
+ - `--severity` defines notification threshold (`critical|high|medium|low`) without changing gate block policy.
325
+ - `--notify-cooldown-ms` enables anti-spam throttling for repeated alerts with equal signature.
326
+ - `--no-notify` keeps watch output without OS notifications.
327
+ - `--once` or `--iterations=<n>` is recommended for CI/scripts to avoid long-running sessions.
328
+
329
+ <a id="backlog-tooling"></a>
330
+ Backlog tooling behavior (`watch` + `reconcile` scripts):
331
+ - mapping precedence is deterministic: inline `#issue` -> `--id-issue-map-from` -> `--id-issue-map` -> `--resolve-missing-via-gh`.
332
+ - `watch-consumer-backlog` is non-destructive and reports action-required drift.
333
+ - `watch-consumer-backlog` reports heading drift (`heading_drift`) when section headers `### ✅/🚧/⏳/⛔ <ID>` diverge from effective table status.
334
+ - `watch-consumer-backlog --json` exposes `heading_drift_count` for low-friction alerting parsers.
335
+ - `watch-consumer-backlog --json` exposes `classification_counts` (`needs_issue`, `drift_closed_issue`, `active_issue`, `heading_drift`).
336
+ - `watch-consumer-backlog --json` exposes `action_required_reasons` when findings are active.
337
+ - `watch-consumer-backlog --json` exposes `next_command` when action is required (safe reconcile sequence).
338
+ - `watch-consumer-backlog --json` exposes `next_command_reason` when `next_command` is present.
339
+ - `watch-consumer-backlog --json` exposes `next_commands[]` (ordered dry-run/apply steps) when action is required.
340
+ - `watch-consumer-backlog --json` includes `next_commands[].id` (1-based stable order).
341
+ - `watch-consumer-backlog --json` includes `next_commands[].safety` (`read_only` | `mutating`) for orchestration safety.
342
+ - `watch-consumer-backlog --json` includes `next_commands[].idempotent` for retry-safe orchestration.
343
+ - `watch-consumer-backlog --json` includes `next_commands[].max_retries` (`2` for `dry_run`, `0` for `apply`) for bounded retries.
344
+ - `watch-consumer-backlog --json` includes `next_commands[].retry_strategy` (`immediate` for `dry_run`, `manual` for `apply`) for retry policy semantics.
345
+ - `watch-consumer-backlog --json` includes `next_commands[].estimated_duration_ms` for timeout/scheduling hints.
346
+ - `watch-consumer-backlog --json` includes `next_commands[].requires_confirmation` for safe mutating-step execution.
347
+ - `watch-consumer-backlog --json` includes `next_commands[].depends_on` for step sequencing (`null` for dry-run, `dry_run` for apply).
348
+ - `watch-consumer-backlog --json` includes `next_commands[].execution_group_id` to correlate all suggested steps in the same run.
349
+ - `watch-consumer-backlog --json` includes `next_commands[].origin_tool` (`backlog-watch`) for multi-tool aggregation.
350
+ - `watch-consumer-backlog --json` includes `next_commands[].origin_schema_version` to bind each step to the emitting schema contract.
351
+ - `watch-consumer-backlog --json` includes `next_commands[].origin_contract_id` to bind each step to compatibility contract id.
352
+ - `watch-consumer-backlog --json` includes `next_commands[].recommendation_type` (`reconcile_loop`) for recommendation classification.
353
+ - `watch-consumer-backlog --json` includes `next_commands[].priority` (`high` for `dry_run`, `medium` for `apply`) for scheduling.
354
+ - `watch-consumer-backlog --json` includes `next_commands[].description` for human-readable step guidance.
355
+ - `watch-consumer-backlog --json` includes `next_commands[].expected_outcome` with success signal per step.
356
+ - `watch-consumer-backlog --json` includes `next_commands[].success_criteria` with stable machine-readable success checks.
357
+ - `watch-consumer-backlog --json` includes `next_commands[].success_probe` with deterministic post-execution verification hints.
358
+ - `watch-consumer-backlog --json` includes `next_commands[].probe_kind` (`json_contract` | `state_recheck`) to type post-execution probes.
359
+ - `watch-consumer-backlog --json` includes `next_commands[].probe_timeout_ms` with recommended timeout for `success_probe`.
360
+ - `watch-consumer-backlog --json` includes `next_commands[].failure_hint` with compact remediation guidance per step.
361
+ - `watch-consumer-backlog` (modo humano) imprime `action_required_reasons=<...|none>`.
362
+ - `watch-consumer-backlog` (modo humano) añade hint `--no-fail` cuando hay acción requerida.
363
+ - `reconcile-consumer-backlog-issues` supports dry-run/apply and now reports mapping source (`none|json|markdown|merged`).
364
+ - `reconcile-consumer-backlog-issues --json` includes heading sync metadata (`headingUpdated`, `headingChanges`) for section headings `### ✅/🚧/⏳/⛔ <ID>`.
365
+ - `reconcile-consumer-backlog-issues --json` exposes `heading_changes_count` for lightweight consumers.
366
+ - `reconcile-consumer-backlog-issues --json` exposes `classification_counts` (changes + summary counters) for dashboards.
367
+ - `reconcile-consumer-backlog-issues --json` exposes `action_required_reasons` for pending deltas in dry-run/apply flows.
368
+ - `reconcile-consumer-backlog-issues --json` exposes `next_command` when there are actionable deltas (`--json` + `--apply` sequence).
369
+ - `reconcile-consumer-backlog-issues --json` exposes `next_command_reason` when `next_command` is present.
370
+ - `reconcile-consumer-backlog-issues --json` exposes `next_commands[]` (ordered dry-run/apply steps) when action is required.
371
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].id` (1-based stable order).
372
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].safety` (`read_only` | `mutating`) for orchestration safety.
373
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].idempotent` for retry-safe orchestration.
374
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].max_retries` (`2` for `dry_run`, `0` for `apply`) for bounded retries.
375
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].retry_strategy` (`immediate` for `dry_run`, `manual` for `apply`) for retry policy semantics.
376
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].estimated_duration_ms` for timeout/scheduling hints.
377
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].requires_confirmation` for safe mutating-step execution.
378
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].depends_on` for step sequencing (`null` for dry-run, `dry_run` for apply).
379
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].execution_group_id` to correlate all suggested steps in the same run.
380
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].origin_tool` (`backlog-reconcile`) for multi-tool aggregation.
381
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].origin_schema_version` to bind each step to the emitting schema contract.
382
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].origin_contract_id` to bind each step to compatibility contract id.
383
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].recommendation_type` (`reconcile_loop`) for recommendation classification.
384
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].priority` (`high` for `dry_run`, `medium` for `apply`) for scheduling.
385
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].description` for human-readable step guidance.
386
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].expected_outcome` with success signal per step.
387
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].success_criteria` with stable machine-readable success checks.
388
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].success_probe` with deterministic post-execution verification hints.
389
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].probe_kind` (`json_contract` | `state_recheck`) to type post-execution probes.
390
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].probe_timeout_ms` with recommended timeout for `success_probe`.
391
+ - `reconcile-consumer-backlog-issues --json` includes `next_commands[].failure_hint` with compact remediation guidance per step.
392
+ - `reconcile-consumer-backlog-issues` (modo humano) muestra `heading_changes=<n>` y lista las líneas afectadas cuando hay drift en encabezados.
393
+ - `reconcile-consumer-backlog-issues` (modo humano) imprime `action_required_reasons=<...|none>`.
394
+ - `reconcile-consumer-backlog-issues` (modo humano) añade hint de flujo seguro cuando hay deltas: `--json` (dry-run) y luego `--apply`.
395
+ <a id="backlog-reasons"></a>
396
+ - Both commands build reasons through shared logic in `scripts/backlog-action-reasons-lib.ts` to keep JSON/human parity.
397
+
398
+ Backlog tooling quick reference:
399
+
400
+ | Command | Objective |
401
+ |---|---|
402
+ | `npm run -s test:backlog-tooling` | Ejecutar suite focal de regresión del tooling de backlog. |
403
+ | `scripts/watch-consumer-backlog.ts --json` | Detectar drift accionable sin mutar archivos. |
404
+ | `scripts/reconcile-consumer-backlog-issues.ts --json` | Simular reconciliación (dry-run) y revisar cambios planeados. |
405
+ | `scripts/reconcile-consumer-backlog-issues.ts --apply` | Aplicar reconciliación sobre el backlog consumidor. |
406
+
407
+ Backlog tooling quick nav (terminal):
408
+
409
+ ```bash
410
+ rg -n "backlog-tooling|backlog-reasons" docs/USAGE.md README.md
411
+ ```
412
+
413
+ Backlog tooling quick examples:
414
+
415
+ ```bash
416
+ # focused local regression pack for backlog tooling
417
+ npm run -s test:backlog-tooling
418
+
419
+ # watch: canonical markdown source + explicit override + optional gh lookup
420
+ npx --yes tsx@4.21.0 scripts/watch-consumer-backlog.ts \
421
+ --file=/abs/path/consumer/PUMUKI_BUGS_MEJORAS.md \
422
+ --repo=SwiftEnProfundidad/ast-intelligence-hooks \
423
+ --id-issue-map-from=/abs/path/canonical/pumuki-integration-feedback.md \
424
+ --id-issue-map=/abs/path/override.json \
425
+ --resolve-missing-via-gh \
426
+ --json
427
+
428
+ # reconcile dry-run: same source chain
429
+ npx --yes tsx@4.21.0 scripts/reconcile-consumer-backlog-issues.ts \
430
+ --file=/abs/path/consumer/PUMUKI_BUGS_MEJORAS.md \
431
+ --repo=SwiftEnProfundidad/ast-intelligence-hooks \
432
+ --id-issue-map-from=/abs/path/canonical/pumuki-integration-feedback.md \
433
+ --id-issue-map=/abs/path/override.json \
434
+ --resolve-missing-via-gh \
435
+ --json
436
+
437
+ # reconcile apply: mutate backlog in-place once dry-run is clean
438
+ npx --yes tsx@4.21.0 scripts/reconcile-consumer-backlog-issues.ts \
439
+ --file=/abs/path/consumer/PUMUKI_BUGS_MEJORAS.md \
440
+ --repo=SwiftEnProfundidad/ast-intelligence-hooks \
441
+ --id-issue-map-from=/abs/path/canonical/pumuki-integration-feedback.md \
442
+ --resolve-missing-via-gh \
443
+ --apply
444
+ ```
445
+
302
446
  OpenSpec integration behavior:
447
+ - `pumuki bootstrap --enterprise --agent=<name>` orquesta `install + adapter wiring + doctor --deep` en un solo paso.
303
448
  - `pumuki install` auto-bootstraps OpenSpec (`@fission-ai/openspec`) when missing/incompatible and scaffolds `openspec/` project baseline when absent.
449
+ - `pumuki install --with-mcp` adds adapter/MCP wiring bootstrap and prints MCP health summary on completion.
304
450
  - `pumuki update --latest` migrates legacy `openspec` package to `@fission-ai/openspec` before hook reinstall.
305
451
 
306
452
  Safety rule:
@@ -426,9 +572,14 @@ npm run validation:clean-artifacts -- --dry-run
426
572
  - Runs SDD pre-write guardrail and then AI Gate validation before continuing editing flow.
427
573
  - Requires OpenSpec installed, compatible, initialized, and valid active session.
428
574
  - AI Gate blocks on missing/invalid/stale evidence, blocked evidence gate status, or protected branch usage.
575
+ - AI Gate applies early worktree hygiene for atomicity:
576
+ - warning code: `EVIDENCE_PREWRITE_WORKTREE_WARN`
577
+ - blocking code: `EVIDENCE_PREWRITE_WORKTREE_OVER_LIMIT`
578
+ - configurable via `PUMUKI_PREWRITE_WORKTREE_HYGIENE_ENABLED`, `PUMUKI_PREWRITE_WORKTREE_WARN_THRESHOLD`, `PUMUKI_PREWRITE_WORKTREE_BLOCK_THRESHOLD`
429
579
  - `pumuki sdd validate --stage=PRE_WRITE --json` returns an envelope with:
430
580
  - `sdd` (SDD decision payload)
431
581
  - `ai_gate` (AI Gate evaluation payload)
582
+ - `ai_gate.skills_contract` (mapping `scope -> required skills/rules -> coverage active/evaluated`)
432
583
  - `telemetry.chain = "pumuki->ai_gate->ai_evidence"`
433
584
 
434
585
  Resolver source: `integrations/git/resolveGitRefs.ts`.
@@ -481,6 +632,20 @@ PUMUKI_ENABLE_AST_HEURISTICS=true npx tsx integrations/git/prePushIOS.cli.ts
481
632
 
482
633
  Details: `docs/rule-packs/heuristics.md`.
483
634
 
635
+ ## AST Intelligence dual mode (comparación legacy vs AST)
636
+
637
+ Activar modo dual:
638
+
639
+ ```bash
640
+ PUMUKI_AST_INTELLIGENCE_DUAL_MODE=shadow npx --yes --package pumuki@latest pumuki-pre-commit
641
+ ```
642
+
643
+ Modos soportados:
644
+
645
+ - `off` (default): no ejecuta comparación dual.
646
+ - `shadow`: añade señal informativa de divergencias sin bloquear.
647
+ - `strict`: bloquea cuando hay divergencias entre legacy y AST por nodos.
648
+
484
649
  ## CI workflows
485
650
 
486
651
  - `.github/workflows/pumuki-gate-template.yml`
@@ -526,6 +691,23 @@ Set upstream once:
526
691
  git push --set-upstream origin <branch>
527
692
  ```
528
693
 
694
+ ### Fragile hook/adapter command resolution
695
+
696
+ Use deep diagnostics to detect weak command wiring:
697
+
698
+ ```bash
699
+ npx --yes pumuki doctor --deep --json
700
+ ```
701
+
702
+ If `adapter-wiring` reports fragile resolution, regenerate adapter commands:
703
+
704
+ ```bash
705
+ npx --yes pumuki adapter install --agent=codex
706
+ ```
707
+
708
+ For repos whose absolute path includes `:`, avoid inline `PATH="...:$PATH"` wrappers in hooks/adapters.
709
+ Use generated commands from `pumuki adapter install` to keep resolution deterministic.
710
+
529
711
  ### Empty evidence or PASS with no findings
530
712
 
531
713
  Confirm changed files match supported extensions and platform paths expected by detectors.
@@ -7,8 +7,8 @@
7
7
  ## Estado actual
8
8
  - Plan activo: `docs/seguimiento-activo-pumuki-saas-supermercados.md`
9
9
  - Estado del plan: EJECUCION
10
- - Última task cerrada (`✅`): PUMUKI-019 (hardening de diagnóstico para hooks versionados `core.hooksPath` con fallback robusto + cobertura de no-regresión).
11
- - Task activa (`🚧`): PUMUKI-020 (publicación del siguiente corte tras cierre de PUMUKI-019).
10
+ - Última task cerrada (`✅`): PUMUKI-131 (issue `#716`, `next_commands[].probe_timeout_ms`).
11
+ - Task activa (`🚧`): PUMUKI-132 (issue `#717`, `next_commands[].probe_kind`).
12
12
  - Nuevos pendientes añadidos (`⏳`): ninguno en este bloque inmediato.
13
13
 
14
14
  ## Historial resumido