GH-300 - Understand GitHub Copilot data and architecture - Section 3.2

Describe the proxy filtering pipeline, post-processing, and the code suggestion lifecycle.

Trace a suggestion from the editor through the GitHub Copilot proxy, where input processing, filtering for toxic language and insecure patterns, and post-processing happen, and back to the editor. Describe the code suggestion lifecycle and the role of the duplication-detection filter for matching public code.

Proxy filteringPost-processingSuggestion lifecycleDuplication detection

Practice question for this objective

Free sampleUnderstand GitHub Copilot data and architecturemedium

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
Trace the inline completion lifecycle as context gathering, proxy prompt assembly, model generation, proxy post-processing and filtering, then editor display. In the standard flow the client gathers surrounding context, the proxy assembles the prompt and forwards it, the model generates a candidate, and the proxy post-processes and filters that candidate before the editor renders any survivor as ghost text. Generation belongs to the model and filtering belongs to the proxy.

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.

See more GH-300 practice questions, answers explained.

More in this domain

Back to all Understand GitHub Copilot data and architecture objectives, or the GH-300 cert hub.

Examworthy is not affiliated with or endorsed by GitHub. Original, blueprint-aligned practice material only.