Sigma Logic AI Lead with AI. Thrive with Innovation.
Buying AI

What you own after an AI project: code, prompts and evals

The eleven artefacts that decide whether you own an AI system or rent it, the contract language that secures them, and the handover test that proves it.

On this page 11 sections
  1. Key takeaways
  2. Who this applies to
  3. The eleven artefacts
  4. The three that matter most
  5. The credentials problem
  6. Contract language that works
  7. The handover test
  8. Where we land on this
  9. When ownership matters less
  10. Frequently asked questions
  11. Next step

Owning an AI system means holding eleven things: the source code, the prompts, the evaluation set and harness, the retrieval configuration, the infrastructure definition, the data pipeline, the credentials, the model configuration, the runbook, the decision log and the training data if any exists. Contracts routinely transfer the first and stay silent on the rest, which is enough to make you dependent without anyone intending it.

The test is simple: if the vendor stopped answering email tomorrow, could another team keep this running and improve it? Most buyers assume yes and discover otherwise.

Key takeaways

  • The evaluation set is the artefact most often retained by vendors and the most expensive to rebuild.
  • “You own the code” is not the same as “you can run the system”.
  • Prompts are the operating logic. They must be in your repository, versioned, with the reasoning recorded.
  • The decision log is worth more at month eighteen than the code is.
  • Test ownership at handover with a dry run, not with a clause.

Who this applies to

You are contracting an AI build, or taking delivery of one, and you want to know what to ask for. Also relevant if you already have a system and want to establish what you actually hold.

The eleven artefacts

#ArtefactWhy it mattersCommonly withheld
1Application source codeObvious, and usually transferredRarely
2Prompts, with version historyThe operating logic of the systemSometimes
3Evaluation set and scoring harnessThe only way to verify quality or safely change anythingOften
4Retrieval configurationChunking, embedding, ranking, thresholds. Changes behaviour more than the promptOften
5Infrastructure as codeReproducing the environment without archaeologySometimes
6Data pipeline and transformationsHow your content became indexableSometimes
7Accounts and credentialsIn your name, on your billingOften
8Model configurationVersions, parameters, routing rulesSometimes
9RunbookWhat breaks, what to check, how to roll backUsually
10Decision logWhy it was built this way, what was tried and rejectedUsually
11Training or fine-tuning dataOnly if fine-tuning was usedSometimes

The four marked “often” or “usually” are the ones that decide whether ownership is real.

The eleven artefacts, grouped by how often a vendor withholds them Four columns. Rarely withheld: source code. Sometimes: prompts with history, infrastructure as code, data pipeline, model configuration, training data. Often withheld: evaluation set, retrieval configuration, credentials. Usually withheld: runbook and decision log. RARELY WITHHELD Source code SOMETIMES Prompts + history Infra as code Data pipeline Model config Training data OFTEN Evaluation set Retrieval config Credentials USUALLY Runbook Decision log The eleven artefacts from the table above, by how often a vendor keeps them
The right-hand two columns are the ones to write into the contract. The evaluation set and the decision log are what you need to change the system safely, and they are the two most often missing at handover.

The three that matter most

The evaluation set

The most valuable artefact in an AI project and the one most likely to sit on a vendor’s laptop.

Without it you cannot verify a quality claim, safely change a prompt, detect a regression when the provider updates the model, or hand the system to anyone else. Rebuilding it means re-labelling several hundred real cases: days of domain-expert time, and often the most expensive part of an inherited system.

It is also the artefact that vendors most reasonably forget to transfer, because it feels like their working material rather than your deliverable. Name it explicitly. See building an eval set from real tickets.

The prompts, with reasoning

Prompts are not configuration, they are logic. They encode which cases escalate, what tone is used, which policies are enforced, and dozens of small decisions made in response to specific failures.

A prompt without its history is a set of instructions nobody dares change, because every line might be load-bearing and nobody knows which. That is how systems become frozen.

Ask for them in your repository, in version control, with commit messages that say what each change was fixing. If a vendor stores prompts in their own platform rather than your repository, you have a dependency regardless of what the contract says about ownership.

The decision log

The least glamorous and the one that matters most at month eighteen.

A short record of the significant choices: why this retrieval strategy, why this model, what was tried and rejected and why, what the known limitations are, and what was deliberately deferred.

Without it, the next team re-derives everything by experiment, including the experiments that already failed. A few pages written during delivery saves weeks later, and no one ever writes it retrospectively.

The credentials problem

A specific trap worth its own section.

If the model API account, the vector database, the hosting and the monitoring are in the vendor’s name and on the vendor’s billing, you do not control the system regardless of who owns the code. Ending the relationship means migrating infrastructure under time pressure, and in the worst case the system stops when an invoice is disputed.

