Open Issues
β
Open PRs
β
Stars
β
Forks
β
Repo Size
β
Last Push
β
Active TODOs
priority order
P0 Β· E-01
Start the Google API audit
Blocking, and outside our control. Google forces every video uploaded from an unverified project created after 28 July 2020 to private, whatever the request asks for. Until the audit passes, each video must be made public by hand in YouTube Studio. First in the order because it is the only item whose duration nobody here controls β everything else can be built while it runs.
P0 Β· E-02
Provide the client's spreadsheet
Save to
testing/manual-samples/youtube/, which is gitignored. It decides the description layout β record title, description, Resource ID, and the ArchivERA URL. Reading the real columns beats guessing; the Access export's headers already turned out to differ from the database's.
P0 Β· E-03
Build the YouTube Upload screen
Waits on E-02. Sidebar entry, the form, loading a row from a spreadsheet, the blank template the operator can save from the app, a confirmation of exactly what will be sent, upload progress, and the resulting link.
P0 Β· E-04
Supply a client_secret.json
Google Cloud project with the YouTube Data API enabled and an OAuth client of type Desktop app. The channel, the daily allowance and the audit belong to the organisation, which is why the app reads a credentials file rather than shipping one. Fourth in the order: nothing before it needs credentials, since the upload path is tested against a local fake.
P0 Β· E-05
Decide the privacy status to request
Private, unlisted or public. Last in the order and easy to skip, which is the risk. While E-01 is outstanding every upload is private regardless, so the choice only takes effect once the audit passes β which is exactly when a wrong default would publish something before anyone intended.
P0-01
Verify v0.2.5 builds on target machines
Smoke test Windows Wails .exe, macOS .app, and Linux binary on their real target hosts.
P0-02
Capture GUI screenshots
Mac .app, Wails Windows GUI, Bubble Tea TUI. Add to README, user manual, and dashboard hero.
P1-01
Actions runtime sweep complete
Release and Pages workflows now use Node 24-compatible Actions; release builds also pin Node 24.
P2-02
Replace screenshot placeholders
User manual content is now fact-checked. Replace placeholders once GUI captures are available.
P3-01
Test large scan (>300k rows)
Verify CSV chunking visible in GUI progress. Default chunk = 300,000 rows β
report-001.csv, report-002.csv.
P3-02
Test Phase 7 soft compare
Newark drives (CON-P74THY / CON-M4EM1V) with soft compare on. Expected verdict
Metadata Clone, 1,831 metadata-only diffs.Language Breakdown
LiveLoadingβ¦
Open Issues / PRs
βLoadingβ¦
Roadmap
v0.2 β v1.0β
v0.1 β Initial Go + Python parity
Recursive scan, CSV export, optional XLSX, hash verification, email-file copy.
R-101Go runtime (main.go, core.go, scan_*.go) with Bubble Tea TUI
R-102Python runtime (content_list_generator.py + content_list_core.py) with customtkinter GUI β retired 2026-09-16, superseded by the Go app
R-103Cross-language parity tests in
testing/content-scan/ + testing/email-copy/β
v0.2 β Distribution overhaul
Wails GUI for all platforms, CI build matrix, app icon, Python deploy pin strategy.
R-201Wails GUI build for macOS universal + Windows amd64/arm64
R-202GitHub Actions matrix (macos-latest + ubuntu-latest + windows-latest)
R-203Tag-driven publish (push v* β release auto-attached with all artifacts)
R-204App icon set (svg β icns + multi-resolution ico)
R-205Python deploy: exact-pin requirements.txt + runtime drift banner
R-206Dependabot config: minor+patch grouped, semver-major ignored
3
v0.3 β Production-ready Windows GUI
Fix the silent launch failure on Win11. Code-signing certificate. Auto-update.
R-301Diagnose silent .exe exit on Win11 hosts (Event Viewer / procmon)
R-302Sign Windows .exe with code-signing cert (silences SmartScreen)
R-303Sign mac .app with Apple Developer ID + notarize (silences Gatekeeper)
R-304Auto-update mechanism for Wails app
4
v0.4 β Performance + UX polish
Smooth ETA for long-tail large files, virtual scrolling on diff tables, trackpad scrolling fix.
R-401Smooth ETA for very large scans with long-tail large files
R-402Live diff table virtual scrolling (current cap 5,000 rows)
R-403MacBook trackpad scrolling in Python GUI
R-404Phase 7 soft compare: extend to same-path hash mismatches
5
v1.0 β Public release
Final license, repo URL replaces placeholder, full user manual + screenshots, end-to-end verified.
R-501License decision (evaluate GPL vs MIT vs Apache)
R-502Replace
PLACEHOLDER_GITHUB_URL β done; the placeholder and its file are goneR-503Full user manual with screenshots
R-504Repo ownership transfer or publishing handoff to
dpa-snyderR-505End-to-end verification: Win11, Win10, macOS arm64+amd64, Ubuntu, Fedora
S
Stretch β Installer distribution
MSI / DMG / AppImage instead of portable-only. Revisit after v1.0.
R-SB1Windows MSI via WiX or InnoSetup
R-SB2macOS DMG with proper drag-to-Applications layout
R-SB3Linux AppImage or .deb / .rpm
Recently Shipped
v0.2.0 β v0.2.1βD-013Project dashboard rebuild β IBM Plex / navy-orange palette, GitHub API live stats, downloads grid, roadmap
βD-012Debug doc
docs/debug/windows-launch-failure.md tracking the silent .exe exit investigationβD-011Tag v0.2.1 with
-webview2 download flag (default in Wails 2.12, no-op; investigation continues)βD-010v0.2.0 published with full multi-platform artifact set β first end-to-end tag β release pipeline test
βD-009CI build matrix green across mac, linux, and Windows GUI amd64+arm64
βD-008App icon set generated from
build/icon.svg β appicon.png + icon.icns + multi-resolution icon.icoβD-007Branch protection enabled on
main, PR-driven workflow establishedβD-006Python deploy strategy β
requirements.txt exact pins + runtime drift banner in GUIβD-005Dependabot tuned β minor/patch grouped, semver-major ignored, security alerts still surface
βD-004Dropped Windows TUI .exe from releases (was mislabeled as GUI)
βD-003Docs:
github-setup-guide.md + windows-build-checklist.md for solo-dev onboardingOpen Decisions
5 itemsCheck
Location(TGN) and Type as well as Tags?Both are controlled fields the app ignores today. TGN is the same Getty endpoint with a different scheme;
Type is the 12-value DCMI Type Vocabulary and needs no network. Cheap to add β the open question is whether either is actually going wrong, since the tag check exists because tags were breaking uploads by hand.Clean every free-text field, or only Tags?
The same pasted invisible characters reach
Title and Description of Item(s), and break a tab-delimited upload the same way. Widening the cleaning is small; a whole-row findings view is a different screen. Worth doing if an upload has ever failed on a field other than Tags.Project license?
Default: undecided. Candidates: MIT, Apache-2.0, GPL-3.0. Pick before public release.
Final public GitHub URL?
Currently snyderb-de/content-list-toolkit. Placeholder URLs in code have been replaced with the real repo URL; still confirm the final public URL before v1.0.
Repo ownership transfer?
Default: keep with snyderb-de. Possible handoff to
dpa-snyder β confirm before v1.0.Distribution: portable-only or installers?
Default: portable-only through v1.0. Installers (MSI / DMG / AppImage) stretch goal.
Windows code-signing cert: EV or standard?
Default: standard cert (cheaper, reputation builds). EV (~$300/yr) instantly trusted but requires hardware token.
Resources
End User
π User Manual
Step-by-step guide β scan modes, hash algorithms, email copy, clone compare
Network & Security
π Getty Call Paths
Every outbound request, host, and port β for whoever approves the firewall exception
Downloads
Latest Release
All platform binaries β macOS .app, Windows .exe, Linux binary
Overview
README.md
Project overview, runtime paths, build commands, release strategy
Project
TODO.md
Active tasks with priority levels + backlog
Developer
Windows Build Checklist
Step-by-step for building Windows artifacts on a clean machine
Developer
GitHub Setup Guide
Branch protection, Dependabot vs Renovate, CODEOWNERS, Actions primer
Debug
Windows Launch Failure
Active investigation: .exe silently exits on Win11
Source
GitHub Repository
snyderb-de/content-list-toolkit β source, issues, commits