{"agent":"claude","input":"Add graceful shutdown to this Axum service. Read Cargo.toml, Cargo.lock, src/main.rs, src/http/mod.rs, src/config.rs, .env.sample and README.md first and keep the Axum, hyper and tokio versions the lockfile has. Add the tokio signal and time features, a shutdown future that resolves on SIGINT or SIGTERM, and pass it to the server's with_graceful_shutdown. After serve returns, close the Postgres pool, and bound the whole drain with a timeout read from a new config field with a sensible default. Split serve so a test can pass its own listener and shutdown future without changing main's behaviour. Add an integration test that starts the server on port zero against Postgres from DATABASE_URL, holds a request in flight, triggers shutdown, and asserts the request completes, new connections are refused and the task returns before the deadline. Run cargo build, cargo test and cargo clippy, then send a real SIGTERM to the running binary with a request open and keep the log output. Open a pull request with the test output and the signal run.","resources":[{"url":"https://github.com/your-org/your-app"}]}