[proofplan]
Fix a $B$-oracle procedure deciding $A$. Given an index $e$, we effectively compile a new $B$-oracle program which simulates the computation $\Phi_{e,A}(e)$ and answers every simulated query to $A$ by running the fixed $B$-oracle reduction from $A$ to $B$. This compilation gives a computable index transformation $e \mapsto f_r(e)$. The constructed program halts with oracle $B$ precisely when the original program halts with oracle $A$, so querying $B'$ at $f_r(e)$ decides whether $e \in A'$.
[/proofplan]
[step:Fix the oracle reduction from $A$ to $B$]
Let $r \in \mathbb{N}$ be an oracle program index such that the oracle partial computable function
\begin{align*}
\Phi_{r,B}: \mathbb{N} \to \{0,1\}
\end{align*}
is total and satisfies
\begin{align*}
\Phi_{r,B}(n) = 1 \iff n \in A
\end{align*}
for every $n \in \mathbb{N}$. Thus, during any computation with oracle $B$, the program with index $r$ decides the characteristic function of $A$.
[/step]
[step:Compile each $A$-oracle computation into a $B$-oracle computation]
For each $e \in \mathbb{N}$, define a $B$-oracle program $Q_{r,e}$ as follows. On input $m \in \mathbb{N}$, the program $Q_{r,e,B}(m)$ ignores $m$ and simulates the computation $\Phi_{e,A}(e)$. Whenever the simulated computation asks an oracle question of the form “is $n \in A$?”, the program $Q_{r,e}$ runs the $B$-oracle computation $\Phi_{r,B}(n)$ and answers the simulated query by “yes” exactly when $\Phi_{r,B}(n) = 1$.
By the $s$-$m$-$n$ property, equivalently by the uniform parameter clause in the acceptability of the oracle machine enumeration, this syntactic construction of $Q_{r,e}$ from the pair $(r,e)$ has a computable index. Hence there is a total computable function
\begin{align*}
f_r: \mathbb{N} \to \mathbb{N}
\end{align*}
such that, for every $e,m \in \mathbb{N}$,
\begin{align*}
\Phi_{f_r(e),B}(m) = Q_{r,e,B}(m)
\end{align*}
as partial computations.
[guided]
The goal is to replace access to the oracle $A$ by access to the oracle $B$. We have already fixed an index $r$ witnessing $A \le_T B$, so the $B$-oracle computation $\Phi_{r,B}(n)$ tells us whether $n$ belongs to $A$.
Now fix $e \in \mathbb{N}$. We construct a new oracle program $Q_{r,e}$ using oracle $B$. Its input is an arbitrary number $m \in \mathbb{N}$, but the input is irrelevant because the jump tests diagonal halting. The program $Q_{r,e,B}(m)$ simulates the computation $\Phi_{e,A}(e)$. If the simulated computation asks whether $n \in A$, then $Q_{r,e}$ runs $\Phi_{r,B}(n)$. Since $\Phi_{r,B}$ is total and takes values in $\{0,1\}$, this replacement query always terminates and gives the correct answer:
\begin{align*}
\Phi_{r,B}(n) = 1 \iff n \in A.
\end{align*}
Thus the simulation can be performed using only oracle $B$. The only remaining point is uniformity in $e$. The $s$-$m$-$n$ property, equivalently the uniform parameter clause in the acceptability of the oracle program enumeration, permits effective compilation: from the fixed reduction index $r$ and the simulated program index $e$, one can computably produce an index for the program just described. Therefore there is a total computable function
\begin{align*}
f_r: \mathbb{N} \to \mathbb{N}
\end{align*}
such that $\Phi_{f_r(e),B}$ is exactly the oracle computation implemented by $Q_{r,e}$.
[/guided]
[/step]
[step:Verify that the compiled program preserves halting]
Fix $e \in \mathbb{N}$. We prove that
\begin{align*}
\Phi_{e,A}(e) \text{ halts} \iff \Phi_{f_r(e),B}(f_r(e)) \text{ halts}.
\end{align*}
Suppose first that $\Phi_{e,A}(e)$ halts. This computation uses only finitely many oracle queries to $A$. For each queried number $n \in \mathbb{N}$, the computation $\Phi_{r,B}(n)$ halts because $\Phi_{r,B}$ is total. Therefore $Q_{r,e,B}(f_r(e))$ completes the same finite simulation and halts. Since $\Phi_{f_r(e),B} = Q_{r,e,B}$, the computation $\Phi_{f_r(e),B}(f_r(e))$ halts.
Conversely, suppose $\Phi_{f_r(e),B}(f_r(e))$ halts. By construction, this computation is the simulation of $\Phi_{e,A}(e)$ in which every oracle answer to a query $n \in A$ is replaced by the value of $\Phi_{r,B}(n)$. The replacement answer is correct for every $n \in \mathbb{N}$, so the simulated computation follows exactly the same computation path as $\Phi_{e,A}(e)$. Hence $\Phi_{e,A}(e)$ halts.
[/step]
[step:Use the equivalence to reduce $A'$ to $B'$]
By the definition of the Turing jump,
\begin{align*}
e \in A'
&\iff \Phi_{e,A}(e) \text{ halts} \\
&\iff \Phi_{f_r(e),B}(f_r(e)) \text{ halts} \\
&\iff f_r(e) \in B'.
\end{align*}
The middle equivalence is the halting preservation proved above. Since $f_r$ is total computable, a $B'$-oracle procedure decides membership in $A'$ by mapping $e$ to $f_r(e)$ and asking whether $f_r(e) \in B'$. Therefore $A' \le_T B'$.
[/step]