# X_ACTION_JOB_UNBRIDGED

## Means

an action projection was registered as a job

## Typical cause

`defineApi({ jobs: { x: someAction.job() } })`. `.job()` returns a **handle**, not a job — `action` and `jobs` are both tier 3 so neither may import the other. It used to be skipped in silence alongside the helpers and constants a module namespace carries, so the job simply never ran and nothing failed anywhere

## Fix

register the real `job()`, or bridge it the way `agentJob()` in `@ultimat3/ai` does — it composes a job from the handle's `idempotencyKey` and `invoke`

[Jobs](/error-codes#jobs)
