Managed assignments
Demo snapshot — build-time-generated from staffing.store via staffing.render-html (clojure -M:dev:render-html), regenerated nightly.
| Assignment | Worker | Client | Jurisdiction | Role | Status | Last op status |
|---|---|---|---|---|---|---|
| a-100 | Kenji Sato (demo) | デモ製造株式会社 | jpn | line-worker | active | committed |
| a-300 | Maria Schmidt (demo) | Demo Logistics GmbH | deu | warehouse-forklift-operator | active | no activity |
| a-hz1 | Maria Schmidt (demo) | Demo Logistics GmbH | deu | crane-operator | active | committed |
| a-usa1 | 田中 花子(デモ) | Demo Warehousing Inc (USA) | usa | picker | active | committed |
Scenario steps (this run)
Real per-step telemetry captured from actually driving the langgraph.graph StateGraph — a genuine mix of dispositions: auto-commit, escalate-then-approve, and HARD hold (never reaches a human).
| Step | Op | Subject | Actor role | Workflow | Final disposition |
|---|---|---|---|---|---|
p1-place-clean | place | a-usa1 | staffing-coordinator | auto-commit | commit |
p2-place-no-eligibility | place | a-bad1 | staffing-coordinator | HARD hold (no human reached) | hold |
p3-extend-over-cap | extend | a-100 | staffing-coordinator | HARD hold (no human reached) | hold |
p4-timesheet-miscalc | approve | a-100 | payroll-officer | HARD hold (no human reached) | hold |
p5-report-overreach | query | a-100 | client-user | HARD hold (no human reached) | hold |
p6-place-hazardous | place | a-hz1 | staffing-coordinator | escalated → approved | commit |
p7-dispute | request | a-100 | dispute-officer | escalated → approved | commit |
Action gate (StaffingGovernor — eight checks, priority order)
Checks 1–5 are HARD: a human approver cannot override them. Checks 6–8 always escalate to a human, who may approve.
| # | Check | Kind | What it enforces |
|---|---|---|---|
| 1 | rbac | HARD | actor-role must be permitted for the op |
| 2 | eligibility-gate | HARD | worker's cited eligibility must resolve to an allowed class (operator-verified class requires a :verification-ref) |
| 3 | tenure-limit-gate | HARD | cumulative assignment duration at this client must stay within the jurisdiction's statutory cap |
| 4 | wage-compliance-gate | HARD | timesheet's effective hourly rate must meet the jurisdiction's operator-maintained wage floor |
| 5 | licensed-disclosure | HARD | report columns must stay within the client's active contract tier |
| 6 | confidence floor | escalate | LLM confidence below threshold (0.6) routes to human review |
| 7 | high-risk-assignment gate | escalate | hazardous-duty placements always require human approval |
| 8 | dispute requests | escalate | a worker/client dispute never auto-resolves, at any confidence or phase |
Audit ledger (this run)
Append-only decision-fact log — every proposal this scenario committed or held, and on what eligibility/tenure/wage/disclosure basis.
| Fact | Op | Subject | Basis |
|---|---|---|---|
| committed | place | a-usa1 | worker-id, client-id, role, start-date, end-date |
| policy-hold | place | a-bad1 | eligibility-gate |
| policy-hold | extend | a-100 | tenure-limit-gate |
| policy-hold | approve | a-100 | wage-compliance-gate |
| policy-hold | query | a-100 | licensed-disclosure |
| committed | place | a-hz1 | worker-id, client-id, role, start-date, end-date |
| committed | request | a-100 | hours |