diag(quic-interop): boot log + build-id verify deployed image is fresh

The [batch]/[interop] traces aren't appearing in the user's runs
even after rebuild. To distinguish 'env var not set' from 'binary
doesn't have the code', emit a [boot] line at startup that:

  1. Reports the QUIC_INTEROP_DEBUG env var value
  2. Reports whether writerDebugEnabled was flipped on
  3. Includes a build-id constant from WriterDebug.kt

If the user's run shows '[boot] DEBUG=1; ... build_id=2026-05-07-
batch-log-v1', we know the latest debug code IS deployed. If the
boot line is missing OR shows an older build_id, the docker image
served stale bytecode (gradle/docker layer caching) and a clean
rebuild is needed.

Inspect script now greps [boot] and surfaces it BEFORE the rest of
the writer-side debug section.
This commit is contained in:
Claude
2026-05-07 14:02:16 +00:00
parent db6e7d7d11
commit f13d1ae1eb
3 changed files with 22 additions and 2 deletions
@@ -32,3 +32,11 @@ package com.vitorpamplona.quic.connection
*/
@Volatile
var writerDebugEnabled: Boolean = false
/**
* Build identifier injected into the boot log so we can verify the
* deployed image actually has the latest debug code (i.e. that the
* docker layer cache didn't serve a stale jar). Bump when adding new
* trace lines to make them traceable from the wire run.
*/
const val WRITER_DEBUG_BUILD_ID: String = "2026-05-07-batch-log-v1"