You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/API.md
+6-1Lines changed: 6 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -172,12 +172,16 @@ Primary assistant surface for conversation and note authoring.
172
172
- The page may show a persisted conversation list so an older chat can be resumed without leaving `/chat`.
173
173
- Starting a new chat does not require deleting older conversations.
174
174
- The composer remains a single unified entry point rather than a primary mode switcher.
175
+
- The initial chat mode defaults to inference-first `Auto`.
175
176
- The UI may expose compact create/update override controls near the composer, but inference is the default routing path.
177
+
- The chat surface may render those override controls and the model picker inside the composer chrome rather than as a separate top toolbar.
176
178
-`/chat` is the sole note-authoring entry point for new notes; there is no dedicated new-note page.
177
179
- If the assistant detects a strong match to an existing note, the page may surface that note inline and offer research or review actions without forcing an immediate update flow.
180
+
- For topic-learning prompts in `Auto` mode that do not strongly match an existing saved note, the assistant may return both a conversational answer and a `create_note` proposal so the user can add the topic to notes immediately.
178
181
- The page may render create/update proposals as editable inline draft panels and delete proposals as explicit confirmation cards.
179
182
- The page submits full conversation state to `POST /api/assistant/respond`.
180
183
- Provider/model options come from the server-side registry in `src/lib/server/ai/models.ts`.
184
+
- The UI should continue to initialize provider/model state from those server-supplied defaults rather than introducing visual-only overrides.
181
185
- Respond-time prompt grounding also includes the shared canonical note-category list and a bounded deterministic list of existing lower-case note tags so create/update drafts reuse established taxonomy when possible.
182
186
- Assistant proposals must follow the standard note skeleton from `docs/NOTES.md`: `Overview`, `Description`, `Key Concepts`, `Connections`, and `Resources`, with only the approved optional sections allowed between `Key Concepts` and `Connections`.
183
187
- Assistant prompts also keep `Overview` brief, treat `Description` as the main explanatory section, prefer evergreen explanation over release-churn unless `Version Notes` is warranted, and ban deprecated default headings like `Current Status`, `Notable Features`, `Quick Examples`, and `Industry Usage`.
@@ -187,7 +191,8 @@ Primary assistant surface for conversation and note authoring.
187
191
- Assistant responses may include a structured proposal for `create_note`, `update_note`, or `delete_note`.
188
192
- Create/update proposals render as editable draft panels in chat before save.
189
193
- Delete proposals render as explicit confirmation UI.
190
-
- Live web citations may be shown in chat review, but are not persisted as dedicated source metadata.
194
+
- Live web citations may be shown in chat review as a collapsed sources disclosure, but are not persisted as dedicated source metadata.
195
+
- The chat UI should cap visible source links to a small primary set rather than dumping the full research result list into the thread.
191
196
- Persisted chat history stores the app-owned transcript, not provider-managed hidden conversation state.
192
197
- Resuming a conversation reconstructs the `messages` payload from saved chat history before calling the assistant again.
193
198
- The response payload also includes `routing`, which exposes the resolved mode, matched note, target note, and override source so the chat UI can show the selected branch without inferring it client-side.
Copy file name to clipboardExpand all lines: docs/ARCHITECTURE.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -164,6 +164,7 @@ The dedicated `/notes/new` route has been removed; new-note authoring stays insi
164
164
- resolving current note context for update flows before prompting the model
165
165
- deriving an explicit delete target only when the user clearly asks to delete a selected or strongly matched saved note
166
166
- deciding whether the assistant should answer conversationally only or also return a structured proposal
167
+
- allowing eligible topic-learning prompts in inference-first chat mode to return a conversational answer plus a create-note proposal when no strong saved-note match exists
167
168
- normalizing proposal payloads before they return to the UI
[ ................................][ composer remains the primary entry point ............... ]
176
177
```
177
178
178
179
The assistant must be able to:
@@ -182,6 +183,18 @@ The assistant must be able to:
182
183
- request confirmation for deletion
183
184
- reopen a saved conversation transcript
184
185
186
+
Chat layout rules:
187
+
- The initial chat state defaults to inference-first `Auto`.
188
+
- Empty chat should usea centered, minimal entry state rather than a large explanatory card.
189
+
- Remove non-essentialtop-of-page copy and status pills; the page should not open with a heavy header block.
190
+
- The composer should sit in a centered narrow column rather than stretching like afull-width dashboard dock.
191
+
- The conversation text bar should be materially smaller than the current wide dock treatment: reduced width, reduced height, reduced padding, and a calmer send affordance.
192
+
- The model selector should stay visible in the composer chrome, while provider switching becomes a quieter secondary control.
193
+
- `Auto`, `Create`, and `Update` should read like compact skill toggles attached to the composer rather than a separate toolbar, and should be visually smaller than the main prompt surface.
194
+
- The update target picker should appear only when `Update` is active, anchored directly under the composer.
195
+
- The main chat surface should not be wrapped in a generic dashboard-style container component; the conversation area itself stays visually open.
196
+
- Chat should follow the modern AI-reference layout rhythm from `references/UI/chat-example.png`, translated through Techy's tokens and type system rather than copied literally.
197
+
185
198
### Assistant Proposal Panel
186
199
187
200
For `create_note` and `update_note` proposals, render an editable draft panel inline in chat.
@@ -255,6 +268,9 @@ The top nav has been replaced with a collapsible left rail (`<nav class="rail">`
255
268
- In Update mode, afull-widthnote-picker `<select>` appears below the toolbar for choosing the note to review
256
269
- Send is disabled in Update mode until a note is selected
257
270
- Add provider/model selection controls
271
+
- Composer chrome is constrained to a centered narrow width on desktop rather than spanning the full conversation column
272
+
- Model remains the primary visible selector; provider stays visible but smaller and quieter
273
+
- The composer helper copy is minimized; in `Auto` mode the composer does not need an always-visible explanatory sentence
258
274
- Render assistant citations and proposal panels inline
259
275
- Use Melt for selectors, confirmation affordances, and disclosure-style interaction where it improves accessibility
260
276
- Selecting a saved conversation restores its transcript; resuming it should not depend on provider-side hidden memory
Copy file name to clipboardExpand all lines: docs/STYLE-GUIDE.md
+18-3Lines changed: 18 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -136,11 +136,19 @@ Rules:
136
136
- keep citations assistive and low-noise
137
137
- inferred create/update behavior must not break normal conversation
138
138
- persisted chat history should feel like a quiet notebook index, not a busy support inbox
139
+
- default the chat entry state to inference-first `Auto`
140
+
- reduce page-header copy to the minimum needed; avoid stacked title, eyebrow, lede, and status-pill clutter
141
+
- keep the empty state centered and composer-led rather than explaining the product through cards
142
+
- keep the model control inline with the composer chrome and demote provider switching to a quieter secondary control
143
+
- style `Auto`, `Create`, and `Update` as compact skill-like toggles attached to the composer
144
+
- avoid wrapping the main chat surface in a large generic card or dashboard shell
145
+
- let the transcript feel flatter and more editorial than the current rounded-component treatment
139
146
140
147
Recommended desktop arrangement:
141
148
- a restrained history rail or drawer for recent chats
142
149
- centered conversation column
143
-
- assistant controls near the composer
150
+
- minimal brand/title above the composer in the empty state
151
+
- assistant controls integrated into the composer chrome
144
152
- inline editable proposal panel for create/update
145
153
- optional secondary context region later, but not required for the first pass
146
154
@@ -195,19 +203,26 @@ Rules:
195
203
- keep the composer persistent and obvious
196
204
- keep the chat surface unified and inference-first
197
205
- expose create/update as compact override controls rather than the primary mental model
198
-
- show provider/model controls without turning the toolbar into a cockpit; keep the controls compact and adjacent to the composer
206
+
- keep the composer visually narrower and calmer than the full route width; it should feel like a centered prompt instrument, not a dashboard dock
207
+
- show provider/model controls without turning the composer into a cockpit; keep the controls compact, smaller than the prompt field, and adjacent to it
199
208
- let users resume prior conversations without making chat history the dominant visual element
200
209
- render note proposals inline as editable review surfaces
201
210
- when a strong existing-note match is found, surface it inline and offer further research or review without abruptly switching the user into an edit flow
202
-
- show citations during review without overwhelming the draft itself
211
+
- show citations during review without overwhelming the draft itself; prefer a collapsed low-noise sources disclosure over inline source dumps
203
212
- keep delete confirmation compact and deliberate
204
213
- store and present the app-owned transcript as the canonical history view; do not expose provider-specific hidden memory concepts in the UI
214
+
- favor a modern AI-chat composition with a centered entry state and composer-led control surface, translated into Techy's typography, tokens, and spacing system
215
+
- keep the initial selected mode on `Auto`; explicit create/update remain available as hard overrides, not as the default mental model
216
+
- keep the model default sourced from the provider registry; do not introduce hardcoded visual-only model defaults in the chat page
217
+
- keep the chat shell in the route surface for this pass; do not introduce a wrapper component that re-boxes the full chat experience
218
+
- avoid persistent helper copy in `Auto` mode when the compact composer layout already communicates the interaction model
205
219
206
220
Avoid:
207
221
- making the chat UI look like a separate product
208
222
- forcing ambiguous prompts into create/update behavior without a clear signal or fallback
209
223
- turning assistant proposals into a wall of utility panels
210
224
- turning saved conversation history into a dense email-style list that competes with the current conversation
225
+
- recreating the current heavy top-of-page chat header or the `No conversation yet` explainer card
0 commit comments