Fits the mythology pillar of the persona (Slavic/Norse/Celtic, Old Norse
phrases). New always-loaded cog oracle_commands:
* $runy [pytanie] draws three Elder Futhark runes (past/present/future, with
upright/reversed orientation - the 8 symmetric runes are never reversed) and
asks the ACTIVE AI backend to read the spread in Conjurer's voice. If the AI
is down it still shows the drawn runes with their own meanings, so the command
always answers.
* $runa_dnia gives one rune, deterministic per user per day (sha256 seed), so
it's stable if asked repeatedly - no AI call, no state file.
The full 24-rune Futhark, the draw logic and the reversal rules are pure and
unit-tested (distinct draw, non-invertible never reversed, per-day stability,
meaning fallback).
Also fixes a pre-existing unit-job breakage: test_bar_commands and
test_lore_commands each stubbed `discord` with different completeness and
shared sys.modules, so once both landed on main the one lacking `discord.ext.tasks`
shadowed the one needing it and collection failed order-dependently. A new
tests/unit/conftest.py stubs discord once, completely, before any test module -
the per-file stubs then skip. Full unit job: 41 passed.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>