F10 on-air acceptance: 0x6C stale-tile repair verified end-to-end - #89
Merged
Conversation
…end-to-end Full record in bench-evidence/F10_tile_stale_acceptance_2026-08-01/ (RESULTS.md + both broker taps; raw daemon logs in the harness archive radio_monitor_20260801_182119_0697e5dd). Camera feed, DTS profile 2, production web_ui scanning on the base board. All legs passed: cold-fill acceleration; zero false positives on a healthy link (30 s threshold vs 24 s sweep rotation); an 18-frame timed outage repaired in 27 s with individual marks clearing 3-9 s after appearing (sweep counterfactual up to 24 s/tile); repair-loss re-marks absorbed by the level-triggered design; reassembler_timeouts=0 and no keyframe used for any tile repair. Surfaced in passing and recorded: a pre-existing Canvas.apply silent-desync on non-codec exceptions (filed separately), the dual-broker retained-override trap (bench rule added), the LIFETRAC_TILE_STALE_AFTER_MS-vs-sweep-rotation deployment rule, and the F11 candidate (demote web_ui's per-gap keyframe request, now largely redundant under F10). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This evidence-only PR records on-air acceptance results for the previously-merged F10 stale-tile repair (0x6C) and updates the project TODOs accordingly, adding the bench artifacts needed to audit the end-to-end verification.
Changes:
- Marks F10 as verified on air (2026-08-01) and captures follow-up candidate (F11) in
TODO.md. - Adds acceptance write-up (
RESULTS.md) plus base/tractor broker taps for the run. - Adds the archived harness parameter snapshot for reproducibility (
params.txt).
Reviewed changes
Copilot reviewed 3 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| LifeTrac-v25/DESIGN-CONTROLLER/TODO.md | Updates F10 task status to “verified on air” and records follow-up candidate work (F11). |
| LifeTrac-v25/DESIGN-CONTROLLER/bench-evidence/radio_monitor_20260801_182119_0697e5dd/params.txt | Captures run parameters for the archived harness session. |
| LifeTrac-v25/DESIGN-CONTROLLER/bench-evidence/F10_tile_stale_acceptance_2026-08-01/tap_base.log | Base-broker tap showing published tile_stale and req_keyframe events with timestamps and payloads. |
| LifeTrac-v25/DESIGN-CONTROLLER/bench-evidence/F10_tile_stale_acceptance_2026-08-01/tap_tractor.log | Tractor-broker tap intended to show received stale-tile marks for cross-hop verification. |
| LifeTrac-v25/DESIGN-CONTROLLER/bench-evidence/F10_tile_stale_acceptance_2026-08-01/RESULTS.md | Primary acceptance report describing setup, legs, observations, and raw artifact pointers. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
Evidence-only PR: on-air acceptance for the F10 stale-tile report merged in #88, plus TODO closures and the follow-up candidate it produced.
What was verified (bench, 2026-08-01)
Camera feed, DTS profile 2, pinned operating point; the production web_ui ran on the base board as the F10 scanner (30 s staleness horizon vs the bench's 24 s sweep rotation). Full record:
bench-evidence/F10_tile_stale_acceptance_2026-08-01/RESULTS.md, with both broker taps committed and raw daemon logs inradio_monitor_20260801_182119_0697e5dd/.reassembler_timeouts=0throughout.command TX opcode=0x6c OK (on air)→ tractorLoRa cmd: TILE_STALE 14 B(the predicted body size exactly) → camera_service front-run.Surfaced in passing (recorded in RESULTS §6)
Canvas.applycatches onlyCodecDecodeErroraround tile transcode; an unexpected exception (observed: ImportError from the lazy PIL import under mono_g4) silently freezes the canvas while base_seq keeps tracking.mono_g4retained on the bench PC's broker reproduced the freeze after a daemon relaunch. Bench rule added.LIFETRAC_TILE_STALE_AFTER_MS ≥ ~1.25 × n_tiles/(SWEEP_STEP × fps)— the repo default (20 s) is below this bench's rotation; horizon must be set per deployment.Boards left booted with radios idle; bench containers stopped; retained encode-mode cleared to webp on both brokers.
🤖 Generated with Claude Code