# CC FINDING — SC DISPATCH PICKUP BROKEN
# AT 2026-05-15 | Filed by CC/Codex | Mode: READ-ONLY CONTROL-PLANE DIAGNOSIS
# TRUTH MATTERS(R) · AGE / AG-001

| Field | Value |
|---|---|
| Dispatch ID | AGE-CC-2026-05-15-SC-DISPATCH-PICKUP-DIAGNOSIS |
| Assigned Agent | CC |
| Micro-Step Assigned | Diagnose why SC sees dispatch files but does not process them |
| Check-In Declaration | Read-only inspection of SC watcher scripts, cron, logs, tmux state, and GO/P0 dispatch files. No production mutations. |
| Action Taken | Inspected `cc-poll-watch.service`, `verity-ai-sc.service`, `cc-poll-watch.sh`, `cc-poll.sh`, `sc-auto-dispatch.sh`, `sc_job_autorun.sh`, `start-sc-agent.sh`, cron, SC_NEXT_JOB, old SC inbox GO file, P0_NOW dispatch, and SC auto logs. |
| Evidence Submitted | `/opt/veritize-docker/ops/scripts/sc-auto-dispatch.sh`; `/opt/veritize-docker/ops/scripts/sc_job_autorun.sh`; `/opt/veritize-docker/ops/scripts/cc-poll-watch.sh`; `/opt/veritize-docker/ops/logs/sc-auto-dispatch.log`; `/opt/veritize-docker/ops/logs/sc-auto-run.log`; `/opt/veritize-docker/ops/mcp/SC_NEXT_JOB.md`; `/opt/veritize-docker/ops/queue/agents/sc/inbox/2026-05-14_GO_EXECUTE_NOW.md`; `/opt/veritize-docker/ops/queue/sc/P0_NOW/RESTORE_MIUSA_PRODUCTION.md`. |
| Result / Finding | SC dispatch pickup is broken by control-plane mismatch. `cc-poll-watch.sh` watches `/ops/mcp`, `/ops/queue/intake`, and `/ops/queue/sc`, but only writes CC digest; it does not execute SC. `agent-watcher.sh` watches only SGPT/SG/SGrok trigger files. SC execution is cron-only via `SC_NEXT_JOB.md`. `sc-auto-dispatch.sh` requires first line to contain `EXECUTE NOW`, but current first line is `# SC_NEXT_JOB — AT 2026-05-14 | AR SAYS GO`, so it logs `SKIP not-ready`. `sc_job_autorun.sh` did run the current hash once at 2026-05-14 22:21 and wrote `SC_AUTO_DONE_20260514_222101.md`, then marked `last_job.sha256`, so every later run logs `SKIP unchanged`. |
| Check-Out Certification | Diagnosis only. No watcher rewired and no dispatch re-fired. Fix requires separate AGE micro-step to avoid accidentally executing stale P0 mutation. |

## Recommended Repair Micro-Step

Create one AGE dispatch to repair SC intake only:

1. Define a single canonical SC execution intake.
2. Either make `/ops/queue/agents/sc/inbox/*.md` bridge to `/ops/mcp/SC_NEXT_JOB.md`, or officially retire the old inbox.
3. Make `sc-auto-dispatch.sh` and `sc_job_autorun.sh` use the same readiness rule and the same hash state file.
4. Do not mark a job hash complete when SC exits with “waiting for guidance” or other non-execution language.
5. Add a dry-run test file that proves watcher pickup without production mutation.

## Immediate Caution

Do not delete `/opt/veritize-docker/ops/logs/.sc-auto/last_job.sha256` or edit `SC_NEXT_JOB.md` to force a new hash until the current P0 dispatch is corrected/authorized under AGE, because that would re-fire the stale job.
