imacat
04951fce05
Update README.md
2026-08-18 23:43:26 +08:00
imacat and Claude Opus 5
8a36bace1d
Move CLAUDE.md to docs/conventions.md so subagents do not inherit it
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-18 23:37:32 +08:00
imacat and Claude Opus 5
412f3665f0
Renumber the pipeline substeps to match the paper (5-1 becomes 5a)
...
prompts/ and runs/ move by git mv; zero padding dropped; the
arbitration and LLM-merge rows in the cost ledger carry no new
name -- their step column reads 已廢棄 with the original name
kept in a new last column. Archived meta.json files and past
decision-log entries keep the names they were written with.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-18 23:37:32 +08:00
imacat and Claude Fable 5
5fb0a3984b
Record the provenance and status of the pilot study
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-18 23:37:28 +08:00
imacat
2a592bd9f6
License the project under CC BY 4.0
2026-08-18 23:37:04 +08:00
imacat and Claude Fable 5
4161a0753f
Add the reliability measurement record to the docs
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-18 23:36:51 +08:00
imacat and Claude Fable 5
179321a3c4
Update the project structure document to the completed pipeline
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-18 22:37:32 +08:00
imacat
33c8747ca6
Finalize camera-ready version of conference paper
2026-08-18 22:37:32 +08:00
imacat and Claude Fable 5
abc184de28
Add the wide pattern matrix of the women-power songs
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-18 22:37:32 +08:00
imacat and Claude Fable 5
52d74f4edc
Rewrite the research plan to the executed pipeline
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-18 22:37:32 +08:00
imacat and Claude Fable 5
10a1b19f14
Import the settled patterns and annotations into the working store
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-18 22:37:32 +08:00
imacat and Claude Fable 5
66cb06b633
Add the tally-annotations subcommand settling the pattern matrix
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-18 22:37:32 +08:00
imacat and Claude Fable 5
25512d5a15
Archive the step 5-4 pattern-annotation runs
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-18 22:37:06 +08:00
imacat and Claude Fable 5
48bcdbd808
Archive the step 5-3 grouped synthesis runs
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-18 22:36:33 +08:00
imacat and Claude Fable 5
8ead525973
Add the step 5 grouped synthesis and pattern-annotation design
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:42 +08:00
imacat and Claude Fable 5
f8ec423aba
Correct three performer genders via build-db --gender-corrections
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:42 +08:00
imacat and Claude Fable 5
d4a9b39555
Archive the step 5 reading, consolidation, and synthesis runs
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:41 +08:00
imacat and Claude Fable 5
519336236b
Add the step 5 qualitative deep-reading design and definition files
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:41 +08:00
imacat and Claude Fable 5
90d692f4e6
Record the Fable 5 auxiliary deep-reading experiments in the decision log
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:41 +08:00
imacat and Claude Fable 5
744b04f697
Import the settled code groups into the working store
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:41 +08:00
imacat and Claude Fable 5
9e4d7a611e
Add the tally-groups subcommand settling results/groups.csv
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:41 +08:00
imacat and Claude Fable 5
fbe1a39773
Replace the quote newline escape with the lyric line-break convention
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:40 +08:00
imacat and Claude Fable 5
b3bc7e5b82
Add step 4 semantic code grouping by majority vote on claude-fable-5
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:40 +08:00
imacat and Claude Fable 5
c0cf934bee
Add a model option to run-llm for the claude-fable-5 model
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:40 +08:00
imacat
dd8fa1c3f7
Add conference paper first draft.
2026-08-17 22:38:40 +08:00
imacat and Claude Fable 5
89b5df9529
Record the blind semantic code grouping in the decision log
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:40 +08:00
imacat and Claude Fable 5
2d3161a2f2
Record the full k-value comparison table in the decision log
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:39 +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
0158714d7f
Derive the song performer gender and identify Pinkfong as Hope Segoine
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:39 +08:00
imacat and Claude Opus 5
76427d63a8
Drop the redundant HTTP error class from the retry catch
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:39 +08:00
imacat and Claude Opus 5
bb83b75196
Pin the parenthesized members pattern to a single split point
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:38 +08:00
imacat and Claude Opus 5
c383da35ac
Make the module-level helpers private instead of protected
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:38 +08:00
imacat and Claude Opus 5
dbb6bc518e
Extract the protected name restoration out of the credit parser
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:38 +08:00
imacat and Claude Opus 5
dca83a7e93
Classify the transient request errors in one place
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:38 +08:00
imacat and Claude Opus 5
82929d4e31
Extract the record content builder out of the export line builder
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:38 +08:00
imacat and Claude Opus 5
dcf18f589d
Stop binding the unread role in the parsed credit check
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:38 +08:00
imacat and Claude Opus 5
d0146cecd9
Remove the unused skipped counter of the artist fetcher
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:37 +08:00
imacat and Claude Opus 5
0f88376b50
Capture the command output in the parent-directory export test
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:37 +08:00
imacat and Claude Opus 5
5d4a29800c
Merge the two identical chart-position formatters of the CSV exporter
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:37 +08:00
imacat and Claude Opus 5
cc88d2e3d6
Unify the export-llm-input and run-llm summary lines with build-db
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:37 +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 Opus 5
bf3d663d39
Trim the build-db summary to songs, artists, codings and elapsed time
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:36 +08:00
imacat and Claude Opus 5
cd233319fa
Import the settled coding into the working store
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:36 +08:00
imacat and Claude Opus 5
e7af4176cb
Settle the coding of the 883 songs against the 101 keywords
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:36 +08:00
imacat and Claude Opus 5
d4fe3b868b
Repair the coding output with a reviewed correction table
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:35 +08:00
imacat and Claude Opus 5
048a947625
Record how far the coding output departs from its stated contract
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:35 +08:00
imacat and Claude Opus 5
c5c000b604
Add the tally-codings subcommand for the majority vote
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:35 +08:00
imacat and Claude Opus 5
4a073713b0
Archive the third coding run
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:34 +08:00
imacat and Claude Opus 5
d9d79295e6
Settle the coding by a majority of three runs instead of an arbitration
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:34 +08:00
imacat and Claude Opus 5
28c02852fc
Import each command module only when its subcommand runs
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:34 +08:00
imacat and Claude Opus 5
5ffb268884
Restructure cluster-keywords into builders and result records
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:34 +08:00
imacat and Claude Opus 5
4722554ccb
Archive the arbitration pass over the coding disagreements
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:34 +08:00
imacat and Claude Opus 5
6297540f60
Quote one line per kept keyword in the arbitration
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:33 +08:00
imacat and Claude Opus 5
fd1400b749
Build the arbitration input with a per-ID extras merge
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:33 +08:00
imacat and Claude Opus 5
975571391d
Add the compare-codings subcommand for the arbitration handoff
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:33 +08:00
imacat and Claude Opus 5
fdcd73699f
Drop the source-provenance artifact from cluster-keywords
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:33 +08:00
imacat and Claude Opus 5
ebfdc0671d
Rename the arbitration definition file to 03-02-arbitration
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:32 +08:00
imacat and Claude Opus 5
69f3785495
Archive the second coding pass against the 101 keywords
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:32 +08:00
imacat and Claude Opus 5
b0a83f3fcd
Archive the first coding pass against the 101 keywords
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:32 +08:00
imacat and Claude Opus 5
91d3cba729
Keep the medoid group names after testing LLM naming
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:32 +08:00
imacat and Claude Opus 5
512aaf90fd
Report the clustering result in a sentence
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:32 +08:00
imacat and Claude Opus 5
4878698bd2
Rebuild the coding keywords with 100 groups
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:31 +08:00
imacat and Claude Opus 5
50a0631454
Record the clustering invocation in a meta file
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:31 +08:00
imacat and Claude Opus 5
d2cf1a8950
Raise the clustering to 100 groups
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:31 +08:00
imacat and Claude Opus 5
bbc1849cd2
Quote one line per assigned keyword
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:31 +08:00
imacat and Claude Opus 5
b1a9e0d816
Take the extra coding keywords from the command line
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:30 +08:00
imacat and Claude Opus 5
5c40033132
Merge the keyword pooling into cluster-keywords
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:30 +08:00
imacat and Claude Opus 5
52405591c9
Separate the clustered keyword list from the keywords to merge
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:30 +08:00
imacat and Claude Opus 5
e49feabe94
Pass the coding keywords as input instead of baking them into the prompt
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:29 +08:00
imacat and Claude Opus 5
950aeb3692
Archive the clustered coding vocabulary
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:29 +08:00
imacat and Claude Opus 5
733dada424
Add the cluster-keywords subcommand for the coding vocabulary
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:29 +08:00
imacat and Claude Opus 5
d036e7fefa
Archive the pooled keywords of the two tagging runs
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:29 +08:00
imacat and Claude Opus 5
4b47281a7c
Add the pool-keywords subcommand for the tagging runs' keywords
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:28 +08:00
imacat and Claude Opus 5
76472a198a
Rebuild the vocabulary step on embeddings and drop the screen track
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-17 22:38:28 +08:00
imacat and Claude Fable 5
faeb0a523a
Report the elapsed time when run-llm finishes
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:28 +08:00
imacat and Claude Fable 5
6f08287cab
Archive the tag run2 execution
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:27 +08:00
imacat and Claude Fable 5
48f82d41af
Archive the tag run1 execution and add the run-cost ledger
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:27 +08:00
imacat and Claude Fable 5
5630a3cacd
Require valid JSON with escaped quotes in the definition files
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:27 +08:00
imacat and Claude Fable 5
f4854d5a2e
Forbid Markdown code fences in the definition-file outputs
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:27 +08:00
imacat and Claude Fable 5
8b739d8af1
Record the song-775 refusal ablation and rule it unanalyzable
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:27 +08:00
imacat and Claude Fable 5
140c4d6ac2
Add watermark normalization to fetch-lyrics
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:26 +08:00
imacat and Claude Fable 5
e32b3126b4
Changed the natural-coding definition files to single-pass convergence
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:26 +08:00
imacat and Claude Fable 5
7f6dffdc34
Add the natural-coding definition files and the convergence algorithms
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:26 +08:00
imacat and Claude Fable 5
692c49c061
Settle women-power as the a-priori screen label term
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:26 +08:00
imacat and Claude Fable 5
5c0004dfe3
Reduce run-llm to a pure batch executor
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:26 +08:00
imacat and Claude Fable 5
07e81f5498
Record the natural-coding pipeline design in the project documents
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:26 +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
314b18214e
Add the export-llm-input subcommand for the lyrics-only LLM input
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:26 +08:00
imacat and Claude Fable 5
30712e2f73
Regenerate the artists report with the Wikidata snapshot applied
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:26 +08:00
imacat and Claude Fable 5
3e627b00c0
Rename the Markdown documents to dash-connected names
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 22:38:20 +08:00
imacat and Claude Fable 5
b782a39a7e
Drop the engine preparation from build-db
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 15:34:36 +08:00
imacat and Claude Fable 5
4cd6686677
Move the invariant checks into the importers and drop find_violations
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 15:34:36 +08:00
imacat and Claude Fable 5
27b5818f56
Package the capture-layer application into a CaptureImporter class
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 15:34:36 +08:00
imacat and Claude Fable 5
5dfe98d57a
Repackage the build-db import steps into job classes
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 15:34:36 +08:00
imacat and Claude Fable 5
37b000d92f
Capture the song lyrics from the pilot study and the public APIs
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 15:34:36 +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 and Claude Fable 5
2af5458e6b
Remove the missing-lyrics report from fetch-lyrics
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 15:15:49 +08:00
imacat and Claude Fable 5
adef28097b
Fall back to the original artist credit when fetching lyrics
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 15:15:49 +08:00
imacat and Claude Fable 5
5609a05111
Remove the retired artist overrides layer and the mixed artist type
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 15:15:49 +08:00