Urgent.News

What's breaking now, across thousands of outlets.

Tech

Four spec standards, one baseline, two different decisions

Two side projects, one developer, an AI assistant on both. You work on them when you can and when you feel like it, for fun. And precisely because it's for fun, you drop everything that's boring: documentation. Two projects that age differently The app started as a way to keep track of the things about my cat that the vet asks for at every visit, and the data was already there: notes on recycled…

Two side projects, one developer, an AI assistant that writes documentation for both. The AI crafts the documentation in four distinct formats, deliberately chosen based on the specific risks faced by each project. For the AI assistant, the risk is drift, so the assistant adopted OpenSpec, which maintains a current set of specifications that are updated as deltas when requirements change.

For the cat tracking app, the risk is forgetting to align the baseline, so the AI opted for Spec Kit, which requires every proposal to be measured against the project's real constraints before any code is written. By using the AI assistant to create documentation in these two different ways, the developer gained a clearer understanding of the strengths and weaknesses of each format.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Decoupling from the Data POV: Stop-and-Start Boundaries, Independent Pointers, and Why Your Code (and AI) Need It

The Blind Spot in Modern Architecture Debates Ask five engineers what "decoupling" means, and you will get five abstract answers about SOLID principles, hexagonal layers, microservice boundaries, or…

  • Decoupling data, not just code, leads to automatic logic decoupling
  • Independent memory pointers isolate modules from each other's changes
  • Stop-and-start boundaries create temporal air gaps between system stages

I Built My Own Fail-Fast HashMap — Here's Why a Boolean Flag Wasn't Enough

If you've done LeetCode's Design HashMap , you've implemented put , get , and remove . What that exercise usually skips is the part that actually breaks in production: what happens when someone…

  • MyHashMap is single-threaded HashMap with separate chaining and dynamic resizing.
  • Handling concurrent mutations during iterators' use proved the primary challenge.
  • Standard issue arises when iterator's next() method is invoked mid-iteration.

More from Sunday 30 August →