Reorganize data/ into source, captures, and manual layers

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-04 15:15:49 +08:00
co-authored by Claude Fable 5
parent e9027472f4
commit 5d5e4fac50
7 changed files with 32 additions and 21 deletions
+5
View File
@@ -119,3 +119,8 @@
settings 的 `.env` 依 pydantic 慣例讀自 CWD(約定
`tools/`),資料路徑原以 repo 根為 CWD,兩者衝突;顯式引數
消滅隱性 CWD 契約,亦拒絕以父目錄推導兄弟檔案的隱性慣例。
- **`data/` 依生命週期分三層**`source/`(源頭,手放後不動)、
`captures/`(外部捕捉,只由 fetch 命令與私人匯入腳本寫入)、
`manual/`(人工著作,只由研究者手寫;之後的黃金標準編碼
亦居此)。理由:三種生命週期混住一層,目錄無法傳達「誰可以
寫哪裡」;顯式引數化後搬遷零程式改動。
+14 -10
View File
@@ -8,16 +8,20 @@ pop-fem-audit/
├── README.md # 專案說明、重現步驟
├── CLAUDE.md # 極簡工作規範(subagent 會讀到,
│ # 絕不放理論、codebook、預期結果)
├── .gitignore # data/lyrics/、.env、scratch
├── .gitignore # captures/lyrics/、.env、scratch
├── conference_abstract.md # pilot 摘要(投稿版)
├── data/ # 源頭與捕捉層(文字格式,進 git
│ ├── yearend_hot100_2016_2025.csv # 原始榜單(唯一手放原始檔)
├── artists_wikidata.csv # 捕捉:Wikidata 快照
│ ├── artists_overrides.csv # 人工核定 / 深度背景
├── lyrics_provenance.csv # 歌詞出處(source + method
│ ├── lyrics_missing.csv # 歌詞缺漏報表(人工補救用)
── lyrics/ # 歌詞 .txt 快取
# gitignored,版權)
├── data/ # 依生命週期分三層(文字格式
│ ├── source/ # 源頭:手放後不動
│ └── yearend_hot100_2016_2025.csv # 原始榜單
│ ├── captures/ # 外部捕捉:只由 fetch 命令與
│ │ # 私人匯入腳本寫入
│ ├── artists_wikidata.csv # Wikidata 快照
│ ├── lyrics_provenance.csv # 歌詞出處
│ ├── lyrics_missing.csv # 歌詞缺漏報表
│ │ └── lyrics/ # 歌詞 .txt 快取
│ │ # gitignored,版權)
│ └── manual/ # 人工著作:只由研究者手寫
│ └── artists_overrides.csv # 人工核定 / 深度背景
├── prompts/ # LLM 定義檔(逐字作為 system prompt
│ └── <task>_v<N>.md # 版本化:screen_v1.md、judge_v2.md…
├── tools/ # 輔助工具子專案(src-layout
@@ -36,7 +40,7 @@ pop-fem-audit/
│ │ ├── fetch_artists.py # fetch artist metadata from
│ │ │ # Wikidata into the snapshot CSV
│ │ ├── fetch_lyrics.py # fetch missing lyrics from the
│ │ │ # public APIs into data/lyrics/
│ │ │ # public APIs into the lyrics dir
│ │ ├── models.py # SQLAlchemy ORM 資料模型
│ │ └── run_llm.py # API runner2+1 協定、Batch API、
│ │ # 寫入引數指定的 runs 目錄;執行
+2 -2
View File
@@ -61,7 +61,7 @@
匯入歌詞快取——只取識別欄位與歌詞本文,以
(year, rank) 精確匹配 song_id。匯入工具不屬於專案交付物
(讀者拿不到其輸入),讀者的重現路徑純粹是 `fetch-lyrics`
沿用之**事實**記於 `data/lyrics_provenance.csv`(進 git):
沿用之**事實**記於 `data/captures/lyrics_provenance.csv`(進 git):
`source`(原始 API)與 `method`
pilot-import / api-fetch / manual)兩層,取得日期不可考者
不假造,僅記可證上界。
@@ -103,7 +103,7 @@
## 其他已定案事項
- 歌詞受版權保護:完整歌詞不進 git(`data/lyrics/` gitignored),
- 歌詞受版權保護:完整歌詞不進 git(`data/captures/lyrics/` gitignored),
論文與 repo 只留分類所引摘錄。
- Fable 5 不用於 pipeline:成本高、thinking 無法關閉且不可稽核、
無 temperature 控制,且會混淆「盲點是提示問題」的核心主張。