From 010e0679355a1a684fa78620874d879430b72b37 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 23 Aug 2026 07:46:51 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20ytsync=20=E2=80=94=20classify=20youtu.be?= =?UTF-8?q?/=20short=20links=20as=20videos;=20sync=20tools-docs=20thum?= =?UTF-8?q?bnail=20flag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENT_TODO.md | 1 + DOC/AGENT_Context_Project.md | 2 +- DOC/POS.md | 3 ++- DOC/howto/media.md | 2 +- bin/pos-media-ytsync | 26 ++++++++++++++++++-------- tools-docs/ytsync.md | 4 +++- 6 files changed, 26 insertions(+), 12 deletions(-) diff --git a/AGENT_TODO.md b/AGENT_TODO.md index 1bffe8f..e58646b 100644 --- a/AGENT_TODO.md +++ b/AGENT_TODO.md @@ -129,3 +129,4 @@ summary (newest last). - **2026-08-14** — CI green-check via plain git (no SSH to the runner, no API tokens — user chose "CI tags + git ls-remote" + "scripts/ci-status.sh helper"): `.gitea/workflows/lint.yml` scoped to `on: push: branches: [main]` (tag pushes no longer re-trigger it) and the gate step now reports its own outcome as a lightweight tag — `ci-ok/$GITHUB_SHA` on success / `ci-fail/$GITHUB_SHA` on failure, pushed over HTTP with the jobs automatic `GITEA_TOKEN` to `http://oauth2:${GITEA_TOKEN}@gitea.skink-platy.ts.net:3000/admin/Linux_post_install.git` (runner container already host-maps that hostname to 100.111.241.54); `steps.gates.conclusion` decides ok/fail, `if: always()` (guarded to `push` events) covers failed gate runs, and an existing-tag guard makes re-runs idempotent. New executable `scripts/ci-status.sh [--wait] []` reads the tags via `git ls-remote` (origin, `CI_STATUS_REMOTE` override): GREEN (0) / RED (1) / PENDING (2); `--wait` polls every 10s up to 10 min. DEV.md §CI gains a "Checking green without SSH" bullet. Verified: `bash -n`, yaml-parse OK, `make gen && make check`, `make lint` 0 FAIL / 0 WARN; first live-tag verification pending the push (fallback if Gitea clamps token-push: PAT as workflow secret). - **2026-08-14** — `pos media sync` (`bin/pos-media-sync`) — incremental Music → USB sync, plus the shared USB layer it builds on. **New lib `lib/usb-lib.sh`** (194 lines, installed by install.sh): `usb_detect` (lsblk JSON, TRAN + lsusb/by-id cross-check → `USB_MOUNTED`/`USB_UNMOUNTED`), `usb_related_present`, `usb_mount_offer` (`/media/