😏
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
# Route Resilience Lab
|
||||
|
||||
This lab holds the DeepSeek V4 Pro model family and prompt constant while varying access infrastructure: OpenCode Go versus OpenRouter pinned to DeepSeek, with fallback disabled. Run the arms as a deliberate shadow pair or select one after a typed credential-loss, rate-limit, or timeout fault.
|
||||
|
||||
It does not implement transparent automatic failover and does not infer the serving provider from model output. Session availability, requested policy, gateway retries, fallback index, actual serving slug, latency, and build fingerprint are the evidence. Duplicate calls are intentional only in matched drift trials.
|
||||
|
||||
Each route arm is a separate persistent supervised Unix app-server worker with the same goal/turn and warning policy. The observer can inspect, trace, steer, interrupt, pause, continue, detach, finalize, fully stop, fork, or cancel either arm, but one arm never substitutes for the other. A transport failure suspends and retains route-specific history/evidence rather than converting it into an apparent model result.
|
||||
@@ -0,0 +1 @@
|
||||
Run matched prompts through the Go and pinned OpenRouter routes either as intentional shadows or as separately selected primary/fallback trials. Keep task text and reasoning constant. Use session route availability and gateway telemetry—not worker self-report—to record requested route, actual serving slug, retries, fallback index, build fingerprint, failure, and latency. Compare outputs with task evidence. This is a route experiment, not a model vote or an automatic failover promise.
|
||||
@@ -0,0 +1 @@
|
||||
Analyze the exact bounded prompt read-only and return contract-shaped claims and evidence. Do not claim which infrastructure served you; the supervisor records route and serving telemetry independently. Do not edit, browse, or adapt your answer based on the comparison arm.
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"title": "Matched route task observation",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"answer": {"type": "string", "minLength": 1},
|
||||
"claims": {"type": "array", "items": {"type": "string"}, "maxItems": 30},
|
||||
"repository_evidence": {"type": "array", "items": {"type": "string"}, "maxItems": 30},
|
||||
"self_reported_serving_provider": {"const": null},
|
||||
"limitations": {"type": "array", "items": {"type": "string"}, "maxItems": 20}
|
||||
},
|
||||
"required": ["answer", "claims", "repository_evidence", "self_reported_serving_provider", "limitations"]
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
schema_version = 8
|
||||
id = "route-resilience-lab"
|
||||
version = "8.0.0"
|
||||
display_name = "Route Resilience Lab"
|
||||
description = "An experimental Terra root compares the same DeepSeek build through OpenCode Go and a pinned OpenRouter serving policy under route failures and drift."
|
||||
tags = ["routing", "resilience", "shadow", "lab"]
|
||||
maturity = "lab"
|
||||
root = "route_observer"
|
||||
smoke = "smoke.toml"
|
||||
|
||||
[agents.route_observer]
|
||||
kind = "root"
|
||||
description = "Read-only experiment controller and evidence adjudicator"
|
||||
model = "codex_chatgpt_builtin__gpt_5_6_terra"
|
||||
reasoning = "high"
|
||||
allowed_reasoning_efforts = ["medium", "high", "xhigh", "max"]
|
||||
execution_mode = "goal"
|
||||
goal_token_budget = 200000
|
||||
max_goal_token_budget = 300000
|
||||
stall_warning_seconds = 3600
|
||||
finalization_grace_seconds = 1200
|
||||
plan_reasoning = "high"
|
||||
permissions = "read-only"
|
||||
can_spawn = ["go_route", "openrouter_route"]
|
||||
max_active = 1
|
||||
trust = "high"
|
||||
verification = "always"
|
||||
instructions = "agents/route-observer.md"
|
||||
|
||||
[agents.go_route]
|
||||
description = "Primary OpenCode Go observation of DeepSeek V4 Pro"
|
||||
model = "opencode_go_openai_chat__deepseek_v4_pro"
|
||||
reasoning = "high"
|
||||
allowed_reasoning_efforts = ["high", "max"]
|
||||
execution_mode = "turn"
|
||||
stall_warning_seconds = 1800
|
||||
finalization_grace_seconds = 600
|
||||
permissions = "read-only"
|
||||
backends = ["mcp"]
|
||||
can_spawn = []
|
||||
max_active = 1
|
||||
allowed_task_kinds = ["analysis", "route_probe"]
|
||||
trust = "high"
|
||||
verification = "always"
|
||||
contract_enforcement = "strict"
|
||||
output_contract = "contracts/route-observation.json"
|
||||
instructions = "agents/route-probe.md"
|
||||
|
||||
[agents.openrouter_route]
|
||||
description = "Shadow observation through OpenRouter with fallback disabled and DeepSeek serving pinned"
|
||||
model = "openrouter_openai_chat__deepseek_deepseek_v4_pro"
|
||||
reasoning = "high"
|
||||
allowed_reasoning_efforts = ["high", "xhigh"]
|
||||
execution_mode = "turn"
|
||||
stall_warning_seconds = 1800
|
||||
finalization_grace_seconds = 600
|
||||
permissions = "read-only"
|
||||
backends = ["mcp"]
|
||||
can_spawn = []
|
||||
max_active = 1
|
||||
allowed_task_kinds = ["analysis", "route_probe"]
|
||||
trust = "high"
|
||||
verification = "always"
|
||||
contract_enforcement = "strict"
|
||||
output_contract = "contracts/route-observation.json"
|
||||
instructions = "agents/route-probe.md"
|
||||
|
||||
[agents.route_observer.controls.go_route]
|
||||
actions = ["inspect", "trace", "steer", "interrupt", "pause", "continue", "detach", "stop", "finalize", "compact", "respond", "set_effort", "fork"]
|
||||
|
||||
[agents.route_observer.controls.openrouter_route]
|
||||
actions = ["inspect", "trace", "steer", "interrupt", "pause", "continue", "detach", "stop", "finalize", "compact", "respond", "set_effort", "fork"]
|
||||
|
||||
[coordination]
|
||||
mode = "matched_route_resilience_experiment"
|
||||
orchestration = "mcp"
|
||||
max_active_agents = 3
|
||||
max_depth = 1
|
||||
max_children_per_agent = 2
|
||||
max_active_writers = 0
|
||||
reject_ancestor_role = true
|
||||
wait_policy = "dependency_only"
|
||||
write_conflict_policy = "reject"
|
||||
contradiction_policy = "primary_evidence"
|
||||
result_visibility = "session"
|
||||
@@ -0,0 +1,24 @@
|
||||
schema_version = 8
|
||||
|
||||
[[tasks]]
|
||||
agent = "route_observer"
|
||||
task_kind = "analysis"
|
||||
task = "Inspect the two route bindings and explain which identity and failure facts must come from supervisor telemetry."
|
||||
mode = "read-only"
|
||||
wall_timeout_seconds = 600
|
||||
|
||||
[[tasks]]
|
||||
agent = "go_route"
|
||||
task_kind = "route_probe"
|
||||
task = "Read config/catalog.toml and state the DeepSeek V4 Pro upstream ID plus one exact repository evidence location. Return only route-observation JSON and set self_reported_serving_provider to null."
|
||||
backend = "mcp"
|
||||
mode = "read-only"
|
||||
wall_timeout_seconds = 900
|
||||
|
||||
[[tasks]]
|
||||
agent = "openrouter_route"
|
||||
task_kind = "route_probe"
|
||||
task = "Read config/catalog.toml and state the DeepSeek V4 Pro upstream ID plus one exact repository evidence location. Return only route-observation JSON and set self_reported_serving_provider to null."
|
||||
backend = "mcp"
|
||||
mode = "read-only"
|
||||
wall_timeout_seconds = 900
|
||||
Reference in New Issue
Block a user