lakehouse/tests/multi-agent/scenarios/staffer_demo/S-001_indianapolis_assembly.json
root 6b71c8e9b2 Phase 23 — contract terms + staffer identity + competence-weighted retrieval
Matrix-index the "who handled this" dimension so top staffers become
the training signal and juniors inherit their playbooks automatically
via the boost pipeline. Auto-discovered indicators emerge from
comparing trajectories across staffers on similar contracts — that was
always the architectural point; this wires the last piece.

ContractTerms:
- deadline, budget_total_usd, budget_per_hour_max, local_bonus_per_hour,
  local_bonus_radius_mi, fill_requirement ("paramount" | "preferred")
- Attached to ScenarioSpec, propagated into T3 checkpoint + cloud
  rescue prompts so cloud reasons about trade-offs (pivot within bonus
  radius first; respect per-hour cap; split across cities when
  fill_requirement=paramount).

Staffer:
- {id, name, tenure_months, role: senior|mid|junior|trainee}
- On ScenarioSpec; logged at scenario start; attached to KB outcome
- Recomputed StafferStats written to data/_kb/staffers.jsonl after
  every run: total_runs, fill_rate, avg_turns, avg_citations,
  rescue_rate, competence_score.
- Competence formula: 0.45*fill_rate + 0.20*turn_efficiency +
  0.20*citation_density + 0.15*rescue_rate. Normalized to 0..1.

findNeighbors now returns weighted_score = cosine × best_staffer_competence
(floored at 0.3 so high-similarity low-competence neighbors still
surface). pathway_recommender prompt shows the top staffer's identity
so cloud knows WHOSE playbook it's synthesizing from.

Demo infrastructure:
- tests/multi-agent/gen_staffer_demo.ts: 4 personas (Maria senior,
  James mid, Sam junior, Alex trainee) × 3 contracts (Nashville Welder,
  Joliet Warehouse, Indianapolis Assembly). 12 scenarios total.
- scripts/run_staffer_demo.sh: runs the 12 sequentially with
  LH_OVERVIEW_CLOUD=1. Post-run calls kb_staffer_report.py.
- scripts/kb_staffer_report.py: leaderboard + cross-staffer worker
  overlap (names endorsed by ≥2 staffers → auto-discovered high-value
  workers). Top vs bottom differential.

gen_scenarios.ts (Phase 22 generator) also now emits contract terms
on 70% of generated specs — future KB batches populate with realistic
constraint patterns instead of bare role+city+count.

Stress scenario from item A intentionally NOT the production test.
Real staffing has constraints; Nashville contract + staffer demo is
the honest test of whether the architecture produces measurable
differential between coordinator skill levels.

Demo batch launched — 12 runs × ~3min each ≈ 40min unattended. Report
emitted after batch.
2026-04-20 22:16:09 -05:00

72 lines
2.0 KiB
JSON

{
"client": "Pioneer Assembly — Indianapolis Plant Expansion",
"date": "2026-04-24",
"contract": {
"deadline": "2026-05-26",
"budget_total_usd": 220000,
"budget_per_hour_max": 30,
"local_bonus_per_hour": 5,
"local_bonus_radius_mi": 60,
"fill_requirement": "paramount"
},
"staffer": {
"id": "S-001",
"name": "Maria Chen",
"tenure_months": 48,
"role": "senior"
},
"events": [
{
"kind": "baseline_fill",
"at": "07:30",
"role": "Assembler",
"count": 6,
"city": "Indianapolis",
"state": "IN",
"shift_start": "07:30 AM",
"scenario_note": "Staffed by Maria Chen (senior, 48mo). Contract deadline 2026-05-26, fill=paramount."
},
{
"kind": "recurring",
"at": "09:30",
"role": "Quality Tech",
"count": 2,
"city": "Indianapolis",
"state": "IN",
"shift_start": "09:30 AM",
"scenario_note": "Staffed by Maria Chen (senior, 48mo). Contract deadline 2026-05-26, fill=paramount."
},
{
"kind": "expansion",
"at": "11:00",
"role": "Machine Operator",
"count": 5,
"city": "Indianapolis",
"state": "IN",
"shift_start": "11:00 PM",
"scenario_note": "Staffed by Maria Chen (senior, 48mo). Contract deadline 2026-05-26, fill=paramount."
},
{
"kind": "emergency",
"at": "14:00",
"role": "Machine Operator",
"count": 3,
"deadline": "16:00",
"city": "Indianapolis",
"state": "IN",
"shift_start": "14:00 PM",
"scenario_note": "Staffed by Maria Chen (senior, 48mo). Contract deadline 2026-05-26, fill=paramount."
},
{
"kind": "misplacement",
"at": "16:00",
"role": "Assembler",
"count": 1,
"replaces_event": "07:30",
"city": "Indianapolis",
"state": "IN",
"shift_start": "16:00 PM",
"scenario_note": "Staffed by Maria Chen (senior, 48mo). Contract deadline 2026-05-26, fill=paramount."
}
]
}