Commit 79b3508
fix(control): route queue-drained Approve audit row to caller, not lead (#366 twin)
When an approval is raised before any TUI has attached, it queues on
`ApprovalState.queue`. When a TUI later connects, the server drains
the queue into the bridge map and emits `ApprovalRequest` events; the
operator's subsequent `Approve` op flows through `control::server`'s
Approve handler, which is responsible for writing the
`ApprovalResponse` audit row to `events.jsonl`.
That handler hard-coded `&state.root.lead_id` as the actor whose
`tasks/<id>/events.jsonl` received the row, so a worker or sub-lead
approval response landed in the lead's audit file and the originating
actor's events.jsonl was missing its `approval_response` correlation
to the earlier `approval_request`. The bridge-side handler
(`ApprovalBridge::respond`) was already fixed for this in #366; the
queue-drain twin was missed. The just-extracted `caller_id` local
(from `bridge_entry.metadata.task_id`) is the value that should have
been used — F-ARCH-12 made the variable explicit one line above the
buggy call, which is what surfaced the bug.
Add a regression test `approve_op_writes_response_row_to_caller_tasks_dir`
that pre-seeds the bridge with `task_id = "worker-7"`, sends an Approve
op, and asserts:
1. `<run_subdir>/tasks/worker-7/events.jsonl` exists and contains an
`approval_response` row with the matching `request_id`.
2. The lead's `events.jsonl` does NOT contain the worker's request_id
(covering the specific pre-fix misdirection).
Also updates `pitboss-tui/tests/connect_timeout_regression.rs` to use
`pitboss_cli::live_stream::*` (instead of the renamed `::stream::*`);
that test landed in this branch from a parallel review pass and was
written against the pre-F-ARCH-6 module name.
Discovered during the F-ARCH-12 review pass on PR #622.1 parent e3451e0 commit 79b3508
2 files changed
Lines changed: 135 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1541 | 1541 | | |
1542 | 1542 | | |
1543 | 1543 | | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
| 1550 | + | |
1544 | 1551 | | |
1545 | 1552 | | |
1546 | | - | |
| 1553 | + | |
1547 | 1554 | | |
1548 | 1555 | | |
1549 | 1556 | | |
| |||
1994 | 2001 | | |
1995 | 2002 | | |
1996 | 2003 | | |
| 2004 | + | |
| 2005 | + | |
| 2006 | + | |
| 2007 | + | |
| 2008 | + | |
| 2009 | + | |
| 2010 | + | |
| 2011 | + | |
| 2012 | + | |
| 2013 | + | |
| 2014 | + | |
| 2015 | + | |
| 2016 | + | |
| 2017 | + | |
| 2018 | + | |
| 2019 | + | |
| 2020 | + | |
| 2021 | + | |
| 2022 | + | |
| 2023 | + | |
| 2024 | + | |
| 2025 | + | |
| 2026 | + | |
| 2027 | + | |
| 2028 | + | |
| 2029 | + | |
| 2030 | + | |
| 2031 | + | |
| 2032 | + | |
| 2033 | + | |
| 2034 | + | |
| 2035 | + | |
| 2036 | + | |
| 2037 | + | |
| 2038 | + | |
| 2039 | + | |
| 2040 | + | |
| 2041 | + | |
| 2042 | + | |
| 2043 | + | |
| 2044 | + | |
| 2045 | + | |
| 2046 | + | |
| 2047 | + | |
| 2048 | + | |
| 2049 | + | |
| 2050 | + | |
| 2051 | + | |
| 2052 | + | |
| 2053 | + | |
| 2054 | + | |
| 2055 | + | |
| 2056 | + | |
| 2057 | + | |
| 2058 | + | |
| 2059 | + | |
| 2060 | + | |
| 2061 | + | |
| 2062 | + | |
| 2063 | + | |
| 2064 | + | |
| 2065 | + | |
| 2066 | + | |
| 2067 | + | |
| 2068 | + | |
| 2069 | + | |
| 2070 | + | |
| 2071 | + | |
| 2072 | + | |
| 2073 | + | |
| 2074 | + | |
| 2075 | + | |
| 2076 | + | |
| 2077 | + | |
| 2078 | + | |
| 2079 | + | |
| 2080 | + | |
| 2081 | + | |
| 2082 | + | |
| 2083 | + | |
| 2084 | + | |
| 2085 | + | |
| 2086 | + | |
| 2087 | + | |
| 2088 | + | |
| 2089 | + | |
| 2090 | + | |
| 2091 | + | |
| 2092 | + | |
| 2093 | + | |
| 2094 | + | |
| 2095 | + | |
| 2096 | + | |
| 2097 | + | |
| 2098 | + | |
| 2099 | + | |
| 2100 | + | |
| 2101 | + | |
| 2102 | + | |
| 2103 | + | |
| 2104 | + | |
| 2105 | + | |
| 2106 | + | |
| 2107 | + | |
| 2108 | + | |
| 2109 | + | |
| 2110 | + | |
| 2111 | + | |
| 2112 | + | |
| 2113 | + | |
| 2114 | + | |
| 2115 | + | |
| 2116 | + | |
| 2117 | + | |
| 2118 | + | |
| 2119 | + | |
| 2120 | + | |
| 2121 | + | |
| 2122 | + | |
| 2123 | + | |
| 2124 | + | |
| 2125 | + | |
1997 | 2126 | | |
1998 | 2127 | | |
1999 | 2128 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | | - | |
| 38 | + | |
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
| 78 | + | |
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
83 | | - | |
| 83 | + | |
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
| |||
0 commit comments