Files
Maven/internal/router/task_phrases.json
T
claude 7b4fb6229a list: a named task list is not a grocery item (V-520)
"добавь в список" was a marker in two places: task_phrases.json for task
capture, and listCapturePrefixes for the grocery list. ListGrammars is wired
before TaskCaptureGrammar in buildRouter, so the list claimed every one of
them, and takeListTag does not know "дел" as a list name — "добавь в список
дел хлеб" filed a grocery item called "дел хлеб".

The bare marker stays a grocery item, because an unnamed list already defaults
to покупки and the task side always names its list. A named task list now
declines in ParseListCapture, ParseListQuery and ParseListRemove, so the turn
falls through to task capture. The bare forms are gone from task_phrases.json,
so the data says what the code does rather than being shadowed by grammar
order.

Reversible if he asks for the other default: move the two bare phrases back and
the list will need to decline them instead.
2026-08-05 11:44:07 +04:00

67 lines
2.6 KiB
JSON

{
"_comment": [
"The task capture and task-listing vocabulary. Embedded by task_phrases.go.",
"",
"These are lexicon, not logic: which words mean 'put this on the list' is a",
"fact about how he speaks, and it changes as he uses the thing. Keeping them",
"in Go meant every new phrasing was a source diff.",
"",
"capture_prefixes must be LEADING phrases. 'добавь в задачи купить молоко' is",
"a capture; 'я не добавил молоко в список' is him talking, and only position",
"tells them apart. There is deliberately no 'надо'/'нужно' entry: 'надо бы",
"поспать' is a mood, not a task, and guessing would fill the list with them.",
"",
"urgency markers carry the weight he stated out loud. Two rungs only:",
"'срочно' is a deadline he has not named and 'важно' is a preference. A third",
"shade would be a distinction he never makes.",
"",
"list_nouns are the nouns that make a question be about the list.",
"list_shortcut_nouns are the subset that stand alone as a whole utterance",
"('задачи'), which the longer nouns do not ('дел').",
"",
"The bare 'добавь в список' and 'запиши в список' are deliberately absent",
"(Vikunja #520). They are markers on the grocery list too, in list.go, and an",
"unnamed list already means покупки there, so the bare form is a grocery item",
"and the task side always names its list. The list declines a named task list",
"instead of shadowing these by grammar order."
],
"capture_prefixes": [
"добавь в задачи",
"добавь в тудушки",
"добавь в список задач",
"добавь в список дел",
"добавь задачу",
"запиши в задачи",
"запиши в список дел",
"запиши в список задач",
"запиши задачу",
"новая задача",
"поставь задачу",
"в задачи",
"add a task",
"add task",
"add to my tasks",
"add to tasks",
"new task"
],
"urgency_markers": [
{ "word": "срочно", "weight": 3 },
{ "word": "urgent", "weight": 3 },
{ "word": "важно", "weight": 2 },
{ "word": "important", "weight": 2 }
],
"list_nouns": [
"задачи",
"задачах",
"задач",
"задачам",
"дела",
"делах",
"дел",
"tasks",
"todo",
"todos"
],
"list_shortcut_nouns": ["задачи", "задач", "tasks"]
}