Skip to content

fix(watch): bound sidecar delivery watches away from Resource payloads - #335

Merged
schickling-assistant merged 1 commit into
schickling-assistant/issue314-1-supervisor-watchfrom
schickling-assistant/issue314-2-sidecar-watches
Aug 25, 2026
Merged

fix(watch): bound sidecar delivery watches away from Resource payloads#335
schickling-assistant merged 1 commit into
schickling-assistant/issue314-1-supervisor-watchfrom
schickling-assistant/issue314-2-sidecar-watches

Conversation

@schickling-assistant

Copy link
Copy Markdown
Contributor

The DING sidecar and the codex/opencode delivery pumps recursively
watched each agent dir. A recursive registration eagerly allocates one
inotify watch per directory BEFORE any callback filtering, and agent dirs
contain resources/ payload trees — the same unbounded-traversal class
the supervisor hit in #314, one level down.

  • watch_delivery_inputs now makes two shallow subscriptions: a
    non-recursive watch on the agent dir (status file) plus a recursive
    watch on resources/inbox, which is st2-owned and bounded by delivery
    traffic rather than payloads.
  • run_ding anchors its watch on the inbox itself and creates it up front,
    instead of falling back to a recursive walk over the whole agent dir
    when the inbox did not exist yet.
  • All remaining recursive registrations construct their watcher with
    follow_symlinks(false): a symlink must never carry traversal outside
    the watched boundary.

Closes #314 (sidecar instance).

Co-authored-by: schickling-assistant schickling-assistant@users.noreply.github.com
agent-identity: unknown
agent-persona: generalist
agent-supervisor: unavailable
agent-tool: OMP
agent-tool-version: 18.0.3
agent-runtime: OMP 18.0.3
tooling-profile: dotfiles@f33cd9c-dirty


Stack created with GitHub Stacks CLIGive Feedback 💬

@schickling-assistant
schickling-assistant marked this pull request as ready for review August 24, 2026 21:18
@schickling-assistant

Copy link
Copy Markdown
Contributor Author

@codex Please review this PR.

Posted on behalf of @schickling
field value
agent_identity unknown
agent_persona generalist
agent_supervisor unavailable
agent_tool OMP
agent_tool_version 18.0.3
agent_runtime OMP 18.0.3
tooling_profile dotfiles@f33cd9c-dirty

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Delightful!

Reviewed commit: 11bcf5de98

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

The DING sidecar and the codex/opencode delivery pumps recursively
watched each agent dir. A recursive registration eagerly allocates one
inotify watch per directory BEFORE any callback filtering, and agent dirs
contain `resources/` payload trees — the same unbounded-traversal class
the supervisor hit in #314, one level down.

- watch_delivery_inputs now makes two shallow subscriptions: a
  non-recursive watch on the agent dir (status file) plus a recursive
  watch on resources/inbox, which is st2-owned and bounded by delivery
  traffic rather than payloads.
- run_ding anchors its watch on the inbox itself and creates it up front,
  instead of falling back to a recursive walk over the whole agent dir
  when the inbox did not exist yet.
- All remaining recursive registrations construct their watcher with
  follow_symlinks(false): a symlink must never carry traversal outside
  the watched boundary.

Closes #314 (sidecar instance).

Co-authored-by: schickling-assistant <schickling-assistant@users.noreply.github.com>
agent-identity: unknown
agent-persona: generalist
agent-supervisor: unavailable
agent-tool: OMP
agent-tool-version: 18.0.3
agent-runtime: OMP 18.0.3
tooling-profile: dotfiles@f33cd9c-dirty
@schickling-assistant
schickling-assistant force-pushed the schickling-assistant/issue314-2-sidecar-watches branch from 11bcf5d to 197a84a Compare August 25, 2026 06:27
@schickling-assistant
schickling-assistant merged commit 6d58bc2 into main Aug 25, 2026
1 check passed
@schickling-assistant
schickling-assistant deleted the schickling-assistant/issue314-2-sidecar-watches branch August 25, 2026 07:33
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.

Recursive catalog watcher traverses Resource payloads before first reconcile

1 participant