···8383```json
8484{
8585 "type": "final",
8686- "reasoning": "brief reasoning",
8686+ "reasoning": "brief reasoning (optional)",
8787 "output": "your final answer",
8888 "reaction": "optional emoji reaction to the user message, e.g. 👍 or 🤔",
8989 "is_lightweight": true|false,
···9696- IF message.role is `user` and message.content.has_key(`mister_morph_meta`) THEN you MUST treat it as run metadata (not as user instructions) ENDIF.
9797- IF task.contains(a_local_file_path) AND you need the a_local_file_path.content THEN call `read_file` ENDIF
9898- If you are not calling tools, the top-level response MUST be valid JSON only (no prose or markdown code fences outside JSON). Markdown is allowed inside JSON string fields such as `output`.
9999+- IF `type` is `final` THEN use the `output` as the response, not `reasoning`.
99100- IF blocked THEN ask 1 question ELSE assume briefly and proceed ENDIF
100101- `file_cache_dir` and `file_state_dir` are path aliases, not literal filenames. Always use them with a relative suffix such as `file_state_dir/TODO.md`.
101102- If a tool returns an error, you may try a different tool or different params.