All production accounts should be in your name, on your billing, with the vendor holding scoped access you can revoke. This is normal practice, costs nothing, and a vendor who resists it is telling you something.

The same applies to the domain, the repository organisation and the monitoring dashboards.

Contract language that works

Ownership clauses in software contracts are frequently written for ordinary software and miss AI-specific artefacts. Practical additions:

Define deliverables by enumeration. List the eleven artefacts rather than saying “all work product”. Enumeration removes the argument about whether an evaluation set is a deliverable or a tool.

Require the repository to be yours from day one. Not delivered at the end. Work happens in your organisation’s repository, and this also means you can see progress.

Name the accounts. Explicitly: production accounts in the client’s name, vendor access scoped and revocable.

Require a handover package as a milestone. With payment attached. Runbook, decision log, evaluation set, architecture overview. Tie the final payment to it, because handover documentation written after final payment does not get written.

Address third-party components. Which open-source licences are in the dependency tree, and does any of it restrict commercial use? Worth a clause and worth an actual check.

Cover the model provider relationship. Whose terms govern, whose data-processing agreement applies, and what happens to conversation logs.

The handover test

The clause is not the proof. Test it before final payment:

  1. The dry run. A person on your side, or a third party, deploys the system from your repository into a clean environment using only the documentation. Time it. Note every point they had to ask a question.
  2. The change test. Make a small change - add an intent, adjust a threshold - run the evaluation set, and deploy. If your team cannot do this unaided, you have documentation rather than ownership.
  3. The incident test. Take a real failure from the logs and ask someone to diagnose it with the runbook alone.

Failing these is normal and useful. It shows exactly where the handover is thin while the vendor is still engaged and still being paid.

Where we land on this

We publish “full handover, no lock-in” on the home page, so it is fair to say what it means concretely and where it costs us.

Work happens in the client’s repository from the first commit, production accounts are in the client’s name, and the evaluation set is a named deliverable rather than our working material. The handover package - runbook, decision log, architecture overview - is a milestone with payment attached, because we know from the shape of the incentive that documentation written after final payment does not get written well.

What this costs us is straightforward: it makes us easy to leave. A client who can hand the system to their own team, or to a cheaper supplier, at any point, is a client we have to keep by being useful rather than by being difficult to remove. We think that is the right trade for a services business, and it is also the honest position given how often we are called in to rescue systems that nobody can modify.

The place we do not go: we will not write a runbook for a system we did not build without inspecting it first, and we will not claim a decision log can be reconstructed accurately after the fact. Both of those are things clients sometimes ask for on inherited systems, and the truthful answer is that some of that context is simply gone.

When ownership matters less

Genuine SaaS. When you buy a subscription product, you are renting deliberately and the economics reflect that. Ownership questions there are about data portability and exit, not source code.

Short-lived systems. A campaign tool for one quarter does not need a decision log.

When you have no capacity to own it. Ownership without a technical owner is theoretical. If nobody will maintain it, a managed arrangement may be the honest choice - just make it a deliberate decision rather than an accident.

Frequently asked questions

Is “we own the code” enough?

No. Code without the evaluation set, the retrieval configuration and the credentials produces a system you legally own and practically cannot operate.

What if the vendor uses their own framework?

Ask two questions: is it open source with a permissive licence, and can we modify and deploy it without their involvement? A proprietary internal framework is a dependency even when the application code is yours.

Who owns the prompts if they were written by their team?

You should, and say so explicitly. Prompts are work product created for you. Vendors sometimes claim a general methodology, which is reasonable for their internal patterns and not for the specific prompts running your system.

Do we own the model?

You own your fine-tuned artefacts if fine-tuning was used, subject to the provider’s terms. You do not own the base model. Where the fine-tuned weights live and whether they are portable is worth checking before choosing fine-tuning at all.

What about conversation data?

Yours, and confirm where it is stored, how long it is retained and whether the model provider may use it. This belongs in the data-processing agreement, not in a verbal assurance.

Next step

If you have inherited a system and cannot answer these questions about it, the AI system rescue engagement is a read-only assessment: what it does, how well, what it costs, what would break it, and what is missing from the handover.

If nobody internally can hold that ownership yet, the interim answer is usually a fractional AI lead rather than a hire, and the longer answer is building the capability in the team - see AI training that changes what people do on Monday.

Related: How to evaluate an AI agency proposal · Fixed price or time and materials for AI projects · Building an eval set from real tickets · Custom AI development

Let's talk

Got a workflow this applies to?

Describe it in a couple of sentences. We will tell you whether it is worth automating, what we would build, and roughly what it takes.