imacat and Claude Opus 5
aa1128728b
Restructure the remaining commands into the house shape
...
Every command now runs as one orchestrating class (the ctor
stores, run() executes, helpers and constants private), main a
thin controller; the guards the fixed corpus cannot trigger are
dropped, docstrings say each level's own contract once, and the
build-db summary reports the songs and the artists alone.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-19 10:46:21 +08:00
imacat and Claude Opus 5
02fcfd4b78
Derive the performing group genders from their Wikidata members
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:39 +08:00
imacat and Claude Opus 5
74d72cd15e
Close the HTTP error fixtures when the test ends
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:37 +08:00
imacat and Claude Opus 5
147e838b91
Run the tests on an in-memory store and dispose the engine afterwards
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:36 +08:00
imacat and Claude Fable 5
f96452aee4
Gather the CLI command modules into a commands sub-package
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:26 +08:00
imacat and Claude Fable 5
6d7153e48c
Align the fetch-lyrics summary with fetch-artists via shared utils
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 15:34:26 +08:00
imacat
193cf2eca0
Keep the artist snapshot sorted by name
2026-08-04 15:15:49 +08:00
imacat
2bca93d75a
Show resolved count and elapsed time in the fetch-artists summary
2026-08-04 15:15:49 +08:00
imacat
e063e6349f
Resolve artists on Wikidata via exact-match SPARQL with song corroboration
2026-08-04 15:15:49 +08:00
imacat and Claude Fable 5
c1b49b073f
Make every subcommand input an explicit CLI argument or option
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 15:13:31 +08:00
imacat and Claude Fable 5
a3062e848c
Refactor internal data passing to dataclasses and enums, and remove unneeded defensive code
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 15:13:31 +08:00
imacat and Claude Fable 5
1b2d46cb42
Add the data layer with the build-db, fetch-lyrics, and fetch-artists subcommands
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 15:12:22 +08:00