Skip to main content

Work Accommodation Review — Regression Test Plan

An internal engineering reference. It covers the seven work-accommodation-review (WAR) changes that landed on 2026-08-18, what still needs verifying against real data, and what to create, update and delete in Tenzo and the Bullhorn dev sandbox to do it. Background on the mechanism itself lives in ATS Stage Routing — read the review-overlay and regrade-reconcile notes there first. This page is the test plan, not the design.

Scope: what shipped


Execution status

Group D’s attribution result, 5 runs per arm: production shaping attributed the disclosure correctly 5/5; the pre-fix shaping attributed it to a decoy question 4/5. Re-runnable via dev_scripts/war_detection_attribution_ab.py.
Groups A, B, C and E cannot run from a Claude Code web session. All outbound traffic from an Anthropic-hosted cloud environment passes through an HTTP/HTTPS proxy whose allowlist is domain-based with no port concept, so Postgres on 5432 has no route — verified by observing that port 443 to the same host connects while 5432 is silently dropped. Run these locally, or from a self-hosted environment where egress leaves through your own network boundary. Cosmos and Kombo/Bullhorn are HTTPS and remain reachable from a web session.

Dev sandbox facts

Confirmed live against the dev Bullhorn integration. Sandbox stages available: New Submission, CV Sent, Shortlisted, Candidate Interested, Candidate Rejected, Client Rejected, Consultant Rejected, Reference Check, Offer Extended, Offer Rejected, Tenzo Test Stage, New Test Stage, 1st–3rd Interview, Final Interview, Manager Review, Hired, Submitted, Placed, New Lead. Because the sandbox integration is plain Bullhorn, the Innova VRA presence path cannot be exercised here with real data. It needs an Innova org or stays unit-tested only.

Group A — overlay and release

Group B — regrade reconcile

Group C — never_asked

Group E — settings, listing, ownership


What to create, update and delete

Approved scope. Nothing touches production, any other dev org, or any of the 40 existing jobs.

Tenzo (dev)

Bullhorn dev sandbox


Open findings & Resolutions

  1. The TEN-809 fix and Kombo sync. review_release_stage_presence reads Kombo’s synced application snapshot. This aligns with all other ATS transitions in Tenzo (AI_INTERVIEW_PASSED, AI_INTERVIEW_FAILED, HUMAN_REVIEW, etc.) which read through the cached application layer. Retained standard cached behavior.
  2. Stuck review hold monitoring. Hardened exception logging in work_accommodation_review_stage_sync.py and work_accommodation_review_stage_release.py to consistently emit error.kind="WorkAccommodationReviewReleaseTransitionFailed".
  3. Innova blank VRA field. Retained safe fail-closed behavior to prevent unexpected downstream ATS writes without customer-specific product alignment.
  4. Workflow step IDs vs stage names target set. Verified non-issue for real ATS setups.
  5. ATS-less orgs release note. Confirmed intended behavior: orgs without ATS integration record resolutions locally within Tenzo.

Running this

Groups A, B, C and E need a working Postgres connection, so run them from a local checkout of claude/war-updates-review-test-5b7cuu — or any branch carrying these changes — rather than a cloud session. Group D needs no database. dev_scripts/war_detection_attribution_ab.py runs the attribution A/B against the live model from anywhere with LLM credentials, and the rest of Group D is already covered by unit tests: tests/unit/caller/test_work_accommodation_review.py, tests/unit/caller/test_flagged_statement_detection.py, tests/unit/post_process_call/test_broadcast_display_transcript.py and tests/unit/post_process_call/test_accommodation_review_unredacted_input.py.
./bin/test reaches a shared Redis on port 6380 via the committed .env.test. In any sandboxed environment without that egress, roughly 32 post_process_call tests fail on a 30-second per-test timeout rather than on anything real. Check the traceback for a blocked sock_connect before treating those failures as regressions.