todo2code

Participant: codex (AI agent)

Understanding

OpenRouter’s App column is populated from X-OpenRouter-Title. The existing client already sends that header from config.openRouter.appName, and the env template already exposes OPENROUTER_APP_NAME. The defect is the hard-coded runtime fallback, which labels every project todo2code when the variable is missing or blank.

Execution plan

  1. Wait for explicit approval and transition the ticket to IN_PROGRESS / EDIT.
  2. Derive the default application name from the basename of resolved T2C_ROOT, retaining a defensive non-empty fallback.
  3. Add focused tests for explicit override, missing value and blank value.
  4. Run focused, full Node, governance and Docker validation.

Actual changes

Blockers