v1 makes one Sonnet call per obligation, ~71 calls per run. Batching 4–8 obligations per call would reduce API overhead by ~10× while preserving structured output. Trade-off: failure handling becomes per-batch rather than per-obligation, and prompt caching benefits diminish if the per-call payload becomes the dominant cost. Worth measuring before committing. Tracked for v2.
v1 makes one Sonnet call per obligation, ~71 calls per run. Batching 4–8 obligations per call would reduce API overhead by ~10× while preserving structured output. Trade-off: failure handling becomes per-batch rather than per-obligation, and prompt caching benefits diminish if the per-call payload becomes the dominant cost. Worth measuring before committing. Tracked for v2.