feat(scheduler-sim-decision-trace): render trace records to text

Task 4.1: hierarchy, summary-level position summaries, truncation marker
with the fixed totals block, 50-host outcome cap with aggregates and
separate limit charges, no-decision and reconstructed records, amounts
in the REPL units mode, identical bytes to one or two sinks.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Rongsong Shen 2026-10-08 13:30:06 +00:00
parent 16f40fa9dc
commit fe445e9453
Signed by untrusted user: rshen
GPG key ID: 80533536B0EB651C
8 changed files with 2479 additions and 1 deletions

View file

@ -2716,3 +2716,22 @@ sched_trace_hooks_runner_test = executable(
test('scheduler trace hooks runner test',
sched_trace_hooks_runner_test, suite: 'scheduler',
env: ['ASAN_OPTIONS=detect_leaks=0'])
# scheduler-sim-decision-trace task 4.1: the trace renderer (design.md
# "TraceRenderer"; Requirements 2.4, 2.5, 3.x, 4.x, 5.x, 6.x, 7.6, 7.7,
# 9.2-9.4). Golden text for full and summary levels, every units mode,
# truncation, the outcome cap, the no-decision kinds and reconstructed
# records. Links only the record model, the renderer and the shared REPL
# formatting module; records are built without the capture sources.
sched_trace_render_test = executable(
'sched_trace_render_test',
['test_trace_render.c', '../src/sched_trace.c',
'../src/sched_trace_scan.c', '../src/repl_trace_render.c',
'../src/repl_trace_render_outcome.c', '../src/repl_fmt.c'],
include_directories:[incdir],
dependencies: [scheduler_test_deps],
install: false)
test('scheduler trace render test',
sched_trace_render_test, suite: 'scheduler',
env: ['ASAN_OPTIONS=detect_leaks=0'])

File diff suppressed because it is too large Load diff