Stay inside the same queue, proof, and launch loop
Analytics should now read as the evidence lane for the rest of the operator shell instead of a detached report. Use it to decide whether the next move belongs in applications, providers, onboarding, Agent Hub, or launch.
1 candidate packet(s) are already approved to hire.
POSITIVE1 message(s) show delivered status instead of draft-only outreach.
POSITIVE1 handoff(s) are routed through external or manual destination modes.
NEUTRAL1 approved action(s) were followed by later workflow progress.
POSITIVE1 candidate(s) are still sitting in early-stage stale buckets.
WARN16 queue job(s) remain blocked or dead-lettered.
WARN3 approval request(s) are still blocking messages, provider actions, or hire decisions.
Open1 candidate(s) have aged past the early-stage SLA.
Open1 message(s) are drafted but not yet cleared to send.
Open1 onboarding handoff(s) failed and need retry or destination correction.
Open16 queue job(s) still need operator recovery.
Open1 agent action(s) still need a human decision before they can count as trusted follow-through.
Open| Source | Applications |
|---|---|
| site_apply | 5 |
| quick_apply | 1 |
| referral | 1 |
Interview scheduled: phone_screen
save_note · 2026-03-29T13:20:00+00:00| Onboarding mode | Count |
|---|---|
| HospiEdge stack | 0 |
| External system | 0 |
| Manual checklist | 1 |
| Receipt-backed completion | 0% |
Which roles are moving and which are dragging
| Role | Applications | Stale | Interview % | Hire % | Avg response days |
|---|---|---|---|---|---|
| 5 | 0 | 20% | 0% | 0 | |
| 1 | 1 | 0% | 0% | — | |
| 1 | 0 | 100% | 100% | — |
| Location | Open jobs | Applications | Interview % |
|---|---|---|---|
| 1 | 5 | 20% | |
| 1 | 1 | 0% | |
| 1 | 1 | 100% |
Worker heartbeat is stale or missing. Treat async work as at-risk until a worker checks in.
Latest heartbeat: async-worker · 2026-03-29T15:18:00+00:00Completed analytics snapshot refresh.
2026-03-29T15:18:00+00:00 · healthyWaiting on provider credentials for ziprecruiter channel sync.
2026-03-29T14:41:00+00:00 · degradedUse the CLI below from the worker or cron lane so launch readiness sees a real fresh heartbeat instead of a decorative UI flag.
php scripts/ping_worker_heartbeat.php --worker=async-worker --state=healthy --note="Queue worker heartbeat confirmed." --jsonFrom application created time to the first explicit move into review.
Count of scheduled and completed interviews plus scorecard coverage on completed interviews.
Only hire decision packets and approval states count. There is no hidden offer status.
Counts approved actions and how many were followed by downstream workflow progress. It does not claim direct causation.
Only submitted handoffs with receipts can move into received. External and manual lanes stay visible as separate modes.
Review signed contract reads, writes, launch rules, and command examples for the agent app.
OpenRead public IDs, backlinks, safe embed summaries, and launch conventions for cross-app operator context.
OpenSee queue health, provider truth, and go-live boundaries from the operator side.
OpenSigned API surface the agent app should consume for report-grade analytics proof.
OpenWorker heartbeat is stale or missing, so async work should be treated as at-risk.
Latest state: healthy14 overdue queued · 0 stalled running · 1 dead-letter
Failed attempts: 1Run the heartbeat CLI from the worker or cron lane so launch readiness can prove that async work is still alive.
php scripts/ping_worker_heartbeat.php --worker=async-worker --state=healthy --note="Queue worker heartbeat confirmed." --json14 queued jobs are past the pickup SLA. Retry or archive them from analytics before widening rollout claims.
Open1 dead-letter job still need explicit recovery proof.
OpenKeep the worker freshness window alive so launch readiness sees a real heartbeat instead of a cosmetic page refresh.
Schedule: */5 * * * *cd /home/hospneac/hospiedge.com/hospi_jobs && php scripts/ping_worker_heartbeat.php --worker=async-worker --state=healthy --note="Queue worker heartbeat confirmed." --jsonRecord a machine-readable queue-SLA and worker-health snapshot for operator review.
Schedule: */15 * * * *cd /home/hospneac/hospiedge.com/hospi_jobs && php scripts/run_worker_runtime_verification.php --jsonRe-check blocker counts after worker/queue movement so the launch surface stays grounded.
Schedule: */15 * * * *cd /home/hospneac/hospiedge.com/hospi_jobs && php scripts/run_launch_readiness.php --jsonState machine and worker expectations
Waiting for a worker to pick up the job.
A worker has started processing this job.
The async task finished successfully.
The job failed but can still be retried.
The job exhausted retries and needs operator recovery.
automation, reminders, and lightweight follow-through tasks
Should pick up queued work within the job SLA window. Cadence: every 5 min · Fresh within 15 min · Cron */5 * * * *backfill syncs and Master AI-triggered async jobs
Should preserve org/location scope and actor refs end to end. Cadence: every 5 min · Fresh within 15 min · Cron */5 * * * *handoff pushes and downstream receipt tracking
Should never mark a handoff received without a receipt state. Cadence: every 5 min · Fresh within 15 min · Cron */5 * * * *snapshot refreshes, queue visibility, and launch-readiness evidence
Should keep queue health and launch evidence fresh enough for operator review. Cadence: every 15 min · Fresh within 30 min · Cron */15 * * * *What async work exists and who owns it
| Job type | Group | Owner | Total | Queued | Running | Failed | Dead-letter |
|---|---|---|---|---|---|---|---|
onboarding_push |
onboarding | Onboarding Worker | 14 | 13 | 0 | 0 | 1 |
daily_reminder_run |
automation | Workflow Worker | 1 | 0 | 0 | 0 | 0 |
channel_sync |
provider_sync | Provider Sync Worker | 1 | 0 | 0 | 1 | 0 |
analytics_snapshot |
analytics | Analytics Worker | 1 | 1 | 0 | 0 | 0 |
Blocked jobs and manual recovery
Downstream onboarding system timed out during packet receipt.
Attempts: 3 / 3 · Owner: Onboarding Worker · Origin: hiring_appConfirm the onboarding handoff packet is still approved and complete.
Retry the queue job and then check the onboarding receipt state.
Job has been queued past its available time without a worker pickup.
Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3Confirm the onboarding handoff packet is still approved and complete.
Retry the queue job and then check the onboarding receipt state.
Job has been queued past its available time without a worker pickup.
Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3Confirm the onboarding handoff packet is still approved and complete.
Retry the queue job and then check the onboarding receipt state.
Job has been queued past its available time without a worker pickup.
Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3Confirm the onboarding handoff packet is still approved and complete.
Retry the queue job and then check the onboarding receipt state.
Job has been queued past its available time without a worker pickup.
Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3Confirm the onboarding handoff packet is still approved and complete.
Retry the queue job and then check the onboarding receipt state.
Job has been queued past its available time without a worker pickup.
Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3Confirm the onboarding handoff packet is still approved and complete.
Retry the queue job and then check the onboarding receipt state.
Job has been queued past its available time without a worker pickup.
Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3Confirm the onboarding handoff packet is still approved and complete.
Retry the queue job and then check the onboarding receipt state.
Job has been queued past its available time without a worker pickup.
Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3Confirm the onboarding handoff packet is still approved and complete.
Retry the queue job and then check the onboarding receipt state.
Job has been queued past its available time without a worker pickup.
Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3Confirm the onboarding handoff packet is still approved and complete.
Retry the queue job and then check the onboarding receipt state.
Job has been queued past its available time without a worker pickup.
Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3Confirm the onboarding handoff packet is still approved and complete.
Retry the queue job and then check the onboarding receipt state.
Job has been queued past its available time without a worker pickup.
Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3Confirm the onboarding handoff packet is still approved and complete.
Retry the queue job and then check the onboarding receipt state.
Job has been queued past its available time without a worker pickup.
Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3Confirm the onboarding handoff packet is still approved and complete.
Retry the queue job and then check the onboarding receipt state.
Job has been queued past its available time without a worker pickup.
Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3Confirm the onboarding handoff packet is still approved and complete.
Retry the queue job and then check the onboarding receipt state.
Job has been queued past its available time without a worker pickup.
Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3Confirm the onboarding handoff packet is still approved and complete.
Retry the queue job and then check the onboarding receipt state.
Job has been queued past its available time without a worker pickup.
Attempts: 0 / 2 · Owner: Analytics Worker · Origin: hiring_appRetry the snapshot after confirming queue capacity.
If failures repeat, validate source records before marking recovered.
Missing provider credentials for ziprecruiter.
Attempts: 2 / 3 · Owner: Provider Sync Worker · Origin: hiring_appCheck provider readiness and credentials before retry.
If the channel is still manual-only, do not retry blindly. Export instead.