Flipped PM_NOTIFY_TO/PM_ALERT_TO Langflow variables to
Thomas.Langer@destengs.com and re-ran the example-1 e2e test. CRM
opportunity re-created (Must 86% > 85), trigger mail in Trash, no new
[Projekt-Match] mail in chancen@ INBOX, and the Langfuse trace shows
status=created/error=null proving SMTP accepted the notification for
the production recipient. Design phase complete — all 3 gates passed.
With the vLLM qwen3 reasoning parser active, json_schema guided decoding
plus thinking degenerates: runs burn the whole 65k context
(finish_reason "length", ~63k completion tokens) and return empty or
truncated content. chat_template_kwargs {"enable_thinking": false} fixes
it (extract answers in ~35 s). Also: retry chat_json up to 3x on
non-JSON content, and two prompt calibrations verified against both
gate examples — Nice signal words bind only to their own line (following
unmarked lines stay Must), and compound requirements with clear evidence
for one part rate "unknown" instead of "no".
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Langflow 1.10's Component base class defines ctx as a @property returning
the flow-level graph.context store; a DataInput named ctx is silently
shadowed at attribute access, so the edge-delivered payload never reaches
build_out(). Renamed the field in the five downstream Flow-2 wrappers;
build_flows.py edges target ctx_in.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add create_pod_langflow.sh (Langflow + Langfuse Podman pod with pinned
image versions), set-colors.sh, .gitignore, and local .claude config.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>