## Summary
Phase 1.5 only from `jobs-observability-plan.md` §10 — localized log
lines, no new classes or entry-point changes:
- **`OH_SCHED_START`** in `JobsScheduler.main`: echoes
`numParallelJobs`, poller/submitter counts, poll/timeout settings
(replaces brittle `values.yaml case()` for cap/deadline KQL).
- **`OH_SCHED_ELIGIBLE`** in `OperationTasksBuilder`: stable
eligible-count token alongside existing `metadata fetched count` log.
- **Queued-timeout poll exit** in `OperationTask`: appends
`lastObservedState` + `executionId` to distinguish genuine GGW queue
timeout vs poll-lag give-up on terminal jobs.
~35 lines across 3 files. Phase 2 (OTEL gauges, heartbeat sampler, DLQ
counters) intentionally deferred.
## Test plan
- [x] Compiles; no test signature changes
- [ ] Post OSS→LI bump: grep cron pod logs for `OH_SCHED_START`,
`OH_SCHED_ELIGIBLE`, `lastObservedState=` on queued-timeout lines
Co-authored-by: Cursor <cursoragent@cursor.com>