Repository navigation
Conversation
|
Observer publish gap: |
|
Grok roast r1 of 2b6d34d: CHANGES NEEDED This records a closed phrase list on short follow-ups. It does not record the moments where a report failed its reader, and the posted 4/4 and 4/5 figures do not meet #52. I ran 1. High. The list fires on the next instruction, and misses the failed reportA genuine prompt usually sits directly after an agent message, because the user reads the report and types what to do next. Adjacency is the common case. The phrase list then decides, and the 200-character cap keeps the short instruction while dropping the explanation of what failed. Misses, each under 200 characters, signal none:
Hits that are the next instruction, not a failed report, signal
Hits that are a different speech act, whole message, signal The reports worth fixing are the long ones. A message that contains "I don't understand" and runs past 200 characters returns none. A bare "huh?" is kept and does not say which sentence failed. Cut the tokens that are ordinary follow-ups or other speech acts: 2. High. The sample does not meet "at least 100, including non-English"#52 asks for precision and recall on at least 100 real messages including non-English, and for varied wording beyond a keyword list. The head is a keyword list. The sample is 173 bestia prompts, labeled by the author, 5 positives, and no non-English human prompt. The wording-only score is 4/4 and 4/5. A Wilson 95% interval is about 0.51 to 1.00 on 4/4 and about 0.38 to 0.96 on 4/5. The labeling rule restates the patterns, so four of the five positives are the list matching itself. The 40 longer prompts cannot be false positives: above 200 characters the gate returns none. The sample took every non-empty prompt of 200 characters or less, which is the only set that can fire, and the live run found 4. That is one census of four messages, written up once as sample precision and once as a live spot-check, unless some wording hit failed adjacency. The writeup names no such hit. bestia simply did not contain "sorry", "hmm", or "elaborate the plan". Precision on this machine's history says that, and nothing about the next machine or next week. Synthetic tests show the regex matches strings placed next to it. They are not a non-English sample. Say the gap in both places. In the PR and in 3. Medium.
|
|
Luna review r1 of 2b6d34d: REQUEST CHANGES
Cleared: findings include only references and fixed summaries, the inbox flag is correctly deferred with |
Adds the heuristic user_confusion detector: a short genuine prompt directly after an agent message that asks the agent to restate or explain it, in English, Polish, German, Spanish, French, Italian or Portuguese wording. Each finding references both messages and keeps no text; compare reports it per version, harness, project and model. Refs #52 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review r1 on #117: drop patterns that match ordinary next instructions (elaborate, rephrase, simpler names, too complicated, non-programmer) and bare words that are other speech acts (sorry, hmm, comment, ??). Bare interjections must be the whole message. Fold umlauts so "hä?" matches. A prompt counted as user_confusion is no longer also a human_correction. compare notes that small detector cells are a census. README states the measured numbers with intervals and that non-English wording is unmeasured on real prompts. Refs #52 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2b6d34d to
103a349
Compare
|
Closed unmerged by the user's decision (2026-10-19). A phrase list caught 2 of 5 labelled cases, and its 2 hits would be read as the confusion rate. #52 is rescoped to a small, asynchronous classifier that runs locally; this PR's labelling rule and its 5 bestia positives become seeds for that. |
What: Adds the
user_confusiondetector. It flags a short prompt that says the user did not understand the agent's last message, and links both messages by reference.Why: each such moment shows a report that failed its reader, and nothing collected them before this change (#52).
So what: this needs re-review of the round-2 head. #52 stays open (
Refs): the non-English labeled-sample criterion is not met, and the inbox flag waits for #28.Changes
agent_observer/analysis.py: a new heuristic detectoruser_confusion, run bydetect_sessionand listed inDETECTORS, sodiagnose --detector user_confusionandcompareinclude it.ae/oe/ue), with no model call.bare: the whole message ishuh/what(orque,quoi,hein,co,że co,hä) as a question or exclamation, optionally afterbro/bruh/wait.bro,bruh,huhandwait whatalso count alone.phrase: "what do you mean", "what does that mean", "what do you want me to do", "I don't understand/follow/get it" (ending the message or followed by a clause), "I'm confused", "explain it/that again/better", a whole-message "simpler?", "say that again", "come again?", "eli5", and a short list in Polish, German, Spanish, French, Italian and Portuguese.user_message,agent_messageandsignal;event_refsis[agent_event_id, user_native_id]. Findings carry no text.human_correctionno longer also counts a prompt thatuser_confusioncounted ("bro what?"), so one message moves one series.comparenotes, both views, andREADME.mdsay that a detector cell with few incidents is a census, not a version, harness, project or model effect.agent_observer/publish.py: counts are published as "clarification requests".tests/test_analysis.py:UserConfusionTest, using synthetic fixtures only.Round-2 resolutions
elaborate,rephrase, a leadingsimpler,write/say/put … better,explain better …mid-sentence,too complicated/much detail,plain/simple words,non-programmerandmake it simpler.sorry,hmm,pardon,meaning,come,was,commentand??. A bare interjection must be the whole message.hä?: fixed by NFC plus umlaut folding.hä?,HÄ?and decomposedhä?are tested.human_correction: fixed in code, not just documented, and tested.origin/main024cd97. There was no conflict with fix: explain PR task form for empty Issue publish scopes #110 or fix: keep structured gh output free of terminal color #115. Thetest_diagnose_scalefixture now includes a confusion case.Proof (head
103a3499e128260e18fa1c741dd814a3574cb5bb)python3 -m unittest discover -s tests:Ran 820 tests ... OK. After the rebase,test_diagnose_scale, from perf: index session occurrence lookups for diagnose #119, requires its mixed fixture to trigger every detector. I added one synthetichuh?prompt after the agent message there; the assertion is unchanged.python3 -m compileall -q agent_observer tests scripts: exit 0.Limits
publishgap:publishfor this task returnednothing to publish: no sessions in scope.Elon record
_confusion_signal, re-measured on the same labeled sample, re-ran the detector on the ledger copy, and read the full test output on the exact head.Refs #52
🤖 Generated with Claude Code