function eraMatrixFigure(host) { ensureStyles(); var mid = [ ['DiscoverResult', 95], ['-32022 (recognized)', 280], ['other error / timeout', 465] ]; var out = [ ['Modern: use it', 95], ['Modern: retry version', 280], ['Legacy: use initialize', 465] ]; var svg = []; svg.push(''); svg.push(''); svg.push('server/discover probe'); var i; for (i = 0; i < mid.length; i++) { var cx = mid[i][1]; svg.push(''); svg.push(''); svg.push('' + mid[i][0] + ''); svg.push(''); svg.push(''); svg.push('' + out[i][0] + ''); } svg.push('Era is a property of the server: cache the decision per process (stdio) or origin (HTTP).'); var shell = document.createElement('div'); shell.className = 'mf-shell'; shell.innerHTML = [ '
Protocol Era Probe one server/discover probe, three outcomes, no handshake required to ask
', '
', '', '', svg.join(''), '', '
', '
The same probe sorts every stdio server into modern, modern with a different version, or legacy. A recognized modern error never falls back; only an unrecognized error or a timeout does.
' ].join(''); host.appendChild(shell); } // register as: mcpa-05-era-matrix