"""显式任务类型驱动的装配器；不是语义分类器，也不会执行 Skill 脚本。"""
from contracts import digest

RULES = {
    "base": "只使用当前任务提供的来源；未核验事实保持未知。",
    "order-report": "报告保留订单和政策标识；候选经验证后再交付。",
}

def assemble(task_kind):
    if task_kind != "order_report":
        raise ValueError("unsupported_task_kind")
    # 顺序是本应用的配置约定，不宣称是所有模型通用的指令优先级。
    chosen = ["base", "order-report"]
    return {
        "instructions": [RULES[key] for key in chosen],
        "manifest": [{"id": key, "version": "1", "hash": digest(RULES[key])} for key in chosen],
        "toolset": "report-tools-v1",
    }

if __name__ == "__main__":
    print(assemble("order_report"))
