///|
fn research_request_text(entry : BookCatalogEntry) -> String {
let topic = research_topic_id(entry)
let display = display_topic_name(topic)
let external_domain = is_external_domain_research_topic(topic)
[
"# Research Request",
"",
"- Topic: \{display}",
"- Goal: produce a researcher-grade dossier and durable wiki coverage that is specific to \{display}, not generic scaffold text.",
"- Mode: \{research_mode_text(topic)}",
"- Research question: \{research_question_text(topic, display)}",
@research_policy.request_quality_bar_bullet(),
@research_policy.request_depth_target_bullet(),
@research_policy.request_reference_style_bullet(display),
"- Required MoonClaw worker outputs:",
research_raw_output_bullets(),
"- Required MoonBook materialization outputs after raw evidence is ready:",
research_materialization_output_bullets(),
"",
"## Execution Order",
"",
research_execution_order(external_domain).join("\n"),
"",
"## Blocking Rule",
"",
research_blocking_rules().join("\n"),
].join("\n")
}