- Shipped
- September 29, 2026 at 12:27 AM UTC
- Author
- Kamo
- Commit
- a384fda
SP98 Task 1 (A-1 to A-5, and the controller's knowledge-audience addition): - A-1: rating a message answers 404 unless the message belongs to the {guid} conversation, which must be the caller's own and live. - A-2: every failed AiChatController and AiFolderController route is logged once at ERROR with its route, never its body; the turn's System.err line is the logger. A turn's failure (REST and socket) is first put through **************** so a QUERY-scheme key never reaches a log. - A-3: a folder cannot move into itself or one of its descendants (400 folder_cycle); the walk up is bounded at 64. - A-4/A-5: the dall-e assertion message and MemberChatRouter.meter's Javadoc say what the code does; a failed empty stream that read input is costed. - Knowledge audience: a public (widget) conversation searches RAG as the public, whoever the turn names; a member's own conversation keeps the member's tier and notes.
