ENG-838: cap RESILIENCE_NUDGE with an honesty floor#256
Open
alecantu7 wants to merge 1 commit into
Open
Conversation
The transient nudge (injected after 2 same-tool failures) ended with "Only involve the user if the problem truly requires something only they can provide" — the riskiest wording in the fabrication path (ENG-296 smoking gun) and largely redundant with the always-on PROBLEM-SOLVING RESILIENCE block. Keep the just-in-time "try a workaround first" value but cap it: after one or two genuine workarounds, STOP and tell the user what failed — never fabricate or claim success. Opening marker "This tool has failed twice in a row." is retained (two e2e tests detect the nudge by it). Firing logic and the scratchpad SIZE/TIMEOUT nudges are unchanged. Defense-in-depth — no observed harm today (STUCK verdict + act_first honesty rules currently win); this lowers the probabilistic tail risk of fabrication. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
alecantu7
force-pushed
the
alejandrocantu/eng-838-harden-resilience-nudge
branch
from
July 17, 2026 00:43
a815bf7 to
43cd3f7
Compare
Contributor
Author
Self-reviewReviewed the diff + consistency against the escalation ladder and the always-on
Verified marker |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Rewrites the transient
RESILIENCE_NUDGE(anton/core/llm/prompts.py, injected after 2 same-tool failures) to keep its "try a workaround first" value but add an explicit honesty floor, and drops the risky closing line "Only involve the user if the problem truly requires something only they can provide."Why
PROBLEM-SOLVING RESILIENCEblock inCHAT_SYSTEM_PROMPTalready covers the same workaround guidance with safer user-involvement wording.STUCKverdict +act_firsthonesty rules win — see the ENG-296 close-out), so this is defense-in-depth to lower the probabilistic tail risk.Kept (not deleted) for its just-in-time salience.
Diff
Before: "…Before retrying the same approach or asking the user for help, try a creative workaround… Only involve the user if the problem truly requires something only they can provide."
After: "…Before retrying the same approach, try one or two genuine workarounds… If those also fail, STOP and tell the user exactly what failed and what you need — do NOT fabricate a result, claim success, or silently give up. Once real options are exhausted, asking the user is the correct move."
Safety / scope (verified)
test_loop_safety,test_circuit_breaker_evasion) detect the nudge by it.test_resilience_nudge.pychecks identity against the constant (rewrite-safe).resilience_nudge_at), the circuit-breaker escalation, or the scratchpadSIZE/TIMEOUTnudges.Remaining (Done-when)
main, so reaching the desktop path also needs the antonstaging→mainpromotion + a cowork-serveruv.lockbump.Closes ENG-838.