Archilyzer · Source

archilyzer

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

commit a7f65f2f4e8d739e02fc9c7778f41e1f8343a31e
parent 46f8f4ef3cbc46e5a20d02342f065ad3d892fd2d
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date:   Fri, 25 Sep 2026 12:38:52 -0400

docs: keep-videos in the ops section — scan first, download the notDownloaded ids, re-run

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

Diffstat:
MRUNNING_IN_DOCKER.md | 12++++++++++++
1 file changed, 12 insertions(+), 0 deletions(-)

diff --git a/RUNNING_IN_DOCKER.md b/RUNNING_IN_DOCKER.md @@ -249,6 +249,7 @@ pnpm ops channel-config --json '{"slug":"the-quartering","patch":{"downloadFil pnpm ops channel-priority --json '{"slugs":["the-quartering"],"operation":"download","tier":"paused"}' pnpm ops lane --json '{"lane":"download","held":true}' pnpm ops refresh-report --json '{"all":true}' +pnpm ops keep-videos --json '{"slug":"paramount-tactical","match":"TheQuartering","dryRun":true}' pnpm ops get channel the-quartering pnpm ops list # every action name ``` @@ -266,6 +267,17 @@ Three things to know before you script against it: a `downloadFilter` object. That is what routes them through the form's own validators, so a bad regex is refused here with the sentence the form shows. `""` clears a field, exactly as clearing the input does. +- **`keep-videos` sets the do-not-clean marker** — the video page's "Do not + clean" toggle, over every video of one channel whose title or description + matches `match`. `match` is matched exactly as a `downloadFilterInclude` is (a + case-insensitive regex over title + description, the same compile), and + `fields: ["title"]` or `["description"]` narrows it to one half; `dryRun: true` + reports without writing. The marker lives in the video's `data/<id>/`, so it + is two steps on a fresh channel: run `metadata-scan` first (an id with no text + cannot match — the reply counts those as `unscanned`), then `keep-videos`. + Matches that were never downloaded come back in `notDownloaded` rather than + getting a directory; pass them to `download-missing` and run `keep-videos` + again to mark them. The read side needs no new routes for jobs: `/api/jobs/active`, `/api/jobs/<id>/log`, `/api/scheduler/status` and `/api/auto-queue/status`