Conversation
…outs, supported by synchronous message bus calls.
… to stepfun/step-3.5-flash
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f0c86f9300
ℹ️ 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".
pkg/tools/discord_mod.go
Outdated
| func (t *DiscordTimeoutUserTool) SetGuildID(guildID string) { | ||
| if guildID != "" { | ||
| t.defaultGuildID = guildID | ||
| } |
There was a problem hiding this comment.
Clear guild context when message has no guild_id
SetGuildID only updates defaultGuildID when the incoming value is non-empty, so after handling one guild message the tool can retain that guild ID across later DM turns. Because DM requests are not passed through filterDiscordTools (runLLMIteration only filters when is_dm != "true"), a DM-triggered discord_timeout_user call can incorrectly act on a stale guild from a previous server message instead of failing with missing guild context. Resetting the stored guild on every context update (including empty values) avoids cross-session moderation actions.
Useful? React with 👍 / 👎.
pkg/tools/discord_mod.go
Outdated
| // Auto-log to mod-log | ||
| if t.sendCallback != nil { | ||
| logMsg := fmt.Sprintf("🗑️ **Message Deleted**\n**Channel:** <#%s>\n**Reason:** %s\n**Actioned by:** LuckyClaw", channelID, reason) | ||
| _ = t.sendCallback("discord", "1481382116561256570", logMsg) |
There was a problem hiding this comment.
Remove hardcoded mod-log channel from auto-log sends
The moderation auto-log path is hardcoded to channel ID 1481382116561256570, which is server-specific; for most deployments this ID does not exist, so moderation logs are dropped (and the error is ignored) even though the tool reports success. This breaks the audit trail outside the author’s guild and should be replaced with a configurable or context-derived target channel.
Useful? React with 👍 / 👎.
f0c86f9 to
47d552e
Compare
…e due to intent-only responses.
…he system prompt for enhanced agent context.
…uild instructions - Add workspace/skills/discord-mod/SKILL.md (sanitized community template) - Remove firmware/overlay/root/ (dead weight, workspace comes from go:embed binary) - Update AGENTS.md: lessons 12-14 (firmware overlay, binary updates, OTA), build image section - Update README: correct firmware build instructions, project structure, go:embed architecture - Update doc/discord-moderator-setup.md: full SOUL.md + SKILL.md templates with placeholders - Update pkg/agent/context.go + loop.go: inject Discord message metadata (roles, DM) into system prompt
- Rewrite README.md pitch for simplicity over power features - Add 'Conservative by Design' philosophy to AGENTS.md - Update ROADMAP.md with accurate v0.2.1 cycle - Add 'luckyclaw install' binary-only path to IMPROVEMENTS.md
…olish of README.md intro and catchy header\n- Finalize v0.2.1 roadmap and add memory reporting fix\n- Improve memory reporting clarity in status and banner (available / total)\n- Switch default free model to stepfun/step-3.5-flash:free\n- Implement Discord moderation tools (delete, timeout)\n- Support reasoning model 'thinking' token separation\n- Deliver workspace via go:embed (removed firmware/overlay/root/)
No description provided.