Ensure OpenRouter attributes every todo2code-generated application’s usage to
the project being analysed. OPENROUTER_APP_NAME remains the explicit
override; when it is absent or blank, runtime configuration derives the title
from the basename of the resolved project root instead of using the constant
todo2code.
The OpenRouter client already sends openRouter.appName as
X-OpenRouter-Title on every /chat/completions request, and
.env.example already exposes OPENROUTER_APP_NAME=todo2code. This ticket is
therefore limited to correcting the fallback and proving its precedence. It
does not change the Codex model, OpenRouter routing, credentials, provider
selection or the /models discovery request.
OPENROUTER_APP_NAME remains the exact application
title used by runtime configuration.OPENROUTER_APP_NAME falls back to
the basename of the resolved T2C_ROOT, not the constant todo2code.The human owner explicitly approved ticket-055 in the active conversation on
2026-08-08. This Markdown note records the transition to EDIT; it is not
trusted merge authorization.
After ticket-056 landed, focused tests, the complete host suite, governance,
Docker smoke, e2e-core and e2e-full all passed. Koru and Validator App
approved exact head 7aae64385a5e3b85b7127340f809b7bfaf934f33; the Validator
used openrouter/z-ai/glm-5.2 for advisory findings. Protected governance and
hosted checks passed, and PR #74 merged as
main@d0659cafa2612d5628ce9cfbc744c3e7af94d43d.