I think Kamala tried to run on a positive message, but she thought that "I'm not Donald Trump [and I'm not Joe Biden]" was that message. She was wrong (as were her handlers). The message--as you said--needs to be "we're going to do [these] positive things," not "I'm not as bad as that guy."
I'm going to do my "post mortem" on the 2024 election as a response to this.
I think you have to give Harris and her handlers some slack. They were thrust into a very difficult position. As Biden's VP it would have been nearly impossible for her to lean too far into "I'm not Joe Biden" because she was in his administration. Biden's popularity numbers were bad so running as a continuation of Biden was obviously not a good strategy. That doesn't leave her with much to work with.
I saw some ads a few times that I'll refer to as her "closing argument" ads. One of them closed with "let's get to work" which seemed to me like a rather silly thing for her to say. That is fine if you are the outsider but she was the sitting VP, saying "let's get to work" just makes me think "ah, what have you been doing?"
On inflation she talked about price gouging. Maybe I'm too biased to see this from a swing-voter perspective but look, if the price of one thing is high, ok maybe that is price gouging but if the price of everything is high that isn't gouging that is inflation.
So now I'll back up:
I said a lot of this here before, but I think that Trump made a stupid unforced error back in 2020 but calling Biden "Sleepy Joe" and making an issue of Biden's cognitive decline back then. All that accomplished was to lower the bar so far that when Biden showed up at the 2020 debates all he had to do was look marginally competent to hurdle over the EXTREMELY low bar.
IMHO, Biden has been suffering cognitive decline since prior to the 2020 election but back in 2020 it wasn't *THAT* bad.
Heading into 2024, I believe that Biden's handlers cannot have not known what was going to happen when they put Biden on stage for that debate. Thus, I think that was a force play.
Bottom line, what I think happened was this:
Biden's handlers knew that Biden wasn't fit for office but Dr. Jill (or whoever had the most influence on Joe) was unwilling to let go of being First Lady so they were stuck. Then they made a genius move. They KNEW the debate would kibosh Biden but they couldn't get rid of him without it so they negotiated a debate in June. If they'd have had the debate at the normal time they'd have been stuck.
The problem that created though is that instead of picking a candidate through the normal process of an election they just selected Harris. I frankly think that Harris is just a bad candidate. I don't mean this as an ideological argument, I mean it simply as personality/likability. Now I know that Trump's personality and likability are liabilities for him but that doesn't preclude those things from ALSO being liabilities for his opponent. From an election, I think the Democrats would have gotten a better candidate.
Side note:
IMHO, after Biden stepped down, I think that the Democrats should have had an open convention. There are two advantages. First, it would have let them see who could organize a campaign on that short timeline and convince people to vote for them. Second, it would have been exciting TV. They'd have gotten millions of viewers. Personally, I watched a grand total of zero minutes of the Republican and Democratic Conventions but if the Democratic convention would have been to decide on a nominee, I'd have watched that!