After your initial posting, you provided the following detail:
Ok, well, I'm mashing in a 5 gallon rubbermaid water cooler. The setup seems to be working well.
So the mash: Heated up 4 gallons of water to 145F, threw it in the mash tun, quickly added all of the grain bill, stirred for 30 seconds and sealed for 60 min.
I then checked the temp, which was 143F. Opened up the valve and let all of the water drain. I then repeated the whole process with 3 gallons of water at 160F.
That ended up with 5 gallons of wort with a gravity of 1.04.
=======================================
Comment 1: 14.5 pounds of grain is way to much grain for your mash tun to handle if you use a normal (low end) water to grist ratio, which is about 1.5 quarts of water per pound of grain. Your recipe would require your mash tun to handle 5.4 gallons of water, plus the grain. You could either cut back the entire recipe, or mash in two batches.
Comment 2: You should put your grain in your mash tun first. Then add some water, stir to distribute the water/heat, then add some more water, etc. This is easier on the enzymes; there is less risk of denaturing them.
Comment 3: Mash temperatures specify the temperature of the mash, that is, the combined grain and water combination, not just the water. When you add 4 gallons of water at 145F to 14.5 pounds of grain at say 80F, your resulting mash temperature is going to be less than 140F. I calculated that your water would need to be at least 151F to give a mash temperature of 140F. Your water would need to be 157F to give you a mash temperature of 145F. There are formulas and calculators to determine the required temperature of your strike water.
Comment 4: You indicate the temperature at the end of the mash was 147F. I don't know how that is possible with a mash starting temperature that was less than 140F. You should stir the grain before measuring the temperature because it will normally be cooler at the bottom than the top.
Comment 5: The first step in mashing is gelatinization of the starches in the grain, which is most active for barley between 140F and 150F. It physically breaks down the starch, making it accessible to the conversion enzymes. Some gelatinization occurs below 140F and some above 150F, and alpha amalyze can convert a small amount of starch without gelatinization, but without gelatinization the process is very, very inefficient. I believe that is the main reason you got such a low extract; you never got your mash termperature into the range for gelatinization at the beginning of your mash.
Comment 6: It's hard to figure out what happened when you did a second sparge with 3 gallons of water at 160F. The mash temperature was probably between 150F and 155F. You would get gelatinization and conversion during this part of your mash. However the beta amylase was probably inactivated quickly, so you would have incomplete conversion and end up with a dextrinous, non-attenuative wort. The wort would be thick and sticky, so you probably left behind a larger than normal amount of sugars in the grain when you simply ran off the wort without sparging.
Comment 7: Very hard water is another possible cause of poor conversion and lower extract efficiency.
What might have happened is just conjecture on my part. I really appreciate your leap into grain brewing. It can be very creative, but the mashing prcess imposes certain limits that are worthwhile to understand. I highly recommend John Palmer's book, How to Brew.
Best wishes for your next batch.
VL