mirror of
https://github.com/okieselbach/AutopilotMonitor.git
synced 2026-10-25 05:00:07 +00:00
fd0ae98868
A TpmPssUnsupported report classifies the registration start that failed, not the device: devices with older TPM firmware fail during setup and connect after it, on 24H2, 25H2 and 26H2 alike. Agent: every distress report carries the OS build and the Windows setup state at send time; the TPM-PSS report adds the TPM manufacturer and firmware and a language-neutral message with the NCrypt codes of the PSS signs, the native code of the failed handshake and up to two Schannel System-log events since the registration started (numeric properties only). The TPM and System-log reads run in parallel for at most 5 s. The send is awaited, since the run exits right after it. An attempt that got an answer resets the last exception, so the probe never classifies an earlier attempt. The run's last error carries the native code. Win32_Tpm is read by one shared TpmInfoReader (tpm_status unchanged). Shared/backend: one body cap for both sides (DistressReportMaxBytes 2048); the agent shortens its message to stay within it. The endpoint keeps OS build and setup state only in their format, stores the three fields and adds them to the log and the custom event. GET audit/tpm-pss-unsupported returns TPM version, OS build, setup state and connectedAt: the last upload of a certificate-authenticated session of the serial after the device's last report (bootstrap sessions excluded, six serials per SessionsIndex query). The bell says the device could not connect and may connect after setup and a restart. Web: the Incompatible TPM panel shows TPM and Status columns, uses the generated types and no longer says "never" or names a Windows version; the GA distress detail shows the new fields, Cloud PC and the certificate. Tests: probe message, Schannel tokens, native codes, payload cap, awaited send, context bound, last-exception reset, connectedAt rule, filter comparison limit, repository round trip, panel render. A device serial from production data in a test fixture is replaced. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>