rhan-oai
b6333bb1bb
Enforce subagent ownership across app-server inputs ( #40464 )
...
## Why
Parent-owned Multi-Agent V2 subagents must remain controlled by their parent,
but several app-server endpoints could still mutate them directly.
## What changed
- Centralize the direct-input ownership check and apply it to turn injection,
MCP calls, reviews, compaction, rollback and revert, shell and Guardian
actions, realtime requests, and goal mutations.
- Enforce the same policy for goal mutations on unloaded threads while keeping
goal reads and turn interruption available.
- Document the affected endpoint behavior and continue exposing
`canAcceptDirectInput: false` for parent-owned subagents.
## Testing
- Cover direct-input rejection for both legacy and paginated thread history.
- Cover goal mutation ownership checks for unloaded V2 subagents, V1
subagents, and non-subagent V2 threads.
GitOrigin-RevId: 791b7af98490aed5eab4e672b90661acad11ec23
2026-08-24 19:44:14 +00:00
..
2026-08-13 00:30:08 +00:00
2026-08-21 20:57:17 +00:00
2026-08-20 17:46:05 +00:00
2026-08-17 12:26:59 +00:00
2026-08-17 12:26:59 +00:00
2026-08-10 22:39:29 +00:00
2026-08-21 19:04:32 +00:00
2026-07-09 00:17:38 +00:00
2026-08-21 20:57:17 +00:00
2026-08-21 03:31:56 +00:00
2026-08-13 01:32:42 +00:00
2026-07-08 00:15:49 +00:00
2026-08-21 20:15:23 +00:00
2026-07-22 16:30:12 +00:00
2026-08-21 19:56:52 +00:00
2026-08-21 21:41:55 +00:00
2026-05-28 14:54:39 -07:00
2026-08-18 22:00:25 +00:00
2026-08-19 17:34:00 +00:00
2026-08-13 21:53:52 +00:00
2026-07-22 16:30:12 +00:00
2026-07-15 05:21:13 +00:00
2026-08-24 06:43:07 +00:00
2026-07-14 01:49:16 +00:00
2026-06-27 19:34:10 +00:00
2026-08-24 06:43:07 +00:00
2026-08-20 08:10:08 +00:00
2026-08-04 15:23:43 +00:00
2026-08-17 12:26:59 +00:00
2026-08-19 01:06:12 +00:00
2026-07-31 16:17:44 +00:00
2026-08-18 21:46:18 +00:00
2026-07-08 00:15:49 +00:00
2026-08-12 23:56:45 +00:00
2026-08-24 16:41:55 +00:00
2026-08-21 01:51:48 +00:00
2026-08-20 06:29:32 +00:00
2026-07-15 20:59:21 +00:00
2026-08-11 15:40:52 +00:00
2026-08-04 15:23:43 +00:00
2026-07-23 15:32:36 +00:00
2026-08-20 05:24:56 +00:00
2026-08-20 05:24:56 +00:00
2026-08-20 17:49:35 +00:00
2026-08-18 18:01:39 +00:00
2026-08-20 07:03:02 +00:00
2026-08-21 23:14:28 +00:00
2026-08-22 05:54:43 +00:00
2026-08-10 18:20:12 +00:00
2026-07-23 19:19:35 +00:00
2026-08-15 01:34:33 +00:00
2026-08-21 20:57:17 +00:00
2026-08-18 06:22:04 +00:00
2026-08-14 05:49:33 +00:00
2026-08-14 01:23:59 +00:00
2026-08-06 10:27:33 +00:00
2026-08-07 00:28:32 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-08-17 12:26:59 +00:00
2026-08-18 07:56:41 +00:00
2026-08-18 07:56:41 +00:00
2026-08-04 16:16:30 +00:00
2026-07-29 01:16:29 +00:00
2026-08-12 13:33:01 +00:00
2026-08-08 16:58:26 +00:00
2026-08-17 04:01:37 +00:00
2026-07-22 16:30:12 +00:00
2026-08-18 23:47:00 +00:00
2026-08-24 03:34:15 +00:00
2026-08-18 05:42:39 +00:00
2026-07-29 22:00:20 +00:00
2026-08-17 04:01:37 +00:00
2026-08-20 07:03:02 +00:00
2026-08-20 07:03:02 +00:00
2026-08-20 19:19:41 +00:00
2026-08-20 07:33:27 +00:00
2026-08-20 17:46:05 +00:00
2026-08-07 01:26:42 +00:00
2026-07-22 16:30:12 +00:00
2026-08-12 10:34:25 +00:00
2026-08-20 08:10:08 +00:00
2026-08-07 18:38:24 +00:00
2026-07-22 16:30:12 +00:00
2026-08-20 08:10:08 +00:00
2026-07-30 16:44:18 +00:00
2026-08-23 03:25:56 +00:00
2026-07-23 23:18:06 +00:00
2026-08-18 06:22:04 +00:00
2026-08-20 19:46:29 +00:00
2026-08-17 04:01:37 +00:00
2026-07-22 16:30:12 +00:00
2026-07-23 19:19:35 +00:00
2026-08-19 17:57:40 +00:00
2026-05-12 18:40:53 -07:00
2026-08-20 17:46:05 +00:00
2026-08-18 23:05:52 +00:00
2026-08-24 19:44:14 +00:00
2026-08-13 21:45:02 +00:00
2026-07-22 16:30:12 +00:00
2026-08-10 23:32:42 +00:00
2026-07-22 16:30:12 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 07:48:46 +00:00
2026-08-20 07:03:02 +00:00
2026-08-10 23:32:42 +00:00
2026-07-22 16:30:12 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 18:29:35 +00:00
2026-08-24 19:44:14 +00:00
2026-08-20 17:46:05 +00:00
2026-08-04 20:10:31 +00:00
2026-07-23 00:02:15 +00:00
2026-07-08 00:15:49 +00:00