修雨
9af7f9a034
feat(connect): gate engages via read/write classifier, not every marker
...
Sprint 2 item 1: wire the dws command read/write classifier into the
digital-twin approval gate. Previously any detected [[ACTION:...]] marker
was unconditionally routed through the owner-confirmation gate. Now the
gate consults ClassifyDwsCommand on the planned command: a read-class
action bypasses the gate and replies normally, while write — and Unknown,
per the CmdClass safety contract — keep the owner sign-off requirement.
- add classifyPlannedAction bridging plannedAction -> CmdClass (classifies
on LegacyPath, falls back to product + RPC tool verb)
- handleReply skips Submit/card/Await for a read-class action
- tests: classifyPlannedAction table + handleReply read-class bypass
(override-driven, exercises the wiring end to end)
2026-06-14 10:22:01 +08:00
..
2026-06-02 21:04:12 +08:00
2026-06-02 21:04:12 +08:00
2026-06-02 21:04:12 +08:00
2026-06-02 21:04:12 +08:00
2026-06-02 21:04:12 +08:00
2026-06-02 21:04:12 +08:00
2026-06-02 21:04:12 +08:00
2026-03-28 17:51:22 +08:00
2026-03-28 17:51:22 +08:00
2026-05-07 10:50:24 +08:00
2026-03-29 16:29:56 +08:00
2026-06-02 21:04:12 +08:00
2026-06-02 21:04:12 +08:00
2026-03-29 16:29:56 +08:00
2026-06-11 12:18:25 +08:00
2026-06-11 12:18:25 +08:00
2026-06-13 21:39:45 +08:00
2026-06-14 10:22:01 +08:00
2026-06-14 10:22:01 +08:00
2026-06-13 23:34:37 +08:00
2026-06-13 23:34:37 +08:00
2026-06-14 10:22:01 +08:00
2026-06-10 21:43:42 +08:00
2026-06-10 21:43:42 +08:00
2026-06-13 23:25:04 +08:00
2026-06-13 23:25:04 +08:00
2026-06-13 21:39:45 +08:00
2026-06-12 09:42:51 +08:00
2026-06-13 22:23:48 +08:00
2026-06-13 21:44:47 +08:00
2026-06-13 21:44:47 +08:00
2026-06-13 22:23:48 +08:00
2026-06-11 12:18:25 +08:00
2026-06-13 22:23:58 +08:00
2026-06-13 21:43:48 +08:00
2026-06-11 12:18:25 +08:00
2026-06-11 12:18:25 +08:00
2026-06-11 12:18:25 +08:00
2026-06-11 12:18:25 +08:00
2026-06-11 12:18:25 +08:00
2026-06-13 23:03:12 +08:00
2026-06-11 12:18:25 +08:00
2026-06-11 12:18:25 +08:00
2026-06-13 23:21:16 +08:00
2026-06-13 23:21:16 +08:00
2026-06-13 21:39:45 +08:00
2026-06-13 21:39:45 +08:00
2026-06-12 16:14:50 +08:00
2026-06-13 23:34:37 +08:00
2026-06-10 20:46:38 +08:00
2026-06-13 14:43:24 +08:00
2026-06-13 21:39:45 +08:00
2026-06-13 23:34:37 +08:00
2026-06-10 10:06:31 +08:00
2026-06-09 15:58:01 +08:00
2026-06-10 10:06:31 +08:00
2026-06-02 21:04:12 +08:00
2026-06-02 21:04:12 +08:00
2026-06-02 22:26:03 +08:00
2026-06-02 21:04:12 +08:00
2026-06-02 21:04:12 +08:00
2026-06-02 22:26:03 +08:00
2026-06-02 21:04:12 +08:00
2026-06-02 21:04:12 +08:00
2026-03-28 17:51:22 +08:00
2026-03-27 19:47:19 +08:00
2026-06-02 21:04:12 +08:00
2026-06-02 21:04:12 +08:00
2026-06-02 21:04:12 +08:00
2026-03-30 13:44:01 +08:00
2026-06-02 21:04:12 +08:00
2026-03-27 17:55:57 +08:00
2026-03-27 17:55:57 +08:00
2026-05-04 09:26:12 +08:00
2026-06-02 21:04:12 +08:00
2026-06-02 21:04:12 +08:00
2026-06-02 21:04:12 +08:00
2026-06-02 21:04:12 +08:00