runner files
Flag: 📍 Modified: February 14, 2026 7:58 PM Category: Coding Notes List: Reference Created: December 7, 2025 11:47 AM Master Type: Notes Hide: No Starred: No Status: Unassigned
This is the Execution Authority List. A “Runner” is any script intended to be executed directly (e.g., python3 script.py or ./script.sh) or called as a subprocess. These files must have the shebang line (#!/usr/bin/env python3 or #!/bin/bash) to ensure the operating system knows how to run them if they are made executable. Here is the definitive list for v5: 🟢 Runners (Shebang Required) These files are entry points.
- start_mission.sh (#!/bin/bash)
- Role: The Master Launcher. Initializes env and starts processes.
- upgrade.sh (#!/bin/bash)
- Role: System updater and dependency checker.
- app.py
- Role: The Web Server. Run by start_mission.sh.
- organize/core/watcher.py
- Role: The Background Daemon. Run as a separate process by start_mission.sh (python3 … &).
- organize/core/database.py
- Role: Schema Installer. Run manually or by upgrade.sh to fix/init DB.
- organize/core/maintenance.py
- Role: CLI Tool. Can be run manually to force cleanup.
- organize/actions/queue_runner.py
- Role: Worker Process. While app.py usually threads it, it is designed to be runnable standalone for debugging.
- organize/actions/cropping/engine.py
- Role: Subprocess. The stable.py action calls this script explicitly via subprocess.Popen. It must be a standalone runner.
- organize/utils/packer.py
- Role: Utility Tool. Run manually to generate code snapshots. 🔴 Modules (No Shebang Needed) These files are libraries. They are imported by other Python files. Adding a shebang doesn’t hurt, but it implies they can do something on their own, which they cannot (or should not).
- organize/routes/api.py (Imported by app.py)
- organize/routes/views.py (Imported by app.py)
- organize/core/config.py (Imported by everyone)
- organize/core/logger.py (Imported by everyone)
- organize/core/reporting.py (Imported by API)
- organize/core/whiskers.py (Imported by Views)
- organize/actions/*/stable.py (Imported by Queue Runner)
- Note: Even though these are “Actions”, the Queue Runner imports them as modules to call their functions. They are not run as subprocesses.
- organize/utils/*.py (Photoshop, C1, Thumbnail, Safety - all libraries). I am ready to proceed with Phase 6 (Frontend & Static) when you provide the checklists.