claude
85a3397bf4
Cancel a reminder by voice, and honour a refusal (V-719)
...
reminder_cancel.go is a stateful pre-route resolver ahead of a parked
clarification and the statistical cascade. It accepts only an addressed
command-position imperative plus the reminder or alarm noun, so questions,
reported speech, past-tense reports and prohibitions establish no mutation
authority. Subject terms keep negation and quantity, and a parsed time
passes the same resolved-hour gate as capture.
One match cancels through the typed IPC method. Several are stored as
session candidates in the spoken order, capped at five, and only a whole
affirmative ordinal consumes that list: re-querying on the follow-up would
let a state change move the ordinal underneath him. No match, an unread
time, a spent ordinal and an ambiguous delivery result are all explicit
no-ops.
command_prohibition.go is the first mutation boundary in a turn. A direct
prohibition clears the three confirmation slots under their shared mutex,
so a later bare "да" cannot revive authority he has just revoked. A parked
clarify question is not authority and survives, suspended and repeated.
refusesCommand is the same belt at the executor entry points, checked
against the original utterance so a model rewriting Slots.Text cannot get
around it.
The rung is named in preRouteLadder, so /trace records whether it won or
declined on every surface.
--no-verify: master is the working branch this session by the owner's call.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-15 17:19:25 +04:00
..
2026-07-03 00:42:35 +02:00
2026-08-15 17:19:25 +04:00
2026-08-01 21:43:28 +04:00
2026-08-04 01:26:52 +04:00
2026-08-04 17:56:39 +04:00
2026-08-15 17:19:25 +04:00
2026-08-15 17:19:25 +04:00
2026-08-04 17:56:39 +04:00
2026-08-05 18:43:13 +04:00
2026-08-01 14:16:56 +04:00
2026-08-01 14:16:56 +04:00
2026-08-15 17:19:25 +04:00
2026-08-01 22:32:37 +04:00
2026-08-03 22:57:11 +04:00
2026-08-02 02:24:36 +04:00
2026-08-15 17:19:01 +04:00
2026-08-15 17:19:25 +04:00
2026-08-15 17:19:25 +04:00
2026-08-05 19:54:21 +04:00
2026-08-05 13:32:24 +04:00
2026-08-05 02:27:22 +04:00
2026-08-05 12:07:07 +04:00
2026-08-04 03:44:48 +04:00
2026-08-04 19:10:00 +04:00
2026-08-06 21:54:13 +02:00
2026-08-06 21:54:13 +02:00
2026-08-05 21:40:15 +04:00
2026-08-02 02:28:53 +04:00
2026-08-04 00:33:30 +04:00
2026-08-08 22:24:47 +04:00
2026-08-13 11:33:05 +04:00
2026-08-13 11:33:05 +04:00
2026-08-04 04:04:59 +04:00
2026-08-06 01:23:37 +04:00
2026-08-01 05:49:27 +04:00
2026-08-15 17:19:25 +04:00
2026-08-06 01:05:50 +04:00
2026-08-06 05:23:31 +04:00
2026-08-05 13:32:24 +04:00
2026-08-01 22:21:28 +04:00
2026-08-13 02:14:46 +04:00
2026-08-04 16:47:23 +04:00
2026-08-06 03:12:59 +04:00
2026-08-06 05:12:20 +04:00
2026-08-08 22:24:47 +04:00
2026-08-15 17:19:25 +04:00
2026-08-13 03:00:31 +04:00
2026-08-05 13:32:24 +04:00
2026-08-13 11:35:22 +04:00
2026-08-15 17:19:25 +04:00
2026-08-01 16:29:56 +04:00
2026-08-04 16:00:17 +04:00
2026-08-06 02:48:00 +04:00
2026-08-06 05:23:31 +04:00
2026-08-04 18:01:28 +04:00
2026-08-04 16:00:17 +04:00
2026-08-06 02:48:00 +04:00
2026-08-15 17:19:25 +04:00
2026-08-04 18:12:25 +04:00
2026-08-01 14:15:33 +04:00
2026-08-15 17:19:25 +04:00
2026-08-08 22:24:47 +04:00
2026-07-20 12:00:37 +04:00
2026-08-07 00:32:54 +04:00
2026-08-15 17:19:25 +04:00
2026-08-03 13:40:33 +04:00
2026-08-05 13:11:04 +04:00
2026-08-04 20:46:53 +04:00
2026-08-01 05:08:08 +04:00
2026-08-13 02:14:46 +04:00
2026-08-13 02:14:46 +04:00
2026-08-05 20:54:11 +04:00
2026-08-05 20:54:11 +04:00
2026-08-01 14:10:36 +04:00
2026-08-01 14:10:36 +04:00
2026-08-01 14:05:13 +04:00
2026-08-01 14:05:13 +04:00
2026-08-05 15:52:54 +04:00
2026-08-01 19:46:39 +04:00
2026-08-05 15:52:54 +04:00
2026-07-31 02:15:30 +04:00
2026-08-01 14:05:07 +04:00
2026-08-01 14:20:04 +04:00
2026-08-13 02:50:59 +04:00
2026-08-01 14:11:57 +04:00
2026-08-01 14:11:57 +04:00
2026-08-02 02:16:45 +04:00
2026-08-03 10:12:21 +02:00
2026-08-01 14:36:48 +04:00
2026-08-04 03:17:29 +04:00
2026-08-04 16:41:11 +04:00
2026-08-04 15:37:54 +04:00
2026-08-08 22:24:47 +04:00
2026-08-06 01:39:38 +04:00
2026-08-13 02:50:59 +04:00
2026-08-13 03:03:25 +04:00
2026-08-05 18:16:54 +04:00
2026-08-15 17:19:25 +04:00
2026-08-02 09:58:07 +04:00
2026-08-01 01:30:06 +04:00
2026-08-04 04:35:42 +04:00
2026-08-04 04:35:42 +04:00
2026-08-13 03:00:31 +04:00
2026-08-15 02:15:51 +04:00
2026-08-13 03:00:31 +04:00
2026-08-06 02:49:09 +04:00
2026-08-05 13:11:04 +04:00
2026-08-05 01:31:23 +04:00
2026-08-15 17:19:01 +04:00
2026-08-05 15:28:26 +04:00
2026-08-05 15:28:26 +04:00
2026-08-09 01:56:46 +04:00
2026-08-01 21:35:58 +04:00
2026-08-04 18:45:52 +04:00
2026-08-15 17:19:01 +04:00
2026-07-31 13:30:38 +04:00
2026-08-15 17:19:01 +04:00
2026-08-15 17:19:25 +04:00
2026-08-15 17:19:25 +04:00
2026-08-05 01:48:18 +04:00
2026-08-04 03:53:20 +04:00
2026-08-04 21:18:52 +04:00
2026-08-06 02:58:49 +04:00
2026-08-13 03:00:31 +04:00
2026-08-13 03:00:31 +04:00
2026-08-15 17:19:25 +04:00
2026-08-15 17:19:25 +04:00
2026-08-06 19:45:37 +04:00
2026-08-06 20:12:19 +04:00
2026-08-06 04:43:38 +04:00
2026-08-06 04:43:38 +04:00
2026-08-02 02:24:36 +04:00
2026-08-05 01:10:17 +04:00
2026-08-05 01:10:17 +04:00
2026-08-15 17:19:25 +04:00
2026-08-15 17:19:25 +04:00
2026-08-15 17:19:25 +04:00
2026-08-02 09:35:47 +04:00
2026-08-01 14:06:38 +04:00
2026-08-04 15:54:13 +04:00
2026-08-01 21:40:06 +04:00
2026-08-04 18:45:52 +04:00
2026-08-01 14:12:43 +04:00
2026-08-01 14:12:43 +04:00
2026-07-31 23:27:08 +04:00
2026-08-09 00:42:15 +04:00
2026-07-31 14:14:18 +04:00
2026-08-13 02:50:59 +04:00
2026-08-06 19:45:37 +04:00
2026-08-13 11:35:22 +04:00
2026-08-04 05:33:00 +04:00
2026-08-13 02:50:59 +04:00
2026-08-04 05:33:00 +04:00
2026-08-05 02:27:22 +04:00
2026-08-13 02:50:59 +04:00
2026-08-05 22:59:56 +04:00
2026-08-05 22:59:56 +04:00
2026-08-08 21:43:15 +04:00
2026-08-15 17:19:25 +04:00
2026-08-15 17:19:25 +04:00
2026-08-01 14:21:46 +04:00
2026-08-01 14:21:46 +04:00
2026-08-15 17:19:25 +04:00
2026-08-13 02:50:59 +04:00
2026-08-06 03:33:01 +04:00
2026-08-06 03:33:01 +04:00
2026-08-05 20:51:46 +04:00
2026-08-04 01:19:41 +04:00
2026-08-04 01:19:41 +04:00