Files
Maven/internal/phraser/ack_ru_v1.json
T
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

91 lines
4.4 KiB
JSON

{
"schema_version": 1,
"name": "russian capture acknowledgements v1",
"notes": [
"What she says after storing something he said, and what she says when storing it failed. Edit the wording here, no Go changes needed.",
"Rules: she is feminine about herself, he is a man addressed as ты. Never вы/вас/ваш, never он/его about him. No pet names.",
"He hears these many times a day, so most entries carry variants: identical wording is what makes a confirmation stop registering as one.",
"Placeholders: {key} {value} the fact he stated, {fn} the action, {text} the task title or, in ack_fact_echo, his own sentence. His data is interpolated Go-side — the file holds the frame, never his words.",
"ack_fact_echo is the one entry with a single variant, deliberately: what varies in it is his own sentence, which is different every time, and the frame around it is what the simulator scenarios read back.",
"An acknowledgement confirms and stops. It does not ask a follow-up question and it does not editorialise about what he stored."
],
"entries": {
"ack_fact": {
"variants": ["записала факт.", "записала.", "запомнила."]
},
"ack_fact_key": {
"variants": ["отметила: {key}", "записала: {key}", "запомнила: {key}"]
},
"ack_fact_kv": {
"variants": ["отметила: {key} = {value}", "записала: {key} — {value}", "запомнила: {key} — {value}"]
},
"ack_fact_echo": {
"fixed": true,
"variants": ["записала: {text}"]
},
"ack_note": {
"fixed": true,
"variants": ["сохранила заметку."]
},
"ack_reminder": {
"variants": ["напомню.", "напомню, не забуду.", "хорошо, напомню."]
},
"ack_act": {
"variants": ["ок, записала действие: {fn}", "приняла действие: {fn}"]
},
"ack_task": {
"variants": ["записала: {text}", "добавила в задачи: {text}", "внесла в список: {text}"]
},
"ack_task_urgent": {
"variants": ["поняла, беру в работу: {text}", "поняла, это срочно: {text}"]
},
"ack_task_duplicate": {
"variants": ["это уже в списке.", "такое уже есть в задачах."]
},
"ack_nudge": {
"variants": ["отлично, отметила.", "отметила.", "хорошо, отметила."]
},
"ack_snooze": {
"variants": ["хорошо, вернусь к этому позже.", "ладно, напомню попозже.", "хорошо, отложила."]
},
"ack_generic": {
"variants": ["приняла.", "поняла."]
},
"quiet_on": {
"fixed": true,
"variants": ["тихий режим включён. буду реже напоминать."]
},
"quiet_off": {
"fixed": true,
"variants": ["тихий режим выключен."]
},
"fail_fact": {
"variants": ["не получилось сохранить факт.", "факт не сохранился."]
},
"fail_note": {
"variants": ["не получилось сохранить заметку.", "заметка не сохранилась."]
},
"fail_reminder": {
"variants": ["не получилось поставить напоминание.", "напоминание не поставилось."]
},
"fail_reminder_time": {
"variants": ["не получилось разобрать время напоминания.", "не поняла, на когда напомнить."]
},
"fail_task": {
"variants": ["не получилось записать задачу.", "задача не записалась."]
},
"fail_ack": {
"variants": ["не получилось отметить.", "не смогла отметить."]
},
"fail_snooze": {
"variants": ["не получилось отложить.", "не смогла отложить."]
},
"fail_quiet": {
"variants": ["не получилось переключить тихий режим.", "тихий режим не переключился."]
},
"fail_fact_unparsed": {
"variants": ["не разобрала, что записать — попробуй иначе.", "не поняла, что записать. скажи иначе?"]
}
}
}