Skip to content

Langfuse (optional)

Langfuse is entirely optional. Leave the LANGFUSE_* variables unset and the bot runs fully offline — everything core still works: all commands, locator grounding, the LLM judge, deterministic scorers, self-repair, and results-level learning (best cases are read from local runs/<id>/report.json).

Set all three variables (all-or-nothing) — works with Langfuse cloud or self-hosted:

LANGFUSE_BASE_URL=https://cloud.langfuse.com
LANGFUSE_PUBLIC_KEY=pk-lf-...
LANGFUSE_SECRET_KEY=sk-lf-...
  • Tracing — every step of every run (observe → ground → design → generate → judge) as spans.
  • Prompt management — built-in prompts can be served from Langfuse (ADR 0004); local ./prompts/*.md overrides still win.
  • Score history — scorer and judge outputs attached to traces.
  • Decision layer (0.8.0+, optional):
    • Each decider call is a decider.<use> span with a decider.<use>.confidence score.
    • A fallback is a WARNING span with its reason.
    • In shadow mode, decider.coverage.agreement compares the decider with the LLM judge.
    • explore and design are traced; automate is not.