HospiEdge Hiring Network

Hiring Analytics

Deterministic hiring analytics, queue recovery state, grounded agent value, and operator proof surfaces.

Pinned workspaces Keep your most-used queues above the rest of the session.
Workspace tabs Recent pages stay live for this session.

Grounded analytics, proof, and agent value

See what changed, why it changed, and what needs action next without turning hiring metrics into vague AI claims.

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.

Total applications7
Avg days to review0
Avg days to interview0.2
Approved to hire1
Onboarding received0
Stale candidates1
Queue healthDEGRADED
Worker runtimeBLOCKED
Blocked jobs16
Hire movement is backed by approved packets

1 candidate packet(s) are already approved to hire.

POSITIVE
Candidate contact has real receipt proof

1 message(s) show delivered status instead of draft-only outreach.

POSITIVE
Onboarding now supports employers outside the HospiEdge stack

1 handoff(s) are routed through external or manual destination modes.

NEUTRAL
Approved agent work is being followed by downstream movement

1 approved action(s) were followed by later workflow progress.

POSITIVE
Some pipeline drag still comes from stale candidates

1 candidate(s) are still sitting in early-stage stale buckets.

WARN
Async recovery work is still affecting operator trust

16 queue job(s) remain blocked or dead-lettered.

WARN
Clear pending approvals

3 approval request(s) are still blocking messages, provider actions, or hire decisions.

Open
Review stale early-stage candidates

1 candidate(s) have aged past the early-stage SLA.

Open
Finish candidate communications waiting approval

1 message(s) are drafted but not yet cleared to send.

Open
Recover failed onboarding pushes

1 onboarding handoff(s) failed and need retry or destination correction.

Open
Work the blocked queue lane

16 queue job(s) still need operator recovery.

Open
Review pending agent actions

1 agent action(s) still need a human decision before they can count as trusted follow-through.

Open
0 2 days 3
3 5 days 1
6 plus days 3
Source Applications
site_apply 5
quick_apply 1
referral 1
Total actions2
Approved1
Follow-through100%
Pending review1
Jordan Reyes · General Manager

Interview scheduled: phone_screen

save_note · 2026-03-29T13:20:00+00:00
Total messages3
Delivery logged33.3%
Delivered50%
Awaiting approval1
Scheduled2
Completed2
Scorecard coverage100%
Avg panel score8.3
Offer packets2
Pending approval0
Approved to hire1
Onboarding received0
Onboarding mode Count
HospiEdge stack0
External system0
Manual checklist1
Receipt-backed completion0%

Which roles are moving and which are dragging

Role Applications Stale Interview % Hire % Avg response days
role-level funnel summary
5 0 20% 0% 0
role-level funnel summary
1 1 0% 0%
role-level funnel summary
1 0 100% 100%
Location Open jobs Applications Interview %
location-level hiring signal
1 5 20%
location-level hiring signal
1 1 0%
location-level hiring signal
1 1 100%
DEGRADED

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:00
queued 14
running 0
completed 1
failed 1
dead letter 1
async-worker

Completed analytics snapshot refresh.

2026-03-29T15:18:00+00:00 · healthy
export-worker

Waiting on provider credentials for ziprecruiter channel sync.

2026-03-29T14:41:00+00:00 · degraded
Worker ping command

Use 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." --json
Days to review

From application created time to the first explicit move into review.

Interview throughput

Count of scheduled and completed interviews plus scorecard coverage on completed interviews.

Offer proof

Only hire decision packets and approval states count. There is no hidden offer status.

Agent value

Counts approved actions and how many were followed by downstream workflow progress. It does not claim direct causation.

Onboarding completion

Only submitted handoffs with receipts can move into received. External and manual lanes stay visible as separate modes.

Agent hub

Review signed contract reads, writes, launch rules, and command examples for the agent app.

Open
Command surfaces contract

Read public IDs, backlinks, safe embed summaries, and launch conventions for cross-app operator context.

Open
Launch truth

See queue health, provider truth, and go-live boundaries from the operator side.

Open
Analytics contract view

Signed API surface the agent app should consume for report-grade analytics proof.

Open
BLOCKED

Worker heartbeat is stale or missing, so async work should be treated as at-risk.

Latest state: healthy
Queue-SLA summary

14 overdue queued · 0 stalled running · 1 dead-letter

Failed attempts: 1
Record a fresh worker heartbeat

Run 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." --json
Clear queued jobs past SLA

