# Invocation Contract ## 1. Minimum Runtime Input ```yaml runtime_id: viewpoint-discussion-distillation source_document_path: source_type: round_boundary_rule: intended_use: viewpoint-development output_workspace_path: lossless_requirement: true allow_topic_overlap: true writing_handoff_required: optional model_mining_required: optional no_simulation_requirement: true human_confirmation_required_before: - final_topic_map - source_disposable_claim - writing_workbench_handoff - downstream_task_routing ``` ## 2. Run Directory Contract ```text {workspace}/ README.md 00-source-map.md 01-topic-map.md 02-material-routing-log.md 03-run-notes.md topics/ audits/ model-mining/ handoff/ invocations/ ``` ## 3. Invocation Directory Contract ```text invocations/ conversation-segmentation/ topic-discovery-router/ evidence-routing-and-topic-doc-builder/ lossless-coverage-auditor/ ``` Subdirectories may be split by range: ```text conversation-segmentation/R01/ conversation-segmentation/R02/ ``` ## 4. Blocked State Use this state when the run cannot accept a participant output: ```text blocked_waiting_for_participant_output ``` Record the reason in `03-run-notes.md` or the relevant invocation directory.