feat(scheduler-sim-step-verbosity): task 1.2 - implement preamble deduplication
repl_print_event_summary() (repl_break.c) now compares the candidate rendered timestamp and displayed session number against a new cache on xce_sched_repl_state_s (repl_internal.h: last_echo_ts_human[32], last_echo_session) before printing the "[sim] t=... session=..." preamble. It prints and updates the cache only when either value has changed, or no preamble has been printed yet this session (the cache's zero-initialized default, which no real echoed event can produce); otherwise the preamble is skipped and the cache is left untouched. The event's own content line prints unconditionally either way (Requirements 1.1-1.4, 2.2). All 6 RED-phase tests (task 1.1) now pass, including the critical raw-vs-rendered nuance test (Requirement 1.3). No regressions in the Event Echo Gate suite or the sibling spec's breakpoints-inspection suite (test_step_echoes_events_before_session_decisions specifically confirmed still passing under the new dedup behavior). repl_break.c grew from 949 to 980 lines (+31, 3.3% over the residual already accepted in scheduler-sim-repl-verbosity task 9.2). Review judged this small growth as accepted without a fresh empirical split test: task 9.2's own split experiment (a larger +44-line growth) already found extracting this file's lookup-table domain reaches only 838 lines (still over cap) while requiring 22 white-box test files' #include lines to change - disproportionate churn this smaller increment would only re-confirm. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YAWMhfRJFnmmnG8h97yUDd
This commit is contained in:
parent
6a2aa47f5e
commit
56e007cb6b
3 changed files with 65 additions and 4 deletions
|
|
@ -8,7 +8,7 @@
|
|||
- _Requirements: 1.1, 1.2, 1.3, 1.4, 2.2_
|
||||
- _Boundary: Event Echo Preamble Deduplicator_
|
||||
|
||||
- [ ] 1.2 Implement the preamble deduplication cache and print-skip logic
|
||||
- [x] 1.2 Implement the preamble deduplication cache and print-skip logic
|
||||
- Add the last-printed rendered timestamp and session cache to the REPL session state, zero-initialized alongside the state's existing fields; update the event echo path to compare the candidate rendered timestamp and session against the cache, printing and updating it only when either has changed (or no preamble has been printed yet this session), while always still printing the event's own content line unconditionally
|
||||
- Observable: all tests from 1.1 pass; a captured transcript shows exactly one preamble line per distinct rendered (timestamp, session) run of consecutive echoed events, with every event's own content line still present
|
||||
- After landing the implementation change, re-check `repl_break.c`'s line count against its already-accepted 949-line residual (design.md's Architecture Integration); if it meaningfully exceeds that residual, evaluate extracting `repl_print_event_summary()` and its Event Echo Gate neighbors into a new file rather than pre-splitting speculatively
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue