ion">Explanation</h3>
<ol>
<li><strong>prepAsync(sharedState)</strong> grabs the file content from <code>sharedState.data[filename]</code>.  </li>
<li><strong>execAsync(prepResult)</strong> calls an LLM to summarize the text.  </li>
<li>Any error triggers <strong>retry</strong> logic. If all retries fail, <strong>execFallbackAsync()</strong> is called, returning a fallback value.  </li>
<li>Finally, <strong>postAsync(sharedState, prepResult, execResult)</strong> writes the summary to <code>sharedState.summa