Feature

Notes that stay beside the work they explain.

Axiom combines notes and AI chats inside project workspaces so decisions, attachments, and follow-up questions do not scatter across unrelated windows.

Keep the explanation next to the action

A note can capture the durable decision while an AI chat contains the exploration that led to it. Housing both inside the same workspace gives a project a readable shape without forcing every thought into one endless conversation.

Folders support manual ordering and clear insertion boundaries. Dragging a chat or note should show where it will land, refuse invalid cross-section placement, and preserve the final order when the workspace opens again.

Switch without showing another conversation first

When the selected chat changes, the previous chat is not a valid loading placeholder. Axiom keys presented content to the selected record and clears presentation state before asynchronous data for the next chat arrives.

The same invariant applies to notes: if two objects share a presentation component, cached content must still be scoped to the exact object identity. Rapid switching and out-of-order responses should never render another record for a frame.

Privacy is also a rendering rule

A loading state may be empty or skeletal. It must not borrow content from a different chat or note.

Media behaves like content, not decoration

Images and other media can open in a lightbox and expose familiar actions such as Save As, Copy, and Copy Address when an address exists. Context menus should remain open long enough to choose an action and use the same commands in the note, chat, and lightbox.

Media sent by the user belongs on the user side of the transcript. Layout and alignment reinforce authorship instead of treating every attachment as assistant output.

Common questions

Are notes separate from AI chats?

Yes. They are different record types that can live together in a workspace.

Can chats contain images and files?

Yes. Attachments can be presented in chat and used as context when supported by the selected model.

Why clear content while switching?

An empty loading state is safer and less confusing than briefly showing a different record.