The District A Council race ended with Tommy Craven up by a hair.
Appointed in January to fill an at-large seat, Craven had 3,937 votes to Paul Anderson's 3,760, with 96 percent of precincts voting.
Both were keeping their eyes and options open t
Sign Up and Save
Get six months of free digital access to The News & Observer