\begin{tikzpicture}[node distance=1.4cm, >=stealth]
\tikzstyle{box}=[draw, rounded corners, align=center, minimum width=2.7cm, minimum height=.9cm]
\node[box] (s1) {MCP Sources};
\node[box, right of=s1, xshift=2cm] (s2) {GitHub\\Jira\\CI/CD};
\node[box, right of=s2, xshift=2cm] (s3) {Doctrine\\Papers\\APIs};
\node[box, right of=s3, xshift=2cm] (s4) {Private raw data\\stays inside\\aggregate only};
\node[box, below of=s1, yshift=-1.2cm] (c1) {Classify\\Evidence};
\node[box, right of=c1, xshift=2cm] (c2) {Score\\Confidence};
\node[box, right of=c2, xshift=2cm] (c3) {Attach\\Trace};
\node[box, right of=c3, xshift=2cm] (c4) {Block\\Weak Claims};
\node[box, right of=c4, xshift=2cm] (c5) {Release Gate\\Human Review};
\node[box, below of=c1, yshift=-1.2cm] (o1) {Decision\\Packet};
\node[box, right of=o1, xshift=2cm] (o2) {Governance\\Review};
\node[box, right of=o2, xshift=2cm] (o3) {Publication\\Gate};
\node[box, right of=o3, xshift=2cm] (o4) {Learning\\Loop};
\draw[->] (s1) -- (c1);
\draw[->] (s2) -- (c2);
\draw[->] (s3) -- (c3);
\draw[->, dashed] (s4) -- node[right]{aggregate only} (c4);
\draw[->] (c1) -- (c2);
\draw[->] (c2) -- (c3);
\draw[->] (c3) -- (c4);
\draw[->] (c4) -- (c5);
\draw[->] (c5.south) |- (o1.north);
\draw[->] (o1) -- (o2);
\draw[->] (o2) -- (o3);
\draw[->] (o3) -- (o4);
\draw[->, dashed] (o4.north) |- (c2.south);
\end{tikzpicture}
