Skip to content

Docs sync: settings/protocol/pipeline references to shipped 2026-08 reality; RS-6.0 K-phase revision - #96

Merged
dorkmo merged 3 commits into
mainfrom
docs-sync-2026-08-02
Aug 2, 2026
Merged

Docs sync: settings/protocol/pipeline references to shipped 2026-08 reality; RS-6.0 K-phase revision#96
dorkmo merged 3 commits into
mainfrom
docs-sync-2026-08-02

Conversation

@dorkmo

@dorkmo dorkmo commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Documentation-only PR bringing the living references in line with everything shipped this week, plus the queued RS-6.0 design-doc revision.

What was stale, and what changed

  • SETTINGS_REFERENCE.md — none of the ten knobs added this week were documented. New rows with file:line pointers: the F10 stale-scan trio (LIFETRAC_TILE_STALE_ENABLE/AFTER_MS/PERIOD_S, including the sweep-rotation sizing rule), the F10/F11 keyframe gates (LIFETRAC_KF_ON_REASM_TIMEOUT, LIFETRAC_KF_ON_SEQ_GAP), the RS-11.5 diagnostics (LIFETRAC_RXCONT_ARM with its never-ship-0 warning, LIFETRAC_TX_POWER_DBM with the 2..17 host clamp), and the harness passthroughs.
  • LORA_PROTOCOL.md — the survey found real drift: the design-era frame_type 0x30 opcode table and the shipped 0xFB command set collide on 0x60/0x62 (PERSON_APPEARED vs REQ_KEYFRAME). A new "Shipped 0xFB bench command set" section documents the implemented 0x60–0x6C table (F10/F11 semantics included) plus an explicit drift-warning box: nothing mis-parses today because the envelopes differ, but RS-6/RS-7 unification must reconcile the numbering deliberately. lora_proto.py is named as shipped truth.
  • IMAGE_PIPELINE.md — the canvas row and the recovery validation gate still described the pre-F10 "keyframe on base_seq mismatch" policy. Updated to the shipped reality: keyframes for cold start / grid mismatch / tile-decode errors only, tile-level loss repaired via 0x6C, aggregate staleness scored from status/tile_age.
  • CONTROL_PLANE_DESIGN.md — the F10 roadmap row annotated SHIPPED + verified (dated snapshot doc, so annotation only).
  • RS-6.0 (K-phase strategies doc) — addendum v1.1 respecifies every back-channel for the LoRa-only rule: K-B recorded as substantially shipped by F10's 0x6C (the staleness-driven NACK, on air), K-C as a downlink payload type whose response reuses 0x6C, K-G mapped to the retained cold-start request with req_tiles(all) proposed as an all-ones bitmap + flag rather than a new opcode, uplink budget accounted (<0.6% duty), and the numbering collision flagged. RS-6.0 checked off in the TODO.

Deliberately untouched: HIL_RUNBOOK.md (re-read shows it's already unambiguous — "for this gate"; the earlier misreading was the analyst's, not the doc's) and SAFETY_CASE.md (awaits operator sign-off, per standing agreement).

🤖 Generated with Claude Code

dorkmo and others added 3 commits August 2, 2026 18:11
…telemetry (RS-6.1)

Two desk-work items ahead of the antenna swap:

- image_rx_daemon: windowed HEALTHY-population RSSI/SNR, summarized in
  the 10 s stats block as "rx_rf: n rssi[min/med/max] snr[min/med/max]"
  and reset per window. Until now only corrupt packets carried visible
  RF numbers (crc_dump) — the good-frame SNR margin was unmeasurable,
  flagged as the missing instrument in the RS-11.5 closure. Tomorrow's
  antenna legs get both distributions.

- web_ui: RS-6.1 aggregate tile-age telemetry on
  lifetrac/v25/status/tile_age every stale-scan tick: {n_tiles, missing,
  p50/p95/max age, stale count}. Audit found the rest of RS-6.1 had
  landed with F10 (per-tile age_ms on /ws/state; diag-gated
  staleness_overlay.js renders it) — this adds the archivable aggregate
  the K-phase exit tests score against; published even when quiet since
  a healthy link's p95 age IS the sweep-rotation measurement.

9 new tests (RF window semantics; age summary percentiles, missing-tile
accounting, pre-keyframe None). Suite 1109/2446.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…samples

Copilot's catch, valid on both points: an SNR-only window (pre-F8
frames can yield None on either axis independently) never triggered the
summary — so _rf_snr grew unbounded across windows — and an RSSI-only
window logged a fabricated 0.0 SNR from the placeholder. The stats
block now gates on EITHER list, reports per-axis counts, formats a
missing axis as "None", and always resets both. New test pins the
single-axis accumulation. Suite 1110/2446.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…revision

