Code review fixes: wardrobe migration, response validation, path traversal guard, deduplication

- Migrate 11 character JSONs from old wardrobe keys to _BODY_GROUP_KEYS format
- Add is_favourite/is_nsfw columns to Preset model
- Add HTTP response validation and timeouts to ComfyUI client
- Add path traversal protection on replace cover route
- Deduplicate services/mcp.py (4 functions → 2 generic + 2 wrappers)
- Extract apply_library_filters() and clean_html_text() shared helpers
- Add named constants for 17 ComfyUI workflow node IDs
- Fix bare except clauses in services/llm.py
- Fix tags schema in ensure_default_outfit() (list → dict)
- Convert f-string logging to lazy % formatting
- Add 5-minute polling timeout to frontend waitForJob()
- Improve migration error handling (non-duplicate errors log at WARNING)
- Update CLAUDE.md to reflect all changes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Aodhan Collins
2026-03-22 00:31:27 +00:00
parent 55ff58aba6
commit 29a6723b25
37 changed files with 464 additions and 539 deletions

View File

@@ -16,14 +16,13 @@
"scene": ""
},
"wardrobe": {
"full_body": "",
"headwear": "",
"top": "green_crop_top, sleeveless",
"bottom": "black_belt, green_shorts",
"legwear": "white_thighhighs",
"footwear": "black_boots",
"hands": "fingerless_gloves",
"accessories": ""
"base": "",
"head": "",
"upper_body": "green_crop_top, sleeveless",
"lower_body": "black_belt, green_shorts",
"additional": "",
"feet": "white_thighhighs, black_boots",
"hands": "fingerless_gloves"
},
"styles": {
"aesthetic": "high_contrast, vibrant",