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
    No fields configured for issues without a type.

    Projects

    Status
    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions