Not errors and not regressions — Godot printed them on every script reload
and they predate M4-b. Cleared so a real warning is not lost in the noise:
- Redundant `const ContentDB`/`const NewGame` preloads that shadowed their
own `class_name` globals (character_creation.gd, creation_draft.gd) — the
class is already global, so the const bought nothing.
- Two `log` locals shadowing the built-in `log()` — renamed to `out`
(canon_log.from_dict) and `canon` (NewGame.construct); the "log" dict KEY
is the public contract and is unchanged.
- currency.format's copper->denomination division is integer BY DESIGN (the
remainder is carried, not lost) — annotated `@warning_ignore` to say so.
319 client tests green; headless parse reports none of the four sites.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
One integer, stored in copper. The ratios are rules and live in code; prices
are content and land in M8. format() suppresses empty denominations so being
broke reads as '47c', not '0g 0s 47c'.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QYa9u7Kdxv5gX4AnwWexy8