Added
-
Hyper-V hypervisor collector. Cadastre had a Proxmox collector but none
for Hyper-V, so a Hyper-V guest was unobserved where an equivalent Proxmox
guest resolved inlookup. The newhypervisor-hypervcollector reads a
read-only JSON inventory of the host's guests (theGet-VMshape, exposed
over HTTP by a small read-only shim) and emits the same neutralhost
observations Proxmox does — each guest as aserverwithhosted_in, the
host itself as ahypervisor— reflecting only what the model already
carries. A guestless host is a credible empty, so it keeps the default
empty_expectedrather than Proxmox's override. (#35) -
Tailnet liveness on the Tailscale collector.
vpn-tailscalealready
emitted hosts, but nothing distinguished a live tailnet node from a dormant
one, so an offline node read as a current host. It now attachesonline,
last_seen,addresses, andosasx-tailscaleevidence — the same
attribute mechanismorchestrator-gitopsuses — because the neutralhost
has no home for any of it and inventing a state field would put the two host
collectors at odds. (#34)
Fixed
lookupno longer reads a stale collector as confirmation. The v0.2.3
confirmationstatus readconfirmedwhenever any collector had reported an
id — including one whose most recent run failed (unreachable) or is past
its TTL, whose prior entitiescollectdeliberately retains. The record then
read as probe-backed while its only evidence had since gone dark — the same
"looks current while unverified" failure the confirmation work set out to
close. A match from a stale source now yields astalestatus ("no fresh
collection has confirmed it since<as_of>") rather thanconfirmed, and a
fresh collector still confirms despite a stale one beside it. ([#28])
Changed
- MCP SDK and base-image bumps. The MCP SDK moves from 2.0.0 to 2.1.1,
which dropsFastMCPfrommcp.server.fastmcp; the adapter already falls
back tomcp.server.mcpserver.MCPServer, so both transports are unchanged for
callers. Thenode,nginx, andpythonbase images and the GUI toolchain
are bumped alongside it. These change the bytes of the released images and
wheel without changing behaviour.