Recovery ticket runner and delivery diagnosis agent. Runs every 4 hours (and on-demand) to scan all delivery lanes, detect unresolved blockers, classify failure type, and execute concrete recovery actions.
recovery-ticket-runner-4hourlypeter-deployment-recovery, social-post-failure-recovery-morning, social-post-failure-recovery-eveningv3-compiled-YYYY-MM-DD.jsonv3-closure-state-YYYY-MM-DD.jsonmission-control/data/recovery-tickets-v3/YYYY-MM-DD/ClassMeaningExamplemissing_proofWork happened, proof missingPost exists but no URL capturedexecution_blockedScript/tool failedAPI timeout, auth errormissing_artifactUpstream output missingNo Tony drafts for todaypartial_success_with_debtSome done, chain incompleteX posted but acceptance missingaggregate_coupling_failureChild success lost in aggregateX done but social lane blockedhuman_requiredStop automation, wait for humanAccount risk, policy issue
GENERATED_NOT_PUBLISHED#tony-content-artifact-YYYY-MM-DD.md, tony-asset-check-YYYY-MM-DD.json, tony-blog-preflight-YYYY-MM-DD.jsonnode scripts/tony-blog-publish.mjs --date YYYY-MM-DDblog-qa-receipt-YYYY-MM-DD.jsonGENERATED_NOT_PUBLISHED#social-packs/elon-social-pack-YYYY-MM-DD-morning.jsonnode scripts/postiz-publish.mjs --input /tmp/postiz-x.json --output /tmp/postiz-x-receipt.jsonTOOL_FAILURE#node scripts/facebook-verify-browser-use.mjs --check-authnode scripts/facebook-poster.mjs --file /tmp/fb-post.txthuman_required, write blocker receiptTOOL_FAILURE#~/.openclaw/workspace-jenny/.env must contain supabaseUrlhuman_required (Ray must fix config)node workspace-jenny/scripts/jenny/send-activation-batch.mjs batchUPSTREAM_MISSING#tony-blog-source-publish-YYYY-MM-DD.json appears → RUN: node scripts/peter-blog-closeout-verify.mjs --date YYYY-MM-DDv3-compiled shows NOT_IN_SCOPE → file v3-compiled bug note, do not downgrade laneFor every run:
recovery-tickets-v3/YYYY-MM-DD/rt-YYYY-MM-DD-{lane}-NN.jsonaction: DIAGNOSIS or action: RECOVERY_ATTEMPTattempt_log entry with resultstatus, recoveryState, updated_atmax_attempts reached → status: ESCALATED, notifydelivery-diagnosis-YYYY-MM-DD-HHMM.json to mission-control/data/recovery-runner-log/--dry-run first when testing a new publish pathhuman_required, do not brute-force