From 9b2af3bb50440210dc02e6061204a23792f1fd38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BE=9D=E7=91=AA=E8=B2=93?= Date: Wed, 5 Aug 2026 08:18:05 +0800 Subject: [PATCH] Require valid JSON with escaped quotes in the definition files Co-Authored-By: Claude Fable 5 --- docs/decision-log.md | 13 +++++++++++++ prompts/01-01-01-tag.md | 2 ++ prompts/01-02-01-merge.md | 2 ++ prompts/01-03-01-cap.md | 2 ++ prompts/01-04-01-code.md | 2 ++ prompts/01-04-02-code-arb.md | 2 ++ prompts/02-01-01-screen.md | 2 ++ prompts/02-01-02-screen-arb.md | 2 ++ 8 files changed, 27 insertions(+) diff --git a/docs/decision-log.md b/docs/decision-log.md index 564e019..8d06f24 100644 --- a/docs/decision-log.md +++ b/docs/decision-log.md @@ -396,3 +396,16 @@ 忠實內容,保留不動——語料忠實優先於可分析性;該首 視為無法分析,缺漏歸因於 Anthropic 平台防護,非本 研究語料的問題。 +- **Song 288〈Truth Hurts〉平台過濾誤攔查明與措辭修訂**: + tag run1 該首連兩批次遭平台請求端過濾整筆拒收 + (`invalid_request_error`)。消融測試(單批六變體) + 證實:內容主因是副歌俚語「bomb lighting」重複七次, + 離開語境被誤讀(換詞或刪行即過);且門檻會漂移—— + 先前成功的定義檔配置同日重測失敗,等價措辭互換結果 + 相反,微擾即翻面。該首為女性力量主題的代表作,缺席 + 將直接傷及研究核心,不採「記錄缺席」處理。處置: + 定義檔的合法 JSON 行換等價措辭(消融實測可過、語意 + 零變動),全體重跑 run1,該首原生通過,全批 883 筆 + 唯 song-775 依既有裁定缺席。平台過濾器誤排除黑人 + 女性歌手賦權國歌一事,本身記為研究發現,供論文討論 + 平台結構性限制。 diff --git a/prompts/01-01-01-tag.md b/prompts/01-01-01-tag.md index b8a265f..8ebbe04 100644 --- a/prompts/01-01-01-tag.md +++ b/prompts/01-01-01-tag.md @@ -15,6 +15,8 @@ Rules: that ground it; do not give a keyword you cannot ground. Do not wrap the output in a Markdown code fence. +The output must be strictly valid JSON; use backslash +escapes for any double quotes inside strings. Output a single JSON object mapping each keyword to its list of quotes, and nothing else: diff --git a/prompts/01-02-01-merge.md b/prompts/01-02-01-merge.md index 9db3561..1ba674b 100644 --- a/prompts/01-02-01-merge.md +++ b/prompts/01-02-01-merge.md @@ -18,6 +18,8 @@ Rules: names must be unique. Do not wrap the output in a Markdown code fence. +The output must be strictly valid JSON; use backslash +escapes for any double quotes inside strings. Output a single JSON object mapping each group name to the list of its member keywords, and nothing else: diff --git a/prompts/01-03-01-cap.md b/prompts/01-03-01-cap.md index 9a73867..abf6ab9 100644 --- a/prompts/01-03-01-cap.md +++ b/prompts/01-03-01-cap.md @@ -21,6 +21,8 @@ Rules: names must be unique. Do not wrap the output in a Markdown code fence. +The output must be strictly valid JSON; use backslash +escapes for any double quotes inside strings. Output a single JSON object mapping each group name to the list of its member keywords, and nothing else: diff --git a/prompts/01-04-01-code.md b/prompts/01-04-01-code.md index ca0bf20..910f016 100644 --- a/prompts/01-04-01-code.md +++ b/prompts/01-04-01-code.md @@ -22,6 +22,8 @@ Rules: cannot ground. Do not wrap the output in a Markdown code fence. +The output must be strictly valid JSON; use backslash +escapes for any double quotes inside strings. Output a single JSON object mapping each assigned keyword to its list of quotes (an empty object when no keyword applies), diff --git a/prompts/01-04-02-code-arb.md b/prompts/01-04-02-code-arb.md index 28641ed..7f6da1e 100644 --- a/prompts/01-04-02-code-arb.md +++ b/prompts/01-04-02-code-arb.md @@ -31,6 +31,8 @@ Rules: - Do not add any keyword that is not listed. Do not wrap the output in a Markdown code fence. +The output must be strictly valid JSON; use backslash +escapes for any double quotes inside strings. Output a single JSON object mapping each kept keyword to your list of quotes, and nothing else. A dropped keyword is simply diff --git a/prompts/02-01-01-screen.md b/prompts/02-01-01-screen.md index 1c17326..f43a102 100644 --- a/prompts/02-01-01-screen.md +++ b/prompts/02-01-01-screen.md @@ -13,6 +13,8 @@ Rules: ground it in a quote, the answer is no. Do not wrap the output in a Markdown code fence. +The output must be strictly valid JSON; use backslash +escapes for any double quotes inside strings. Output a single JSON array and nothing else: the quoted lines when the song expresses the theme, or an empty array diff --git a/prompts/02-01-02-screen-arb.md b/prompts/02-01-02-screen-arb.md index cd844d7..0631f49 100644 --- a/prompts/02-01-02-screen-arb.md +++ b/prompts/02-01-02-screen-arb.md @@ -22,6 +22,8 @@ Rules: ground it in a quote, the answer is no. Do not wrap the output in a Markdown code fence. +The output must be strictly valid JSON; use backslash +escapes for any double quotes inside strings. Output a single JSON array and nothing else: the quoted lines when the song expresses the theme, or an empty array