Skip to content

feat: /later command + workspace directory convention#67

Merged
royosherove merged 1 commit intomainfrom
feat/later-command
May 9, 2026
Merged

feat: /later command + workspace directory convention#67
royosherove merged 1 commit intomainfrom
feat/later-command

Conversation

@royosherove
Copy link
Copy Markdown
Member

Two changes:

  1. /later command — Quick-capture ideas from Telegram

    • /later buy more coffee → saves to ~/.roundhouse/workspace/later.md with date
    • /later (no args) → shows all saved items
    • Doesn't interrupt agent flow — pure command, no agent turn
  2. Workspace directory convention in tools.md

    • All new files, scratch work, downloads go under ~/.roundhouse/workspace/
    • Prevents polluting ~/ with random agent artifacts
    • Documented in the tools section injected into every prompt

393 tests green, no regressions.

- /later <idea> — saves to ~/.roundhouse/workspace/later.md with date
- /later (no args) — shows saved items
- tools.md: all agent work output goes under ~/.roundhouse/workspace/
- Registered in Telegram bot command menu
@royosherove royosherove merged commit efb8a99 into main May 9, 2026
1 check passed
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a1fcf5ede5

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


export async function handleLater(ctx: LaterCommandContext): Promise<void> {
const { thread, text, postWithFallback } = ctx;
const idea = text.replace(/^\/later\s*/i, "").trim();
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Parse /later@bot suffix before extracting idea

The idea extraction regex only strips /later followed by whitespace, so Telegram group-style commands like /later@MyBot or /later@MyBot buy milk are parsed incorrectly: the first case is treated as a new idea @MyBot instead of showing the list, and the second saves @MyBot buy milk instead of just the note text. Since command routing already accepts @botname variants, this handler should strip the optional @... suffix as part of command parsing to avoid corrupting saved entries in group chats.

Useful? React with 👍 / 👎.

royosherove added a commit that referenced this pull request May 10, 2026
1. Escape </persona> in persona content (XML injection prevention)
2. mtime check uses !== instead of > (catches deletions/replacements)
3. mkdirSync before writeSettings (handles fresh installs)
4. /later@BotName suffix stripped in group chats

All from Codex PR review comments on #75, #77, #66, #67.
393 tests green.

Co-authored-by: Loki FastStart <loki@faststart.internal>
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