8.8 KiB
VMware vCenter Phase-1 Proof Matrix
Last updated: 2026-03-30 Status: PLANNED Governance surfaces:
status.json.candidate_lanes.platform-admission-executiondocs/release-control/v6/internal/VMWARE_VSPHERE_PHASE1_EXECUTION_PLAN.mddocs/release-control/v6/internal/VMWARE_VCENTER_PHASE1_ONBOARDING_SPEC.md
Use this matrix for the trust-critical boundary between:
- a planned VMware architecture
- an implemented VMware onboarding and projection path
- an honest claim that VMware is actually supported in Pulse
This matrix does not replace repo-local tests.
It exists because VMware can look correct in isolated API, poller, or UI work
while still failing the real support floor on a live vCenter.
Governing Policy
The locked VMware phase-1 rule is:
vmware-vsphereis one first-class platform idvCenteris the only supported entry point in phase 1- ingestion is
api-backed - ESXi hosts project as canonical
agent - VMs project as canonical
vm - datastores project as canonical
storage - alerts and assistant read may be supported
- recovery stays
n/a - assistant control stays
read-only
Scope
In scope:
- shared platform-connections onboarding to
vCenter - saved-connection test and health summary behavior
- inventory projection for hosts, VMs, and datastores
- alarm, event, task, snapshot, and metrics/history visibility where the declared floor depends on them
- assistant read on canonical VMware-backed resources
Out of scope:
- direct
ESXi - unified-agent-required bootstrap
physical-disk,system-container, orapp-containersupport- recovery-artifact or restore claims
- assistant or operator control for VMware actions
Environment Prerequisites
Before running this matrix, provide a real VMware environment with:
- one reachable
vCenter - one service account candidate for phase-1 read-first support
- at least one ESXi host
- at least one VM
- at least one datastore
- at least one recent event or task visible through vCenter history
- ideally one VM snapshot so snapshot-tree visibility can be proven
Record the non-secret capability metadata first in LOCAL_CAPABILITIES.md.
If that record does not exist, the matrix is not runnable.
Automated Proof Floor
Before calling VMware supported, Pulse should have automated proof for at least:
- backend API contract coverage for
/api/vmware/connections* - saved-secret preservation and saved-connection retest behavior
- projection of VMware-backed
agent,vm, andstorageresources without provider-local top-level types - alert and history mapping on the shared paths
- assistant read classification and capability exposure remaining read-only
If the automated floor is missing, the manual drill may inform implementation, but it must not be used as the sole basis for a support claim.
Scenario Matrix
| ID | Scenario | Pass focus |
|---|---|---|
VC-0 |
Capability registration | Live vCenter environment is recorded in LOCAL_CAPABILITIES.md with safe metadata |
VC-1 |
Draft connection test | New vCenter draft validates through the shared setup path with clean failure classification |
VC-2 |
Saved connection retest | Stored credentials can be re-tested without forcing secret re-entry |
VC-3 |
Inventory projection floor | ESXi hosts, VMs, and datastores land as canonical agent, vm, and storage |
VC-4 |
Storage and snapshot visibility | Datastore state and snapshot-tree visibility appear without inflating recovery claims |
VC-5 |
Alerts and history floor | Shared alerts can surface VMware alarm and history context |
VC-6 |
Assistant read floor | Assistant can inspect canonical VMware-backed resources without VMware-specific tools |
VC-7 |
Exclusion integrity | No direct ESXi, recovery, or control claim leaks into the shipped behavior or wording |
Execution Steps
VC-0 Capability Registration
- Record the environment in
LOCAL_CAPABILITIES.mdwith safe access notes, verification command, and any non-secret environment label.
Pass when:
- the capability is recorded
- a future agent can discover that a live VMware proof environment exists without reading secrets
VC-1 Draft Connection Test
- Open the shared
Platform connectionsworkspace. - Create a new VMware draft with the phase-1 connection fields.
- Run the draft test path before saving.
- Intentionally exercise at least one bad-path case such as bad host, TLS mismatch, or insufficient privileges.
Pass when:
- the draft validates through the shared VMware setup path
- failures classify clearly instead of collapsing into generic unknown error
- the path does not require a unified agent or direct
ESXirouting
VC-2 Saved Connection Retest
- Save a working VMware connection.
- Re-test it through the saved-connection test path.
- Re-test it again with a partial edit payload that preserves unchanged secrets.
- Reload the connection list.
Pass when:
- the saved-connection test succeeds without re-entering masked secrets
- edited saved-connection tests can reuse stored secrets server-side
- the list reflects refreshed last-success or last-error state
VC-3 Inventory Projection Floor
- Let the VMware poller collect from the saved connection.
- Inspect the infrastructure/workload/storage surfaces or canonical APIs.
- Confirm hosts, VMs, and datastores are visible.
Pass when:
- ESXi hosts land as canonical
agent - guest workloads land as canonical
vm - datastores land as canonical
storage - no provider-local top-level
esxi-host,vsphere-vm, or equivalent type appears
VC-4 Storage And Snapshot Visibility
- Inspect datastore state through the shared storage surface.
- Inspect VM detail for snapshot-tree visibility.
- Confirm any recovery-adjacent wording stays descriptive, not product-claim inflation.
Pass when:
- datastore capacity, free space, and accessibility are visible on the shared path
- snapshot-tree visibility exists when the upstream environment exposes it
- Pulse does not present VMware as recovery-supported just because snapshots are readable
VC-5 Alerts And History Floor
- Inspect shared alerts or incident views after VMware collection.
- Confirm VMware-backed alarm or health context can be reached.
- Confirm related event/task context is available where the shared product expects it.
Pass when:
- alerts route through shared alert and incident surfaces
- VMware-backed context is readable there without a provider-local shell
- the product does not imply VMware-specific alarm management
VC-6 Assistant Read Floor
- Use the shared Assistant read paths against canonical VMware-backed resources.
- Inspect a host, a VM, and a datastore.
Pass when:
- Assistant reads work on canonical
agent,vm, andstorage - there are no VMware-specific tools or verbs required
- no control capability is exposed as part of the VMware phase-1 floor
VC-7 Exclusion Integrity
- Review shipped wording, route inventory, tool inventory, and visible product behavior.
- Confirm no broader support claim leaked in while implementing the floor.
Pass when:
- direct
ESXiis still out of scope - recovery support is still
n/a - assistant control is still
read-only - no VMware admin-plane action surface shipped by implication
Evidence To Capture
Capture all of the following outside git or in a dated release-control record:
- the
LOCAL_CAPABILITIES.mdcapability entry vCenterversion/build information- the exact privilege bundle used for the successful proof run
- connection-list screenshots or payloads showing poll health and observed contribution summary
- canonical resource screenshots or payloads showing
agent,vm, andstorageprojection - alert or incident screenshots/payloads showing VMware-backed context
- assistant read transcript or screenshots showing canonical VMware-backed resource inspection
- explicit note that recovery and control stayed out of scope
Failure Rules
Do not call VMware supported if any of these are true:
- no live
vCentercapability is recorded - the privilege bundle is guessed rather than proven
- the supported version floor is guessed rather than proven
- VMware inventory lands on provider-local top-level resource types
- the product wording or runtime behavior implies direct
ESXisupport - the product wording or runtime behavior implies recovery support
- the product wording or runtime behavior exposes VMware control as part of phase 1
Current Blocker
As of 2026-03-30, VC-0 is not yet satisfied in this workspace.
There is still no recorded VMware capability in
/Volumes/Development/pulse/LOCAL_CAPABILITIES.md.
That means the planning and implementation path can continue, but the support claim remains blocked until a real proof environment is available.