Export human-readable songs and artists reports to the derived data layer
This commit is contained in:
@@ -141,3 +141,10 @@
|
||||
- **歌手名正規化**:歌手名大小寫不敏感歸併、存首見拼法;
|
||||
正名表(casefold 鍵→官方拼法)存官方拼法,含跨拼法合併
|
||||
ye→Kanye West。
|
||||
- **`data/` 增設 `derived/` 衍生層**:`build-db` 建置工作儲存
|
||||
的同一動作產出兩張人讀報表(songs.csv、artists.csv)並
|
||||
commit——與 SQLite 同交易語意、驗證通過才寫檔,稽核鏈
|
||||
「committed 輸入+程式→CSV」無中間空缺;為「可再生仍
|
||||
commit」的第二例外。報表不含資料庫 ID(內部參照,資料
|
||||
改版會重排,不供引用);關係以內嵌字串呈現——`/` 連同
|
||||
一首歌的多次上榜、`|` 連不同歌曲——欄位一律字母序。
|
||||
|
||||
@@ -10,7 +10,7 @@ pop-fem-audit/
|
||||
│ # 絕不放理論、codebook、預期結果)
|
||||
├── .gitignore # captures/lyrics/、.env、scratch
|
||||
├── conference_abstract.md # pilot 摘要(投稿版)
|
||||
├── data/ # 依生命週期分三層(文字格式)
|
||||
├── data/ # 依生命週期分層(文字格式)
|
||||
│ ├── source/ # 源頭:手放後不動
|
||||
│ │ └── yearend_hot100_2016_2025.csv # 原始榜單
|
||||
│ ├── captures/ # 外部捕捉:只由 fetch 命令與
|
||||
@@ -20,8 +20,11 @@ pop-fem-audit/
|
||||
│ │ ├── lyrics_missing.csv # 歌詞缺漏報表
|
||||
│ │ └── lyrics/ # 歌詞 .txt 快取
|
||||
│ │ # (gitignored,版權)
|
||||
│ └── manual/ # 人工著作:只由研究者手寫
|
||||
│ └── artists_overrides.csv # 人工核定 / 深度背景
|
||||
│ ├── manual/ # 人工著作:只由研究者手寫
|
||||
│ │ └── artists_overrides.csv # 人工核定 / 深度背景
|
||||
│ └── derived/ # 衍生:只由 build-db 寫入
|
||||
│ ├── songs.csv # 歌曲報表(人讀;進 git)
|
||||
│ └── artists.csv # 歌手報表(人讀;進 git)
|
||||
├── prompts/ # LLM 定義檔(逐字作為 system prompt)
|
||||
│ └── <task>_v<N>.md # 版本化:screen_v1.md、judge_v2.md…
|
||||
├── tools/ # 輔助工具子專案(src-layout)
|
||||
@@ -77,9 +80,10 @@ pop-fem-audit/
|
||||
論文附錄的引用單位,須可直接指名(如 judge_v2.md)。
|
||||
- **Commit 判準**:能由「committed 輸入+程式」決定性再生者不
|
||||
commit(SQLite 工作儲存、LLM 輸入檔);源頭、捕捉、人工著作
|
||||
一律以文字 commit。`results/` 報表是唯一例外(引用穩定性、
|
||||
審稿人零門檻、撰稿期可 diff)。詳見 `research_plan.md`
|
||||
「資料儲存與模型」。
|
||||
一律以文字 commit。「可再生仍 commit」的例外有二:
|
||||
`results/` 報表(引用穩定性、審稿人零門檻、撰稿期可 diff)
|
||||
與 `data/derived/` 人讀報表(與工作儲存同一動作產出,稽核
|
||||
鏈無中間空缺)。詳見 `research_plan.md`「資料儲存與模型」。
|
||||
- **設定**經 pydantic-settings 統一:`.env`(gitignored,範本
|
||||
`tools/.env.example`)供應 `SQLALCHEMY_DATABASE_URL` 與
|
||||
`ANTHROPIC_API_KEY`,絕不寫入 repo。
|
||||
|
||||
@@ -41,10 +41,13 @@
|
||||
設定經 pydantic-settings(`.env` 供應
|
||||
`SQLALCHEMY_DATABASE_URL` 與 `ANTHROPIC_API_KEY`)。
|
||||
歌詞全文入 DB(不進 git 故無版權疑慮)。
|
||||
- 報表:論文引用的最終表由 export 產出 CSV 進 `results/`
|
||||
——此為「可再生仍 commit」的唯一例外,理由:引用穩定性
|
||||
(十年尺度的環境會腐化)、審稿人零門檻、撰稿期數字變動
|
||||
可 diff。
|
||||
- 衍生:`build-db` 建置工作儲存的同一動作產出人讀報表
|
||||
(`data/derived/` 的 songs.csv、artists.csv,進 git)——
|
||||
與 SQLite 同交易語意,稽核鏈無中間空缺;不含資料庫 ID。
|
||||
- 報表:論文引用的最終表由 export 產出 CSV 進 `results/`。
|
||||
衍生與報表為「可再生仍 commit」的兩個例外,理由:引用
|
||||
穩定性(十年尺度的環境會腐化)、審稿人零門檻、撰稿期
|
||||
數字變動可 diff、供人工檢視。
|
||||
- **資料模型**:`songs`(歌曲實體,含 lyrics nullable 欄位)、
|
||||
`chart_entries`(1 歌—N 筆榜單紀錄)、`artists`(歌手實體:
|
||||
Wikidata QID、性別、型態、曲風、國籍)、`song_artists`
|
||||
|
||||
Reference in New Issue
Block a user