Starting in the basement at the breaker-box, I will be running the 12-2 along the Bottom Plate, on-top of a current run, and securing it with 1/2" Staples every 12". I will then bring the cable vertical onto the floor joist above the plate run, following the "coke-can" bend rule and stapling at the start of the bend.
The Romex will then be run smack in the middle of the face of the 2xX joist (>=~3" above and below) and secured every 12" with Staples.
I will use a current penetration to bring the Romex from the "joist bay" to the other side of a main-beam. I will leave 8" of service loop at this location. The Joists change orientation, so I will again be "inside" a "joist bay", after this 90° turn. I will run the Romex with Staples 12" spacing in the middle of the main beam.
I will drill a 3/4" hole in the center of the 2/4" plate, 2" from the edge of the stud, to go from the basement up into the stud-bay of the room above which will have the new J-boxes. I'll then run the romex with Staples every 12", leaving a 8" service loop at the entrance to 2-Gang Drawn Device Switch Box with Bracket
Once in the box I'll hook up the outlet, and switch, come out of the box leaving a service-loop, staple it to the middle of the stud and run vertically up the stud till I reach the height of the light fixture. Drill a 3/4" in the opposite stud to cross-over into the next stud bay. I'll toe-nail wooden blocking between the studs, and attach a 4" Octagon Box with screws through the back of the box, in the center of the stud-bay.
Does anyone see anything questionable here?
My main concerns are running the NM on the face of joists and studs, as well as the Octabox being mounted to blocking.
Also, as a bonus question, is there any issue with LED "Drivers" being on a circuit which is GFCI?
Thank you for your time.