Archilyzer · Source

archilyzer

Archilyzer
git clone https://archilyzer.pages.dev/source/archilyzer.git
Log | Files | Refs | README | LICENSE

commit 0164d202f1db4760acf3dccf26015ab80b4a2817
parent 1362716c5c8b15293d2542cf549602f5c2c151ec
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date:   Mon,  5 Oct 2026 05:17:30 -0400

export: the fixture report site carries a post's shot and its two evidence clips (committed, a few KB of test pattern and tone)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

Diffstat:
Mexport/app/lib/reports.test.ts | 3++-
Mexport/fixtures/report-site/fixture.ts | 9++++++++-
Mexport/fixtures/report-site/public/m/demo-social/1234567890/moment.json | 3++-
Aexport/fixtures/report-site/public/media/clips/demo-channel/abc123/3126.00-3151.00.mp4 | 0
Aexport/fixtures/report-site/public/media/clips/demo-podcast/ep-042/610.50-628.00.mp4 | 0
Aexport/fixtures/report-site/public/media/posts/demo-social/1234567890/shot.png | 0
Mexport/fixtures/report-site/public/reports/demo-factcheck/page.json | 3++-
Mexport/fixtures/report-site/write.ts | 5+++--
8 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/export/app/lib/reports.test.ts b/export/app/lib/reports.test.ts @@ -130,7 +130,7 @@ test("a video moment: the clip, quote, verification, cue lines, original link, c assert.match(html, /href="\/reports\/demo-factcheck\/#claim-5"/); }); -test("an audio moment plays audio; a post moment shows its text and author", async () => { +test("an audio moment plays audio; a post moment shows its shot, text and author", async () => { const audio = render( await momentPage.default({ params: Promise.resolve({ moment: ["demo-podcast", "ep-042", "610.50-628.00"] }) }), ); @@ -140,6 +140,7 @@ test("an audio moment plays audio; a post moment shows its text and author", asy assert.match(post, /data-moment-kind="post"/); assert.ok(post.includes("@demo_account")); assert.ok(post.includes("Posted to settle it.")); + assert.match(post, /<img[^>]*src="\/media\/posts\/demo-social\/1234567890\/shot.png"/); assert.ok(!post.includes("<video")); }); diff --git a/export/fixtures/report-site/fixture.ts b/export/fixtures/report-site/fixture.ts @@ -68,6 +68,12 @@ const RECORDS: Record<string, RecordView> = { const POSTER = "/reports/demo-factcheck/stills/poster.png"; +// A post's captured screenshot, where compose copies a cited capture +// (publish/citedPostCaptures.ts): committed under public/media/posts/. +function shotFor(c: { channel: string; id: string }): string { + return `/media/posts/${c.channel}/${c.id}/shot.png`; +} + export function readFixtureReport(): Report { const raw = JSON.parse( fs.readFileSync(path.join(FIXTURE_DIR, "source", FIXTURE_REPORT_ID, "report.json"), "utf8"), @@ -93,6 +99,7 @@ export function buildFixtureReportView(report = readFixtureReport()): ReportPage post: (c) => ({ author: "@demo_account", text: `${c.quote}\n\nPosted to settle it.`, + shot: shotFor(c), }), downloads: { json: reportCitationsDownloadPath(report.id, "json"), @@ -167,7 +174,7 @@ export function buildFixtureMomentViews( record: recordFor(c.channel, c.id), quote: c.quote, ...(c.date ? { date: c.date } : {}), - post: { author: "@demo_account", text: `${c.quote}\n\nPosted to settle it.` }, + post: { author: "@demo_account", text: `${c.quote}\n\nPosted to settle it.`, shot: shotFor(c) }, citedIn: entries, }); } diff --git a/export/fixtures/report-site/public/m/demo-social/1234567890/moment.json b/export/fixtures/report-site/public/m/demo-social/1234567890/moment.json @@ -15,7 +15,8 @@ "date": "2025-03-14", "post": { "author": "@demo_account", - "text": "Never said I would move. Not once.\n\nPosted to settle it." + "text": "Never said I would move. Not once.\n\nPosted to settle it.", + "shot": "/media/posts/demo-social/1234567890/shot.png" }, "citedIn": [ { diff --git a/export/fixtures/report-site/public/media/clips/demo-channel/abc123/3126.00-3151.00.mp4 b/export/fixtures/report-site/public/media/clips/demo-channel/abc123/3126.00-3151.00.mp4 Binary files differ. diff --git a/export/fixtures/report-site/public/media/clips/demo-podcast/ep-042/610.50-628.00.mp4 b/export/fixtures/report-site/public/media/clips/demo-podcast/ep-042/610.50-628.00.mp4 Binary files differ. diff --git a/export/fixtures/report-site/public/media/posts/demo-social/1234567890/shot.png b/export/fixtures/report-site/public/media/posts/demo-social/1234567890/shot.png Binary files differ. diff --git a/export/fixtures/report-site/public/reports/demo-factcheck/page.json b/export/fixtures/report-site/public/reports/demo-factcheck/page.json @@ -146,7 +146,8 @@ "originalUrl": "https://media.example.org/demo-social/1234567890" }, "author": "@demo_account", - "text": "Never said I would move. Not once.\n\nPosted to settle it." + "text": "Never said I would move. Not once.\n\nPosted to settle it.", + "shot": "/media/posts/demo-social/1234567890/shot.png" } }, "sections": [ diff --git a/export/fixtures/report-site/write.ts b/export/fixtures/report-site/write.ts @@ -3,8 +3,9 @@ // // pnpm --filter export exec tsx fixtures/report-site/write.ts // -// The stills (public/reports/demo-factcheck/stills/*.png) are committed images, -// not generated here. +// The stills (public/reports/demo-factcheck/stills/*.png), the post's shot and +// the two evidence clips (public/media/: a few seconds of lavfi test pattern +// and tone, H.264/AAC) are committed files, not generated here. import fs from "node:fs"; import path from "node:path";