← back to Wallco Ai

deploy/com.steve.wallco-publish-ok-murals.plist

53 lines

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!--
  com.steve.wallco-publish-ok-murals
  DTD-C back-half: "publish murals as they're created."
  Runs publish-ok-murals.sh every 30 min — pulls non-OK live murals, publishes
  settlement_verdict='OK' murals (hard-filtered), and verified-redeploys only when
  something changed. Generation stays MANUAL (this does NOT generate anything).

  Install (Steve runs — classifier blocks Claude from loading launchd):
    cp ~/Projects/wallco-ai/deploy/com.steve.wallco-publish-ok-murals.plist ~/Library/LaunchAgents/
    launchctl load -w ~/Library/LaunchAgents/com.steve.wallco-publish-ok-murals.plist
  Verify:
    launchctl list | grep wallco-publish-ok
  Stop:
    launchctl unload -w ~/Library/LaunchAgents/com.steve.wallco-publish-ok-murals.plist
-->
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.steve.wallco-publish-ok-murals</string>

    <key>ProgramArguments</key>
    <array>
        <string>/bin/bash</string>
        <string>/Users/macstudio3/Projects/wallco-ai/scripts/publish-ok-murals.sh</string>
    </array>

    <key>WorkingDirectory</key>
    <string>/Users/macstudio3/Projects/wallco-ai</string>

    <!-- every 30 minutes -->
    <key>StartInterval</key>
    <integer>1800</integer>

    <!-- don't fire on load while another deploy may be mid-flight; the script's
         own mkdir-lock + change-detection make repeated runs safe regardless -->
    <key>RunAtLoad</key>
    <false/>

    <key>StandardOutPath</key>
    <string>/Users/macstudio3/Projects/wallco-ai/logs/publish-ok-murals.out.log</string>
    <key>StandardErrorPath</key>
    <string>/Users/macstudio3/Projects/wallco-ai/logs/publish-ok-murals.err.log</string>

    <key>EnvironmentVariables</key>
    <dict>
        <key>PATH</key>
        <string>/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
    </dict>
</dict>
</plist>