A developer is mapping the GitHub Copilot inline completion lifecycle from keystroke to displayed ghost text. They want the correct order of the main stages. Which sequence reflects how a completion is produced?
- AThe editor displays a draft candidate, the proxy filters it after the developer reads it, the model regenerates from the edit, then local context is gathered for the next keystroke entirely.
- BThe model generates a candidate before any context is gathered, the editor displays it immediately, and the proxy filters only suggestions that the developer has already accepted into the file.
- CThe proxy generates the candidate text itself, the model only filters toxic content, local context is gathered last, and the editor stores the result without showing ghost text.
- DLocal context is gathered, the proxy assembles and forwards the prompt, the model generates a candidate, the proxy post-processes and filters it, then the editor displays any survivor. Correct
Why A is wrong: Tempting because filtering and display both happen, but the editor never shows an unfiltered draft first and the model does not regenerate from a displayed candidate in this way.
Why B is wrong: Plausible to those who think filtering is post-acceptance, but context precedes generation and the proxy filters candidates before display, not after acceptance.
Why C is wrong: Reverses the roles: the model generates and the proxy filters, not the other way around, and context is gathered first rather than last.
Why D is correct: Context gathering feeds prompt assembly at the proxy, the model produces a candidate, and the proxy then post-processes and filters before the editor shows what remains, matching the documented flow.