Posts

Showing posts from August, 2026

I had another AI review my trading bot. It found three ways my books were wrong.

Image
I wrote a trading bot with AI assistance, tested it, and ran it. Then I did something I had not done before: I handed the whole file to a different model, cold, with no context about how it was built, and asked it to look for accounting errors. It came back with three. All of them were in code I had read many times. None of them crashed anything. That is the part worth writing down. The three 1. The bot recorded the size it asked for, not the size it got. market_fill() returned the fill price and nothing else. So open_position() , add_in() , and close_out() all took the requested quantity and wrote that into state as if it were fact. Exchanges do not always give you what you asked for. Contract counts get rounded. A single order can be truncated by the venue max market order size. When either happens, the exchange position and the bot idea of the position drift apart, silently, with no error anywhere, because from the bot perspective the order succeeded. The fix was to widen...

I thought my pipeline retried 6 times. It was making up to 48 billed calls.

Image
My publishing pipeline had a retry limit. MAX_TOPIC_ATTEMPTS = 6 . If a draft failed validation — too short, dead link, too similar to an existing post — it would throw the topic away and try a different one, up to six times, then give up. Six attempts. That was the mental model. Six is a small number, so I never thought about it again. That last part is the actual mistake. I set the constant myself, I picked the value deliberately, and having picked it I stopped treating it as a question. A number you chose feels known in a way a number you inherited does not — which is backwards, because the one you chose is the one nobody else has checked. What made me look was a day where the schedule ran and nothing appeared on the blog. No post, no error I'd been alerted about, just an empty run. I went into the logs expecting a crash and found the opposite: the pipeline had worked perfectly, generated draft after draft, rejected every one of them on validation, exhausted its attempts, and...

I let AI run two blogs for a month. Google indexed 1 post out of 81.

Image
I built two fully automated blog pipelines. Pick a topic, research it, write the body, generate the images, publish — no human in the loop. One was WordPress on its own domain, the other was Blogspot. WordPress ran from July 23 to August 23 and shipped 44 posts. Blogspot started August 8 and stopped on the same day the other one did, so 37 posts in 15 days. Eighty-one posts total. Both pipelines ran on a schedule with no approval step. A run would ground itself against official sources, draft the body, generate three to five images, run a mechanical validation pass (word count, live-link checks, duplicate detection against previous posts, required-field checks), retry on failure, and publish. If validation failed too many times, the run gave up and logged it. That was the entire loop. It worked, in the sense that posts appeared on a schedule and none of them were broken. Today I measured what Google actually did with them. One post is indexed. Out of 81. The one that made it is a ...