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.