e72051a9ea
Two robustness fixes for LLM-emitted artifact stages (e.g. freestyle analyst/ architect) that were exhausting their retry budget on weak models: 1. emit_artifact meta-tool: stages with an LLM-emitted slot now expose an emit_artifact tool whose parameters ARE the artifact's JSON schema, giving the model a structured tool-call channel to produce the artifact instead of a free-form final message. Sidesteps llama.cpp's grammar+tools incompatibility (the artifact can't be grammar-constrained while tools are present). The call's arguments are captured as the artifact content. 2. Actionable retry feedback: validation rejection now surfaces the concrete error messages (e.g. 'required property summary missing') as the stage failure reason instead of a bare 'validation failed', so the retry-feedback entry tells the model what to fix.