A stack's substrate dependency now becomes a real encoded `requires` at `castle program create` time (STACK_REQUIRES), so the relationship graph shows it. This keeps `stack` uncoupled from the runtime model — the stack declares the edge once at creation; the graph only ever reads the encoded `requires`, never the stack.