docs+tools: workflow flowchart harness (P4) + drivers Tier-1/Tier-2 split

- 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
This commit is contained in:
BFE Engineering
2026-08-25 15:22:58 -06:00
co-authored by Claude Opus 4.8
parent c7c1c70219
commit 880b043506
9 changed files with 325 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
# Relay drive (Tier-1, 100% MC/DC)
> **Outcome tested:** A relay is exported transparently and driven without disturbing a held contact.
**Coverage**: relays.c — 40/40 conditions, 100% MC/DC (CI-enforced)
```mermaid
flowchart TD
A[warden_relay_set idx,on] --> B{idx < COUNT?}
B -- no --> Z[no-op]
B -- yes --> C{exported?}
C -- no --> D[write export] --> E{exported now?}
E -- no --> Z2[give up]
E -- yes --> F
C -- yes --> F[read direction]
F --> G{dir == out?}
G -- no --> H[preserve level: read value,\nwrite high/low]
G -- yes --> I
H --> I[write value = on?1:0]
```