#015 — deeply nested JSON raised RecursionError (a RuntimeError, not ValueError) and became an unhandled 500 on two paths: - json-kind content validation now catches RecursionError -> 400. - Added a custom DRF EXCEPTION_HANDLER (artifacts/exception_handlers.py, wired via REST_FRAMEWORK) mapping otherwise-unhandled RecursionError -> 400, covering the parser-level crash on deeply nested request bodies (metadata etc.) too. #016 — wrap_csv_viewer handed Grid.js rows without reconciling width to the header, so over-long rows silently dropped cells. Now normalizes every row to the max width: long rows widen the columns (auto-named "Column N"), short rows pad with "". No cell is dropped. Both verified live; 4 regression tests added. 106 tests pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| 007-handover-to-llm-test-2026-09-02.md | ||
| 013-handover-to-llm-test-round-2.md | ||
| 014-stored-xss-in-rendered-text-artifacts.md | ||
| 015-deeply-nested-json-recursionerror-500.md | ||
| 016-csv-ragged-rows-silent-data-loss-in-render.md | ||
| README.md | ||
Issues
One file per issue: NNN-short-slug.md, numbered sequentially. Each file
has a title, status (Open / Fixed / By design), description, and resolution
once closed. Numbering keeps climbing — archived numbers are never reused.
Resolved issues are moved to _archive_/ to keep this directory focused on
what's open. That subdirectory is gitignored (it matches the repo-wide
_archive_/ rule), so archived issues stay on local disk and in git
history but are not carried in the committed tree. This directory is read
by the sibling AGENT_DAYBOOK__LLM_TEST project via its local path, so it
still sees the archived files.