Stopping the knock: Lower compression and ported heads...

Read this again.

93 octane? I have 91 here. 2 points does make a difference.
11.5 with a more aggresive cam? Sorta sounds like a wash to me compared to mine.
I was at 11.0 using 91 octane.
'

I'll play a little devil's advocate too...you've seen other folks on here with greater cranking pressure (which is every bit as important as mechanical compression ratio) than you and can run with the same pump swill you are. There was another with locked out timing @ 35*, and his didn't detonate either. The difference among those combos may be a wash, but there's something amiss in your build...it's also a different engine than he's running.

I'm somewhat relieved that it went back together and doesn't detonate now, but you said yourself it needs to be dialed in again. As far as the timing comments between you and Rob, he also suggested limiting your timing amount, as well as messing with the "curve"; on that, yes, although it's a graphed straight line most of the time, it's still considered a curve...would you rather turn terminology accepted for 50+ years into a timing "line"?...also take into consideration, vacuum referenced timing alters that "line" based on engine demand...changes it to a curve-if you use a vacuum can, that is. OK, getting back on point here, I don't recall because this thread has become convoluted, if you did indeed limit your timing to 30-32* as was suggested...only that you changed your springs, and altered your timing rate, but I also don't recall seeing your effective timing mapped out in a document or in a thread.

It was suggested 20* initial, due to the rather large cam, and limited to 30-32*, which would mean you'd only have an effective timing range of 10-12*...did you ever actually limit it? IIRC, you were pushing 35* total timing, and regardless of where it comes in-2200 or 3500, or even 4000 rpm, those 3* may've made the difference between rattling, or not.

...I dunno man...I'm about to say hell with it, and quit commenting altogether because I'm clearly not providing anything value added.