[PR #219] [MERGED] fix: toolkit bugs found while reviewing PRs (kb list fields, publish check, Mindustry/DF routes, CI ffmpeg) #221

Closed
opened 2026-10-15 20:54:30 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/rehan-remade/universal-modder/pull/219
Author: @rehan-remade
Created: 10/11/2026
Status: ✅ Merged
Merged: 10/11/2026
Merged by: @rehan-remade

Base: main ← Head: fix/review-bugs


📝 Commits (5)

  • da3dd6f kb: quote list items YAML split or retyped
  • ee71047 kb check: list fields must hold plain strings; search and index tolerate bad ones
  • e602e8b publish check: don't match a mod inside --game against itself
  • dc2ba51 scan: Mindustry and Dwarf Fortress routes, found by name or by files
  • 5275e61 ci: install ffmpeg without recommends, skip man-db, add timeouts

📊 Changes

15 files changed (+177 additions, -29 deletions)

View changed files

📝 .agents/skills/mod-any-game/references/engines/misc-engines.md (+19 -1)
📝 .claude/skills/mod-any-game/references/engines/misc-engines.md (+19 -1)
📝 .github/workflows/test.yml (+10 -1)
📝 knowledge/TEMPLATE.md (+1 -0)
📝 knowledge/games/project-zomboid/b42-20-modlist-preset-and-world-load-errors.md (+1 -1)
📝 knowledge/games/the-dark-legions/reloaded-single-dll-fix.md (+1 -1)
📝 knowledge/games/world-of-warcraft/client-texture-crashes-and-mpq.md (+1 -1)
📝 knowledge/games/world-of-warcraft/hd-character-customization.md (+1 -1)
📝 knowledge/games/world-of-warcraft/retail-armour-on-the-335a-client.md (+1 -1)
📝 knowledge/index.json (+5 -10)
📝 skills/mod-any-game/references/engines/misc-engines.md (+19 -1)
📝 tests/test_um.py (+51 -1)
📝 um/kb.py (+26 -8)
📝 um/publish.py (+5 -0)
📝 um/scan.py (+17 -1)

📄 Description

Fixes for the toolkit bugs the last round of PR reviews turned up.

  • um kb check fails list fields (games_also, tools, agents, humans, links, tags) that hold non-strings or bracket-split items, and says to quote them. In #177, an unquoted games_also: [Cataclysm: Dark Days Ahead] parsed as a dict and um kb search --game crashed on it. search and build_index now read list fields through a strs() helper, so one bad note can't crash them. Five existing notes had a split tools item or an int tag; their front matter is quoted.
  • um publish check --game no longer compares a mod against itself when the mod sits inside the install (Dwarf Fortress mods/<name>, reported in #175).
  • um scan has Mindustry (built-in mod loader) and Dwarf Fortress v50+ (raws mods, installed_mods, DFHack) routes, found by name or by files, with a DFHack loader entry and both games in misc-engines.md.
  • CI installs ffmpeg without recommends and skips the man-db trigger. The step took ~7 minutes on some runs while the PRs landed. It also gets a 5-minute step timeout and a 15-minute job timeout.

Tests: 93 passed, 1 skipped locally (the ffmpeg EDL test; ffmpeg isn't installed there). um kb check --index and um publish check . pass.

🤖 Generated with Claude Code


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/rehan-remade/universal-modder/pull/219 **Author:** [@rehan-remade](https://github.com/rehan-remade) **Created:** 10/11/2026 **Status:** ✅ Merged **Merged:** 10/11/2026 **Merged by:** [@rehan-remade](https://github.com/rehan-remade) **Base:** `main` ← **Head:** `fix/review-bugs` --- ### 📝 Commits (5) - [`da3dd6f`](https://github.com/rehan-remade/universal-modder/commit/da3dd6f2fe803ccb14c96dc9ddaeb82af30b7817) kb: quote list items YAML split or retyped - [`ee71047`](https://github.com/rehan-remade/universal-modder/commit/ee71047c4c359165495799113a92c85a5f2177fb) kb check: list fields must hold plain strings; search and index tolerate bad ones - [`e602e8b`](https://github.com/rehan-remade/universal-modder/commit/e602e8b64d863be550fbe5a8eb0f5284e66babb8) publish check: don't match a mod inside --game against itself - [`dc2ba51`](https://github.com/rehan-remade/universal-modder/commit/dc2ba51e93b60da0fda1fd55a7dc3abecd868dd3) scan: Mindustry and Dwarf Fortress routes, found by name or by files - [`5275e61`](https://github.com/rehan-remade/universal-modder/commit/5275e61fdc972afc2ebe41ffce260cddcd74cea9) ci: install ffmpeg without recommends, skip man-db, add timeouts ### 📊 Changes **15 files changed** (+177 additions, -29 deletions) <details> <summary>View changed files</summary> 📝 `.agents/skills/mod-any-game/references/engines/misc-engines.md` (+19 -1) 📝 `.claude/skills/mod-any-game/references/engines/misc-engines.md` (+19 -1) 📝 `.github/workflows/test.yml` (+10 -1) 📝 `knowledge/TEMPLATE.md` (+1 -0) 📝 `knowledge/games/project-zomboid/b42-20-modlist-preset-and-world-load-errors.md` (+1 -1) 📝 `knowledge/games/the-dark-legions/reloaded-single-dll-fix.md` (+1 -1) 📝 `knowledge/games/world-of-warcraft/client-texture-crashes-and-mpq.md` (+1 -1) 📝 `knowledge/games/world-of-warcraft/hd-character-customization.md` (+1 -1) 📝 `knowledge/games/world-of-warcraft/retail-armour-on-the-335a-client.md` (+1 -1) 📝 `knowledge/index.json` (+5 -10) 📝 `skills/mod-any-game/references/engines/misc-engines.md` (+19 -1) 📝 `tests/test_um.py` (+51 -1) 📝 `um/kb.py` (+26 -8) 📝 `um/publish.py` (+5 -0) 📝 `um/scan.py` (+17 -1) </details> ### 📄 Description Fixes for the toolkit bugs the last round of PR reviews turned up. - **`um kb check`** fails list fields (`games_also`, `tools`, `agents`, `humans`, `links`, `tags`) that hold non-strings or bracket-split items, and says to quote them. In #177, an unquoted `games_also: [Cataclysm: Dark Days Ahead]` parsed as a dict and `um kb search --game` crashed on it. `search` and `build_index` now read list fields through a `strs()` helper, so one bad note can't crash them. Five existing notes had a split `tools` item or an int tag; their front matter is quoted. - **`um publish check --game`** no longer compares a mod against itself when the mod sits inside the install (Dwarf Fortress `mods/<name>`, reported in #175). - **`um scan`** has Mindustry (built-in mod loader) and Dwarf Fortress v50+ (raws mods, `installed_mods`, DFHack) routes, found by name or by files, with a DFHack loader entry and both games in `misc-engines.md`. - **CI** installs ffmpeg without recommends and skips the man-db trigger. The step took ~7 minutes on some runs while the PRs landed. It also gets a 5-minute step timeout and a 15-minute job timeout. Tests: 93 passed, 1 skipped locally (the ffmpeg EDL test; ffmpeg isn't installed there). `um kb check --index` and `um publish check .` pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-15 20:54:30 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rehan-remade/universal-modder#221
No description provided.