componentsfix(agenda): the opening divider is a node now, not a decoration The rule between the agenda's opening and its first section was a widget decoration anchored to whatever the first heading happened to be. Pressing Enter at the start of a heading splits it into an empty paragraph plus the heading, the decoration re-anchored, and the new line landed ABOVE the rule; Backspace could never remove it, because there was nothing in the document to remove. It is a real `horizontalRule` node now — `---` in the grammar, both directions, on the client and the server. The PARSER writes it rather than the agent, which keeps the reason it was derived in the first place (one less token to forget, misplace or emit twice) while making it something the user owns: the caret sits beside it, Enter splits below it, Backspace deletes it, and a deletion sticks. Opt-in per surface, because the conversation agenda shares this grammar and has no opening half for a seam to separate. The three no-rule cases still fall out rather than being special-cased. Existing agendas gain it the next time markdown becomes JSON — the round-trip is the migration, as it is for taskGroupSection. Co-Authored-By: Claude Opus 5 (1M context) <<email>>Sep 2, 2026, 3:13 PMdeepDebuggerrefactor(debugger): suffix all debugger tabs with DebuggerTab Rename every tab in the debugger module from XxxTab to XxxDebuggerTab so they no longer collide by name with real feature tabs (e.g. the conversations timeline TimelineTab). Co-Authored-By: Claude Opus 4.8 (1M context) <<email>>Jun 15, 2026, 1:02 PMtypesrefactor: remove unused cedar-os slices\Feb 26, 2026, 11:06 PMindex.tsrefactor(debugger): suffix all debugger tabs with DebuggerTab Rename every tab in the debugger module from XxxTab to XxxDebuggerTab so they no longer collide by name with real feature tabs (e.g. the conversations timeline TimelineTab). Co-Authored-By: Claude Opus 4.8 (1M context) <<email>>Jun 15, 2026, 1:02 PM