mirror of
https://github.com/JuliusBrussee/caveman.git
synced 2026-08-11 13:21:09 +02:00
Five user-contributed fixes consolidated: * UTF-8 stdout (#289 by @ousamabenyounes) — reconfigure stdout/stderr at the top of cli.py so Windows cp1252 consoles don't crash on the ❌ glyph in error/validation branches and mask the real error. * Empty / unchanged compression guards (#292 by @ousamabenyounes, closes #237) — refuse empty input, refuse empty/whitespace/identical Claude output, read back the backup before touching the input. Five regression tests in tests/test_compress_safety.py. * Inline backtick validation (#309 by @hireblackout) — validate_inline_codes closes the silent-overwrite gap where `npm install` → `yarn install` passed validation. Wired into validate(); 11 unit tests in tests/test_validate_inline.py. * Frontmatter angle-bracket fix (#268 by @Bortlesboat, closes #266) — caveman-compress/SKILL.md description now uses FILEPATH instead of <filepath>, plus verify_repo gains a new verify_skill_frontmatter_upload_compatibility check, UTF-8 hardening for Windows, and the activation-banner regex no longer requires a trailing period. * Two test fixtures (claude-md-project.md, mixed-with-code.md) updated so the new inline-backtick validator passes — they were silently dropping `server/src/`, `type(scope): description`, and `status` references in compression. The fixture is documentation of "good" compression, so the fix is to preserve those references. Co-Authored-By: Ben Younes <ousama.benyounes@oratelecom.net> Co-Authored-By: hireblackout <hireblackout@users.noreply.github.com> Co-Authored-By: Andrew Barnes <Bortlesboat@users.noreply.github.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>