Hacker News new | ask | show | jobs
by comboy 71 days ago
The spec manually crafted the user is ideal.

It's just that we're lazy. After being able to chat, I don't see people going back. You can't just paste some error into the specs, you can't paste it image and say it make it look more like this. Plus however well designed the spec, something like "actually make it always wait for the user feedback" can trigger changes in many places (even for the sake of removing contradictions).

2 comments

The spec can be wrong for many reasons:

1. You can write a spec that builds something that is not what you actually wanted

2. You can write spec that is incoherent with itself or with the external world

3. You can write a spec that doesn't have sufficient mechanical sympathy with the tooling you have and so it requires you to all spec out more and more of the surrounding tech than you practically can.

All of those issues can be addressed by iterating on the spec with the help of agents. It's just an engineering practice, one that we have to become better at understanding

All three of these are real. The audit pass in Ossature is meant to catch the first two before generation starts, it reads across all specs and flags underspecified behavior, missing details, and contradictions. You resolve those, update the specs, and re-audit until the plan is clean. It's not perfect but it shifts a lot of the discovery earlier in the process.

The third point is harder. You still need to know your tooling well enough to write a spec that works with it. That part hasn't gone away.

And what is a spec other than a program in a programming language? How do you prove the code artifact matches the spec or state machine
Program defines the exact computer instructions. Most of the time you don't care about that level of detail. You just have some intent and some constraints.

Say "I want HN client for mobile", "must notify me about comments", you see it and you add "should support dark mode". Can you see how that is much less than anything in any programming language?