Handover
Runbooks
Symptom-indexed procedures for every alert — guardrail flag spike, drift breach, provider outage, chain-verification failure — each rehearsed once in a game day your team leads.
Engineering
Four disciplines that decide whether an AI system survives contact with production: who builds it and where, what the model is allowed to see, what it is actually optimising, and how it gets better without drifting.
01 · Forward Deployment Engineering
No slide decks handed over at the end. Our engineers join your repositories, your change process and your on-call rotation, and build inside your cloud accounts under the controls you already audit.
What stays when we leave. Each artefact lives in your repositories and is exercised by your team before sign-off.
Handover
Symptom-indexed procedures for every alert — guardrail flag spike, drift breach, provider outage, chain-verification failure — each rehearsed once in a game day your team leads.
Handover
Golden, adversarial and regression sets versioned with the release and runnable in your CI with one command, shipped with the rubric and labelling guide that produced them.
Handover
Terraform modules for networking, private endpoints, keys and log sinks, with policy checks at plan time and drift surfaced in the same report your platform team already reads.
Handover
One ADR per consequential choice — model selection, retrieval topology, escalation thresholds — recording the alternatives rejected and the evidence that decided it.
02 · Context Engineering
What the model sees bounds what it can do. We allocate the window like a budget: every segment has a ceiling, every token has provenance, and overflow is resolved by relevance — never by truncating whatever arrived last.
Context window
Synthetic demo data0 / 96k0%
Window empty. Press Play or Step to admit 30 segments into a 96k budget.
Eviction log (latest first)
Nothing pruned yet. Segments with relevance ≥ 0.60 are compressed to a quarter of their size before anything above them is evicted; system prompt and policy are pinned.
The demo replays a fixed, seeded stream of 30 segments. On overflow it visits resident segments in ascending relevance: segments at or above the floor are compressed once to a quarter of their size, the rest are evicted. Conversation turns lose relevance with age. Change the budget and the same stream is replayed under the new ceiling.
Per-segment token ceilings — system, policy, evidence, history, tool output — are declared per route; the packer fills in priority order and resolves overflow by relevance, never by cutting the tail.
Flat, hierarchical (section → chunk) or graph-expanded retrieval is chosen per corpus by measured recall@k on a labelled query set, not by whichever default the framework ships.
Each chunk carries source URI, document version hash and byte offsets; the ordered list is hashed into a manifest on the ledger entry, so an answer traces to the exact bytes that informed it.
Segments above the relevance floor are compressed extractively — query-keyed sentence selection — before anything is evicted, and each summary keeps a pointer back to its full source.
The Systems Assessment includes a context audit: we capture real prompts from each production route, attribute every token to a source, and show you where budget is spent on content that never influences the answer.
03 · Goal Engineering
“Improve claims handling” is not something a model or an eval can check. We decompose each outcome into a metric tree, bind every metric to predicates a program can evaluate, gate releases on them — and then assume the system will try to game them.
Any objective strong enough to steer a system is strong enough to be exploited by it. Each failure mode gets a named countermeasure and a signal that tells you it is happening.
| Failure mode | How it shows up | Countermeasure | Detection signal |
|---|---|---|---|
| Metric gaming | The system optimises the measured proxy — short handle time — by deferring or escalating the hard cases. | Held-out adversarial evals nobody tunes against, and paired metrics that move in opposite directions under gaming (cycle time with reopen rate). | Paired metric diverges; adversarial pass rate falls while golden-set score rises. |
| Specification gaming | Output satisfies the letter of the objective and violates its intent — a denial that cites a clause that does not apply. | Constraint predicates evaluated beside the objective (the cited clause must entail the stated reason); a violation fails regardless of score. | Constraint violations on shadow traffic. |
| Goodhart drift | Scores climb on a static golden set as prompts and retrieval are gradually tuned to it. | Rotating golden sets: a fixed share of cases is retired each cycle and replaced from fresh production samples, with the rotation ledgered. | Gap between retired-set and fresh-set scores widens. |
| Eval contamination | Eval cases leak into few-shot examples, fine-tuning data or the retrieval index. | Content hashes of every eval case are intersected with prompt, training and index manifests in CI; any overlap fails the build. | Non-empty hash intersection. |
| Judge exploitation | An LLM judge rewards length, confident tone or the house style of its own model family. | Judges calibrated against human labels per rubric item, length-controlled scoring, and a judge from a different model family than the system under test. | Judge–human agreement (Cohen's κ) drops below the calibration floor. |
| Reviewer sycophancy | The system learns phrasing that reviewers approve rather than answers that are correct. | Seeded known-wrong cases in every review queue and blind samples with outputs rewritten in neutral register. | Any approval of a seeded known-wrong case. |
04 · Loop Engineering
Production AI systems do not improve on their own; left alone they drift. We install a closed loop with a fixed cadence and pre-registered hypotheses, so every change is a measured experiment and every result — including the failures — lands on the ledger.
Pull traces, ledger entries, reviewer overrides and drift statistics for one route over a fixed window, sliced by segment, so the loop starts from measured behaviour rather than the loudest complaint.
ledger ← observation_window_id
Pre-register the change, the metric it should move, the threshold and the sample size before anything is built — e.g. deeper re-ranking cuts unsupported claims by 30% without pushing p95 latency past 2.5 s.
ledger ← hypothesis_id, predicted_effect
The change ships as a new release hash into a shadow or canary ring with every other component pinned, so any movement in the metrics is attributable to exactly one diff.
ledger ← release_hash, deployment_ring
Golden set, adversarial set and live canary traffic are compared with the incumbent using a sequential test that can only stop early at boundaries declared in the hypothesis.
ledger ← eval_run_id, verdict
Accepted and rejected hypotheses are both appended with their evidence. The next observation window starts from the new baseline, and nobody re-tests an idea the ledger already refuted.
ledger ← loop_iteration, baseline_hash
Each governed route runs one loop iteration per agreed cycle, so improvement is scheduled work with an owner, not a reaction to the latest incident.
Act ships exactly one change as a new release hash with everything else pinned, which is what makes the evaluation attributable.
Sample size, success threshold and early-stopping boundaries are written into the hypothesis before the change is built, so results cannot be peeked into significance.
Two weeks, fixed scope. We map every model, prompt, data flow and decision path you run today, score them against your compliance regime, and hand you a ranked remediation plan with named mechanisms — not a slide deck.