119d412c24
Captures the design we tried on 2026-05-04, the bugs we hit, and recommendations for v2. Force-pushed the failed attempt away from origin/clearpilot so the commits aren't recoverable from the remote; this document is the durable record of what was learned. Key takeaways for v2: - Throttle modeld/dmonitoringmodeld instead of killing them — the cold-spawn chain (modeld -> plannerd/frogpilot_process publishing longitudinalPlan/frogpilotPlan, plus locationd/sensord/etc. settling) is the root cause of the alert cascade. - card.initialize() must run before park-mode is entered (it wires up CarController so controls_update actually generates CAN sends). - NO_ENTRY alerts fire on engage attempt, not on engage success — any alert-suppression grace must key off CS.cruiseState.enabled rising edge, not just self.enabled. - The fan-range widening piece (parked -> 0-100% fan range, no floor) is independently safe to land without the rest of the park-mode plumbing.