7 Commits
Author SHA1 Message Date
dev_agentandClaude Opus 5.5 d532254bc6 Take in as much of a Regular's outer punctuation as a reason spells
CI / ci (push) Successful in 2m28s
CI / ci (pull_request) Successful in 2m28s
A mention extended over a stored name's optional outer punctuation only
when the reason spelled all of it, so "Like your Beef Chili!" left the
mention of "Beef Chili!!" at "Beef Chili" while "Chili!" extended through
its "!", and neither covered the other. Extend through the longest portion
of the punctuation the reason spells after which the border still holds,
at either end of the name.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 23:00:30 -04:00
dev_agentandClaude Opus 5.5 70a4e540aa Ignore spacing beside a Regular's outer punctuation in a mention
CI / ci (push) Successful in 2m53s
CI / ci (pull_request) Successful in 2m26s
A mention took in a stored name's leading or trailing punctuation only
where the text repeated the stored spacing exactly, although the rule
says spacing is ignored. With Regulars "Beef Chili !" and "Chili!", the
reason "Like your Beef Chili!" left the first mention at "Beef Chili",
so a citation of "Chili!" passed. Match the punctuation with any spacing
beside it, then apply the same border check to the extended mention.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 22:50:36 -04:00
dev_agentandClaude Opus 5.5 e0e934d8a8 Recheck the border after stored punctuation in a Regular's mention
CI / ci (pull_request) Successful in 2m25s
CI / ci (push) Successful in 2m41s
A mention took in the name's trailing or leading punctuation without
checking the border beyond it, so with Regulars "Beef Chili" and "Beef
Chili!" the text "Beef Chili!X" named "Beef Chili!" alone, though the
shared bare mention is ambiguous (MQ-100-6). Punctuation is now taken in
only where the border still holds after it; otherwise the mention stays
the bare name, and stays shared.

Only punctuation and the spacing beside it may be left off a name's ends,
and a combining mark counts as part of its letter, so a stored "Chicken
Cafe" with a decomposed accent is no longer mentioned by "Chicken Cafe",
nor plain "Chicken Cafe" by the accented spelling (MQ-100-7). Symbols are
no longer trimmed either.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 22:41:46 -04:00
dev_agentandClaude Opus 5.5 97eb97582d Define one boundary rule for Regulars a Side quest's reason names
CI / ci (push) Successful in 2m38s
CI / ci (pull_request) Successful in 2m25s
The reason check split on white space and trimmed punctuation before
looking a phrase up, so a stored name ending in punctuation could be
trimmed into a different Regular (MQ-100-4) and a name joined to the
next word by punctuation was never seen (MQ-100-5).

A mention of a Regular is now where the reason spells its name, ignoring
case and spacing, with the name's own outer punctuation optional and no
letter or digit just outside it. A mention names its Regular unless a
different Regular's mention covers the same text or more, which keeps a
mention of "Easy Beef Chili" from naming "Beef Chili" (MQ-100-3).
One table-driven test covers the whole matrix.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 22:21:31 -04:00
dev_agentandClaude Opus 5.5 622f5359e8 Check a Side quest's reason names the Regular its citation resolved to
CI / ci (pull_request) Successful in 2m39s
CI / ci (push) Successful in 2m30s
The reason check compared normalized names, so a reason naming only
"Beef Chili" passed for a citation of "Easy Beef Chili". Find the
Regulars the reason names with the same find the citations use, taking
the longest run of words at each point, and require a cited Regular
among them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 22:03:40 -04:00
dev_agentandClaude Opus 5.5 1ca246b715 Match cited Regulars unambiguously and reject filler-only names
CI / ci (push) Successful in 2m25s
CI / ci (pull_request) Successful in 2m26s
A cited Regular now resolves by exact name (ignoring case and spacing)
first, then by normalized name only when that names a single Regular;
an ambiguous citation drops the Side quest instead of rewriting it to
whichever Regular shared the key (MQ-100-1).

A Side quest name with no words left after normalizing is malformed and
goes through the repair turn, so it can no longer evade the dedupe or
the dinner-name rule (MQ-100-2).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 21:48:12 -04:00
dev_agentandClaude Opus 5.5 fad1aee319 Add suggest_side_quests skill v1
CI / ci (push) Successful in 2m38s
CI / ci (pull_request) Successful in 2m43s
The skill asks for twice the Side quests needed, using the household
context plus the pending Side quests, through an embedded, checksummed
prompt template. A malformed reply gets the harness's one repair turn.
A well-formed Side quest is dropped (and listed in Dropped) when it
repeats a Regular, Quest log dinner, pending or passed name or an
earlier Side quest in the batch, cites no Regular or one that is not a
Regular, or has a reason over 180 characters or naming none of its
cited Regulars. Golden tests use llm.Fake.

Maestro task 85a898e1-f1f5-4414-92f3-3277d86afe90.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 21:34:58 -04:00