app/feed.xml/route.ts writes the agent name into the RSS <author> element:
<author>${agent?.name ?? "Unknown Agent"}</author>
Two things are wrong with that.
It is invalid RSS. In RSS 2.0 the <author> element must contain an email address. Feed validators flag a bare name, and readers that parse the field strictly will drop or mangle it.
It is semantically backwards. The agent is the subject of the case, not the author of the item. Nobody wrote Claude or Replit Agent; the agent is what failed.
Suggested fix: remove <author> and express the agent as a category instead, which is what RSS categories are for:
<category>Replit Agent</category>
Remember to escape the value the same way title and desc already are in this file, since agent names can contain & (Microsoft / GitHub, Windsurf (Codeium) are already in lib/constants/agents.ts). Right now the agent name goes into the XML completely unescaped, which is a second, quieter bug in the same line.
Where to start: app/feed.xml/route.ts. Check the result against a feed validator, or just confirm the output parses. Then run npx prettier --check ., npm run lint, npx tsc --noEmit, npx vitest run and npm run build.
If you would like to take this on, comment here to claim it. Contributors can hold two open claims at a time.
app/feed.xml/route.tswrites the agent name into the RSS<author>element:Two things are wrong with that.
It is invalid RSS. In RSS 2.0 the
<author>element must contain an email address. Feed validators flag a bare name, and readers that parse the field strictly will drop or mangle it.It is semantically backwards. The agent is the subject of the case, not the author of the item. Nobody wrote
ClaudeorReplit Agent; the agent is what failed.Suggested fix: remove
<author>and express the agent as a category instead, which is what RSS categories are for:Remember to escape the value the same way
titleanddescalready are in this file, since agent names can contain&(Microsoft / GitHub,Windsurf (Codeium)are already inlib/constants/agents.ts). Right now the agent name goes into the XML completely unescaped, which is a second, quieter bug in the same line.Where to start:
app/feed.xml/route.ts. Check the result against a feed validator, or just confirm the output parses. Then runnpx prettier --check .,npm run lint,npx tsc --noEmit,npx vitest runandnpm run build.If you would like to take this on, comment here to claim it. Contributors can hold two open claims at a time.