AI Code Completion Service  ·  View 04 of 21  ·  People and journeys

Journey — The Developer and the Grey Text

Six phases, two of which cannot be recovered in the same session, and one trough that is the whole architecture.

Editable source SVG draw.io All views
Working developer mid-file, mid-thought Goal — Finish this line without breaking the thought I am holding Trigger — A pause of 60 ms after a keystroke, inside a function body Done when — Tab pressed, and the line still there an hour later 1 · Type 2 · Pause 60 ms 3 · Wait ◆ moment of truth 4 · Read ◆ moment of truth 5 · Accept 6 · Live with it What they do Types a few chars Stops for a moment Keeps eyes on cursor Scans the grey text Presses Tab Or types over it Edits or deletes it What the platform does Nothing yet Assembles FIM prompt Stamps the deadline Reuses warm prefix Streams first tokens Trims and scans Logs accept event Measures retention How it feels Invisible help Neutral In the way Where it hurts Cold cache: +180 ms Reads as a stall Plausible and wrong Deleted at review What answers it 60 ms debounce Session affinity Empty, never late Degeneracy check Accept telemetry Retention as metric Journey — The Developer and the Grey Text The trough is the wait, and it is the whole architecture: a cold prefix reads as a broken editor, not as a slower model. v 1.0 · owner Developer Experience Architecture · date 2026-10

The trough is the finding

  • The sentiment line bottoms out at Wait, not at Read. A wrong suggestion costs a glance; a slow one costs the thought the developer was holding.
  • A cold prefix cache adds ~180 ms at p95 and is perceived as a broken editor rather than a slower model. That perception is why session affinity is the critical design decision rather than an optimisation.

What answers each trough

  • Wait → session affinity to a warm prefix, plus a deadline that returns empty rather than late (views 15, 13).
  • Read → degeneracy detection and suffix deduplication before display (view 08).
  • Live with it → accepted-character retention at 120 s as the canonical quality metric, not acceptance (views 16, 18).

Assumptions

  • 60 ms client debounce; ≥ 55% of requests are cancelled before display.
  • Displayed single-line acceptance ≥ 28%; accepted-character retention ≥ 70% at 120 s.