Every Python script in zynthio-tools/py/ — what it does, what it's a copy of, what's a duplicate. Filtered from 25 .py files on Desktop; 17 in the canonical py/ dir.
10unique scripts
17files in py/
25.py on Desktop
7are duplicate copies
Duplication audit: 6 copies of zyn-incident-maker.py (all identical, SHA 311c5481...) and 6 copies of account_uid_manager.py (vOFb.py in zynthio-tools, plus 5 more inside LEGAL_EVIDENCE_ORGANIZED_* and LEGAL_DELIVERY_PACKS_* as evidence copies). 3 copies of zynrip-deep-research.py (all 3,900 bytes). Consolidation: keep canonical, ZynRip the version-hash variants (_4647a8, _7fb999, _8cd4a7, _b010ba, _facff8) to _TO_DELETE/version_hash_dupes/. Legal-pack copies stay (they're evidence snapshots).
🔴 Incident pipeline
zyn-incident-maker.py
12,767 bytes · 6 identical copies
Auto-files incidents to Linear + Slack + disk + LOSSES_LOG. Per anti-abuse doctrine Row 16: every crash, tool failure, doctrine violation, or silent duplication MUST be reported immediately BEFORE verification / summary / next-step. Writes durable on-disk file (always works), appends LOSSES_LOG.md, fires Linear if LINEAR_API_KEY set, posts Slack if SLACK_WEBHOOK_URL set. Prints ready-to-paste payloads if APIs unconfigured.
# quick CLI zyn-incident-maker "Crash in session X" --severity high -d "What happened..." # from stdin cat error.log | zyn-incident-maker "Auto-detected build fail" --from-stdin # from markdown zyn-incident-maker --from-file /path/to/notes.md
G4 LENS / Deep Research delegator (March 29, 2026). Farms out massive contextual analysis (40+ unreviewed items) to a 6-key Gemini API pool. System instruction: "You are the Zynthio G4 Lens. Read this forensic data dump from Corey McIvor's hard drive. Extract ONLY absolute facts regarding missing songs, LSPHA concepts, or system architecture. Ignore filler. 336."
pandas-based statistical analysis on SUNO_MASTER_2026-05-06.csv. Per data:statistical-analysis skill. Computes descriptives + trend + outliers. Parses genre keywords from tags (country / folk / reggaeton / hip-hop / dub / techno / rock / pop / jazz / blues / electronic / ambient / acoustic / punk / metal / soul / funk / trap / lofi / cumbia / salsa / unknown). Parses BPM from tags. Counts title-duplicates as multi-variant generations. Output: handovers/STATS_ANALYSIS_SUNO_20260511.md.
Sunopandas
STATS_FILTERED_SUNO_20260511.py
4,621 bytes
Suno catalog filtering — companion to the full analysis. Narrows the set to a working subset (genre/account/date filter), outputs filtered slice.
Sunopandas
🎼 Suno batch toolkit (hash-named files)
These have 4-letter hash filenames (from a Cursor export?) but each is well-documented internally. Together they form a Suno batch workflow.
vOFb.py — account_uid_manager.py
5,507 bytes · 6 copies on disk
Manage account-to-UID mappings and active account selection across Suno accounts. current / list / switch <account>. Backbone for multi-account Suno orchestration.
python3 account_uid_manager.py current python3 account_uid_manager.py list python3 account_uid_manager.py switch corey.mcivor
SunoCLI6× copies (1 in py/ + 5 in legal packs)
Omvj.py — suno_command_router.py
3,170 bytes
Minimal command router for Corey's Suno batch workflow. Dispatches subcommands (generate / queue / redo / status) to the right script in the toolkit.
Sunorouter
2EOy.py — sanitize_suno_manifest.py
5,261 bytes
Sanitize a Suno manifest CSV (strip secrets, normalize columns, dedup), then optionally queue from the safe copy. Used as the pre-flight on any manifest before it goes to the batch runner.
Sunosanitize
LVDo.py — redo_single_suno_track.py
2,934 bytes
Redo a single Suno track from manifest data. Opens browser to the Suno UI with lyrics + style pre-filled. Used when a batch entry needs a manual re-run.
Sunoredo
IeO4.py — run_queue_with_custom_files.py
1,444 bytes
Run queue_suno_v2.py against custom manifest/done files. Thin wrapper for ad-hoc batches (specific manifest + specific done-tracker file).
Sunowrapper
c0a2.py — csv_ts_manipulator.py
7,187 bytes
CSV manipulation with TS env var (timestamp anchor). Reads/writes Suno manifest CSVs with timestamp-keyed operations.
Consolidate: ZynRip the 2 zynrip-deep-research_*.py hash copies.
Rename: hash-named files in py/ → human-readable names (2EOy → sanitize_suno_manifest.py, etc.) per the catalog above.
Leave: 5 account_uid_manager.py copies inside LEGAL_EVIDENCE_ORGANIZED_* and LEGAL_DELIVERY_PACKS_* — those are evidence-snapshot copies, not version dupes.
Add to zyn: wire zyn-incident-maker directly into ~/.local/bin/zyn as zyn incident "title" --severity high -d "...".