Use native S-expression for recipe/plan display

- Display recipe's original S-expression when available (code is data)
- Fall back to generating S-expression from plan for legacy JSON
- Run service now prefers .sexp plan files over .json
- Add get_run_plan_sexp() for direct S-expression access

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
gilesb
2026-01-12 00:26:05 +00:00
parent f554122b07
commit 65a8170192
3 changed files with 35 additions and 9 deletions

View File

@@ -156,15 +156,17 @@
{% endfor %}
</div>
<!-- Plan S-expression -->
<!-- Recipe/Plan S-expression -->
{% if plan_sexp %}
<details class="mt-6" open>
<summary class="cursor-pointer text-gray-400 hover:text-white text-sm mb-2">
Plan (S-expression)
Recipe (S-expression)
</summary>
<div class="bg-gray-900 rounded-lg border border-gray-700 p-4 overflow-x-auto">
<pre class="text-sm font-mono sexp-code">{{ plan_sexp }}</pre>
</div>
</details>
{% endif %}
<style>
.sexp-code {