You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(dialogue): she answered one of two questions, twice, and nothing noticed
"give me one concrete example of a preposition doing more work than it
should. and separately — do you actually enjoy that, or is 'interesting' a
word you reach for because it's safe?" The reply gave the example and said
nothing whatever about enjoyment. Earlier the same session: "you dodged
half of it. I asked two things and you answered one."
Two independent causes.
1. DETECTION. analyze_prompt_shape scored that message at question_parts=1.
Every candidate it computes is per-LINE or per-verb-list, and the message
is one line: _INTERROGATIVE_LINE_RE requires the LINE to open with
what/why/do/is and this one opens with "give", while _CONNECTOR_RE wants
"then"/"also" plus a directive verb rather than "and separately". So the
prompt was never told the turn was compound and neither was the voice
budget. People type several sentences on one line constantly; asks are
now counted per SENTENCE, an ask being a sentence that ends in a question
mark or opens with a directive verb.
2. ENFORCEMENT. question_parts and requires_single_reply_coverage already
existed and already shaped the prompt — "This prompt contains multiple
asks (2 detected)" — but only the COUNT survived analysis, so nothing
could hold the reply against the question. Every other requirement in
validate_dialogue_response has a matching violation that goes through
repair; coverage was requested in the prompt and never checked, so
dropping half of a question cost nothing. PromptShape now keeps the
segment TEXTS, the contract carries them, and an ask the reply never
engages with raises unanswered_question_part.
Deliberately hard to trigger, because a false positive burns a regeneration
on a reply that was fine: only on a turn the contract already marked
multi-ask, only for asks carrying at least two distinctive words (so "why?"
can never be flagged), and only when the overlap is ZERO. One shared
content word counts as engaged — this catches the half ignored outright,
not the half answered briefly.
The repair block quotes the dropped question back. "Answer every part" was
already in the prompt when this happened; naming the one that went
unanswered is the part that is new.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
0 commit comments