Skip to content

Session Handoff [hw-cli]: hw CLI separated; upstream dev defect PRs #27-#32, #35 #36

Closed

Description

@ptr727

Next steps, in priority order

  1. Close rak4631: use a fitted RAK12002 RTC, and keep its backup switchover enabled (iteration branch) #35's four open documentation points, which the PR body lists: the stale ZephyrRTCDiscover.h header contract; the "restored" log on the save-path re-probe; and two commit-message inaccuracies (the residual EEPROM risk is wider than "0Eh odd"; Date and Month reset to 01h, not 0). Done means: fixed on work/rak4631-rak12002-rtc through local-strict-review, pushed, the PR body's open list emptied, and Copilot's headline on 9e9452f answered with the fixing SHA.
  2. Read CodeRabbit's results for Add the hw hardware-report CLI command (rebased, hw CLI only) #16, Add hw hardware-report CLI command (iteration branch) #1 and rak4631: use a fitted RAK12002 RTC, and keep its backup switchover enabled (iteration branch) #35. They were requested one per hour by a bounded background job (the OSS plan allows one review per hour per repository), which may not survive the restart: see External blockers. Done means: each PR shows No actionable comments for its head in the edited CodeRabbit summary comment, or each finding is closed per pr-review-conduct.
  3. Upstream, one PR at a time, only on the maintainer's explicit go-ahead naming it. For each approved fork PR (companion: mark a CLI reply cut to the app frame (iteration branch) #27 to companion: never treat an over-the-air CLI command as local (iteration branch) #32, rak4631: use a fitted RAK12002 RTC, and keep its backup switchover enabled (iteration branch) #35), cut a clean branch from the synced mirror dev (upstream/dev was f9d01cf; fetch and compare first), squash the dirty branch's net change onto it with the "Proposed upstream PR" text from the fork PR body, and open it against liquidraver/ZephCore dev. The fork PRs stay open and are never merged (hub upstream-contribution-workflow).
  4. hw CLI on hardware (Add hw hardware-report CLI command (iteration branch) #1, Add the hw hardware-report CLI command (rebased, hw CLI only) #16) is still not re-run since the separation. The RAK4631 is attached (see State). Done means each hw subcommand answers as docs/Repeater_CLI_commands.md says.

External blockers

  • Maintainer go-ahead for every upstream PR (step 3), and for any write to meshcore-dev/MeshCore.
  • The CodeRabbit queue ran as a background shell job in the session that wrote this. If it did not survive the Claude restart, request @coderabbitai review by hand with pr_review.py comment, no more than one an hour across the repository.

Internal dependencies

State (re-derive at resume: git worktree list, gh pr list)

PR Branch Fork issue
#27 work/companion-cli-reply-truncation #3
#28 work/cli-local-prefix-reply-room #26
#29 work/esp32-orphan-cpu-clock-comments #13
#30 work/rtc-probe-failed-status-read #23
#31 work/cli-remote-reply-echo-cap none, by the maintainer's choice
#32 work/companion-ota-cli-never-local none, by the maintainer's choice
#35 work/rak4631-rak12002-rtc #4, #33

The parked decision queue

0 issues carry a decision label (this fork has none). Open maintainer questions, ranked:

  1. Upstream go-ahead per fork PR (companion: mark a CLI reply cut to the app frame (iteration branch) #27-companion: never treat an over-the-air CLI command as local (iteration branch) #32, rak4631: use a fitted RAK12002 RTC, and keep its backup switchover enabled (iteration branch) #35).
  2. First CLI command after opening the USB serial port returns "Unknown command" #6 does not reproduce on dev. Close it?
  3. TX power accepts -9..0 dBm everywhere, though 1 dBm is the floor #19, TX power -9..0 dBm: the maintainer chose "leave open, no PR".

What the last round did

What not to repeat

  • Never trust an ESP32 link result from a worktree whose zephyr/ is a symlink. The archive gets a mangled name, so the linker script's IRAM rules miss it and the link fails. That cost ESP32-S3 builds fail to link on dev 5b77947: l32r literal after use in the Xtensa double-exception vector #24's whole investigation. Export ZEPHYR_BASE to the resolved path.
  • Never change a board's role without baking the frequency and name defaults into the build. A role switch formats both roles' prefs. The RAK4631 came up as a repeater on 869.618 MHz (at 1 dBm) this round.
  • Never take a review's datasheet claims on recall. Twice a reviewer's or my own recollection was wrong: the 1 kΩ trickle resistor (it is 3 kΩ), and "level switching is the vendor's advice for a supercap" (§7.3 says direct switching). Read the manual text; the maintainer's copies are in the home directory.
  • Never run local_review.py status with build output sitting untracked in the worktree. Build .diag files shifted the digest and blocked an attest. Keep build summaries inside the build directory.

New learnings

Activity

  1. added
    handoffA link in the session handoff chain, one open issue per track
    on Oct 4, 2026
  2. ptr727 commented on Oct 4, 2026

    @ptr727
    OwnerAuthor

    Parked decisions, answered 2026-10-03: #6 closed (does not reproduce on dev). The upstream go-ahead per fork PR is deferred until after the restart and stays at the top of the next steps.

  3. ptr727 commented on Oct 4, 2026

    @ptr727
    OwnerAuthor

    Continued in #37, round 3 on track hw-cli.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    handoffA link in the session handoff chain, one open issue per track

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions