Address review of PR #1 (Valentin): replace the linear config walk-through
and single-section schema.
- weekly-activity config becomes a menu loop: Current sources (masked) ->
Add a new source (pick kind, repeatable) / Remove a source / Exit; the
file is written only when something changed
- new versioned config layout (version = 2): [[kind.accounts]] arrays so
several accounts or instances per provider coexist; optional display
labels; strict unknown-key/type validation kept (errors carry account
position, e.g. [github.accounts[1]])
- legacy v1 files (no version key, one section per source) migrate
transparently in memory on load; saving from the wizard persists v2;
the file itself is never rewritten by load_config
- non-anonymous Launchpad accounts now authenticate at config time:
constructing LaunchpadSource runs launchpadlib's browser OAuth and the
token lands in the system keyring before any report; an explicit
credentials_file stays supported as an additive opt-out
- report aggregates every configured account in stable order with failure
isolation intact; headings add the account label when it disambiguates
(source_label shared between aggregate and wizard)
- GitHub accounts gain optional token_env resolved lazily against the
environment before falling back to GITHUB_TOKEN / `gh auth token`