{"agent":"claude","input":"Add OpenTelemetry tracing to this Phoenix app and open a pull request. Read mix.exs, lib/hexpm/application.ex, lib/hexpm_web/endpoint.ex, lib/hexpm_web/telemetry.ex, lib/hexpm_web/bandit_telemetry.ex, lib/hexpm/prom_ex.ex, every file under config, the Dockerfile and .github/workflows/main.yml first. Add opentelemetry_api, opentelemetry, opentelemetry_exporter and the instrumentation libraries for Bandit, Phoenix, Ecto, Oban and Finch to mix.exs and run mix deps.get. In Hexpm.Application.start/2, beside the existing attach calls, set up Bandit and Phoenix tracing with the Bandit adapter, Ecto tracing on the repo's telemetry prefix, and Oban tracing. Configure the batch processor in config.exs, no exporter in test.exs, the stdout exporter in dev.exs, and in runtime.exs read OTEL_EXPORTER_OTLP_ENDPOINT and OTEL_EXPORTER_OTLP_HEADERS with System.fetch_env! like the HEXPM_ values and configure the OTLP exporter over http_protobuf. Add the release application ordering the exporter needs in mix.exs, and put the trace and span ids into Logger metadata so logger_json carries them. Start Postgres in the sandbox, run mix compile --warnings-as-errors, mix format --check-formatted and mix test, boot the app in dev, make one request and paste the span the stdout exporter prints in the pull request. Do not change controllers, PromEx plugins or Sentry configuration.","resources":[{"url":"https://github.com/your-org/your-app"}]}