vmware-debug 1.8.0__tar.gz → 1.8.1__tar.gz
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.
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/PKG-INFO +1 -1
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/RELEASE_NOTES.md +21 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/pyproject.toml +1 -1
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/server.json +2 -2
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/skills/vmware-debug/SKILL.md +12 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/skills/vmware-debug/references/capabilities.md +5 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/skills/vmware-debug/references/setup-guide.md +40 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/vmware_debug/__init__.py +1 -1
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/.gitignore +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/README-CN.md +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/README.md +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/SECURITY.md +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/mcp_server/__init__.py +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/mcp_server/server.py +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/skills/vmware-debug/references/cli-reference.md +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/skills/vmware-debug/references/event-envelope.md +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/skills/vmware-debug/references/routing.md +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/tests/eval/regression/__init__.py +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/tests/eval/regression/test_debug_regressions.py +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/tests/eval/regression/test_declared_environment.py +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/tests/eval/regression/test_read_only_mode.py +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/tests/eval/regression/test_result_envelope.py +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/tests/test_timeline.py +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/uv.lock +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/vmware_debug/cli.py +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/vmware_debug/envelope.py +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/vmware_debug/mcp/__init__.py +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/vmware_debug/mcp/tools.py +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/vmware_debug/ops/__init__.py +0 -0
- {vmware_debug-1.8.0 → vmware_debug-1.8.1}/vmware_debug/ops/timeline.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vmware-debug
|
|
3
|
-
Version: 1.8.
|
|
3
|
+
Version: 1.8.1
|
|
4
4
|
Summary: VMware diagnostic brain — read-only incident triage, log/event correlation, and root-cause routing across the VMware skill family
|
|
5
5
|
Author-email: Wei Zhou <wei-wz.zhou@broadcom.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
## v1.8.1 (2026-07-19) — read-only mode reaches the surfaces that teach it
|
|
2
|
+
|
|
3
|
+
v1.8.0 put read-only mode in the code and documented it in the README only.
|
|
4
|
+
Every other layer was empty, and each serves a different reader: SKILL.md is what
|
|
5
|
+
the agent loads, setup-guide is what an operator reads while configuring, `doctor`
|
|
6
|
+
is where they verify it took. The gap had two concrete costs.
|
|
7
|
+
|
|
8
|
+
An agent read SKILL.md, called a write tool the gate had withheld, and got nothing
|
|
9
|
+
back — with no way to learn that the absence was a deliberate lockdown rather than
|
|
10
|
+
a fault. It reads as a broken tool, so the model retries or hunts for a workaround.
|
|
11
|
+
|
|
12
|
+
An operator who set the switch had no way to confirm it. The only signal was a line
|
|
13
|
+
in the MCP server's start-up log.
|
|
14
|
+
|
|
15
|
+
### Added — the feature is now documented where each reader looks
|
|
16
|
+
|
|
17
|
+
SKILL.md, setup-guide and capabilities now cover read-only mode. Both tools here
|
|
18
|
+
are reads, so nothing is withheld — the gate instead verifies that at start-up
|
|
19
|
+
rather than taking this documentation's word for it. Env vars are the only switch;
|
|
20
|
+
this package has no config file.
|
|
21
|
+
|
|
1
22
|
## v1.8.0 (2026-07-18) — read-only mode, working policy defaults, declared environments
|
|
2
23
|
|
|
3
24
|
Family release driven by [VMware-AIops#31](https://github.com/zw008/VMware-AIops/issues/31),
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "vmware-debug"
|
|
7
|
-
version = "1.8.
|
|
7
|
+
version = "1.8.1"
|
|
8
8
|
description = "VMware diagnostic brain — read-only incident triage, log/event correlation, and root-cause routing across the VMware skill family"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
"url": "https://github.com/zw008/VMware-Debug",
|
|
8
8
|
"source": "github"
|
|
9
9
|
},
|
|
10
|
-
"version": "1.8.
|
|
10
|
+
"version": "1.8.1",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "pypi",
|
|
14
14
|
"identifier": "vmware-debug",
|
|
15
|
-
"version": "1.8.
|
|
15
|
+
"version": "1.8.1",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
}
|
|
@@ -113,6 +113,18 @@ a recommended plan.
|
|
|
113
113
|
See `references/event-envelope.md`. The agent normalises each source's events into this
|
|
114
114
|
shape; debug stays source-agnostic and has no dependency on the other packages.
|
|
115
115
|
|
|
116
|
+
## Read-Only Mode
|
|
117
|
+
|
|
118
|
+
Both tools here are reads, so read-only mode withholds nothing — but
|
|
119
|
+
`VMWARE_DEBUG_READ_ONLY=true` or the family-wide `VMWARE_READ_ONLY=true` still applies, and
|
|
120
|
+
the gate verifies at start-up that zero write tools are exposed rather than taking this
|
|
121
|
+
document's word for it. Debug has no config file, so the env vars are the only switch. The
|
|
122
|
+
same family variable withholds write tools across every companion skill, so a whole-estate
|
|
123
|
+
audit posture is one setting — and when you route a fix to vmware-aiops or vmware-pilot and
|
|
124
|
+
the tool is missing from *their* `list_tools()`, that is the lockdown, not a fault. Do not
|
|
125
|
+
retry or hunt for another route: name the blocked operation and say an operator must clear
|
|
126
|
+
the switch and restart that server.
|
|
127
|
+
|
|
116
128
|
## CLI Quick Reference
|
|
117
129
|
|
|
118
130
|
```bash
|
|
@@ -7,6 +7,11 @@ Read-only, offline incident correlation. No network, no credentials, no writes.
|
|
|
7
7
|
| `incident_timeline` | `{event_count, window, spikes:[{start,end,count,zscore}], hypotheses:[{category, score, summary, evidence_count, first_seen, last_seen, sample_text, suggested_check}], next_checks:[...]}` | 300–2000 (scales with hypotheses) |
|
|
8
8
|
| `list_symptom_categories` | `{items: [{category, example_keywords, suggested_check}], returned, limit, total, truncated, hint}` | ~400 |
|
|
9
9
|
|
|
10
|
+
> Read-only mode (`VMWARE_DEBUG_READ_ONLY=true` or the family-wide `VMWARE_READ_ONLY=true`;
|
|
11
|
+
> debug has no config file) removes nothing from this table — both tools are `[READ]`, and
|
|
12
|
+
> the gate proves that at start-up rather than trusting the marker. Classification comes
|
|
13
|
+
> from the `[READ]`/`[WRITE]` docstring marker — see README.
|
|
14
|
+
|
|
10
15
|
`list_symptom_categories` returns the family list envelope — read the rows from
|
|
11
16
|
`items`. It has no `limit` parameter, which is exactly why the envelope matters:
|
|
12
17
|
`truncated: false` states that this is every category there is, rather than
|
|
@@ -26,6 +26,46 @@ For full cross-skill diagnosis, also install the data-source skills it correlate
|
|
|
26
26
|
(vmware-monitor, vmware-log-insight, vmware-aria, vmware-nsx) and the executors it
|
|
27
27
|
routes fixes to (vmware-aiops, vmware-pilot).
|
|
28
28
|
|
|
29
|
+
## Read-Only Mode
|
|
30
|
+
|
|
31
|
+
Off by default. Both of debug's tools are reads, so turning it on withholds nothing here —
|
|
32
|
+
the value is that the gate *verifies* at start-up that no write tool is exposed, instead of
|
|
33
|
+
trusting this document, and that the same family variable locks down every other installed
|
|
34
|
+
skill in one setting.
|
|
35
|
+
|
|
36
|
+
**Debug has no config file, so the environment is the only switch.** There is no
|
|
37
|
+
`read_only:` setting to write. Precedence:
|
|
38
|
+
|
|
39
|
+
| Priority | Signal | Scope |
|
|
40
|
+
|---|---|---|
|
|
41
|
+
| 1 | `VMWARE_DEBUG_READ_ONLY` | This skill only |
|
|
42
|
+
| 2 | `VMWARE_READ_ONLY` | Every installed VMware skill |
|
|
43
|
+
| 3 | (nothing set) | Off |
|
|
44
|
+
|
|
45
|
+
```json
|
|
46
|
+
{
|
|
47
|
+
"mcpServers": {
|
|
48
|
+
"vmware-debug": {
|
|
49
|
+
"command": "vmware-debug",
|
|
50
|
+
"args": ["mcp"],
|
|
51
|
+
"env": { "VMWARE_READ_ONLY": "true" }
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Fail-closed.** If the mode is requested but cannot be *proven*, the server refuses to
|
|
58
|
+
start with `ReadOnlyGateError`: the FastMCP tool registry cannot be enumerated (usually an
|
|
59
|
+
incompatible `mcp` version), or a removal did not take effect. One case does *not* abort —
|
|
60
|
+
an unparseable value (`VMWARE_DEBUG_READ_ONLY=ture`) resolves to **on** with a warning
|
|
61
|
+
naming the accepted values, so a typo locks the deployment down rather than leaving it
|
|
62
|
+
open.
|
|
63
|
+
|
|
64
|
+
**Verifying.** Debug ships no `doctor` command; the start-up log is the record — the server
|
|
65
|
+
logs every withheld tool when the mode engages, and logs nothing to withhold here. Skills
|
|
66
|
+
that do ship one (e.g. `vmware-log-insight doctor`) report their resolved state and where it
|
|
67
|
+
came from.
|
|
68
|
+
|
|
29
69
|
## Security
|
|
30
70
|
|
|
31
71
|
> **Disclaimer**: Community-maintained open-source project, **not affiliated with,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vmware_debug-1.8.0 → vmware_debug-1.8.1}/tests/eval/regression/test_declared_environment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|