chore: remove silent exception swallowing (fail-loudly debt)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start with CLAUDE.md and the listed handlers in agents/base/memory.py, agents/base/agent.py, agents/tools/file_io_tools.py, ui/_chat_helpers.py, and ui/routers/system.py; review related issue #3289. Trace which failures are silently swallowed, then verify behavior-relevant sites no longer hide errors and a lint test rejects new silent broad handlers while allowing documented existing locations.
Written by the indexing model from the issue text.
Description
Several hundred broad except Exception handlers remain, and a meaningful share silently discard the error — the pattern CLAUDE.md's fail-loudly rule calls out. Some hide real behaviour: memory ranking silently stops adapting, the "model loaded at wrong ctx" check silently turns off, and every Agent UI streaming failure becomes a bare "try again" with no cause or correlation id.
Next step: fix the behaviour-relevant sites first, then add a lint guard with an allowlist of what's left.
🔍 Technical details
Highest-value sites:
agents/base/memory.py:1466(failedupdate_confidenceswallowed),:2022(vectors dropped)agents/base/agent.py:4927(ctx-size probe error → False)agents/tools/file_io_tools.py:725(search_codeskips files)ui/_chat_helpers.py:2787-2796(streaming failure → generic message; failed persist swallowed); also:93,:1672,:2250,:2821ui/routers/system.py:606(catalog failure leavesmodel_downloadedwrong)
Counts: agents/base 47 swallowing sites (19 in system_context.py); src/gaia/ui 26 of 141 broad handlers only pass/continue/return a constant; llm+installer 108 broad (21 swallow); rag 40, eval 37, audio 33, cli 64, hub 16.
Guard: a lint test failing on new silent broad handlers, allowlisting existing ones by location. Related: #3289.
Found in a review of main @ 64544f218.
- Dominant language
- Python
- Stars
- 1.6k
- Forks
- 169
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 489
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from amd/gaia
-
bug p2
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
Similar issues
-
customer-reported
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Azure/azure-cli#34150 · 1 comment ·
Maintainers usually reply within 1 day
-
community-request
Difficulty 1/5 Under an hour Newbie friendliness 95/100
NVIDIA-NeMo/Curator#2464 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
WeblateOrg/translation-finder#1099 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
trezor/trezor-firmware#7997 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day