function tracePropagationFigure(host) { ensureStyles(); var shell = document.createElement('div'); shell.className = 'mf-shell'; shell.innerHTML = [ '
Trace Propagation and the Audit Chain one trace id, three programs, two independent logs
', '
', '', '', 'client', 'ops-desk', 'cred-vault', '', '', 'trace a1e4c9d0span 5f2b8e13', 'trace a1e4c9d0span d40a7c66', 'own audit log', 'own audit log', '', '', '', '', 'same trace id above, its own hash chain below', 'same trace id above, its own hash chain below', '', '', '
', '
The trace id stays constant across both hops while each arrow mints its own span id. ops-desk and credential-vault each keep an independent, hash-chained audit log: neither log reads or writes the other’s entries, so the only thing that ties one server’s entry to the other’s is a shared trace id, never a shared request id.
' ].join(''); host.appendChild(shell); } // register as: mcpa-27-trace-propagation