14 queued jobs are past the pickup SLA. Retry or archive them from analytics before widening rollout claims.

Open
Clear dead-letter queue jobs

1 dead-letter job still need explicit recovery proof.

Open
Heartbeat check-in

Keep 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." --json
Worker runtime proof

Record 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 --json
Launch readiness proof

Re-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 --json

State machine and worker expectations

Queued

Waiting for a worker to pick up the job.

Running

A worker has started processing this job.

Completed

The async task finished successfully.

Failed

The job failed but can still be retried.

Dead letter

The job exhausted retries and needs operator recovery.

Workflow Worker

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 * * * *
Master AI Sync Worker

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 * * * *
Onboarding Worker

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 * * * *
Analytics Worker

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_pushasync workload
onboarding Onboarding Worker 14 13 0 0 1
daily_reminder_runasync workload
automation Workflow Worker 1 0 0 0 0
channel_syncasync workload
provider_sync Provider Sync Worker 1 0 0 1 0
analytics_snapshotasync workload
analytics Analytics Worker 1 1 0 0 0

Blocked jobs and manual recovery

onboarding_push dead_letter

Downstream onboarding system timed out during packet receipt.

Attempts: 3 / 3 · Owner: Onboarding Worker · Origin: hiring_app

Confirm the onboarding handoff packet is still approved and complete.

Retry the queue job and then check the onboarding receipt state.

onboarding_push queued

Job has been queued past its available time without a worker pickup.

Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3

Confirm the onboarding handoff packet is still approved and complete.

Retry the queue job and then check the onboarding receipt state.

onboarding_push queued

Job has been queued past its available time without a worker pickup.

Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3

Confirm the onboarding handoff packet is still approved and complete.

Retry the queue job and then check the onboarding receipt state.

onboarding_push queued

Job has been queued past its available time without a worker pickup.

Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3

Confirm the onboarding handoff packet is still approved and complete.

Retry the queue job and then check the onboarding receipt state.

onboarding_push queued

Job has been queued past its available time without a worker pickup.

Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3

Confirm the onboarding handoff packet is still approved and complete.

Retry the queue job and then check the onboarding receipt state.

onboarding_push queued

Job has been queued past its available time without a worker pickup.

Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3

Confirm the onboarding handoff packet is still approved and complete.

Retry the queue job and then check the onboarding receipt state.

onboarding_push queued

Job has been queued past its available time without a worker pickup.

Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3

Confirm the onboarding handoff packet is still approved and complete.

Retry the queue job and then check the onboarding receipt state.

onboarding_push queued

Job has been queued past its available time without a worker pickup.

Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3

Confirm the onboarding handoff packet is still approved and complete.

Retry the queue job and then check the onboarding receipt state.

onboarding_push queued

Job has been queued past its available time without a worker pickup.

Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3

Confirm the onboarding handoff packet is still approved and complete.

Retry the queue job and then check the onboarding receipt state.

onboarding_push queued

Job has been queued past its available time without a worker pickup.

Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3

Confirm the onboarding handoff packet is still approved and complete.

Retry the queue job and then check the onboarding receipt state.

onboarding_push queued

Job has been queued past its available time without a worker pickup.

Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3

Confirm the onboarding handoff packet is still approved and complete.

Retry the queue job and then check the onboarding receipt state.

onboarding_push queued

Job has been queued past its available time without a worker pickup.

Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3

Confirm the onboarding handoff packet is still approved and complete.

Retry the queue job and then check the onboarding receipt state.

onboarding_push queued

Job has been queued past its available time without a worker pickup.

Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3

Confirm the onboarding handoff packet is still approved and complete.

Retry the queue job and then check the onboarding receipt state.

onboarding_push queued

Job has been queued past its available time without a worker pickup.

Attempts: 0 / 3 · Owner: Onboarding Worker · Origin: hiring_app Related: onboarding_handoff #3

Confirm the onboarding handoff packet is still approved and complete.

Retry the queue job and then check the onboarding receipt state.

analytics_snapshot queued

Job has been queued past its available time without a worker pickup.

Attempts: 0 / 2 · Owner: Analytics Worker · Origin: hiring_app

Retry the snapshot after confirming queue capacity.

If failures repeat, validate source records before marking recovered.

channel_sync failed

Missing provider credentials for ziprecruiter.

Attempts: 2 / 3 · Owner: Provider Sync Worker · Origin: hiring_app

Check provider readiness and credentials before retry.

If the channel is still manual-only, do not retry blindly. Export instead.