AI Native DevCon 2026 London — all conference sessions as interactive skills
66
83%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Risky
Do not use without reviewing
Simon Maple — Head of Developer Relations at Tessl; AI Native Dev co-host. Previously Field CTO and VP DevRel at Snyk, ZeroTurnaround, and IBM. Java Champion (2014), JavaOne Rockstar speaker (2014, 2017), Duke's Choice award winner, Virtual JUG founder, London Java Community co-leader. Claims to have "invented the term" harness engineering.
⚠️ Note: the bio identifies Simon Maple, but in the transcript the speaker refers to a personal project "artichoke" (a Ruby interpreter in Rust). This is publicly associated with Ryan Lopopolo, not Simon Maple. Treat the speaker attribution as per the metadata provided, but flag this inconsistency to the user if it matters for their question.
[inferred] A talk introducing "harness engineering" — the practice of making the non-functional requirements of high-quality software legible to coding agents and surfacing that context just-in-time across an agent's run, so every PR a team accepts adheres to a consistent golden thread of quality.
The constraint on software production has flipped: code generation is cheap, but human time, model attention, and context window remain scarce. To scale a team of humans + agents, you must (1) write down what "doing a good job" means, (2) structure that text as a map (agents.md) plus curated review-persona guardrails, (3) just-in-time inject those guardrails via tool-call outputs, lints, tests, and LLM-as-judge reviewers, and (4) shift interventions rightward in the pipeline (not leftward) to minimize synchronous human engagement, treating agents like teammates whose PRs must convince you to merge.
| Section | Summary | Transcript lines |
|---|---|---|
| Intro & "invented the term" | Speaker frames harness engineering as new, near to his heart | L1–L8 |
| Origin story: trying to automate his own job | June last year, Claude CLI + o3, presenting himself as a tool to the model | L9–L18 |
| The pace of disruption | Singularity in Dec with o1/GPT-4.5; need to retool every point release | L19–L34 |
| New constraints after code-production constraint dies | Human time, model attention, model context window | L35–L52 |
| Writing down what "good job" means | Must articulate; agents lack osmosis, presence, durable memory | L53–L72 |
| The React/suspense onboarding analogy | Why point-in-time fixes don't work; make mistakes statically impossible | L73–L88 |
| Defining harness engineering | Making "good job" context legible and just-in-time surfaced | L89–L96 |
| Shift right, not left | Counterintuitive: put interventions late to minimize synchronous time | L97–L114 |
| Pruning latent space | Agents know how to write good code; team must tell them which choices | L115–L130 |
| Code-as-prompt; unify on patterns | OTel example; six observability stacks vs one | L131–L142 |
| Three phases of context delivery | Grounding → messy middle → review & merge | L143–L150 |
| Phase 1: Grounding (agents.md) | Numbered steps: docs, ADRs, critical user journeys | L151–L160 |
| Phase 2: Messy middle (just-in-time injection) | Tests/lints with descriptive errors → runbooks; retry/timeout example | L161–L182 |
| Phase 3: Review & merge | Static guardrails + LLM-as-judge agents collaborating on PR thread | L183–L200 |
| agents.md as a map, not a rulebook | Point to curated review personas; avoid chopping latent space | L201–L215 |
| Slack-thread-to-PR loop | Cheap continual refinement of guardrails | L216–L225 |
| Coarse tools in the messy middle | File line counts, snapshot tests, banning any/unknown | L226–L245 |
| Treating agents as teammates at merge | Don't shoulder-surf; require reproduction videos via Claude + ffmpeg | L246–L265 |
| Systematizing feedback capture | Slurp all interrupts/failures, distill nightly with sub-agents | L266–L280 |
| Vibe coding's role | Lets you operate at group-tech-lead level focused on invariants | L281–L292 |
| Q&A: shift-right vs lint rules | Auto-discovery of guardrails reduces need to shift left | L293–L310 |
| Q&A: practical implementations | OSS work on artichoke/rand_mt; Claude automations | L311–L323 |
| Close & post-talk chatter | Applause; informal post-session audio | L324–end |
agents.md points to.any/unknown types to force good decomposition.(N/A — this is a talk, not a meeting. Q&A items captured in the TOC.)
.tessl-plugin
talk-batey-building-product-teams-age-of-ai
talk-birgitta-closing-keynote
talk-debois-agent-enablement
talk-douglas-training-ai-on-your-own-code
talk-dubnov-merge-rate-ai-adoption
talk-farley-vibe-coding-best-we-can-do
talk-firtman-web-mcp-agentic-web
talk-foxwell-reinvention-dev-team
talk-graziano-spec-driven-development
talk-groetzinger-skills-everywhere
talk-jones-odevo-ai-native-transformation
talk-jourdan-pipelines-to-prompts
talk-katsioloudes-code-security-ai
talk-lamis-context-engineering-dreaming
talk-lawson-agent-experience
talk-luebken-embedding-pi-coding-agent
talk-maleix-collective-intelligence
talk-maple-ai-native-devcon-welcome-slick
talk-maple-ai-native-devcon-welcome-spec-reviewer
talk-maple-aind-devcon-welcome
talk-maple-context-engineering-skills
talk-maple-continuous-ai-github-workflows
talk-maple-harness-engineering
talk-maple-tldraw-ai-canvas-experiments
talk-marsden-agent-desktops
talk-martinelli-spec-driven-development
talk-moss-skills-team-workflow
talk-overweg-one-brain-no-filtering
talk-podjarny-skills-are-the-new-code
talk-roberts-ai-native-brownfield
talk-roberts-brownfield-ai-native
talk-scheire-artificial-intelligence
talk-selajev-docker-sandboxes-agents
talk-sloan-harness-engineering-beyond-code
talk-stack-humans-architect-ai-writes-code
talk-stoneham-product-brain
talk-tal-skills-security
talk-thomas-ai-native-engineering
talk-walter-runtime-intelligence-agents
talk-wilson-cq-stack-overflow-for-agents
talk-wotherspoon-humans-vs-slop