pumuki 6.3.7 → 6.3.9
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/README.md +143 -256
- package/VERSION +1 -1
- package/docs/REFRACTOR_PROGRESS.md +5 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Pumuki AST Intelligence Framework
|
|
2
2
|
|
|
3
|
-
[](https://www.npmjs.com/package/pumuki)
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
[](https://github.com/SwiftEnProfundidad/ast-intelligence-hooks/actions/workflows/ci.yml)
|
|
6
6
|
[](package.json)
|
|
@@ -8,49 +8,51 @@
|
|
|
8
8
|
|
|
9
9
|
<img src="assets/logo.png" alt="Pumuki" width="100%" />
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Deterministic governance for AI-assisted software delivery.
|
|
12
12
|
|
|
13
|
-
Pumuki
|
|
13
|
+
Pumuki converts code changes into traceable, reproducible decisions:
|
|
14
14
|
|
|
15
15
|
`Facts -> Rules -> Gate -> ai_evidence v2.1`
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
- [
|
|
22
|
-
- [
|
|
23
|
-
- [
|
|
24
|
-
- [
|
|
25
|
-
- [
|
|
26
|
-
- [
|
|
27
|
-
- [
|
|
17
|
+
## Table of Contents
|
|
18
|
+
|
|
19
|
+
- [Overview](#overview)
|
|
20
|
+
- [Capabilities](#capabilities)
|
|
21
|
+
- [Quick Start for Consumer Repositories](#quick-start-for-consumer-repositories)
|
|
22
|
+
- [Lifecycle Commands](#lifecycle-commands)
|
|
23
|
+
- [Gate Commands](#gate-commands)
|
|
24
|
+
- [Architecture and Policy Model](#architecture-and-policy-model)
|
|
25
|
+
- [MCP Evidence Context Server (Optional)](#mcp-evidence-context-server-optional)
|
|
26
|
+
- [Framework Development (This Repository)](#framework-development-this-repository)
|
|
27
|
+
- [Deterministic Validation Suite](#deterministic-validation-suite)
|
|
28
|
+
- [Troubleshooting](#troubleshooting)
|
|
28
29
|
- [Contributing and Support](#contributing-and-support)
|
|
29
30
|
- [References](#references)
|
|
30
31
|
|
|
31
|
-
##
|
|
32
|
+
## Overview
|
|
33
|
+
|
|
34
|
+
Pumuki is a provider-agnostic framework for enforcing deterministic quality gates across multi-platform repositories.
|
|
32
35
|
|
|
33
|
-
|
|
36
|
+
It is designed for enterprise teams that need:
|
|
34
37
|
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
38
|
+
- consistent gate behavior across local and CI,
|
|
39
|
+
- auditable decisions backed by deterministic evidence,
|
|
40
|
+
- versioned and lockable rule packs,
|
|
41
|
+
- operational runbooks for incidents and rollout management.
|
|
39
42
|
|
|
40
|
-
|
|
43
|
+
Canonical npm package name: `pumuki`.
|
|
41
44
|
|
|
42
|
-
|
|
43
|
-
- Versioned and locked rule bundles (`skills.lock.json`).
|
|
44
|
-
- Deterministic evidence contract (`.ai_evidence.json`).
|
|
45
|
-
- Operational runbooks for triage, closure, and handoff.
|
|
45
|
+
Legacy package `pumuki-ast-hooks` is deprecated and frozen at `6.3.7`.
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
## Capabilities
|
|
48
48
|
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
49
|
+
- Stage-aware gate policies: `PRE_COMMIT`, `PRE_PUSH`, `CI`.
|
|
50
|
+
- Multi-platform detection and combined evaluation: iOS, Backend, Frontend, Android.
|
|
51
|
+
- Rules + overrides with locked baseline semantics.
|
|
52
|
+
- Deterministic evidence (`.ai_evidence.json`) for machine and human workflows.
|
|
53
|
+
- Optional read-only MCP evidence server for agent consumption.
|
|
52
54
|
|
|
53
|
-
## Quick Start
|
|
55
|
+
## Quick Start for Consumer Repositories
|
|
54
56
|
|
|
55
57
|
### Prerequisites
|
|
56
58
|
|
|
@@ -58,308 +60,193 @@ This gives enterprise teams one deterministic source of truth to decide what is
|
|
|
58
60
|
- `npm >= 9.0.0`
|
|
59
61
|
- `git`
|
|
60
62
|
|
|
61
|
-
###
|
|
63
|
+
### 1) Install
|
|
62
64
|
|
|
63
65
|
```bash
|
|
64
|
-
|
|
65
|
-
cd ast-intelligence-hooks
|
|
66
|
-
npm ci
|
|
66
|
+
npm install --save-exact pumuki
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
###
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
npm run typecheck
|
|
73
|
-
npm run test:deterministic
|
|
74
|
-
npm run validation:package-manifest
|
|
75
|
-
```
|
|
69
|
+
### 2) Install managed hooks in your repository
|
|
76
70
|
|
|
77
|
-
|
|
71
|
+
Run from the target repository root:
|
|
78
72
|
|
|
79
73
|
```bash
|
|
80
|
-
|
|
74
|
+
npx pumuki install
|
|
81
75
|
```
|
|
82
76
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
### Automated path (default)
|
|
86
|
-
|
|
87
|
-
The core lifecycle is automated:
|
|
88
|
-
|
|
89
|
-
- facts extraction,
|
|
90
|
-
- rules evaluation,
|
|
91
|
-
- stage-aware gate decision,
|
|
92
|
-
- `ai_evidence v2.1` generation,
|
|
93
|
-
- CI workflow execution.
|
|
94
|
-
|
|
95
|
-
### Manual path (intentional)
|
|
96
|
-
|
|
97
|
-
`validation:*` commands are operational controls for:
|
|
98
|
-
|
|
99
|
-
- triage,
|
|
100
|
-
- closure,
|
|
101
|
-
- handoff,
|
|
102
|
-
- adapter diagnostics,
|
|
103
|
-
- rollout guardrails.
|
|
104
|
-
|
|
105
|
-
Examples:
|
|
106
|
-
|
|
107
|
-
- `validation:consumer-startup-triage`
|
|
108
|
-
- `validation:phase5-execution-closure`
|
|
109
|
-
- `validation:phase8:*`
|
|
110
|
-
- `validation:adapter-*`
|
|
111
|
-
|
|
112
|
-
Practical rule:
|
|
113
|
-
|
|
114
|
-
- normal development: automated pipeline + tests,
|
|
115
|
-
- incident/rollout handling: manual runbook commands.
|
|
116
|
-
|
|
117
|
-
## Software Lifecycle
|
|
118
|
-
|
|
119
|
-
### Consumer package install (enterprise UX)
|
|
77
|
+
### 3) Verify lifecycle status
|
|
120
78
|
|
|
121
79
|
```bash
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
npm uninstall pumuki
|
|
80
|
+
npx pumuki doctor
|
|
81
|
+
npx pumuki status
|
|
125
82
|
```
|
|
126
83
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
### Installation (fresh setup)
|
|
84
|
+
### 4) Run stage gates manually (optional)
|
|
130
85
|
|
|
131
86
|
```bash
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
npm run skills:lock:check
|
|
87
|
+
npx pumuki-pre-commit
|
|
88
|
+
npx pumuki-pre-push
|
|
89
|
+
npx pumuki-ci
|
|
136
90
|
```
|
|
137
91
|
|
|
138
|
-
###
|
|
92
|
+
### 5) Expected outputs
|
|
139
93
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
npm ci
|
|
143
|
-
npm run skills:lock:check
|
|
144
|
-
npm run validation:docs-hygiene
|
|
145
|
-
npm run test:deterministic
|
|
146
|
-
```
|
|
94
|
+
- Gate exit code: `0` (allow) or `1` (block).
|
|
95
|
+
- Deterministic evidence file: `.ai_evidence.json`.
|
|
147
96
|
|
|
148
|
-
###
|
|
97
|
+
### Update and remove
|
|
149
98
|
|
|
150
99
|
```bash
|
|
151
|
-
|
|
152
|
-
|
|
100
|
+
npm update pumuki
|
|
101
|
+
npx pumuki update --latest
|
|
102
|
+
|
|
103
|
+
npx --yes pumuki remove
|
|
153
104
|
```
|
|
154
105
|
|
|
155
|
-
|
|
106
|
+
`pumuki remove` performs managed uninstall + artifact purge in one command.
|
|
156
107
|
|
|
157
|
-
|
|
158
|
-
npm run ast:guard:stop
|
|
159
|
-
```
|
|
108
|
+
## Lifecycle Commands
|
|
160
109
|
|
|
161
|
-
|
|
110
|
+
The `pumuki` binary provides repository lifecycle operations:
|
|
162
111
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
112
|
+
| Command | Purpose |
|
|
113
|
+
| --- | --- |
|
|
114
|
+
| `pumuki install` | Install managed `pre-commit` and `pre-push` hook blocks |
|
|
115
|
+
| `pumuki uninstall --purge-artifacts` | Remove managed hooks and purge known artifacts |
|
|
116
|
+
| `pumuki remove` | One-command cleanup + package uninstall in consumer repos |
|
|
117
|
+
| `pumuki update --latest` | Update package and re-apply managed hooks |
|
|
118
|
+
| `pumuki doctor` | Safety checks (hook drift, tracked `node_modules`, lifecycle state) |
|
|
119
|
+
| `pumuki status` | Current lifecycle snapshot |
|
|
166
120
|
|
|
167
|
-
|
|
121
|
+
## Gate Commands
|
|
168
122
|
|
|
169
|
-
|
|
123
|
+
Dedicated gate binaries are available:
|
|
170
124
|
|
|
171
|
-
|
|
|
172
|
-
| --- | --- |
|
|
173
|
-
|
|
|
174
|
-
| `
|
|
175
|
-
|
|
|
176
|
-
| noisy docs/artifacts | stale `.audit-reports` outputs | `npm run validation:clean-artifacts -- --dry-run` |
|
|
125
|
+
| Binary | Stage |
|
|
126
|
+
| --- | --- |
|
|
127
|
+
| `pumuki-pre-commit` | `PRE_COMMIT` |
|
|
128
|
+
| `pumuki-pre-push` | `PRE_PUSH` |
|
|
129
|
+
| `pumuki-ci` | `CI` |
|
|
177
130
|
|
|
178
|
-
##
|
|
131
|
+
## Architecture and Policy Model
|
|
179
132
|
|
|
180
|
-
|
|
133
|
+
### Deterministic pipeline
|
|
181
134
|
|
|
182
|
-
|
|
183
|
-
npm run <script> -- <flags>
|
|
184
|
-
```
|
|
135
|
+
`Facts -> Rules -> Gate -> ai_evidence v2.1`
|
|
185
136
|
|
|
186
|
-
|
|
137
|
+
- Facts are extracted from staged files or commit ranges.
|
|
138
|
+
- Rules are evaluated with platform-aware packs and project overrides.
|
|
139
|
+
- Gate applies stage policy thresholds.
|
|
140
|
+
- Evidence is generated as deterministic, machine-readable contract.
|
|
187
141
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
|
191
|
-
| `npm run check-version` | Print lifecycle/runtime status | `npm run check-version` |
|
|
192
|
-
| `npm run pumuki:install` | Install managed hooks in current Git repo | `npm run pumuki:install` |
|
|
193
|
-
| `npm run pumuki:uninstall` | Uninstall managed hooks and purge untracked Pumuki artifacts | `npm run pumuki:uninstall` |
|
|
194
|
-
| `npm run pumuki:remove` | One-command cleanup + package removal from consumer repo | `npm run pumuki:remove` |
|
|
195
|
-
| `npm run pumuki:update` | Update Pumuki dependency to latest and re-apply hooks | `npm run pumuki:update` |
|
|
196
|
-
| `npm run pumuki:doctor` | Enterprise baseline safety checks (tracked `node_modules`, hook/state drift) | `npm run pumuki:doctor` |
|
|
197
|
-
| `npm run pumuki:status` | Lifecycle status snapshot | `npm run pumuki:status` |
|
|
198
|
-
| `npm run audit` | Run AST CLI | `npm run audit -- --help` |
|
|
199
|
-
| `npm run ast` | AST CLI alias | `npm run ast -- --help` |
|
|
200
|
-
| `npm run framework:menu` | Launch interactive operations menu | `npm run framework:menu` |
|
|
201
|
-
| `npm run mcp:evidence` | Start read-only MCP evidence server | `npm run mcp:evidence` |
|
|
202
|
-
| `npm run violations` | Violations CLI | `npm run violations -- --help` |
|
|
203
|
-
| `npm run violations:list` | List violations | `npm run violations:list` |
|
|
204
|
-
| `npm run violations:show` | Show one violation | `npm run violations:show -- <id>` |
|
|
205
|
-
| `npm run violations:summary` | Aggregated violations summary | `npm run violations:summary` |
|
|
206
|
-
| `npm run violations:top` | Top violations view | `npm run violations:top` |
|
|
207
|
-
|
|
208
|
-
### Quality and testing
|
|
209
|
-
|
|
210
|
-
| Command | Description | Example |
|
|
211
|
-
| --- | --- | --- |
|
|
212
|
-
| `npm run typecheck` | TypeScript check without emit | `npm run typecheck` |
|
|
213
|
-
| `npm run test` | Main Jest test suite | `npm run test` |
|
|
214
|
-
| `npm run test:evidence` | Evidence-specific tests | `npm run test:evidence` |
|
|
215
|
-
| `npm run test:mcp` | MCP tests | `npm run test:mcp` |
|
|
216
|
-
| `npm run test:heuristics` | AST heuristics tests | `npm run test:heuristics` |
|
|
217
|
-
| `npm run test:stage-gates` | Stage policy/gate tests | `npm run test:stage-gates` |
|
|
218
|
-
| `npm run test:deterministic` | Recommended deterministic baseline | `npm run test:deterministic` |
|
|
219
|
-
| `npm run validation:package-manifest` | Validate package manifest contract | `npm run validation:package-manifest` |
|
|
220
|
-
| `npm run validation:package-smoke` | Blocking package smoke test | `npm run validation:package-smoke` |
|
|
221
|
-
| `npm run validation:package-smoke:minimal` | Minimal package smoke test | `npm run validation:package-smoke:minimal` |
|
|
222
|
-
| `npm run validation:lifecycle-smoke` | Lifecycle smoke check (`install -> run -> uninstall` clean round-trip) | `npm run validation:lifecycle-smoke` |
|
|
223
|
-
| `npm run validation:docs-hygiene` | Documentation guardrail checks | `npm run validation:docs-hygiene` |
|
|
224
|
-
| `npm run validation:clean-artifacts -- --dry-run` | Simulated artifact cleanup | `npm run validation:clean-artifacts -- --dry-run` |
|
|
225
|
-
| `npm run skills:compile` | Compile skills lock | `npm run skills:compile` |
|
|
226
|
-
| `npm run skills:lock:check` | Verify skills lock freshness | `npm run skills:lock:check` |
|
|
227
|
-
|
|
228
|
-
### Consumer diagnostics and support
|
|
229
|
-
|
|
230
|
-
| Command | Main flags | Example |
|
|
142
|
+
### Default stage policies
|
|
143
|
+
|
|
144
|
+
| Stage | Block on or above | Warn on or above |
|
|
231
145
|
| --- | --- | --- |
|
|
232
|
-
| `
|
|
233
|
-
| `
|
|
234
|
-
| `
|
|
235
|
-
| `validation:consumer-support-bundle` | `--repo --limit --out` | `npm run validation:consumer-support-bundle -- --repo <owner>/<repo> --limit 20 --out .audit-reports/consumer-triage/consumer-startup-failure-support-bundle.md` |
|
|
236
|
-
| `validation:consumer-support-ticket-draft` | `--repo --support-bundle --auth-report --out` | `npm run validation:consumer-support-ticket-draft -- --repo <owner>/<repo> --support-bundle .audit-reports/consumer-triage/consumer-startup-failure-support-bundle.md --auth-report .audit-reports/consumer-triage/consumer-ci-auth-check.md --out .audit-reports/consumer-triage/consumer-support-ticket-draft.md` |
|
|
237
|
-
| `validation:consumer-startup-unblock-status` | `--repo --support-bundle --auth-report --workflow-lint-report --out` | `npm run validation:consumer-startup-unblock-status -- --repo <owner>/<repo> --support-bundle .audit-reports/consumer-triage/consumer-startup-failure-support-bundle.md --auth-report .audit-reports/consumer-triage/consumer-ci-auth-check.md --workflow-lint-report .audit-reports/consumer-triage/consumer-workflow-lint-report.md --out .audit-reports/consumer-triage/consumer-startup-unblock-status.md` |
|
|
238
|
-
| `validation:consumer-startup-triage` | `--repo --out-dir [--skip-workflow-lint]` | `npm run validation:consumer-startup-triage -- --repo SwiftEnProfundidad/pumuki-actions-healthcheck-temp --out-dir .audit-reports/consumer-triage-temp --skip-workflow-lint` |
|
|
146
|
+
| `PRE_COMMIT` | `CRITICAL` | `ERROR` |
|
|
147
|
+
| `PRE_PUSH` | `ERROR` | `WARN` |
|
|
148
|
+
| `CI` | `ERROR` | `WARN` |
|
|
239
149
|
|
|
240
|
-
###
|
|
150
|
+
### Platform detection selectors
|
|
241
151
|
|
|
242
|
-
|
|
|
243
|
-
| --- | --- | --- |
|
|
244
|
-
| `validation:phase5-blockers-readiness` | `--consumer-triage-report --out [--require-adapter-report --adapter-report]` | `npm run validation:phase5-blockers-readiness -- --consumer-triage-report .audit-reports/consumer-triage/consumer-startup-triage-report.md --out .audit-reports/phase5/phase5-blockers-readiness.md` |
|
|
245
|
-
| `validation:phase5-execution-closure-status` | `--phase5-blockers-report --consumer-unblock-report --out` | `npm run validation:phase5-execution-closure-status -- --phase5-blockers-report .audit-reports/phase5/phase5-blockers-readiness.md --consumer-unblock-report .audit-reports/consumer-triage/consumer-startup-unblock-status.md --out .audit-reports/phase5/phase5-execution-closure-status.md` |
|
|
246
|
-
| `validation:phase5-execution-closure` | `--repo --out-dir [--mock-consumer] [--skip-workflow-lint] [--skip-auth-preflight]` | `npm run validation:phase5-execution-closure -- --repo SwiftEnProfundidad/pumuki-actions-healthcheck-temp --out-dir .audit-reports/phase5 --mock-consumer` |
|
|
247
|
-
| `validation:phase5-external-handoff` | `--repo [--require-mock-ab-report] [--require-artifact-urls] [--artifact-url] [--out]` | `npm run validation:phase5-external-handoff -- --repo SwiftEnProfundidad/pumuki-actions-healthcheck-temp --require-mock-ab-report` |
|
|
248
|
-
| `validation:phase5-latest:refresh` | shell script | `npm run validation:phase5-latest:refresh` |
|
|
249
|
-
| `validation:phase5-latest:sync-docs` | shell script | `npm run validation:phase5-latest:sync-docs` |
|
|
250
|
-
| `validation:phase5-latest:ready-check` | shell script | `npm run validation:phase5-latest:ready-check` |
|
|
251
|
-
| `validation:phase5-post-support:refresh` | shell script | `npm run validation:phase5-post-support:refresh` |
|
|
252
|
-
|
|
253
|
-
### Phase 8 (operations, anti-loop, status)
|
|
254
|
-
|
|
255
|
-
| Command | Main flags | Example |
|
|
256
|
-
| --- | --- | --- |
|
|
257
|
-
| `validation:phase8:resume-after-billing` | shell script | `npm run validation:phase8:resume-after-billing` |
|
|
258
|
-
| `validation:phase8:next-step` | shell script | `npm run validation:phase8:next-step` |
|
|
259
|
-
| `validation:phase8:doctor` | shell script | `npm run validation:phase8:doctor` |
|
|
260
|
-
| `validation:phase8:autopilot` | shell script | `npm run validation:phase8:autopilot` |
|
|
261
|
-
| `validation:phase8:status-pack` | shell script | `npm run validation:phase8:status-pack` |
|
|
262
|
-
| `validation:phase8:tick` | shell script | `npm run validation:phase8:tick` |
|
|
263
|
-
| `validation:phase8:loop-guard` | shell script | `npm run validation:phase8:loop-guard` |
|
|
264
|
-
| `validation:phase8:loop-guard-coverage` | shell script | `npm run validation:phase8:loop-guard-coverage` |
|
|
265
|
-
| `validation:phase8:mark-followup-state` | `<ticket_id> <posted_by> <POSTED_WAITING_REPLY|SUPPORT_REPLIED> [posted_at] [reply_at] [summary]` | `npm run validation:phase8:mark-followup-state -- 4077449 juancarlosmerlosalbarracin POSTED_WAITING_REPLY` |
|
|
266
|
-
| `validation:phase8:mark-followup-posted-now` | `<posted_by> [ticket_id] [posted_at]` | `npm run validation:phase8:mark-followup-posted-now -- juancarlosmerlosalbarracin 4077449` |
|
|
267
|
-
| `validation:phase8:mark-followup-replied-now` | `<posted_by> <summary> [ticket_id] [posted_at] [reply_at]` | `npm run validation:phase8:mark-followup-replied-now -- juancarlosmerlosalbarracin "support replied" 4077449` |
|
|
268
|
-
| `validation:phase8:ready-handoff` | shell script | `npm run validation:phase8:ready-handoff` |
|
|
269
|
-
| `validation:phase8:close-ready` | shell script | `npm run validation:phase8:close-ready` |
|
|
270
|
-
|
|
271
|
-
### Adapter readiness and legacy compatibility
|
|
272
|
-
|
|
273
|
-
| Command | Description |
|
|
152
|
+
| Platform | Detection selector |
|
|
274
153
|
| --- | --- |
|
|
275
|
-
|
|
|
276
|
-
|
|
|
277
|
-
|
|
|
278
|
-
|
|
|
279
|
-
| `print:adapter-hooks-config` | Print legacy adapter hook config |
|
|
280
|
-
| `install:adapter-hooks-config` | Install legacy adapter hook config |
|
|
281
|
-
| `verify:adapter-hooks-runtime` | Verify legacy adapter runtime |
|
|
282
|
-
| `assess:adapter-hooks-session` | Assess legacy adapter session |
|
|
283
|
-
| `assess:adapter-hooks-session:any` | Assess legacy adapter session including simulated events |
|
|
154
|
+
| iOS | `*.swift` |
|
|
155
|
+
| Backend | `apps/backend/**/*.ts` |
|
|
156
|
+
| Frontend | `apps/frontend/**/*.{ts,tsx,js,jsx}` and `apps/web/**/*.{ts,tsx,js,jsx}` |
|
|
157
|
+
| Android | `*.kt`, `*.kts` |
|
|
284
158
|
|
|
285
|
-
## MCP
|
|
159
|
+
## MCP Evidence Context Server (Optional)
|
|
286
160
|
|
|
287
|
-
|
|
161
|
+
MCP is optional. Pumuki core does not depend on MCP.
|
|
288
162
|
|
|
289
|
-
|
|
163
|
+
### Consumer repository usage
|
|
290
164
|
|
|
291
|
-
|
|
292
|
-
- MCP is optional and only needed for external MCP/agent clients.
|
|
293
|
-
|
|
294
|
-
### MCP JSON example
|
|
165
|
+
Use the published binary from npm:
|
|
295
166
|
|
|
296
167
|
```json
|
|
297
168
|
{
|
|
298
169
|
"mcpServers": {
|
|
299
170
|
"pumuki-evidence": {
|
|
300
|
-
"command": "
|
|
301
|
-
"args": ["
|
|
302
|
-
"cwd": "/absolute/path/to/
|
|
171
|
+
"command": "npx",
|
|
172
|
+
"args": ["--yes", "pumuki-mcp-evidence"],
|
|
173
|
+
"cwd": "/absolute/path/to/your-consumer-repo"
|
|
303
174
|
}
|
|
304
175
|
}
|
|
305
176
|
}
|
|
306
177
|
```
|
|
307
178
|
|
|
308
|
-
|
|
179
|
+
### Framework repository usage
|
|
180
|
+
|
|
181
|
+
If you are developing this framework locally:
|
|
309
182
|
|
|
310
183
|
```bash
|
|
311
184
|
npm run mcp:evidence
|
|
312
185
|
```
|
|
313
186
|
|
|
314
|
-
##
|
|
187
|
+
## Framework Development (This Repository)
|
|
315
188
|
|
|
316
|
-
|
|
189
|
+
Use this path only when working on Pumuki itself (not as a consumer).
|
|
317
190
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
191
|
+
```bash
|
|
192
|
+
git clone https://github.com/SwiftEnProfundidad/ast-intelligence-hooks.git
|
|
193
|
+
cd ast-intelligence-hooks
|
|
194
|
+
npm ci
|
|
195
|
+
```
|
|
323
196
|
|
|
324
|
-
|
|
197
|
+
Recommended maintainer baseline:
|
|
325
198
|
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
199
|
+
```bash
|
|
200
|
+
npm run typecheck
|
|
201
|
+
npm run test
|
|
202
|
+
npm run test:deterministic
|
|
203
|
+
npm run validation:package-manifest
|
|
204
|
+
npm run skills:lock:check
|
|
205
|
+
```
|
|
329
206
|
|
|
330
|
-
|
|
207
|
+
Operational menu:
|
|
331
208
|
|
|
332
|
-
|
|
209
|
+
```bash
|
|
210
|
+
npm run framework:menu
|
|
211
|
+
```
|
|
333
212
|
|
|
334
|
-
|
|
335
|
-
- Backend,
|
|
336
|
-
- Frontend,
|
|
337
|
-
- Android.
|
|
213
|
+
## Deterministic Validation Suite
|
|
338
214
|
|
|
339
|
-
|
|
215
|
+
Core validation commands used by maintainers:
|
|
340
216
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
217
|
+
| Command | Purpose |
|
|
218
|
+
| --- | --- |
|
|
219
|
+
| `npm run test:deterministic` | Evidence + MCP + heuristics deterministic baseline |
|
|
220
|
+
| `npm run validation:package-manifest` | Package contract and publish guardrails |
|
|
221
|
+
| `npm run validation:package-smoke` | Blocking install/lifecycle smoke in temp consumer |
|
|
222
|
+
| `npm run validation:package-smoke:minimal` | Minimal smoke path |
|
|
223
|
+
| `npm run validation:lifecycle-smoke` | Lifecycle round-trip check |
|
|
224
|
+
| `npm run validation:docs-hygiene` | Documentation governance checks |
|
|
225
|
+
| `npm run validation:clean-artifacts -- --dry-run` | Preview cleanup of generated artifacts |
|
|
344
226
|
|
|
345
|
-
|
|
227
|
+
## Troubleshooting
|
|
346
228
|
|
|
347
|
-
|
|
229
|
+
| Symptom | Typical cause | Action |
|
|
230
|
+
| --- | --- | --- |
|
|
231
|
+
| Gate behaves differently in local and CI | Skills lock or policy drift | `npm run skills:lock:check` |
|
|
232
|
+
| `tsx` runtime errors | Unsupported Node runtime | Upgrade to `Node >= 18` |
|
|
233
|
+
| Upgrade side effects | Inconsistent modules/lockfile state | `rm -rf node_modules package-lock.json && npm install` |
|
|
234
|
+
| Consumer repo still has artifacts after tests | Lifecycle was not removed | `npx --yes pumuki remove` |
|
|
348
235
|
|
|
349
236
|
## Contributing and Support
|
|
350
237
|
|
|
351
238
|
### Contributing
|
|
352
239
|
|
|
353
240
|
1. Branch from `develop`.
|
|
354
|
-
2. Keep changes
|
|
355
|
-
3. Update docs
|
|
356
|
-
4. Open
|
|
241
|
+
2. Keep changes deterministic and scoped.
|
|
242
|
+
3. Update docs and runbooks when behavior changes.
|
|
243
|
+
4. Open PR with impact, risk, and verification notes.
|
|
357
244
|
|
|
358
|
-
###
|
|
245
|
+
### Support
|
|
359
246
|
|
|
360
|
-
-
|
|
361
|
-
- Operational incidents:
|
|
362
|
-
- Architecture
|
|
247
|
+
- Product and bug issues: GitHub issues.
|
|
248
|
+
- Operational incidents: `docs/validation/*` runbooks.
|
|
249
|
+
- Architecture references: `docs/ARCHITECTURE.md` and `docs/evidence-v2.1.md`.
|
|
363
250
|
|
|
364
251
|
## References
|
|
365
252
|
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
v6.3.
|
|
1
|
+
v6.3.9
|
|
@@ -148,6 +148,11 @@ Estado consolidado del refactor con seguimiento de tareas y evidencia del avance
|
|
|
148
148
|
- ✅ Completar `pumuki-mock-consumer` con escenarios reproducibles multi-plataforma (`clean`, `violations`, `mixed`) y script de aplicación de escenarios.
|
|
149
149
|
- ✅ Unificar iOS del mock exclusivamente bajo `apps/ios/` (eliminando duplicación `ios/`) para mantener estructura homogénea `apps/*`.
|
|
150
150
|
- ✅ Migrar nombre canónico del paquete a `pumuki` y alinear comandos enterprise cortos (`npm install/update/uninstall pumuki`) con documentación y validaciones.
|
|
151
|
+
- ✅ Publicar `pumuki@6.3.8` en npm y alinear tags de distribución (`latest` y `next`) a la misma versión.
|
|
152
|
+
- ✅ Marcar `pumuki-ast-hooks` como paquete npm legacy/deprecado y documentar migración explícita en `README.md`.
|
|
153
|
+
- ✅ Corregir `Quick Start` del `README.md` para consumo real por npm (`pumuki`) y comandos ejecutables de lifecycle/gates.
|
|
154
|
+
- ✅ Auditar `README.md` con criterios enterprise (profesionalismo, claridad, estructura y completitud) y generar backlog de mejoras priorizado.
|
|
155
|
+
- ✅ Reescribir `README.md` de forma integral con estándar enterprise (audiencia consumer/framework separada, comandos reales y estructura consistente).
|
|
151
156
|
- 🚧 Ejecutar matriz E2E completa en `pumuki-mock-consumer` (`install -> pre-commit/pre-push/ci -> remove`) sobre escenarios `clean`, `violations` y `mixed`.
|
|
152
157
|
|
|
153
158
|
## Notas
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pumuki",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.9",
|
|
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": {
|