Skip to content

Guard Aurora action listing against recursion#15

Merged
brunda-coder merged 2 commits intomainfrom
codex/refine-and-refresh-etherea-repo-fzuol6
Jan 29, 2026
Merged

Guard Aurora action listing against recursion#15
brunda-coder merged 2 commits intomainfrom
codex/refine-and-refresh-etherea-repo-fzuol6

Conversation

@brunda-coder
Copy link
Owner

Motivation

  • Prevent an application crash caused by a RecursionError raised while deriving Aurora canvas state when enumerating actions via list_actions() in compute_canvas_state().

Description

  • Add a defensive fetch in _filter_actions (core/aurora_state.py) that attempts registry.list_actions() and falls back to getattr(registry, "_actions", []) on RecursionError or other exceptions, preserving the existing filtering, sorting and conversion to ActionItem.

Testing

  • No automated tests were executed for this small runtime guard change.

Codex Task

Copy link

@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: 2970d15357

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

Comment on lines 67 to 69
self._emit("ACTION_STARTED", {"intent": action.intent})
result = self._dispatch_action(action)
self._emit("ACTION_FINISHED", {"intent": action.intent})

Choose a reason for hiding this comment

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

P2 Badge Emit ACTION_FAILED when dispatch returns ok=False

Because handle_intent always emits ACTION_FINISHED after _dispatch_action, failures (e.g., workspace_save_snapshot when no workspace exists or os_open_workspace_folder without an OS pipeline) will still be reported as successful actions. Downstream consumers like AvatarBehaviorEngine treat ACTION_FINISHED as a success signal, so the UI/voice feedback will incorrectly celebrate failed actions. Consider emitting ACTION_FAILED (and/or skipping ACTION_FINISHED) when result.get("ok") is false to keep event semantics consistent with actual outcomes.

Useful? React with 👍 / 👎.

@brunda-coder brunda-coder merged commit 38a41a8 into main Jan 29, 2026
@brunda-coder brunda-coder self-assigned this Jan 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant