All chapters
  1. Start hereEnterprise AI adoption strategy, stage by stage and role by role
  2. Chapter 1Why AI adoption stalls
  3. Chapter 2Governance is the first enabler
  4. Chapter 3Who decides, who runs it
  5. Chapter 4Finding the right use cases
  6. Chapter 5The adoption ladder
  7. Chapter 6Role tracks
  8. Chapter 7Reuse first, as code
  9. Chapter 8The worked example
  10. Chapter 9The enablement program
  11. Chapter 10Measuring adoption honestly
  12. Chapter 11Evaluating and mapping tools
  13. Chapter 12Hands-on labs
  14. Chapter 13Templates, each filled
  15. Chapter 14Glossary
  16. AboutAbout this site
Role track · Build

Developer

Coding agents inside guardrails first, then AI features with bounded tools, traces and a kill switch.

The developer owns the code they ship, whoever or whatever typed it. AI (artificial intelligence) changes this role in two ways. First, a coding agent joins the work, and it must work inside guardrails that the developer did not have to think about before. Second, the developer starts to build products that contain a model, and those need controls that ordinary features never needed.

A coding agent can write a change; it cannot approve one. Numbers on this page are illustrative.

Guardrails first, agent second. Set up the instructions file, scoped context, secret blocking and protected paths before the first delegated task, then let the CI (continuous integration) pipeline and branch protection enforce what the agent might skip.

1. At a glance

ItemDeveloper
MandateDeliver correct, maintainable changes through the normal pull request path, with a coding agent inside guardrails, and build AI features that stay bounded, observable and switchable off
Primary decisionWhat goes into each change: reuse, extend or create, the domain invariants it must hold, and whether a draft from the agent is good enough to put up for review
First safe winStage 2 in one repository: a reviewed instructions file, secret blocking, protected paths and the reuse advisory, with the first reuse decision record merged
Biggest failure modeLarge agent-written diffs that nobody can review, merged on trust, with a secret or a duplicate date helper inside

Line: 1st line · Family: Build · Variants: application developer, full-stack developer

VariantWhat differs
Application developerWorks mostly in one service or library; owns its tests, its catalog dependencies and its part of the reuse decision
Full-stack developerChanges span user interface and service; the same guardrails apply on both sides, and display rules (such as formatting the cutoff) must use the shared library on the client too
Shared by bothThe requester of an agent task counts as the author; a second developer approves; nobody merges their own change

2. Your journey: first steps to fully adopted

The developer moves from asking the assistant to explain code to delegated changes inside enforced guardrails; each stage adds controls and evidence, never the right for an agent to approve.

Start here: your first steps

  1. Complete acceptable use and install the approved tool configuration for your repository.
  2. Merge a reviewed instructions file, with secret blocking and protected paths turned on.
  3. Turn on the reuse advisory, and merge your first reuse-decision.yaml.
  4. Ask the agent for unit tests from the acceptance criteria and the temporal test matrix, then check each case.

Fully adopted: how the work runs

Moment in the workBefore AIFully adopted (Stage 4–5)Decision that stays human
Story to codeThe developer types every line; helpers are copied from other repositoriesAfter the catalog query, the agent drafts the change from the accepted story in a sandbox with synthetic dataReuse, extend or create; and whether the draft is good enough to put up for review
ReviewOne reviewer skims a large diffSmall diffs with a trace link and a reuse record; an agent comments first; a second developer reads every lineApproving the merge; the requester never approves their own change
CIChecks catch builds and some testsCI enforces banned patterns such as new Date(dueDate), secret scan, licence scan and the test matrix; the agent fixes failing checks in the sandbox within retry and spend limitsChanging or weakening a check: a code owner reviews
ProductionBig-bang releasePer-channel flags roll out web, then mobile, then notifications; traces and a tested kill switch are in placeThe release manager approves the change; a person decides to use the kill switch
Production fixDebugging by hand, sometimes with copied production dataThe agent reproduces the bug with synthetic data and drafts the fix through the same pull request pathRefusing production customer data, and responding to a leaked secret

What changes for the organization

BeforeAfter
Each team keeps its own date helper, and they drift apartOne shared library is reused, and CI blocks new duplicates
Agent code is merged on trust, or banned outrightAgent code enters through the same reviewed pull request path as human code
Review is a hidden bottleneckReview time is planned, and rework and change failure rates are measured

In any organization

3. Your decisions

DecisionYou own / advise / challengeInputsEscalationCannot be delegated
Reuse, extend or createOwn: you write the reuse decision recordCatalog entry, advisory-hook output, impact analysisArchitect reviews; asset owner for an extensionYes
Domain invariants in code (date-only versus instant)Own the implementation; the architect owns the contractTemporal-domain contract, acceptance criteriaArchitectYes
Put an agent draft up for reviewOwnThe diff, test results, trace, your own reading of every lineTech leadYes
Approve a colleague's pull requestOwn, when you are not the author or the requesterDiff, CI result, decision recordTech lead; code ownerYes
Scope of the agent's contextOwn within the team's instructions fileRepository layout, data classificationEngineering managerNo (the team sets it; you apply it)
Tool scopes for an AI featureAdvise; the architect and AI engineer design, security challengesReference pattern, threat modelSecurityYes
Report a near miss (secret, restricted data, unsafe suggestion)OwnWhat you sawSecurity; enablement leadYes

4. Two kinds of adoption

KindWhat it means for the developerExample on this site
How you work with AIA coding agent explains code, drafts changes and tests, and reviews pull requests, inside guardrails set by the team and enforced by CI (continuous integration)The agent drafts the notification-service change; CI fails it on new Date(dueDate); the developer fixes it with LocalDate
What you build that contains AIProduct features that call a model: bounded tools, authorization at execution time, structured outputs, idempotency, traces, a fallback and a kill switchThe integration of the internal policy assistant into the contact-center desktop

Coding agents inside guardrails

Set these up before the first delegated task. Some are advisory (they guide the agent and can be skipped). Some are enforced (they run whether or not anyone used an agent). See reuse first for the full layered design and tools for how each tool names these features.

GuardrailWhat it doesEnforced or advisoryWhat it does not catch
Instructions fileStanding rules: domain types, the catalog query, protected paths, commands to runAdvisory (the model reads it, and can ignore it)Anything the model misreads; rules that must hold go into CI too
Scoped contextThe agent sees only the repository and folders the task needs; no production configuration, no customer dataEnforced by workspace and access settingsSensitive data already committed to the repository
Secret blockingBlocks reading .env and key files; a pre-commit scan and a CI secret scan stop secrets in diffsHook advisory; CI enforcedSecrets in unusual formats; a leak still needs rotation
Protected pathsPipeline configuration, branch rules, database migrations and the instructions file itself need a code owner's reviewEnforced by code-owner rules and branch protectionA harmful change outside the protected list
Reviewable diffsOne concern per pull request; a size limit (illustrative: 400 changed lines) unless the reviewer agreesTeam policy; CI can warnA small diff can still be wrong
Reuse decisionreuse-decision.yaml in the pull request: reuse, extend or create, with the reasonCI checks it exists; the reviewer checks the reasonIt cannot prove no duplicate exists elsewhere
Provenance and licenceSBOM (software bill of materials) entry and licence scan for every new dependency; the pull request notes AI involvementCI enforcedCopied code without a dependency
TestsThe temporal test matrix and unit tests run on every changeCI enforcedCases nobody wrote down

When the product contains AI

These controls belong in the code, not in the prompt. A prompt is a request to the model; the code decides what actually happens.

