🧾 Replit Agent prompt – copy/paste this Paste everything below into the Replit Agent box: Prompt for Replit Agent – Fix retention pen customer name You’re in my Replit project “Audi Finance Renewal App” (FastAPI). Goal: Fix /api/retention-pen so the Customer column on the dashboard shows the real customer_name from the view v_retention_book_current, not the vehicle model. We already know the view has these columns: payments_remaining payment_month customer_name reg agreement_number At the moment, the implementation of fetch_retention_pen() in app/db.py is building the response by mapping model/reg into customer_name and agreement_number. Please remove that hack and use the actual view columns. Steps Open app/db.py and find the function: async def fetch_retention_pen(...) Update the SQL query for this function so it selects exactly these columns from v_retention_book_current: SELECT customer_name, reg, payments_remaining, payment_month, agreement_number FROM v_retention_book_current ORDER BY payment_month ASC, payments_remaining ASC; Use the existing asyncpg connection/pool pattern already in the file. Update the Python mapping so each row is returned as: { "customer_name": row["customer_name"], "reg": row["reg"], "payments_remaining": row["payments_remaining"], "payment_month": row["payment_month"], "agreement_number": row["agreement_number"], } Do not derive customer_name from model or agreement_number from reg any more. Leave the function name and endpoint signature unchanged so /api/retention-pen keeps working with the existing frontend. Test the endpoint from the shell: curl -s http://localhost:8000/api/retention-pen | jq | head Confirm that the JSON now shows real customer_name values (not “Audi A3 / Q3 ESTATE”) and contains the keys: customer_name reg payments_remaining payment_month agreement_number Reload the dashboard (/) and verify that in the Retention Pen – Next 60 Days table, the Customer column now shows actual customer names. Finally, summarise the exact code changes you made (file + short note).