Add conversational blueprint agent flow#23
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e9b196c757
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| function detectSignals(input: string): Signals { | ||
| const text = input.toLowerCase(); | ||
| const has = (...words: string[]) => words.some((w) => text.includes(w)); | ||
| const isAI = has("ai", "agent", "rag", "llm", "chatbot", "copilot", "model", "prompt"); |
There was a problem hiding this comment.
Match AI intent on token boundaries
The AI detector uses text.includes("ai"), which matches unrelated words like “paid” or “email” and flips isAI to true for non-AI ideas. That cascades into AI-specific defaults (model provider, RAG assumptions, compliance/security posture, etc.), so users can get materially incorrect proposals from ordinary product descriptions. Use word-boundary/token-based matching for short keywords like ai.
Useful? React with 👍 / 👎.
| if (isPlainObject(current) && isPlainObject(value)) { | ||
| expanded[key] = deepMerge(current, value); | ||
| } else { |
There was a problem hiding this comment.
Apply proposals against latest project state
This expands each proposal into a full top-level object using the project snapshot captured at generation time; if the user edits fields in that same domain before clicking apply, updateProject later replaces the domain with stale values and silently loses those newer edits. This is reproducible whenever proposal generation and manual edits happen in the same session before apply. Keep proposal patches sparse and merge against the latest store state at apply time.
Useful? React with 👍 / 👎.
| ["market.", "market"], | ||
| ["experience.", "experience"], | ||
| ["platform.", "platform"], | ||
| ["functional.", "functional"], |
There was a problem hiding this comment.
Map feature updates to the features step
Because domainFromPath matches functional. first and there is no explicit mapping for functional.features, feature proposals are classified as functional rather than features. In focused modes on the Features step (focusStep === "features"), those updates get filtered out, and touched-domain progress will also miss the Features domain. Add a specific functional.features mapping before the generic functional. rule.
Useful? React with 👍 / 👎.
Summary
Verification