Repository navigation
Log a logger's clamped timestamps the way Save Capture already does - #522
Merged
Merged
Conversation
This was referenced Sep 23, 2026
Owner
Author
This was referenced Sep 23, 2026
thebhef
force-pushed
the
task155-logger-clamp
branch
from
September 24, 2026 01:39
229f9ca to
4f16288
Compare
thebhef
force-pushed
the
task155-drops-loud
branch
from
September 24, 2026 01:39
33f9abe to
545929e
Compare
This was referenced Sep 24, 2026
This was referenced Oct 6, 2026
thebhef
force-pushed
the
task155-logger-clamp
branch
from
October 7, 2026 14:30
0e4457a to
db0a5b5
Compare
This was referenced Oct 8, 2026
thebhef
marked this pull request as ready for review
October 14, 2026 21:08
Owner
Author
A logger's finish line reported only the frame count, even when the writer had to move an event forward because it arrived stamped before the file's own anchor (ADR 0024: a frame before the anchor has no representation in BLF and is written at the anchor instead). Save Capture already turns that report into a system-log warning via capture.rs's clamped_timestamp_warning; the logger's finish path, and each size-cap split part, did not — parity, not new design, per the task's ruling. LogWriter::write and finish now hand the caller the closed part's cannet_blf::FinishedCapture (Option, since a no-op close reports nothing) instead of discarding it. run_logger turns a Some into the same warning Save Capture emits, at the run's own finish and at every part a size-cap split closes along the way. New host tests drive a LogWriter through a frame stamped before its anchor and assert the clamp is reported both ways, reusing capture::clamped_timestamp_warning rather than writing a second formatter. Also corrects the two sentences the driver-unwrap phase (task 155 phase 1) left claiming an upstream python-can issue tracks the Kvaser timer-wrap defect. The owner has ruled cannet does not modify or petition its python-can dependency, so the sidecar README and the technology-inventory python-can entry now say the defect is worked around locally with no upstream change pursued. Running this task's full CI matrix (its final phase) surfaced a rustdoc broken-intra-doc-link regression already on this branch's base: FirstDrop's doc comment linked Self::frames_dropped_before_session from inside FirstDrop itself (no such method there — the method is TraceStore's), and two doc comments linked the private crate::emitters::DropEpisode as an intra-doc link, which rustdoc --document-private-items=false rejects. Both fixed in trace_store/mod.rs as part of this commit, being small, unambiguous, and blocking the rustdoc -D warnings lane. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
thebhef
force-pushed
the
task155-logger-clamp
branch
from
October 14, 2026 22:23
db0a5b5 to
30a8733
Compare
This was referenced Oct 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

A logger's finish line reported only the frame count, even when the
writer had to move an event forward because it arrived stamped before
the file's own anchor (ADR 0024: a frame before the anchor has no
representation in BLF and is written at the anchor instead). Save
Capture already turns that report into a system-log warning via
capture.rs's clamped_timestamp_warning; the logger's finish path, and
each size-cap split part, did not — parity, not new design, per the
task's ruling.
LogWriter::write and finish now hand the caller the closed part's
cannet_blf::FinishedCapture (Option, since a no-op close reports
nothing) instead of discarding it. run_logger turns a Some into the
same warning Save Capture emits, at the run's own finish and at every
part a size-cap split closes along the way. New host tests drive a
LogWriter through a frame stamped before its anchor and assert the
clamp is reported both ways, reusing capture::clamped_timestamp_warning
rather than writing a second formatter.
Also corrects the two sentences the driver-unwrap phase (task 155
phase 1) left claiming an upstream python-can issue tracks the Kvaser
timer-wrap defect. The owner has ruled cannet does not modify or
petition its python-can dependency, so the sidecar README and the
technology-inventory python-can entry now say the defect is worked
around locally with no upstream change pursued.
Running this task's full CI matrix (its final phase) surfaced a
rustdoc broken-intra-doc-link regression already on this branch's
base: FirstDrop's doc comment linked Self::frames_dropped_before_session
from inside FirstDrop itself (no such method there — the method is
TraceStore's), and two doc comments linked the private
crate::emitters::DropEpisode as an intra-doc link, which rustdoc
--document-private-items=false rejects. Both fixed in trace_store/mod.rs
as part of this commit, being small, unambiguous, and blocking the
rustdoc -D warnings lane.
Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com