feat: Python 3.12 baseline, dep refresh, and docs navigation index
Raises the minimum Python version to 3.12 and adopts the idiomatic PEP 695 `type X = Y` statement for all type alias declarations.
Dep changes ----------- - requires-python: >=3.11 → >=3.12 - typer: >=0.9.0 → >=0.14.0 (0.24.1 latest, drops 3.9 support) - mido: >=1.3.0 → >=1.3.3 (latest stable) - Dropped `toml` — unused since we switched to stdlib `tomllib` - pytest: >=8.0.0 → >=9.0.0 - pytest-asyncio:>=0.23.0 → >=1.0.0 - pytest-cov: >=4.1.0 → >=7.0.0 - anyio: >=4.2.0 → >=4.9.0 - mypy: >=1.8.0 → >=1.19.0 - hatchling build dep pinned to >=1.29.0 - mypy `python_version` updated from 3.11 to 3.12 - Dropped `toml` from mypy overrides (no longer a dependency)
Python 3.12 type alias syntax (PEP 695) ---------------------------------------- Converted all bare `X = Y` type alias declarations to the explicit `type X = Y` statement: - muse/domain.py: DomainOp, LiveState, StateSnapshot, StateDelta - muse/plugins/music/midi_merge.py: _MsgVal - muse/cli/midi_parser.py: RawMeta
Docs ---- Added docs/README.md — a navigation index covering every document in the docs tree, a directory map, architecture overview, plugin quickstart, config file inventory, and testing command reference.
Verification: mypy (0), typing_audit (0), pytest (697/697 green)