Phase 23 refinement — per-staffer tool_level variance
Staffer.tool_level now controls which subsystems a specific run gets:
full — qwen3.5 + qwen3 + cloud T3 + cloud rescue
local — qwen3.5 + qwen3 + local gpt-oss:20b T3 + rescue
basic — qwen2.5 + qwen2.5 + local T3, no rescue
minimal — qwen2.5 + qwen2.5, NO T3, NO rescue. Playbook
inheritance only.
applyToolLevel() mutates module-scoped ACTIVE_* slots each run from the
env defaults, so prior staffer's overrides never leak. Hot-path code
reads ACTIVE_EXECUTOR / ACTIVE_REVIEWER / ACTIVE_T3_DISABLED /
ACTIVE_OVERVIEW_CLOUD / ACTIVE_RETRY_ON_FAIL instead of the baked
constants.
The architectural question this answers: does playbook_memory
inheritance carry enough knowledge to let a weakly-tooled coordinator
still produce usable outcomes? "Minimal" Alex runs qwen2.5 exec + no
reviewer overseer + no cloud rescue. If Alex still fills events at a
reasonable rate, the playbook system is the real knowledge carrier —
the senior stack is nice-to-have, not the sine qua non.
Demo personas mapped:
Maria (senior, 48mo, full)
James (mid, 14mo, local)
Sam (junior, 4mo, basic)
Alex (trainee, 1mo, minimal)
Same 3 contracts (Nashville downtown, Joliet warehouse, Indianapolis
assembly) across all four → 12 runs. KB + kb_staffer_report.py
leaderboard already wired; competence_score will now reflect real tool
asymmetry instead of LLM sampling variance.
This commit is contained in:
@@ -13,7 +13,8 @@
|
||||
"id": "S-001",
|
||||
"name": "Maria Chen",
|
||||
"tenure_months": 48,
|
||||
"role": "senior"
|
||||
"role": "senior",
|
||||
"tool_level": "full"
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
"id": "S-001",
|
||||
"name": "Maria Chen",
|
||||
"tenure_months": 48,
|
||||
"role": "senior"
|
||||
"role": "senior",
|
||||
"tool_level": "full"
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
"id": "S-001",
|
||||
"name": "Maria Chen",
|
||||
"tenure_months": 48,
|
||||
"role": "senior"
|
||||
"role": "senior",
|
||||
"tool_level": "full"
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
"id": "S-002",
|
||||
"name": "James Park",
|
||||
"tenure_months": 14,
|
||||
"role": "mid"
|
||||
"role": "mid",
|
||||
"tool_level": "local"
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
"id": "S-002",
|
||||
"name": "James Park",
|
||||
"tenure_months": 14,
|
||||
"role": "mid"
|
||||
"role": "mid",
|
||||
"tool_level": "local"
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
"id": "S-002",
|
||||
"name": "James Park",
|
||||
"tenure_months": 14,
|
||||
"role": "mid"
|
||||
"role": "mid",
|
||||
"tool_level": "local"
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
"id": "S-003",
|
||||
"name": "Sam Torres",
|
||||
"tenure_months": 4,
|
||||
"role": "junior"
|
||||
"role": "junior",
|
||||
"tool_level": "basic"
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
"id": "S-003",
|
||||
"name": "Sam Torres",
|
||||
"tenure_months": 4,
|
||||
"role": "junior"
|
||||
"role": "junior",
|
||||
"tool_level": "basic"
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
"id": "S-003",
|
||||
"name": "Sam Torres",
|
||||
"tenure_months": 4,
|
||||
"role": "junior"
|
||||
"role": "junior",
|
||||
"tool_level": "basic"
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
"id": "S-004",
|
||||
"name": "Alex Rivera",
|
||||
"tenure_months": 1,
|
||||
"role": "trainee"
|
||||
"role": "trainee",
|
||||
"tool_level": "minimal"
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
"id": "S-004",
|
||||
"name": "Alex Rivera",
|
||||
"tenure_months": 1,
|
||||
"role": "trainee"
|
||||
"role": "trainee",
|
||||
"tool_level": "minimal"
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
"id": "S-004",
|
||||
"name": "Alex Rivera",
|
||||
"tenure_months": 1,
|
||||
"role": "trainee"
|
||||
"role": "trainee",
|
||||
"tool_level": "minimal"
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user