Skip to content

[META] FastLED #3339 LPC bring-up lessons — fbuild structural follow-up across 4 axes #699

Description

@zackees

Goal

Roll up the structural lessons from the FastLED LPC845-BRK bring-up incident (FastLED/FastLED#3300 / #3325 / #3339) into a single point of triage for the fbuild side. The Python-side fixes already landed (FastLED#3339, merged). This meta tracks the fbuild-side counterparts identified during a four-axis audit of fbuild's issue tracker — each gap got its own focused issue; this list ties them together so the maintainer has one URL.

How this list was built

Four sub-agents fanned out in parallel against four independent axes of fbuild coverage. Each agent compared lessons from the FastLED incident against fbuild's open + closed issues. Concrete gaps with no existing tracker became individual issues; gaps already covered by an existing tracker were noted and not duplicated.

The four axes:

  1. Reset + serial wire-protocol — DTR/RTS, reset method dispatch, boot-mode detection.
  2. Deploy + flash path — pyocd/CMSIS-DAP integration, artifact verification, handoff timing.
  3. Agent-facing tooling + hook policy — forbidden-tool guards, agent docs parity.
  4. Bring-up + autoresearch parity — end-to-end orchestrator, schema validation, hardware CI.

Sub-issues

Axis 1 — Reset + serial wire-protocol (4 issues)

Parent: #684 (closed) — hard_reset_blocking DTR=low fix. The structural follow-ups:

Axis 2 — Deploy + flash path (4 issues)

Axis 3 — Agent-facing tooling + hook policy (2 issues)

  • #694ci/hooks: ban direct pyocd/esptool/dfu-util/picotool invocation (mirror FastLED check_forbidden_commands).
  • #695agents/docs/: agent-facing documentation directory + top-level CLAUDE.md routing table (mirror FastLED).

Axis 4 — Bring-up + autoresearch parity (3 issues)

  • #696 — ci: nightly hardware-attached bring-up CI runner (multi-family).
  • #697fbuild-cli: promote bring-up orchestrator to first-class fbuild bringup <board> command.
  • #698fbuild-rpc-validate: reusable host-side JSON-RPC schema fetch + validate component.

Dependency hints (for ordering work)

Suggested rough order: #686#689#695#687#691#694 → rest.

Out of scope (deliberately not filed)

Three candidate gaps surfaced during the audit but were ruled out:

  • Application-specific bring-up details — 3-way pass-criteria tuple, per-board echo sentinel value, watchdog feed pattern. These belong on the FastLED side.
  • Cross-repo agent rule sync — governance-level meta-question, not actionable as a single fbuild ticket.
  • Skill / slash-command registration — Claude Code plugin infrastructure concern, not fbuild's responsibility.

Refs

  • FastLED/FastLED#3300 — the LPC845-BRK bring-up "silence" incident (root).
  • FastLED/FastLED#3325 — bisection plan (false trail invalidated by #3339).
  • FastLED/FastLED#3336 — agent doc/hook rule banning ad-hoc PowerShell SerialPort probes; resolved by FastLED#3339.
  • FastLED/FastLED#3339 — the FastLED-side fix that merged (Python DTR/RTS + port detection + serial_probe.py helper + hook ban).
  • FastLED/fbuild#586 — existing LPC845-BRK on-hand burn-down meta. This issue intersects but is broader (covers all board families).
  • FastLED/fbuild#684 (closed) — the hard_reset_blocking DTR=low fix that opened the audit.

Filed during the audit fan-out on FastLED/FastLED#3339.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions