FINX-Refill- und Maintenance-Crons gehaertet
why
what
- `finx-content-guard.mjs` gehaertet: `--file tweet-queue.json` prueft jetzt standardmaessig nur aktive FINX-Ready-Drafts; Vollscan bleibt über `--all` moeglich.
- `finx-refill-to-queue.mjs` neu angelegt: deterministischer FINX-Runner für Cron, zaehlt aktive FINX-Drafts, validiert gegen Guard, repariert Dash-Stil in aktiven FINX-Drafts und fuellt fehlende Slots aus konservativen Briefing-/Supabase-Templates nach.
- Template-Pool mit zusaetzlichen Portfolio-Thesen erweitert, damit der Refill nicht nach wenigen Tagen an bereits genutzten 72h-Topics austrocknet.
- Beide FINX-Refill-Crons per `openclaw cron edit` von freier LLM-Generation auf den neuen Runner umgestellt (`qwen3.6-plus`, `thinking=off`, `lightContext=true`, `toolsAllow=exec`, `timeoutSeconds=300`).
- `maintenance:openclaw-update-check` auf report-only gesetzt: Cron ruft `check-openclaw-update.sh` ohne `--auto-update` auf, damit kein Gateway-Restart mehr den Job unterbricht.
- Aktive FINX-Queue einmal bereinigt: 18 Dash-Stilreparaturen, Backup `tweet-queue-before-finx-refill-20260513T1003.json`.
verification
- `node --check scripts/finx-content-guard.mjs`
- `node --check scripts/finx-refill-to-queue.mjs`
- `node scripts/finx-content-guard.mjs --test`: `PASS 20 / 20`
- `node scripts/finx-content-guard.mjs --file ~/.openclaw/workspace/tweet-queue.json`: `Total blocked: 0 / 22`
- `node scripts/finx-refill-to-queue.mjs --mode auto --days 3 --target-ready 18`: `ready 21/18, guard=ok, repaired=18`
- Stress-Dry-Run mit hoeherem Target erzeugt nur freie Horizon-Slots und blockiert belegte Slots erwartungsgemaess.
- Manuelle Cron-Smokes: `twitter:finx-pipeline-refill`, `twitter:finx-pipeline-refill-late` und `maintenance:openclaw-update-check` jeweils `ok`, `consecutiveErrors=0`.
- Kein `openclaw.json` geaendert, kein Gateway-Restart ausgeführt.