commit 94e9c6d78429a46f19b69d9362a35245b060bcb8
parent 20edeac3f8defb9b7e1401560aa697f9ef2df602
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Mon, 5 Oct 2026 02:50:01 -0400
common: a report claim may carry a short title; a source may carry a note
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Diffstat:
4 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/CITATIONS.md b/CITATIONS.md
@@ -110,6 +110,7 @@ The documents a `source` citation quotes, in a container's `sources` map by id.
| `author` | no | Who wrote it. |
| `date` | no | When it was published: `YYYY`, `YYYY-MM`, `YYYY-MM-DD` or an ISO 8601 date-time. |
| `archives` | no | The document's archive links, in context — as the document had them. Shown with every citation of it. |
+| `note` | no | A note shown with the document's byline (plain text), e.g. which copy of it was read. |
| `saved` | no | A saved copy of the document, relative to the container's directory (e.g. `sources/s0/page.html`): the input the stills are shot from. NEVER published. |
#### `sources.<id>.archives[]`
diff --git a/REPORT.md b/REPORT.md
@@ -43,6 +43,7 @@ Regenerate this file with `pnpm --filter yt-dlp-transcript-common exec tsx bin/f
| Key | Required | Description |
|---|---|---|
| `id` | yes | The claim's id (letters, digits, `_ . : -`; at most 64): its anchor on the report page. Unique among the report's section and claim ids. |
+| `title` | no | A short headline for the claim (plain text, e.g. a phrase it turns on), shown above its text. Absent = the text alone. |
| `text` | yes | The claim, as stated by the document under review (plain text). |
| `verdict` | no | The ruling on the claim: `CORROBORATED`, `PARTLY`, `CONTRADICTED`, `NOT_FOUND`, `UNTESTABLE`. A fact-check's claim may leave it out (not yet ruled); a sweep's carries none. |
| `sourceQuote` | no | The document's own sentence making the claim: `{ "citation": "<id>" }`, naming a `source` citation (its still is shown with the claim). |
diff --git a/common/lib/citations/schema.ts b/common/lib/citations/schema.ts
@@ -213,6 +213,7 @@ export const sourceSchema = z.strictObject({
author: text.optional(),
date: text.optional(),
archives: z.array(sourceArchiveSchema).optional(),
+ note: text.optional(),
saved: text.optional(),
});
@@ -227,6 +228,7 @@ export const SOURCE_FIELD_DOCS: FieldDocs<Source> = {
author: "Who wrote it.",
date: "When it was published: `YYYY`, `YYYY-MM`, `YYYY-MM-DD` or an ISO 8601 date-time.",
archives: "The document's archive links, in context — as the document had them. Shown with every citation of it.",
+ note: "A note shown with the document's byline (plain text), e.g. which copy of it was read.",
saved:
"A saved copy of the document, relative to the container's directory (e.g. `sources/s0/page.html`): the input the stills are shot from. NEVER published.",
};
diff --git a/common/lib/report/schema.ts b/common/lib/report/schema.ts
@@ -39,6 +39,7 @@ const verdict = z.enum(VERDICTS as unknown as [Verdict, ...Verdict[]]);
export const claimSchema = z.strictObject({
id: text,
+ title: text.optional(),
text,
verdict: verdict.optional(),
sourceQuote: z.strictObject({ citation: text }).optional(),
@@ -114,6 +115,7 @@ export const SECTION_FIELD_DOCS: FieldDocs<Section> = {
export const CLAIM_FIELD_DOCS: FieldDocs<Claim> = {
id: "The claim's id (letters, digits, `_ . : -`; at most 64): its anchor on the report page. Unique among the report's section and claim ids.",
+ title: "A short headline for the claim (plain text, e.g. a phrase it turns on), shown above its text. Absent = the text alone.",
text: "The claim, as stated by the document under review (plain text).",
verdict: `The ruling on the claim: ${VERDICTS.map((v) => `\`${v}\``).join(", ")}. A fact-check's claim may leave it out (not yet ruled); a sweep's carries none.`,
sourceQuote: