DEV Community

Djordje Puzic
Djordje Puzic

Posted on

Version control for decisions: why AI-native agencies need change-control

AI coding agents are getting better every month. Most agency delivery failures I see are not model failures.

They are decision drift.

A client changes a constraint in Slack. A senior engineer encodes a different assumption in a PR. An agent invents a third version of the truth because every session starts cold. Rework follows.

What “change-control” means here

Think less chatbot history, more version control for decisions:

  • Capture decisions and constraints with provenance (who said what, where, when)
  • Detect conflicts before they become rework
  • Keep humans as the authority on what becomes project truth
  • Give coding agents a live preflight against that truth (MCP helps)

A practical stack shape

For 3–15 person shops shipping with Cursor / Claude Code / MCP clients, the useful layer is:

  1. Ingest — Slack, GitHub, docs, voice notes into project-scoped memory
  2. Reconstruct — current state with supersedes-aware retrieval
  3. Arbitrate — owners resolve conflicts; only approved updates become truth
  4. Expose — agents query constraints before they act

Self-host + BYOK matters when client project data cannot sit on a random vendor SaaS.

Where I’m putting this

I’m building Accord Book around that shape: self-hosted AI memory and change-control for AI-native agency teams.

Product page: https://vector-intelligence.io/accord-book/

Founding pilot: https://vector-intelligence.io/pilot/

If you’re an agency owner wearing tech-lead + PM + client-translator hats at once, I’d love to hear where decision drift hits you hardest.

Top comments (1)

Collapse
 
mads_hansen_27b33ebfee4c9 profile image
Mads Hansen •

The part I'd make explicit is snapshot semantics. If an agent runs the preflight, receives the approved constraints, and project truth changes before the tool action executes, you have a decision-layer TOCTOU problem.

A useful preflight result would include a decision_snapshot_digest, effective_at, the applicable approved decision IDs, and any unresolved conflicts. Bind high-impact actions to that digest and reject or re-plan when it is stale. Keeping each decision as an immutable revision with supersedes, scope, owner, status, and validity dates then gives you both safe execution and replay: you can answer not only what the truth is now, but why an action was considered valid at that moment.