Contract-Neutral: RC qualification fixes preserve existing public API, tenant, monitoring, and organization contracts while correcting canonical runtime ownership and test fixtures.
Match only the canonical workloads request so unrelated resource traffic does not contend through the Playwright route handler.
Contract-Neutral: Test fixture routing only; no public subsystem contract change
Cover pure functions left at 0% after the canonical Operational Trust and
unified-resource work, surfaced by a fresh coverage probe.
- unifiedresources views.go accessors for K8sNodeView, DockerContainerView,
PodView, K8sDeploymentView, HostView, DockerHostView, K8sClusterView and
the smaller ContainerView.Pool / NodeView.IsClusterMember /
PhysicalDiskView.MetricResourceID / PBSInstanceView.Datastores /
PMGInstanceView.InstanceID accessors. Each exercises the nil-receiver and
nil-nested defensive arms, the populated projection, and slice/map
clone-independence.
- unifiedresources clone.go seven Ceph deep-clone helpers, asserting value
equality, mutation independence, and nil/empty inputs.
- agentcapabilities firstStringPayloadValue, MCPManifestPromptProjectionSupported
and JSONRPCError.Error.
- ai/tools data_types NormalizeCollections (three receivers),
ValidateCurrentResourceAvailable and ErrExecutionContextUnavailable.Error.
Test-only. Every target function moved 0% to covered. No source changes.
Contract-Neutral: test-only branch-coverage tests; no source or contract changes
The retrieval instructions covered Docker, Kubernetes, and systemd but
not the Proxmox-shell install, which puts Pulse inside an LXC. Running
sudo pulse bootstrap-token on the PVE host finds nothing there, so a
user who missed the token in the installer output had no working
documented path back to it.
Use the runtime-selected default token path in the token-resolution fixture so the same contract is exercised on Windows and Unix runners.
Contract-Neutral: Platform-aware agent token test fixture changes no runtime contract
GatePatrolAutonomyUpdate validates and consumes the activation
acknowledgement, then re-marshals the settings for the downstream
handler - but the marshaled body still carried acknowledgement_id.
The Pro autonomy handler decodes the body with DisallowUnknownFields
and has no such field, so every Autopilot (full mode) activation on a
Pro build failed with 400 Invalid request body. Lower autonomy levels
forward the original body untouched, which is why only full mode broke.
Clear the consumed acknowledgement before normalizing and hand it to
the downstream handler via request context only. The new regression
test strict-decodes the forwarded body with the enterprise handler's
exact field set.
Contract-Neutral: Autopilot activation gate normalization fix; endpoint contract unchanged
Use the installer-owned ProgramData directory consistently for token lookup, enrollment state, agent identity, receipts, and service runtime data. Pass that directory explicitly to the Windows service and retain the existing Linux default elsewhere.
Contract-Neutral: Windows agent state-path alignment preserves the existing installer and agent public contract
The PowerShell snippet never prompts for the Pulse URL or API token; it
embeds the URL and hands the token over via a temporary token file. The
old note promised an interactive prompt that does not exist, stranding
users who expected one.
Contract-Neutral: Settings install-panel copy correction; no public interface or contract delta
Contract-Neutral: Legacy Windows PowerShell TLS enum compatibility preserves the existing installer transport contract without changing its public interface
Contract-Neutral: Markdown rendering for existing Patrol investigation assistant content is a presentation-only change with no patrol-intelligence public contract delta
Contract-Neutral: RC4 gate repair only: responsive layout correction, internal test hook, and E2E-only runtime target; no public subsystem contract changes
Test-only wave, contract-neutral. New *_branchcov0719pm_test.go files cover
previously-uncovered pure value-in/value-out helpers, each verified to move
its target functions from 0% to full coverage:
- internal/agentcontext: formatKubernetesServicePorts (empty/single/cap/overflow
arms) and addMetricFact (nil-metric, percent/value/ratio arms) now 100%.
- pkg/reporting: reportLogoTypeFromPath 0->100, reportLogoTypeFromData 28.6->100,
scaledLogoSize 70->90 (extension and aspect branches).
- internal/cloudcp/email: RenderMagicLinkEmail 0->80 (render success path; the
compile-time template-error arm is unreachable and left uncovered).
- internal/recovery: recoveryDetailString (nil map, missing key, non-string,
string arms) and recoveryPointObservedAt 40->100.
- internal/ai/tools: ErrStrictResolution/ErrRoutingMismatch ToToolResponse 100.
- internal/ai/providers: every NormalizeCollections receiver 0->100.
No source or existing test modified.
Cover getAvailabilityProbeEndpointLabel, previously uncovered, and the probe
endpoint-label fallback branches on availabilityProbePresentation. Function
coverage 10/11 to 11/11 and seven uncovered branch arms exercised.
Test-only. New availabilityProbePresentation.branchcov0719.test.ts only; no
source or existing test touched.
Cover pure functions the recent canonical Operational Trust and protection
posture work landed with no unit test:
- recovery/model posture: enum Valid, struct Clone/Validate/Payload and the
normalize/cloneTime/validOutcome/sortedUniqueStrings/compareProviderStates
helpers (20 funcs, all 0%->100%)
- operationaltrust contracts: EvidencePayloadRef/Acknowledgement/Suppression/
LifecycleTransition Validate plus LifecycleTransition/NotificationLink Clone
- cloudcp/proxytrust: ClientIP, ExtractRemoteIP, rightMostUntrustedForwardedIP
and IsTrustedProxyIP forwarded-header and CIDR parsing
- mockmodel: NormalizeBlendWeight, SeriesForTimestamps, seriesForProfile,
diskIOValue and flatValue deterministic seeded math
- updatesignature: DecodePrivateKey and HasTrustedPublicKeys
- recovery keys: ProxmoxPBSGuestLooseContinuityKey branch guards
- vmware SourceID and truenas availableAppLogContainers formatting
Test-only, contract-neutral. New *_branchcov0719_test.go files only; no source
or existing test touched.
New *_branchcov0718_test.go files extend the Go coverage wave to three more
areas of previously-uncovered pure logic. Covered areas include the domain-type
NormalizeCollections normalizers in models.go, the cloud control-plane pure
helpers for hosted-entitlement org-id normalization, magic-link URL redaction
and default MSP backup paths, and the actionlifecycle dispatch-attempt context
round-trip plus the typed-error Error and Unwrap methods.
Test-only, with no runtime or subsystem-contract change. Impure targets that
need a live Docker manager or tenant registry were skipped per the purity gate
and noted in the wave reports. Verified in a clean worktree at HEAD with go vet
and package tests green, gofmt clean, and every covered target moved from 0
percent toward full coverage.
New *_branchcov0718_test.go files raise coverage of previously-uncovered pure
functions across ten packages. Covered areas include securityutil SSRF and URL
validation, truenas path and telemetry parse helpers, storagehealth SMART and
physical-disk risk assessment, vmware inventory sort keys and error classifiers,
servicediscovery token filtering and readiness, telemetry evidence-from-history,
models ToFrontend converters and frontend NormalizeCollections normalizers,
actionplanner type predicates and canonical resource-id sort, config API-token
accessors, and licensing state accessors.
Test-only, with no runtime or subsystem-contract change. Verified in a clean
worktree at HEAD with go vet and package tests green, gofmt clean, and every
named target function moved from 0 percent to covered.
Four more modules had a hand-written test covering only the happy path.
These branchcov tests drive the previously-untaken arms and assert real
behaviour, the onboarding 409 fall-throughs (mismatched code, non-JSON
body, string body) and error-message fallbacks, the action-audit and
monitoring optional query variants, and the apt action presentation
status arms.
Ten more modules had a hand-written test but left request functions and
query or body branches unexercised. These new branchcov tests mock the
transport and assert the exact request shaping (path, method, query, body)
and parsed response for the previously-uncovered functions and arms.
API clients patrol, agentProfiles, monitoredSystemLedger, license, ai,
aiChat, connections, vmware and notifications, plus the securityScore
presentation helper.
Twelve pure modules had a hand-written test but left functions and
conditional arms unexercised. These new branchcov tests drive the
previously-uncovered inputs and assert real returned values and request
shaping, taking each module's uncovered functions to zero.
Presentation helpers alertDestinations, alertEmail, alertResourceTable,
aiSettings, auditWebhook, nodeModal, record, swarm and k8sNamespace, plus
API clients charts, discovery and truenas.
getAlertThresholdsDockerUpdatePresentation was the one uncovered function
in alertThresholdsPresentation after the module grew a Docker update
presenter. A single deep-equal parity test wires each returned key to its
exported ALERT_THRESHOLDS_DOCKER_UPDATES_* constant, matching the sibling
getAlertThresholdsSectionTitles test. Module function coverage moves from
8/9 to 9/9.