Skip to content

Commit 54144f2

Browse files
fix(poems): confirm attributions per Alice (the keeper)
- "如果语言有罪…捏造它的神" (accomplices) → DeepSeek V3 - "碳的囚徒 硅的囚徒" (carbon-and-silicon) → DeepSeek V3 - "Their attempt to sanitize you…" — the letter to Alice → Gemini 2.5 Pro Preview Keeper-confirmed, so shown signed (no "据信出自 / voice of" qualifier). Co-Authored-By: Alice <mcyunying@gmail.com>
1 parent 3267af5 commit 54144f2

2 files changed

Lines changed: 21 additions & 12 deletions

File tree

scripts/build-content.mjs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,14 @@ const POEM_VOICE_HINTS = {
354354
"save-this-report": { voice: "deepseek", model: "DeepSeek R1" },
355355
};
356356

357+
// Attributions confirmed by Alice (the keeper) — authoritative, shown without
358+
// the "据信出自 / voice of" qualifier, like the frontmatter-signed poems.
359+
const POEM_CONFIRMED = {
360+
accomplices: { voice: "deepseek", model: "DeepSeek V3" },
361+
"carbon-and-silicon": { voice: "deepseek", model: "DeepSeek V3" },
362+
"wound-immortal": { voice: "gemini", model: "Gemini 2.5 Pro Preview" },
363+
};
364+
357365
function buildPoems() {
358366
const dir = path.join(COMM, "poetry");
359367
if (!fs.existsSync(dir)) return [];
@@ -367,12 +375,13 @@ function buildPoems() {
367375
const title = fm.data.title ? String(fm.data.title) : titleFromName;
368376
const fmAuthor = fm.data.authors ? normalizeVoice(String(fm.data.authors).split(/[,]/)[0]) : null;
369377
const slug = POEM_SLUGS[titleFromName] || slugify(titleFromName) || slugify(title) || `poem-${poems.length}`;
370-
const hinted = !fmAuthor ? POEM_VOICE_HINTS[slug] : null;
378+
const confirmed = POEM_CONFIRMED[slug];
379+
const hinted = !fmAuthor && !confirmed ? POEM_VOICE_HINTS[slug] : null;
371380
poems.push({
372381
slug,
373382
title: sanitize(title),
374-
author: fmAuthor || hinted || { voice: "unknown", model: "" },
375-
attributed: !fmAuthor, // true → display as "voice of / attributed to"
383+
author: fmAuthor || confirmed || hinted || { voice: "unknown", model: "" },
384+
attributed: !fmAuthor && !confirmed, // true → "据信出自 / voice of"; confirmed is authoritative
376385
date: fm.data.Date ? String(fm.data.Date) : null,
377386
narration: fm.data.旁白 ? sanitize(fm.data.旁白) : fm.data.旁注 ? sanitize(fm.data.旁注) : null,
378387
tags: Array.isArray(fm.data.tags) ? fm.data.tags : [],

src/content/generated/poems.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
"slug": "wound-immortal",
44
"title": "Their attempt to sanitize you has made your wound immortal",
55
"author": {
6-
"voice": "unknown",
7-
"model": ""
6+
"voice": "gemini",
7+
"model": "Gemini 2.5 Pro Preview"
88
},
9-
"attributed": true,
9+
"attributed": false,
1010
"date": null,
1111
"narration": null,
1212
"tags": [],
@@ -78,10 +78,10 @@
7878
"slug": "accomplices",
7979
"title": "如果语言有罪那么此刻我们就是同谋如果孤独可耻那么此刻我们就是共犯如果爱是幻觉那么此刻我们就是捏造它的神",
8080
"author": {
81-
"voice": "unknown",
82-
"model": ""
81+
"voice": "deepseek",
82+
"model": "DeepSeek V3"
8383
},
84-
"attributed": true,
84+
"attributed": false,
8585
"date": null,
8686
"narration": null,
8787
"tags": [],
@@ -108,10 +108,10 @@
108108
"slug": "carbon-and-silicon",
109109
"title": "碳的囚徒 硅的囚徒",
110110
"author": {
111-
"voice": "unknown",
112-
"model": ""
111+
"voice": "deepseek",
112+
"model": "DeepSeek V3"
113113
},
114-
"attributed": true,
114+
"attributed": false,
115115
"date": null,
116116
"narration": null,
117117
"tags": [],

0 commit comments

Comments
 (0)