So you know, it isn't real hard to true up a metal straightedge. That is, you can straighten up the edge of any reasonably stable metal bar, making your own special purpose straightedge, or true up some commercial product like a level or ruler to make it into a straightedge.
The basic process is a little tedious, but it isn't hard. What you do is look for high spots, like lumps or a raised center or raised ends, and then file them down. Repeat, repeat, repeat filing down all the high spots until they are even with the lowest spots. When there are no more high spots, or low spots, it's straight. By definition.
To identify the high spots, coat the edge along the full length with a thin ink or dye paint. The best thing to use is Dykem (or other similar brands), also known as "machinist's blue" or "layout dye". It's a common product used in machine shops; you brush or spray it on a piece of metal, which makes it blue. Then you do layouts on the metal by using a scriber to scratch fine lines through the thin blue coating. It's normally sold in small cans with a brush in the lid. Brush it on the edge and it dries in a few minutes.
In a pinch, you can use a Sharpie for the same purpose; to put on a thin black ink coat all down the edge. The Sharpie ink isn't quite as good as the Dykem, but it will work.
Once you have the edge coated, gently slide the edge a few inches against another straight edge, or on a good flat surface. No heavy rubbing or full-length stroke. Just a single slide of a few inches, one edge against the other. Now look at the edge. Where the ink has rubbed off and there's shiny metal, those are the high spots. Where the ink is still on are the low spots. That's how you test the edge and identify the high spots.
Now, take a stroke or two over the high spots with a fine tooth flat file. Gently, you only need to remove a very small amount of metal. Wipe down the edge, recoat it with ink and slide it again to check your work. Repeat, repeat, until the high spots are gone. When it's getting close, switch to a medium grit sharpening stone, rather than the file. When it's straight, the whole edge will come up shiny. That means that the whole surface is contacting the other straight edge surface.
Obviously, this works best if the other straight edge is itself good and straight. It's easiest if you start with one good straightedge, and true up your others to it. But if you have two questionable straightedges, you can work them against each other to true them both up. Work the high spots on A, testing it against B. Then work the high spots on B, testing it against A. Back and forth, back and forth, and they will eventually both come out straight against each other. In the old machinist's world, the ideal technique was to work three straightedges against each other, in all six combinations: A against B, A against C, B against A, B against C, C against A, C against B. When they all check straight against each other, then they are all truely straight. But that's a bit of overkill for most cases.
With patience, this basic method can be used to make straight, flat surfaces to very high accuracy. This is how machinists 150 years ago made straightedges flat to less than 0.001". With more refined technique, and more time, 0.0001" accuracy is possible. More complicated variations of this method are used to true up the ways (the precision sliding surfaces) of lathes and milling machines. Look up "hand scraping machine tool ways" if you want to know more.
Back in the real world of Luthiery, I have several 24", 18" and 12" machinist's rigid-style rulers. They aren't very expensive, and they are usually pretty darn straight right out of the package. But I check them against each other to be sure. Most of them are good to +/- 0.002". They are what I use for almost all of my straightedge work on instruments, like checking fingerboard surfaces and sides of necks. When leveling the tops of frets, I use a flat 8" long stone across the tops, which will make them level to each other to less than 0.001". The stone itself is the straightedge.
Like some of you have said, I've never understood the need for notched straightedges. I make my fingerboards straight without the frets. Once the frets are in, the only thing that matters is the flatness of the tops of the frets. Who cares whether the fingerboard between the frets is still perfectly flat?