#!/usr/bin/env python3
import json
from concurrent.futures import ThreadPoolExecutor
from pathlib import Path


tasks = {
    "course": "公开课覆盖Agent基础与框架",
    "protocol": "协议需要按通信边界区分",
    "reliability": "环境终态比模型自述更可靠",
}


def worker(item):
    name, finding = item
    return {"worker": name, "finding": finding, "private_context_units": 100}


with ThreadPoolExecutor(max_workers=3) as pool:
    findings = list(pool.map(worker, tasks.items()))

manager_summary = "；".join(item["finding"] for item in findings)
result = {
    "pattern": "parallel_workers_with_manager",
    "workers": findings,
    "shared_manager_context_units": 150,
    "estimated_total_context_units": sum(item["private_context_units"] for item in findings) + 150,
    "naive_shared_history_units": 1200,
    "summary": manager_summary,
    "terminal": "success",
}
Path(__file__).with_name("experiment-result.json").write_text(
    json.dumps(result, ensure_ascii=False, indent=2) + "\n", encoding="utf-8"
)
print(json.dumps(result, ensure_ascii=False, indent=2))
