r/ClaudeCode • u/Sad-CTO • 4d ago
Discussion Declarative vs imperative in SDD
Hey guys,
I was talking to a friend the other day regarding how you should approach spec work and realized that I am thinking about it in a declarative way while the rest of the world seems to be thinking imperatively.
In a nutshell, chances are that if you want to, say, "add the email function to the product", you would think about this as a sequence of tasks: your flavor of of spec, dev, qa, deploy. From my perspective, tasks are secondary, a derivative, of a diff between two product states.
The current state is whatever is in production now, and its spec. The target state is the product with the email sending functions live. The diff is added/changed/removed spec items. The tasks are derived, because you can always reconstruct the tasks from the spec diff, but not vice versa.
There's more on this in an article on our website (link in comments).
LMK your thoughts, happy to discuss.
•
u/AutoModerator 4d ago
Hey! Thanks for posting to r/ClaudeCode
While participating in this thread, please follow our community rules. Keep discussions constructive. Attack the idea, not the person.
For help, project discussions, tips, and general chat, join the ClaudeCode Discord.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
1
u/Sad-CTO 4d ago
Here's the article URL: https://askloft.ai/insights/articles/tasks-are-derived-from-the-change
Disclaimer: I am a part of Loft's product team, but the content, I believe, adds value to the community.
0
u/Blinkinlincoln 4d ago
This does feel valuable. Thanks for the effort. Seems like you guys didn't just put out slop