ControlWhat you buildPolicy assistant example
Bounded toolsEach tool does one thing, with typed parameters and an allow-list; no general "run query" toolsearch_policy(question, max_results), read-only
Authorization at execution timeThe tool checks the end user's entitlements when it runs; the model's request is never the authorizationRetrieval filters documents by the staff member's role
Structured outputsThe response must match a schema; invalid output is rejected and the fallback is shownanswer, citations, abstained, reason
IdempotencyAny write tool takes an idempotency key, so a retry never acts twiceNot used: the assistant has no write tools. A future "add case note" tool would need it (hypothetical)
Evaluation hooksEvery response records prompt, model, index and tool versions, so evaluation and monitoring can join on themVersion ids written to the trace
TracesOne trace per request: input, retrieved sources, tool calls, output, versionsKept under the records rule
FallbackOn timeout, invalid output or abstention, show the non-AI path"Open the policy library" link with the search pre-filled
Kill switchA feature flag turns the feature off per channel within minutes; testedAssistant panel hidden; fallback link stays

A tool definition with its permission scope, as the developer would commit it (illustrative):

{
  "name": "search_policy",
  "description": "Search approved, current policy sections. Read-only. Returns section ids and text.",
  "input_schema": {
    "type": "object",
    "properties": {
      "question": { "type": "string", "maxLength": 500 },
      "max_results": { "type": "integer", "minimum": 1, "maximum": 5 }
    },
    "required": ["question"]
  },
  "x-permission": {
    "scope": "policy-index:read",
    "identity": "end-user",
    "entitlement_check": "at-execution",
    "writes": false
  }
}

The x-permission block is read by the team's own tool router, not by the model. The router refuses the call if the signed-in staff member lacks the scope.

5. Your ladder

StageAI useGuardrailArtifact or evidenceDecision relationshipStep-down trigger
0 · FoundationsNone. You complete acceptable use and get the approved tool configurationApproved tool, cleared configuration, data rules knownAttested acceptable useEngineering manager confirms accessNot applicable
1 · Personal productivityExplains code to its author, suggests a unit test; you type or paste every changeApproved coding assistant; no secrets or customer data in promptsLocal change through the normal pull requestA second developer approvesTool or data terms change
2 · Team contextThe agent works from the team instructions file and gets the reuse advisory before writing a helperSecret blocking, protected paths, reuse advisory; CI blocks new Date(dueDate)Reuse decision recordThe reviewer checks the record; the architect reviews "extend" and "create"Secret or policy findings rise
3 · Delegated tasksThe agent drafts a whole change as a pull request from an accepted story; another agent comments on reviewsEvaluation set per task with a threshold on every risk slice; trace; sandbox; review time plannedPull request with trace link and test resultsRequester is the author; a second developer approvesEvaluation falls below threshold, or rework rises
4 · Agentic workflowsThe workflow runs story → branch → pull request → CI and fixes failing checks in the sandboxLeast-privilege tools, no production credentials, spend limit, kill switch, recovery testedPull requests, CI runs, traces, a draft change recordIndependent reviewer approves each merge; the release manager approves the changeModel or provider change: step down to Stage 2 for that task
5 · Scale and sustainYou contribute skills, prompts, hooks and catalog assets that other teams useMaterial-change review for shared assets; owner namedCatalog entries you ownCatalog owner approves; consumers are notified of changesA shared asset you own causes a regression elsewhere

Stays human-operated at Stage 5: approving a merge, deciding to create a new shared asset, and responding to a leaked secret (rotation, report, clean-up). An agent may draft the steps; a developer with the authority does them.

6. Priority scenarios

ScenarioValueRisk tierStageFirst stepDo not use AI when…
Explain legacy codeFaster onboardingMedium (proprietary source)1Ask for an explanation with file and line references; check eachThe code handles secrets and the tool is not cleared for them
Generate unit testsMore cases, fewer gapsMedium2 to 3Give the agent the acceptance criteria and the temporal test matrixThe agent writes both the code and the only tests for it, with no human-written cases
Draft a change as a pull requestCycle time fallsMedium3One accepted story, one repository, sandbox onlyThe change touches protected paths without a code owner's review
AI review commentsEarlier findingsMedium3Agent comments; the human reviewer decidesIts comments replace the human approval
Migrate callers to a shared libraryDuplicates removedMedium3 to 4One channel at a time, behind a flagThe migration would also change behavior nobody specified
Fix failing CI checksLess waitingMedium4Sandbox, retry limit, spend limitThe fix would weaken or disable the check
Reproduce a production bugFaster diagnosisMedium2Synthetic data that matches the failing shapeIt needs production customer records; that is prohibited

7. The due-date ask from your seat

The developer carries the change from accepted stories to merged pull requests. The full story is in the worked example.

StepWhat happensWho decidesEvidence
1 · Read the inputsStories US-1 to US-5, the temporal-domain contract v1 and the shared-datetime catalog entryYou understand them before any agent task startsStory links in the pull request
2 · Query the catalogThe instructions file sends the agent to the catalog; the advisory hook returns shared-datetime 4.2 with LocalDate and formatInstant, but no function to format the payment cutoffYou chooseHook event in the trace
3 · Record the decisionExtend: add the display-only formatPaymentCutoff(cutoffInstant, customerZone); reuse LocalDate and formatInstant. The cutoff instant comes from payment-schedule-service, which alone computes it; the channel never calculates itYou record; the architect reviews; the library owner approves the extensionreuse-decision.yaml
4 · Delegate the draftThe agent drafts the notification-service change in the sandbox with synthetic dataYou request; you are the author for review purposesPull request plus trace
5 · CI catches the trapThe banned-pattern rule fails on an old new Date(dueDate) callThe rule decides; you fix with LocalDate.parseFailed then passing CI run
6 · Hold the sourcepayment-schedule-service stays read-only; the agent's credentials cannot write to it or to profile-servicePlatform and architecture set the boundaryAccess configuration
7 · Prove itTest matrix T1 to T13 runs, including the DST (daylight saving time) weeks, the no-DST zone and the late-evening renderQA engineer signs the test evidenceCI and evaluation store
8 · Ship behind a flagPer-channel flag: web, then mobile, then notifications; statements from the next cycleA second developer approves each merge; the release manager approves the changeApprovals; change record

A negative path you will meet. The agent suggests pasting production customer records into an unapproved tool "to reproduce the bug." You refuse, use synthetic data and report a near miss. The egress policy would also block the tool; your report is what lets the team improve the instructions file.

8. Hand-offs and separation of duties

DirectionWhatWith whom
You give →Pull requests with decision record, tests, trace linkA second developer; the QA engineer
You give →Extension proposals for a shared assetAsset owner; architect
You give →Catalog feedback (false positives, missing assets)Architecture
You give →Near-miss reportsSecurity; enablement lead
You receive ←Accepted stories and acceptance criteriaBusiness analyst, product owner
You receive ←Temporal-domain contract, patterns, CI rulesArchitect
You receive ←Approved tool configuration, sandbox, gateway accessPlatform engineer
You receive ←Evaluation sets and thresholds for delegated tasks and AI featuresAI engineer, QA engineer
You challengeAgent output; stories that conflict with the contract; a reuse candidate that does not fitCoding agent; business analyst; architect
You are notified ofModel or provider changes, failed evaluations, exception expiry, incidents on your serviceAI engineer, CI, production support

Separation of duties. When a coding agent opened the pull request, the person who asked the agent is the author. That person cannot approve it. Branch protection enforces this, not the agent's own settings.

9. Evidence and records

EvidenceProduced or consumedSystem of recordRetention owner
Pull request with AI involvement notedProducedRepositoryRepository retention rule
Reuse decision recordProducedPull requestTeam
Agent trace for each delegated taskProducedTrace storePlatform
CI run (banned patterns, SBOM, licence, tests, secret scan)ProducedCI systemPlatform
Review approvalProduced (for others' changes)RepositoryRepository retention rule
Near-miss reportProducedIncident or near-miss registerSecurity
Tool definitions and schemas for AI featuresProducedRepository, versionedTeam

Templates: team instructions file, reuse decision record, hook specification.

10. Skills and learning path

LevelSkillsLabsDone when
FoundationAcceptable use, data classification, what the agent can see, reading a diff you did not writeL1 team instructions fileYour repository has a reviewed instructions file and secret blocking
PractitionerReuse advisory and decision records, banned-pattern rules, delegated tasks with evaluation setsL3 advisory hook and CI check, L5 delegated task behind an approval gateA delegated pull request passes CI and a second developer approves it without rework
AdvancedBounded tools, authorization at execution time, structured outputs, idempotency, fallback and kill switchL6 policy assistantYour AI feature passes the AI engineer's evaluation set and a tested kill switch

11. Measures and incentives

The developer is evaluated on changes that stay correct, not on lines or pull requests produced with AI.

MetricDefinitionAnti-gaming note
Rework rateMerged changes that need a fix within 30 days ÷ merged changesSplitting fixes into "new features" hides rework; link fixes to causes
Change failure rateChanges that cause an incident or rollback ÷ changes releasedDo not lower it by releasing less often
Reuse rateChanges touching a catalogued capability that reuse or extendA "reuse" record the reviewer rejected does not count
Secret and policy findingsFindings per 100 pull requests, by typeShould fall; never by disabling scanners
Review turnaroundHours from ready-for-review to decisionFast approvals of large agent diffs are a warning, not a win
Near misses reportedCount per quarterNever penalize reporters; a fall to zero is suspicious

12. Cost, capacity and workforce

ItemWhat to plan
Review timeAgents draft faster than people review. Protect review time (illustrative: a fifth of team capacity at Stage 3)
Agent spendDelegated tasks have a spend limit per task and per day, set with platform
SkillsReading and judging generated code becomes the core skill; plan lab time, not only licences

13. Anti-patterns and stop conditions

Anti-pattern or triggerWhat it looks likeWhat to do
Merge on trustA large agent diff approved after a skimSplit it; review every line you approve
Prompt as a control"The prompt tells the model not to write to production"Remove the write path; enforce in code and access
Instructions file as policyA rule exists only in the instructions fileAdd the CI check or protected path too
Agent weakens the checkThe agent "fixes" CI by skipping a test or a ruleRevert; protected paths cover CI configuration
Free-text model output parsed with string matchingThe feature breaks on a new phrasingUse a schema and reject invalid output
Stop: a secret reached a prompt or a diffScanner finding or near-miss reportStop the task; rotate; report; review the instructions file
Stop: evaluation below thresholdThe delegated task fails on a risk sliceStep down for that task; fix; re-run
Stop: model or provider changeNotice from the AI engineer or platformStep down to Stage 2 for affected tasks until the evaluation set passes again

14. Action kit and 30/60/90

A starter instructions file section the team can adapt (illustrative). Lab L1 builds the full file.

## Rules for the coding agent · v1
- Before writing any helper or utility, query the asset catalog for the capability.
- Write reuse-decision.yaml for every new file under a utility path.
- Dates: the due date is date-only (LocalDate). Never parse it into a date-time.
- The cutoff is an Instant from payment-schedule-service. Never calculate it. Format it only with formatPaymentCutoff(cutoffInstant, customerZone).
- Never read .env, key files or anything under /secrets.
- Do not edit: CI configuration, branch rules, migrations, this file.
- Use synthetic data only. Never request or paste customer records.
- One concern per pull request. Note "AI-assisted" in the description.
- Run the test command before proposing a pull request.

Questions to ask your enablement lead

PeriodGoalDone when
First 30 daysStage 2 in one repositoryInstructions file reviewed and merged; secret blocking and protected paths on; first reuse decision record merged
Days 31 to 60First delegated taskOne task type at Stage 3 with an evaluation set and threshold; delegated pull requests pass review without rework
Days 61 to 90Build or harden one AI featureBounded tools, schema-validated outputs, traces, fallback and a tested kill switch in place; or one shared asset contributed to the catalog