Replies: 2 comments 5 replies
-
|
Are you saying that you want / are changing the specification after Spec Kit |
Beta Was this translation helpful? Give feedback.
-
|
Dealing with "artifact drift" (where the human edits the code, the agent edits the spec, and suddenly there is no source of truth) is incredibly frustrating. I handle this by utilizing a strict "Double-Loop" strategy using two custom extensions I built to enforce canonical state: 1. During Development ( 2. After Merge ( If you want to experiment with this setup, you can pull them down via the CLI: specify extension add reconcile --from https://github.com/stn1slv/spec-kit-reconcile/archive/refs/tags/v1.0.0.zip
specify extension add archive --from https://github.com/stn1slv/spec-kit-archive/archive/refs/tags/v1.0.0.zip |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
What's your strategies to keep spec files canonical?
Two scenarios I keep running into:
1. Agent and human both edit the same spec
Code agent updates a spec file during a task - e.g. it revises spec.md or a contract. At the same time (or in another branch/session), I edit the same file in the IDE or in another tool. We end up with two versions and no clear “source of truth.” Spec-kit gives us the file layout and workflow, but not a rule for “who wins” or how to merge when both the agent and I touch the same file. How do you avoid drift or silent overwrites in that situation... strict pull-before-run, a single place everyone syncs to, or something else?
2. Same spec, multiple repos or many agent runs
Specs live in the repo with spec-kit structure, but they’re read (and in my case sometimes written) by agents in different repos, or by many separate runs. It’s unclear which copy is authoritative. Do you treat one repo as canonical and have everything else read-only? Or do you use a shared store (server, doc system) that both humans and agents sync to, with the repo as a mirror?
I’d love to hear how you handle this ; whether it’s process (e.g. “we always …”), tooling (versioning, merge strategy, or an external canonical store), or something else.
Thanks.
Beta Was this translation helpful? Give feedback.
All reactions