Commit Graph

4 Commits

Author SHA1 Message Date
772f5357a8 Fix Atlas init: add user turn so Gemini doesn't reject empty conversation
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
2026-03-17 15:56:50 -07:00
229f1fc7a3 Give Atlas access to web_search tool
- 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
2026-03-02 19:12:18 -08:00
e8fdbff9f4 Atlas: opening message, isInit flag, strip trigger from history
- 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
2026-03-02 16:55:16 -08:00
e503e4312d feat: add Atlas PRD agent for product discovery
- src/prompts/atlas.ts — full Atlas system prompt (6-phase PM discovery flow)
- src/tools/prd.ts — finalize_prd tool that signals PRD completion
- src/agents/atlas.ts — Atlas agent config (Tier A, conversational)
- src/atlas.ts — atlasChat() multi-turn session handler
- server.ts — /atlas/chat, /atlas/sessions endpoints

Made-with: Cursor
2026-03-01 15:56:26 -08:00