- SETTINGS_REFERENCE: rows for the ten new knobs (F10 stale-scan trio,
  F10/F11 keyframe gates, RS-11.5 RXCONT_ARM + TX_POWER_DBM, harness
  passthroughs) with file:line pointers and the sweep-rotation rule.
- LORA_PROTOCOL: new "Shipped 0xFB bench command set" table (0x60-0x6C
  as implemented, F10/F11 semantics) + an explicit namespace-drift
  warning: the design-era frame_type 0x30 table and the shipped CMD_OP_*
  set collide on 0x60/0x62 — nothing mis-parses today (different
  envelopes) but RS-6/RS-7 unification must reconcile deliberately.
- IMAGE_PIPELINE: canvas row + validation gate updated to the F10/F11
  keyframe policy (cold start / grid mismatch / tile-decode error only;
  tile-level loss repairs via 0x6C; staleness scored from
  status/tile_age).
- CONTROL_PLANE_DESIGN: F10 roadmap row annotated SHIPPED + verified.
- K-phase strategies doc: RS-6.0 addendum v1.1 — LoRa-only transport
  respecification; K-B recorded as substantially shipped by F10; K-C as
  a downlink payload type; K-G mapped to the retained cold-start
  request with req_tiles(all) proposed as an all-ones 0x6C bitmap;
  uplink budget accounted; numbering collision flagged. RS-6.0 checked
  off in TODO.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings August 2, 2026 23:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates LifeTrac v25 design/controller documentation to match the shipped 2026-08 behavior (F10/F11, RS-11.5/11.6) and records the RS-6.0 K-phase transport revision, while also adding the missing “archivable” tile-age aggregate telemetry and RX-side RF-window instrumentation with tests.

Changes:

  • Document the shipped 0xFB command set (and explicitly call out the opcode namespace collision vs design-era 0x30 commands), plus update image pipeline/keyframe recovery policy text to match F10/F11 reality.
  • Extend settings documentation with newly shipped knobs (stale-scan trio, keyframe gates, RS-11.5 diagnostics, harness passthroughs) and mark RS-6.0/RS-6.1 TODO items as done with pointers.
  • Add RS-6.1 MQTT-published aggregate tile-age telemetry and RS-11.6 “healthy-frame” RSSI/SNR window stats logging, with unit tests for both.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.

Show a summary per file
File Description
LifeTrac-v25/DESIGN-CONTROLLER/TODO.md Marks RS-6.0 and RS-6.1 items as completed and records the shipped evidence/paths.
LifeTrac-v25/DESIGN-CONTROLLER/SETTINGS_REFERENCE.md Documents newly added environment knobs and harness passthroughs with file:line references.
LifeTrac-v25/DESIGN-CONTROLLER/LORA_PROTOCOL.md Adds shipped 0xFB opcode table and warns about opcode collisions with design-era namespace.
LifeTrac-v25/DESIGN-CONTROLLER/IMAGE_PIPELINE.md Updates canvas/keyframe and recovery gate descriptions to match shipped F10/F11 behavior.
LifeTrac-v25/DESIGN-CONTROLLER/CONTROL_PLANE_DESIGN.md Annotates F10 stale-tile report row as shipped/verified with evidence pointer.
LifeTrac-v25/DESIGN-CONTROLLER/base_station/web_ui.py Publishes RS-6.1 aggregate tile-age summary to MQTT each stale-scan tick.
LifeTrac-v25/DESIGN-CONTROLLER/base_station/tests/test_tile_stale.py Adds unit tests for the new aggregate tile-age summary logic.
LifeTrac-v25/DESIGN-CONTROLLER/base_station/tests/test_rx_rf_stats.py Adds unit tests for the new healthy-frame RF window accumulator.
LifeTrac-v25/DESIGN-CONTROLLER/base_station/image_rx_daemon.py Logs windowed healthy-frame RSSI/SNR distribution and resets each stats interval.
LifeTrac-v25/AI NOTES/2026-07-25_Keyframe_Elimination_Strategies_Copilot_v1_0.md Adds addendum v1.1 documenting RS-6.0 LoRa-only back-channel revision and instrumentation status.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@dorkmo
dorkmo merged commit 3f63ff3 into main Aug 2, 2026
6 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants