- tools/flowgen.py: generates docs/workflows/<name>.md — one outcome-first mermaid flowchart per workflow the SDK tests (hpmcu watchdog, modbus read, cru ladder, rga offload, relay drive, freshness contract), each stamped with its benchmark ns/op or 100% MC/DC result. Deterministic; reads the cargo-bench trend json. - drivers/README.md: honest Tier-1 (relays + freshness, 100% MC/DC here now) vs Tier-2 (modbus/rga — serious testing + fault-injection + benchmarks via sim models; driver sources migrate in with the flare-edge unification) per ADR-0002/0005. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017wB8KB3MMQztRDXCMCkPrf
18 lines
488 B
Markdown
18 lines
488 B
Markdown
# HPMCU watchdog: arm → beat → fire
|
|
|
|
> **Outcome tested:** A hung A7/flared ends in a counted reset, not a dark panel.
|
|
|
|
**Benchmark** (`hpmcu_tick`): 1.8 ns/op
|
|
|
|
```mermaid
|
|
flowchart TD
|
|
A[flared loads SCR1 fw, releases core] --> B[MCU tick]
|
|
B --> C{mailbox magic == DISARM?}
|
|
C -- yes --> D[disarmed: never fire]
|
|
C -- no --> E{magic == ARMED?}
|
|
E -- no --> B
|
|
E -- yes --> F{beat counter advanced\nwithin deadline?}
|
|
F -- yes --> B
|
|
F -- no --> G[fire CRU global reset]
|
|
```
|