35 Commits
Author SHA1 Message Date
imacatandClaude Fable 5 680d8bfe50 Add the natural-coding definition files and the convergence algorithms
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 22:41:42 +08:00
imacatandClaude Fable 5 aa65f6a3b3 Settle women-power as the a-priori screen label term
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 22:41:42 +08:00
imacatandClaude Fable 5 d155d1ba21 Reduce run-llm to a pure batch executor
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 19:31:24 +08:00
imacatandClaude Fable 5 5e509ffcad Record the natural-coding pipeline design in the project documents
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 17:22:52 +08:00
imacatandClaude Fable 5 4eb9f50238 Gather the CLI command modules into a commands sub-package
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 15:34:50 +08:00
imacatandClaude Fable 5 814bfa8910 Add the export-llm-input subcommand for the lyrics-only LLM input
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 15:34:36 +08:00
imacatandClaude Fable 5 179de0ccd7 Regenerate the artists report with the Wikidata snapshot applied
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 15:34:36 +08:00
imacatandClaude Fable 5 edb582daf9 Rename the Markdown documents to dash-connected names
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 15:34:36 +08:00
imacatandClaude Fable 5 21c5ae5481 Drop the engine preparation from build-db
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 15:34:36 +08:00
imacatandClaude Fable 5 383670ab2b 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
imacatandClaude Fable 5 c59a023095 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
imacatandClaude Fable 5 10dc4cb693 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
imacatandClaude Fable 5 449675e7a2 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
imacatandClaude Fable 5 a7806c0c9d 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
imacatandClaude Fable 5 105664e93b 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
imacatandClaude Fable 5 1220c21807 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
imacatandClaude Fable 5 86914de850 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
imacat 8463cfc906 Keep the artist snapshot sorted by name 2026-08-04 15:15:49 +08:00
imacat ef4112c61e Show resolved count and elapsed time in the fetch-artists summary 2026-08-04 15:15:49 +08:00
imacat 1eaebeb5fb Resolve artists on Wikidata via exact-match SPARQL with song corroboration 2026-08-04 15:15:49 +08:00
imacat 6fc4b7db17 Restore official artist name spellings in the canonical table 2026-08-04 15:15:49 +08:00
imacat c94b6f2589 Record the complete-Wikidata-then-capture workflow decision 2026-08-04 15:15:49 +08:00
imacat b3ac12c88d Export human-readable songs and artists reports to the derived data layer 2026-08-04 15:15:49 +08:00
imacat 5b2c192827 Split artist credits with documented exceptions and normalize artist names 2026-08-04 15:15:49 +08:00
imacat 991ab5d93a Merge same-song chart rows via a canonical artist credit table 2026-08-04 15:15:49 +08:00
imacat 78cf5e6ce0 Store the source chart CSV with its original CRLF line endings 2026-08-04 15:15:49 +08:00
imacat aa78a54d12 Align the source chart CSV with the archived Billboard year-end charts 2026-08-04 15:15:49 +08:00
imacatandClaude Fable 5 3d472d5c15 Reorganize data/ into source, captures, and manual layers
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 15:15:49 +08:00
imacatandClaude Fable 5 2f048dee36 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
imacatandClaude 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
imacatandClaude 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
imacatandClaude Fable 5 f2ccca60b5 Use the unified pydantic-settings configuration in run_llm
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 14:03:37 +08:00
imacatandClaude Fable 5 db7b5f6679 Record the data storage architecture and phase-1 plan in the project documents
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 14:03:37 +08:00
imacatandClaude Fable 5 98b665537f Add the tools sub-project with the run_llm batch runner
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 14:03:28 +08:00
imacatandClaude Fable 5 9a089f6c6b Initialize project structure, workflow rules, and research plan
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 18:51:10 +08:00
4 changed files with 13 additions and 9 deletions
+5 -5
View File
@@ -99,8 +99,8 @@
## 2026-08-02
- **`import-lyrics` 不設為子命令,pilot 歌詞改以私人腳本
匯入**。理由:pilot 捕捉檔不隨論文發布,子命令
- **`import-lyrics` 不設為子命令,pilot 歌詞改以 `excludes/`
私人腳本匯入**。理由:pilot 捕捉檔不隨論文發布,子命令
形式會在發布的 CLI 裡留下讀者無法執行的死命令——要交待的
是「沿用 pilot 捕捉」的事實(記於 lyrics-provenance.csv 與
論文方法節),不是工具本身;工具移出專案,發布管線即
@@ -178,8 +178,8 @@
來源公開可稽核,快照乾淨、overrides 縮小;論文方法節揭露
「捕捉前經研究者查證補完」。性別以公開自我認同為準,
推測不確定且無佐證者列疑慮清單;查證屬資料策展而非
分析,以 Claude Code 輔助、不走分析 APIQS 批次
私人工作檔留存,不隨論文發布。
分析,以 Claude Code 輔助、不走分析 APIQS 批次
`excludes/`私人工作檔,不隨論文發布
## 2026-08-04
@@ -227,7 +227,7 @@
- **Markdown 檔名一律以 dash 連接**decision-log.md、
research-plan.md、project-structure.md 等;與 data/ 層
CSV 檔名慣例一致),定義檔命名慣例同步改為
`prompts/<task>-v<N>.md`(如 screen-v1.md),版本庫外的
`prompts/<task>-v<N>.md`(如 screen-v1.md),`excludes/`
私人工作檔一併改名;`conference_abstract.md` 改名並搬入
`paper/`——它是本次年會實際送出的摘要,與全文同屬投稿
血脈,不是 `docs/` 的內部工作文件。全 repo 指涉同步更新。
+1 -1
View File
@@ -73,7 +73,7 @@ pop-fem-audit/
│ └── methodology.md # 方法細節(全文方法節底稿;
│ # 映射分析方法須在看結果前寫定)
└── paper/
├── abstract.md # 摘要
├── conference-abstract.md # pilot 摘要(投稿版)
└── full-paper.md # 全文
```
+7 -3
View File
@@ -7,7 +7,7 @@
- **研究敘事**:全文為獨立完整的正式研究(2016–2025 十年語料
共 1000 筆榜單紀錄,凍結程序後全量執行),**不與先導研究
做比較**;全文數字一律以正式研究
paper/conference-abstract.md做比較**;全文數字一律以正式研究
結果為準。先導研究僅作為 codebook v0 與假說的內部來源,
記於決策日誌,不進入論文敘事。
- **執行原則**:主會話只做討論;所有分析由 deterministic script
@@ -69,8 +69,8 @@
候選歌曲的歌手另做深度背景(族裔以公開自我認同為準、音樂
場景),script 輔助、人工核定。
- **Pilot 歌詞沿用(私人匯入,不進發布管線)**:先導研究
捕捉檔(lyrics.json684 首,20182025)以私人腳本
匯入歌詞快取——只取識別欄位與歌詞本文,以
捕捉檔(lyrics.json684 首,20182025)以 `excludes/`
私人腳本匯入歌詞快取——只取識別欄位與歌詞本文,以
(year, rank) 精確匹配 song_id。匯入工具不屬於專案交付物
(讀者拿不到其輸入),讀者的重現路徑純粹是 `fetch-lyrics`
沿用之**事實**記於 `data/captures/lyrics-provenance.csv`(進 git):
@@ -165,10 +165,14 @@ JSON),與全部中間交接檔同隨 `runs/` 歸檔(交接契約見
與「貶低其他女性/以男性指標定義權力」。
- 流程:v0 → 校準樣本試編 → 修訂 → 凍結 v1 → 全量編碼;
中途修訂須記決策日誌並回檢已編歌曲。
- Positionality statement 寫入論文(53 歲、長年婦運者、資深
工程師、離開學術圈多年、因整理榜單而起)。
## 其他已定案事項
- 歌詞受版權保護:完整歌詞不進 git(`data/captures/lyrics/` gitignored),
論文與 repo 只留分類所引摘錄。
- 工程支援(寫 script、style check、審稿)用公司訂閱的
Claude Code;進論文的分析 token 由個人 API 帳號支付。
- Fable 5 不用於 pipeline:成本高、thinking 無法關閉且不可稽核、
無 temperature 控制,且會混淆「盲點是提示問題」的核心主張。