Optional :telemetry handler that prints a live-updating progress line
and a polished summary while Pipeline.chunk_repo/2 runs.
Not attached automatically — Pipeline stays free of IO by default so
it's safe to call from tests or as a library. Attach explicitly around a
chunk_repo/2 call:
Beamscope.Chunking.ProgressReporter.attach()
Pipeline.chunk_repo(repo_path)
Beamscope.Chunking.ProgressReporter.detach()In an interactive terminal (IO.ANSI.enabled?/0), progress overwrites a
single line via \r. Piped/redirected output (CI logs, | tee, etc.)
isn't a real TTY, so \r would just dump onto one unreadable line
instead — there, it prints roughly 20 discrete progress lines across the
run instead.