When is_init=true, no user message was being added to history before
calling the LLM. Gemini requires at least one user turn — without it
the API returned "contents are required" and Atlas never sent its
opening greeting. Now adds the init message marked internally so it's
sent to the LLM but filtered out of returned/stored history.
Made-with: Cursor
- Add web_search to ATLAS_TOOLS filter (was only finalize_prd)
- Add Tools Available section to atlas prompt so it knows when/how to use it
Made-with: Cursor
- Add opening message instruction to atlas prompt
- Handle isInit flag in atlasChat() to not store the greeting trigger
as a user turn in conversation history
- Update server.ts to pass is_init through to atlasChat()
Made-with: Cursor