Skip to content

E4-4 (band 2): extract logging and SD safety into their own unit #263

Closed

Description

@Strycher

Epic: #212

logPrintf (54 callers), logPrintln (40), sdOpenSafe (14), logPrint (13), recordSDSuccess (12): 133 incoming edges between them, the bottom of the call stack. Nothing that calls them can move until they have.

Takes the serial ring (serialRingAppend, serialRingPeek, serialRingRead), serialLogAppend, serialLogFlush, serialLogRotate, logTimestamp, and the SD health state (sdHealth, recordSDError, trySDReInit, shouldAttemptReInit) with it. sdAvailable (fan-in 18, cut set #3) is the first cut-set variable to get an owner here.

Acceptance

  • Build succeeds; nm comparison per B4: src/ include/ lib/ layout - behaviour-neutral #186; address shifts reported
  • sdAvailable is defined in the new unit and declared extern from exactly one header
  • Hardware verification before merge; this touches every log line the device writes

Evidence: docs/god-object-inventory.md. Regenerate the figures with python scripts/reference-graph.py --appendix.

Activity

  1. Strycher commented on Sep 7, 2026

    @Strycher
    OwnerAuthor

    🤖 Auto-promoted to Ready — all dependencies resolved (#262 closed).

  2. added
    board:readyBoard sync: Ready column
    and removed
    board:todoBoard sync: Todo column
    board:readyBoard sync: Ready column
    on Sep 7, 2026
  3. added a commit that references this issue on Sep 7, 2026
  4. Strycher commented on Sep 7, 2026

    @Strycher
    OwnerAuthor

    Merged in #269 (4cc1f21) under the owner's standing grant of 2026-09-07. Proof and the two calls made for review are in docs/god-object-inventory.md section 9 and the PR body.

  5. added
    board:doneBoard sync: Done column
    and removed on Sep 7, 2026
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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions