This is a very interesting question, but it's not very specific. Let me summarize my thoughts.
Fabrics work at two levels, an underlay (provider) and an overlay (customer / virtualized services).
With an underlay based on SPB(M) you don't have or need STP because the control plane protocol (IS-IS) computes a loop free topology without unused links.
The virtualized services you create on it can be of different types. Switched, transparent, layer 2, layer 3, ...
If the service is transparent the customer can build their own network on it, including dot1q and stp. The provider-side of the network doesn't care. Obviously it's the customer who should care about loops in that case.
In case of a switched service, STP is usually disabled on the ports. You would be able to create a loop at the edges, which simulate a "normal" ethernet network, and is therefore prone to broadcast loops.
You could still run stp on it, not to build the topology but to leverage e.g. bpduguard. However there are more lightweight approaches like SLPP on Extreme's Fabric Engine platform. In that case, some devices in the core transmit specific L2 multicasts and if they appear on a VLAN/service on an edge port, then that port is disabled.
So yeah SPB effectively replaces STP when it comes to creating an efficient underlay/topology. On the overlay you still need loop protection, which does not necessarily mean STP.