Skip to content

feat: /topic lists known topics + shared memory clarification#89

Merged
royosherove merged 1 commit intomainfrom
feat/topic-sessions
May 10, 2026
Merged

feat: /topic lists known topics + shared memory clarification#89
royosherove merged 1 commit intomainfrom
feat/topic-sessions

Conversation

@royosherove
Copy link
Copy Markdown
Member

Enhances /topic to show all known topics from memory-state dir. Fixes underscore encoding in display. Memory (MEMORY.md, daily notes) is shared across all topics.

When /topic is called with no args, it now scans ~/.roundhouse/memory-state/
for existing topic sessions and shows them:

  📂 Current topic: deploy
  Known topics: deploy, debug, planning
  Switch with: /topic <name>

Also clarifies: long-term memory (MEMORY.md, daily notes) is already
shared across all topics — each topic gets full memory on first turn.
Per-topic state is only injection tracking (has memory been injected yet).

403 tests green.
@royosherove royosherove force-pushed the feat/topic-sessions branch from b9a9eee to 744ce80 Compare May 10, 2026 05:55
@royosherove royosherove merged commit c442673 into main May 10, 2026
1 check passed
@chatgpt-codex-connector
Copy link
Copy Markdown

💡 Codex Review

setActiveTopic(chatId, topicName);
const display = topicName === "main" || topicName === "off" ? "main (default)" : topicName;
const isNew = topicName !== "main" && topicName !== "off";
const emoji = isNew ? "📂" : "🏠";
await postWithFallback(thread, `${emoji} Switched to topic: \`${display}\`\n\nAgent context is now independent for this topic.`);

P2 Badge Reject /topic outside private threads

handleTopic always stores the requested topic and confirms success, but topic routing is only applied when agentThreadId === "main" in applyTopicOverride (same file), so group/supergroup threads never actually switch context. In a group, /topic deploy currently replies “Switched to topic” even though subsequent messages still route to group:<chatId>; this is a behavior regression that can mislead users and break workflows that rely on topic isolation.

ℹ️ 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".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant