Operant Studio
OPER-11

chore(cron): finish migration of dispatcher-tick / auto-planner / auto-shipper / worker-reaper to operant-cron

Body

## Context
`operant-cron` repo is live with `crons.yaml` manifest. `portico-dispatch-driver` already migrated. Four remaining Vercel cron jobs on `operant-studio-web` are tagged `migration_target: operant-cron` but haven't moved:
- `dispatcher-tick` (1-min)
- `auto-planner`
- `auto-shipper`
- `worker-reaper`

## Acceptance Criteria
- [ ] All four jobs moved to `operant-cron` (or explicit decision to keep on Vercel)
- [ ] Old Vercel entries removed from `apps/web/vercel.json`
- [ ] Shadow-run in parallel for 24h before cutover
- [ ] Post-cutover: 7d green on all four schedules
- [ ] `crons.yaml` reflects final state (no `migration_target` remaining)

## Files Touched
- operant-cron/crons.yaml
- operant-cron/jobs/dispatcher-tick.ts (or equivalent)
- operant-cron/jobs/auto-planner.ts
- operant-cron/jobs/auto-shipper.ts
- operant-cron/jobs/worker-reaper.ts
- operant-studio/apps/web/vercel.json (remove entries)

## Dependencies
- Cross-repo: touches both operant-studio and operant-cron

## Verification
Compare `DispatchRun` volume 24h before vs. 24h after cutover — should be within 5%.

Attachments

Loading attachments…

Comments

Loading comments…