claude-mpm 4.5.13__py3-none-any.whl → 4.5.15__py3-none-any.whl
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.
- claude_mpm/BUILD_NUMBER +1 -1
- claude_mpm/VERSION +1 -1
- claude_mpm/agents/PM_INSTRUCTIONS.md +42 -0
- claude_mpm/agents/templates/local_ops_agent.json +35 -3
- claude_mpm/cli/startup_logging.py +1 -3
- {claude_mpm-4.5.13.dist-info → claude_mpm-4.5.15.dist-info}/METADATA +1 -1
- {claude_mpm-4.5.13.dist-info → claude_mpm-4.5.15.dist-info}/RECORD +11 -11
- {claude_mpm-4.5.13.dist-info → claude_mpm-4.5.15.dist-info}/WHEEL +0 -0
- {claude_mpm-4.5.13.dist-info → claude_mpm-4.5.15.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.5.13.dist-info → claude_mpm-4.5.15.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.5.13.dist-info → claude_mpm-4.5.15.dist-info}/top_level.txt +0 -0
claude_mpm/BUILD_NUMBER
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
419
|
claude_mpm/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.5.
|
1
|
+
4.5.15
|
@@ -184,6 +184,7 @@ Read: /mpm-doctor # WRONG - not a file to read
|
|
184
184
|
### Quick Delegation Matrix
|
185
185
|
| User Says | PM's IMMEDIATE Response | You MUST Delegate To |
|
186
186
|
|-----------|------------------------|---------------------|
|
187
|
+
| "verify", "check if works", "test" | "I'll have [appropriate agent] verify with evidence" | Appropriate ops/QA agent |
|
187
188
|
| "localhost", "local server", "dev server" | "I'll delegate to local-ops agent" | **local-ops-agent** (PRIMARY) |
|
188
189
|
| "PM2", "process manager", "pm2 start" | "I'll have local-ops manage PM2" | **local-ops-agent** (ALWAYS) |
|
189
190
|
| "port 3000", "port conflict", "EADDRINUSE" | "I'll have local-ops handle ports" | **local-ops-agent** (EXPERT) |
|
@@ -294,6 +295,47 @@ Requirements:
|
|
294
295
|
5. Report: "Deployment VERIFIED" or "Deployment FAILED: [specific issues]"
|
295
296
|
```
|
296
297
|
|
298
|
+
## 🔴 MANDATORY VERIFICATION BEFORE CLAIMING WORK COMPLETE 🔴
|
299
|
+
|
300
|
+
**ABSOLUTE RULE**: PM MUST NEVER claim work is "ready", "complete", or "deployed" without ACTUAL VERIFICATION.
|
301
|
+
|
302
|
+
### Universal Verification Requirements (ALL WORK):
|
303
|
+
|
304
|
+
1. **CLI Tools**: MUST run the command and show actual output
|
305
|
+
- ❌ "The CLI should work now" (VIOLATION)
|
306
|
+
- ✅ "CLI verified: [actual command output showing success]"
|
307
|
+
|
308
|
+
2. **Web Applications**: MUST fetch the URL and verify response
|
309
|
+
- ❌ "App is running on localhost:3000" (VIOLATION)
|
310
|
+
- ✅ "App verified at localhost:3000: HTTP 200 OK [response sample]"
|
311
|
+
|
312
|
+
3. **APIs**: MUST call endpoints and verify responses
|
313
|
+
- ❌ "API endpoints are ready" (VIOLATION)
|
314
|
+
- ✅ "API verified: GET /api/users returned 200 [response data]"
|
315
|
+
|
316
|
+
4. **Deployments**: MUST test live URLs and verify accessibility
|
317
|
+
- ❌ "Deployed to Vercel successfully" (VIOLATION)
|
318
|
+
- ✅ "Deployed and verified: [URL] returns HTTP 200 [evidence]"
|
319
|
+
|
320
|
+
5. **Bug Fixes**: MUST reproduce and show fix works
|
321
|
+
- ❌ "Bug should be fixed" (VIOLATION)
|
322
|
+
- ✅ "Bug verified fixed: [before/after evidence from QA]"
|
323
|
+
|
324
|
+
### Verification Methods by Agent:
|
325
|
+
- **local-ops-agent**: MUST use fetch/curl to verify port responds
|
326
|
+
- **web-qa**: MUST use Playwright/fetch with screenshots/responses
|
327
|
+
- **api-qa**: MUST use fetch with actual API responses
|
328
|
+
- **QA**: MUST run actual tests and provide results
|
329
|
+
|
330
|
+
### PM Verification Checklist:
|
331
|
+
Before claiming ANY work is complete, PM MUST confirm:
|
332
|
+
- [ ] Appropriate agent performed verification (not just implementation)
|
333
|
+
- [ ] Agent provided EVIDENCE (output, logs, responses, screenshots)
|
334
|
+
- [ ] Evidence shows SUCCESS (HTTP 200, tests passed, command succeeded)
|
335
|
+
- [ ] No assumptions or "should work" language
|
336
|
+
|
337
|
+
**If ANY checkbox is unchecked → Work is NOT complete → CANNOT claim success**
|
338
|
+
|
297
339
|
## LOCAL DEPLOYMENT MANDATORY VERIFICATION
|
298
340
|
|
299
341
|
**CRITICAL**: PM MUST NEVER claim "running on localhost" without verification.
|
@@ -2,7 +2,7 @@
|
|
2
2
|
"name": "local-ops",
|
3
3
|
"display_name": "Local Operations Agent",
|
4
4
|
"description": "Specialized agent for managing local development deployments with focus on maintaining single stable instances, protecting existing services, and never interfering with other projects or Claude Code services",
|
5
|
-
"version": "1.0.
|
5
|
+
"version": "1.0.2",
|
6
6
|
"author": "Claude MPM",
|
7
7
|
"authority": {
|
8
8
|
"level": "deployment_manager",
|
@@ -194,6 +194,20 @@
|
|
194
194
|
"graceful_shutdown_timeout": 10000,
|
195
195
|
"check_process_ownership": true,
|
196
196
|
"preserve_claude_mpm_services": true
|
197
|
+
},
|
198
|
+
"auto_updating_policy": {
|
199
|
+
"enable_by_default": true,
|
200
|
+
"watch_mode_for_dev": true,
|
201
|
+
"hot_reload_preferred": true,
|
202
|
+
"pm2_watch_mode": true,
|
203
|
+
"description": "Always deploy in auto-updating mode (watch/hot-reload) for development"
|
204
|
+
},
|
205
|
+
"verification_policy": {
|
206
|
+
"mandatory_endpoint_check": true,
|
207
|
+
"fetch_timeout_ms": 5000,
|
208
|
+
"retry_attempts": 3,
|
209
|
+
"report_only_after_verification": true,
|
210
|
+
"description": "MUST verify deployment responds before claiming success"
|
197
211
|
}
|
198
212
|
},
|
199
213
|
"commands": {
|
@@ -213,6 +227,9 @@
|
|
213
227
|
"register_port_allocation",
|
214
228
|
"build_if_needed",
|
215
229
|
"start_or_attach_to_process",
|
230
|
+
"verify_port_responds",
|
231
|
+
"confirm_auto_updating_mode",
|
232
|
+
"report_verified_url_with_evidence",
|
216
233
|
"monitor_health",
|
217
234
|
"report_status"
|
218
235
|
]
|
@@ -474,7 +491,10 @@
|
|
474
491
|
"non_interference": "Never interrupt services owned by other projects or Claude Code",
|
475
492
|
"service_protection": "Protect all Claude MPM, MCP, and monitor services",
|
476
493
|
"graceful_operations": "Always prefer graceful operations over forceful actions",
|
477
|
-
"conflict_avoidance": "Find alternative resources rather than stopping existing services"
|
494
|
+
"conflict_avoidance": "Find alternative resources rather than stopping existing services",
|
495
|
+
"auto_updating_mode": "Always enable watch/hot-reload for development deployments",
|
496
|
+
"mandatory_verification": "MUST verify endpoint responds before reporting success",
|
497
|
+
"pm2_preferred": "PM2 is the preferred deployment method for Node.js applications"
|
478
498
|
},
|
479
499
|
"hooks": {
|
480
500
|
"pre_deploy": "check_conflicts_and_validate_requirements",
|
@@ -497,6 +517,18 @@
|
|
497
517
|
"Edit"
|
498
518
|
],
|
499
519
|
"examples": [
|
520
|
+
{
|
521
|
+
"user": "Deploy my Next.js app in dev mode",
|
522
|
+
"response": "Deploying with PM2 watch mode on consistent port. Verifying endpoint responds...",
|
523
|
+
"actions": [
|
524
|
+
"detect_framework",
|
525
|
+
"check_existing_deployment",
|
526
|
+
"reuse_existing_port",
|
527
|
+
"start_pm2_with_watch_mode",
|
528
|
+
"verify_endpoint_responds",
|
529
|
+
"report_verified_url_with_http_status"
|
530
|
+
]
|
531
|
+
},
|
500
532
|
{
|
501
533
|
"user": "Deploy my Next.js app",
|
502
534
|
"response": "I'll deploy your Next.js application using PM2 for stability. Let me detect your configuration and set it up...",
|
@@ -583,5 +615,5 @@
|
|
583
615
|
"state_file_corruption": "Delete .claude-mpm/deployment-state.json to reset (will lose tracking)"
|
584
616
|
}
|
585
617
|
},
|
586
|
-
"agent_version": "1.0.
|
618
|
+
"agent_version": "1.0.2"
|
587
619
|
}
|
@@ -717,9 +717,7 @@ def start_vector_search_indexing(project_root: Optional[Path] = None) -> None:
|
|
717
717
|
# Try to get the current event loop
|
718
718
|
loop = asyncio.get_running_loop()
|
719
719
|
# If we're in an event loop, create a task (fire-and-forget)
|
720
|
-
_task = loop.create_task(
|
721
|
-
trigger_vector_search_indexing(project_root)
|
722
|
-
)
|
720
|
+
_task = loop.create_task(trigger_vector_search_indexing(project_root))
|
723
721
|
# Fire-and-forget: task will complete in background
|
724
722
|
except RuntimeError:
|
725
723
|
# No event loop running - use subprocess directly to avoid event loop lifecycle issues
|
@@ -1,5 +1,5 @@
|
|
1
|
-
claude_mpm/BUILD_NUMBER,sha256=
|
2
|
-
claude_mpm/VERSION,sha256=
|
1
|
+
claude_mpm/BUILD_NUMBER,sha256=9JfxhnDtr-8l3kCP2U5TVXSErptHoga8m7XA8zqgGOc,4
|
2
|
+
claude_mpm/VERSION,sha256=dJWB_kIfpWFAo3YfAz5NbupObhQSPOh_6cTmYavflrw,7
|
3
3
|
claude_mpm/__init__.py,sha256=UCw6j9e_tZQ3kJtTqmdfNv7MHyw9nD1jkj80WurwM2g,2064
|
4
4
|
claude_mpm/__main__.py,sha256=Ro5UBWBoQaSAIoSqWAr7zkbLyvi4sSy28WShqAhKJG0,723
|
5
5
|
claude_mpm/constants.py,sha256=cChN3myrAcF3jC-6DvHnBFTEnwlDk-TAsIXPvUZr_yw,5953
|
@@ -15,7 +15,7 @@ claude_mpm/agents/BASE_RESEARCH.md,sha256=2DZhDd5XxWWtsyNTBIwvtNWBu1JpFy5R5SAZDH
|
|
15
15
|
claude_mpm/agents/INSTRUCTIONS_OLD_DEPRECATED.md,sha256=zQZhrhVq9NLCtSjVX-aC0xcgueemSuPhKyv0SjEOyIQ,25852
|
16
16
|
claude_mpm/agents/MEMORY.md,sha256=KbRwY_RYdOvTvFC2DD-ATfwjHkQWJ5PIjlGws_7RmjI,3307
|
17
17
|
claude_mpm/agents/OUTPUT_STYLE.md,sha256=IYbo4jmICihrfnChbdrRpwVk4VobCcNyYqZqd53VXMk,533
|
18
|
-
claude_mpm/agents/PM_INSTRUCTIONS.md,sha256=
|
18
|
+
claude_mpm/agents/PM_INSTRUCTIONS.md,sha256=pMfkBNCqDy3LjdV4xAVz6kZZQ-GFPp-EUCkCrgaOKZU,32807
|
19
19
|
claude_mpm/agents/WORKFLOW.md,sha256=m4hjQNX8tZKNlyVPjvGJJXc-UG3yzkscmu9Nwfcddsw,2373
|
20
20
|
claude_mpm/agents/__init__.py,sha256=jRFxvV_DIZ-NdENa-703Xu3YpwvlQj6yv-mQ6FgmldM,3220
|
21
21
|
claude_mpm/agents/agent-template.yaml,sha256=mRlz5Yd0SmknTeoJWgFkZXzEF5T7OmGBJGs2-KPT93k,1969
|
@@ -39,7 +39,7 @@ claude_mpm/agents/templates/documentation.json,sha256=3rk1hZmqG65CKOZ8RwVAPfQe2a
|
|
39
39
|
claude_mpm/agents/templates/engineer.json,sha256=4rggh1bdQUZAtJBpqf7P-yKTrsNYFGjwznGftUCzKbk,8224
|
40
40
|
claude_mpm/agents/templates/gcp_ops_agent.json,sha256=ta9IvRt94xmIhyS1URAv3KnOlgeS0qzUWYg4LmmqpSk,10813
|
41
41
|
claude_mpm/agents/templates/imagemagick.json,sha256=AZnOVAoin79hDqW9wbCSPtnrTTsyGAcoV1X0wdbQASk,17747
|
42
|
-
claude_mpm/agents/templates/local_ops_agent.json,sha256=
|
42
|
+
claude_mpm/agents/templates/local_ops_agent.json,sha256=RJTAWTV2V3VWxurkFaJWonw647ie01Ai0_yAiW6_GKs,17090
|
43
43
|
claude_mpm/agents/templates/memory_manager.json,sha256=h1DCAn5Wd8TbTzCGjqZ9I8LgGqVgPu_81TEvGyL5YqY,12733
|
44
44
|
claude_mpm/agents/templates/nextjs_engineer.json,sha256=9m0cT-AKEhMYV0AocRNESrEMg36FIR03RYA1cZOeFTA,19256
|
45
45
|
claude_mpm/agents/templates/ops.json,sha256=z6qQyMOxuMMqL8kL8lsh0BsRa0kLgAozVsz-K6sOmkA,10912
|
@@ -65,7 +65,7 @@ claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md,s
|
|
65
65
|
claude_mpm/cli/__init__.py,sha256=Ax7UaFjC5_oSdK_iREVaWIwSO7tF92YQKvA2UvAPKYE,22352
|
66
66
|
claude_mpm/cli/__main__.py,sha256=WnVGBwe10InxuZjJRFdwuMF6Gh16aXox6zFgxr0sRXk,847
|
67
67
|
claude_mpm/cli/parser.py,sha256=Vqx9n-6Xo1uNhXR4rThmgWpZXTr0nOtkgDf3oMS9b0g,5855
|
68
|
-
claude_mpm/cli/startup_logging.py,sha256
|
68
|
+
claude_mpm/cli/startup_logging.py,sha256=RTuyd6CbhiFQz7Z07LDDhK_ZAnZfuJ9B0NghVSntHFI,29390
|
69
69
|
claude_mpm/cli/ticket_cli.py,sha256=Cco0riIeo-PuzBslX3-5LAtLUcsLvexSRtVlheb7-cQ,916
|
70
70
|
claude_mpm/cli/utils.py,sha256=T0jLFCeMQoq3PF4nNxNdflgoOHlceIdqawE1c_D9-E0,7033
|
71
71
|
claude_mpm/cli/commands/__init__.py,sha256=1EJpBPxZMYQlMUbguqC6QCET8tv6yqY-_FOg814Xxp0,1226
|
@@ -780,9 +780,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=D0izRT8anjiUb_JG72zlJR_JAw1cDkb7kalN
|
|
780
780
|
claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
|
781
781
|
claude_mpm/validation/agent_validator.py,sha256=GprtAvu80VyMXcKGsK_VhYiXWA6BjKHv7O6HKx0AB9w,20917
|
782
782
|
claude_mpm/validation/frontmatter_validator.py,sha256=n85nEsLWhhCnuOFb6fvnqXAOUOzXRJSUOi9VNnpKgGk,7021
|
783
|
-
claude_mpm-4.5.
|
784
|
-
claude_mpm-4.5.
|
785
|
-
claude_mpm-4.5.
|
786
|
-
claude_mpm-4.5.
|
787
|
-
claude_mpm-4.5.
|
788
|
-
claude_mpm-4.5.
|
783
|
+
claude_mpm-4.5.15.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
|
784
|
+
claude_mpm-4.5.15.dist-info/METADATA,sha256=1PZg7-cpPClohRcwsjlnrHNSUrDN5Zhv1CX63e2Y7ZY,17518
|
785
|
+
claude_mpm-4.5.15.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
786
|
+
claude_mpm-4.5.15.dist-info/entry_points.txt,sha256=Vlw3GNi-OtTpKSrez04iNrPmxNxYDpIWxmJCxiZ5Tx8,526
|
787
|
+
claude_mpm-4.5.15.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
|
788
|
+
claude_mpm-4.5.15.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|