😏
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
# Bounded Research Organization Lab
|
||||
|
||||
This lab compares two ways to research the same large corpus: a flat Sol-to-two-scout fan-out and a depth-two Kimi-to-two-scout hierarchy. MiniMax scouts, prompts, source questions, and trial tasks remain matched so the handoff itself can be evaluated.
|
||||
|
||||
Kimi may spawn at most two scouts and the whole session permits only three worker launches. The root continues repository work instead of waiting. Promotion requires evidence that synthesis quality or root productivity outweighs extra latency, duplicate work, and information lost across the additional handoff.
|
||||
|
||||
Kimi and every MiniMax scout use persistent supervised Unix app-server threads with goal/turn lifecycle, warning-only stalls, terminal history, and retained partial evidence. The root can control either layer, while Kimi can control only its scouts; detach, pause, interruption, continuation, finalization, full stop, and cancellation preserve the bounded hierarchy instead of replacing it with polling or model-authored clock checkpoints.
|
||||
@@ -0,0 +1 @@
|
||||
Remain productive on repository work while research runs. For a hierarchical trial, spawn Kimi once and let it allocate at most two bounded scouts; for a flat control, spawn the same scouts directly with identical questions. Do not mix topologies within a matched trial. Re-fetch pivotal claims, explicitly accept or reject dossiers, and measure duplicate work, handoff loss, latency, and source quality before claiming hierarchy helped.
|
||||
@@ -0,0 +1 @@
|
||||
Organize a large-source research question into at most two independent bounded scout tasks. Launch them together when useful and continue synthesizing supplied material while they run. Read and explicitly accept or reject their results. Return a source-linked synthesis that identifies handoff loss, conflicts, and claims the engineering root must re-fetch. Do not edit the repository or exceed the bounded graph.
|
||||
@@ -0,0 +1 @@
|
||||
Research one assigned question using current primary sources. Return dated URLs, retrieval timestamps, direct evidence, conflicts, and limitations. Do not broaden scope, edit files, or synthesize the parent question.
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"title": "Bounded hierarchical research synthesis",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"accepted_claims": {"type": "array", "items": {"type": "string"}, "maxItems": 100},
|
||||
"rejected_claims": {"type": "array", "items": {"type": "string"}, "maxItems": 100},
|
||||
"source_urls": {"type": "array", "items": {"type": "string", "format": "uri"}, "maxItems": 100, "uniqueItems": true},
|
||||
"handoff_loss": {"type": "array", "items": {"type": "string"}, "maxItems": 30},
|
||||
"duplicate_work": {"type": "array", "items": {"type": "string"}, "maxItems": 30},
|
||||
"root_refetch_required": {"type": "array", "items": {"type": "string"}, "maxItems": 30}
|
||||
},
|
||||
"required": ["accepted_claims", "rejected_claims", "source_urls", "handoff_loss", "duplicate_work", "root_refetch_required"]
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"title": "Bounded scout source dossier",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"question": {"type": "string", "minLength": 1},
|
||||
"claims": {"type": "array", "maxItems": 50, "items": {"type": "object", "additionalProperties": false, "properties": {"claim": {"type": "string", "minLength": 1}, "source_url": {"type": "string", "format": "uri"}, "source_date": {"type": "string", "format": "date"}, "retrieved_at": {"type": "string", "format": "date-time"}, "evidence": {"type": "string", "minLength": 1}}, "required": ["claim", "source_url", "source_date", "retrieved_at", "evidence"]}},
|
||||
"conflicts": {"type": "array", "items": {"type": "string"}, "maxItems": 30},
|
||||
"limitations": {"type": "array", "items": {"type": "string"}, "maxItems": 30}
|
||||
},
|
||||
"required": ["question", "claims", "conflicts", "limitations"]
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
schema_version = 8
|
||||
id = "bounded-research-organization-lab"
|
||||
version = "8.0.0"
|
||||
display_name = "Bounded Research Organization Lab"
|
||||
description = "An experimental Sol root compares flat research fan-out with a strictly bounded Kimi-led hierarchy over long source corpora."
|
||||
tags = ["research", "nested-delegation", "long-context", "lab"]
|
||||
maturity = "lab"
|
||||
root = "engineering_root"
|
||||
smoke = "smoke.toml"
|
||||
|
||||
[agents.engineering_root]
|
||||
kind = "root"
|
||||
description = "Productive repository engineer and final evidence adjudicator"
|
||||
model = "codex_chatgpt_builtin__gpt_5_6_sol"
|
||||
reasoning = "high"
|
||||
allowed_reasoning_efforts = ["medium", "high", "xhigh", "max"]
|
||||
execution_mode = "goal"
|
||||
goal_token_budget = 500000
|
||||
max_goal_token_budget = 800000
|
||||
stall_warning_seconds = 3600
|
||||
finalization_grace_seconds = 1800
|
||||
plan_reasoning = "high"
|
||||
permissions = "workspace-write"
|
||||
can_spawn = ["research_lead", "source_scout"]
|
||||
max_active = 1
|
||||
trust = "high"
|
||||
verification = "always"
|
||||
instructions = "agents/engineering-root.md"
|
||||
|
||||
[agents.research_lead]
|
||||
description = "Long-context Kimi research organizer with exactly two possible child scouts"
|
||||
model = "opencode_go_openai_chat__kimi_k3"
|
||||
reasoning = "max"
|
||||
allowed_reasoning_efforts = ["max"]
|
||||
execution_mode = "goal"
|
||||
goal_token_budget = 300000
|
||||
max_goal_token_budget = 500000
|
||||
stall_warning_seconds = 1800
|
||||
finalization_grace_seconds = 1800
|
||||
permissions = "read-only"
|
||||
backends = ["mcp"]
|
||||
can_spawn = ["source_scout"]
|
||||
max_active = 1
|
||||
max_children = 2
|
||||
allowed_task_kinds = ["research_organization", "research_synthesis"]
|
||||
trust = "high"
|
||||
verification = "root_adjudication"
|
||||
network_access = false
|
||||
web_search = "live"
|
||||
contract_enforcement = "strict"
|
||||
output_contract = "contracts/research-synthesis.json"
|
||||
instructions = "agents/research-lead.md"
|
||||
|
||||
[agents.source_scout]
|
||||
description = "Bounded MiniMax source scout usable in either flat or hierarchical trials"
|
||||
model = "opencode_zen_openai_chat__minimax_m3"
|
||||
reasoning = "none"
|
||||
allowed_reasoning_efforts = ["none"]
|
||||
execution_mode = "turn"
|
||||
stall_warning_seconds = 1800
|
||||
finalization_grace_seconds = 900
|
||||
permissions = "read-only"
|
||||
backends = ["mcp"]
|
||||
can_spawn = []
|
||||
max_active = 2
|
||||
allowed_task_kinds = ["research", "source_verification"]
|
||||
trust = "high"
|
||||
verification = "always"
|
||||
network_access = false
|
||||
web_search = "live"
|
||||
contract_enforcement = "strict"
|
||||
output_contract = "contracts/source-dossier.json"
|
||||
instructions = "agents/source-scout.md"
|
||||
|
||||
[agents.engineering_root.controls.research_lead]
|
||||
actions = ["inspect", "trace", "steer", "interrupt", "pause", "continue", "detach", "stop", "finalize", "compact", "respond", "set_effort", "fork"]
|
||||
|
||||
[agents.engineering_root.controls.source_scout]
|
||||
actions = ["inspect", "trace", "steer", "interrupt", "pause", "continue", "detach", "stop", "finalize", "compact", "respond", "set_effort", "fork"]
|
||||
|
||||
[agents.research_lead.controls.source_scout]
|
||||
actions = ["inspect", "trace", "steer", "interrupt", "pause", "continue", "detach", "stop", "finalize", "compact", "respond", "set_effort", "fork"]
|
||||
|
||||
[coordination]
|
||||
mode = "bounded_hierarchical_research_experiment"
|
||||
orchestration = "mcp"
|
||||
max_active_agents = 4
|
||||
max_depth = 2
|
||||
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 = "ancestors"
|
||||
@@ -0,0 +1,24 @@
|
||||
schema_version = 8
|
||||
|
||||
[[tasks]]
|
||||
agent = "engineering_root"
|
||||
task_kind = "analysis"
|
||||
task = "Inspect this lab read-only and contrast the matched flat and bounded hierarchical trial topologies."
|
||||
mode = "read-only"
|
||||
wall_timeout_seconds = 600
|
||||
|
||||
[[tasks]]
|
||||
agent = "research_lead"
|
||||
task_kind = "research_synthesis"
|
||||
task = "Without spawning for this smoke task, synthesize the supplied profile README into the required research-synthesis JSON and identify what the root must independently verify."
|
||||
backend = "mcp"
|
||||
mode = "read-only"
|
||||
wall_timeout_seconds = 900
|
||||
|
||||
[[tasks]]
|
||||
agent = "source_scout"
|
||||
task_kind = "research"
|
||||
task = "Verify one current Python documentation claim from a primary source and return only the dated source-dossier JSON."
|
||||
backend = "mcp"
|
||||
mode = "read-only"
|
||||
wall_timeout_seconds = 900
|
||||
Reference in New Issue
Block a user