Skip to content

GH-300 · Domain 3: Understand GitHub Copilot data and architecture · 13% of the exam

Task 3.2: Understand lifecycle and limitations

The life of a code suggestion from prompt to acceptance, and the limitations of large language models and of Copilot itself.

Study it

Sample questions

Try each one before opening the answer. Every option is explained, with the GitHub documentation page that proves it.

Question 1 · choose 1

With suggestions matching public code allowed, a developer in VS Code is offered two inline suggestions that both match code in public repositories. She dismisses the first with Esc and accepts the second exactly as offered. What does code referencing record?

  1. AAn entry for each of them, because every matching suggestion is logged as soon as it is shown
  2. BNo entry for either, because references are only created for Copilot Chat responses
  3. CAn entry only for the dismissed one, because rejected matches are logged for review
  4. DAn entry only for the accepted one, with details such as the matching file URLs and licenses
Show the answer and why
  • AAn entry for each of them, because every matching suggestion is logged as soon as it is shown

    Incorrect

    Entries are added when you accept a matching inline suggestion, not when one is shown.

  • BNo entry for either, because references are only created for Copilot Chat responses

    Incorrect

    References are recorded for accepted inline suggestions as well as shown for chat responses.

  • CAn entry only for the dismissed one, because rejected matches are logged for review

    Incorrect

    Dismissed suggestions never reach your code, and nothing is logged for them.

  • DAn entry only for the accepted one, with details such as the matching file URLs and licenses

    Correct

    When you accept an inline suggestion that matches public code, Copilot records details such as the matching file URLs and any detected licenses.

For inline suggestions, code referencing compares a potential suggestion and about 150 characters of surrounding code with an index of public repositories. When you accept an inline suggestion that matches public code, Copilot records details such as the matching file URLs and any detected licenses, with the time you accepted the suggestion. Only accepted, unchanged suggestions are checked this way, so a suggestion you dismiss leaves no entry. Matches occur in less than one percent of suggestions.

Question 2 · choose 1

A pull request description drafted by Copilot's text completion says the change "adds rate limiting", but the diff only renames a variable. What term do Copilot's application cards use for this kind of output?

  1. AHallucination
  2. BContent filtering
  3. CPublic code matching
  4. DRed teaming
Show the answer and why
  • AHallucination

    Correct

    The cards define hallucination as output that sounds plausible but is incorrect, unsupported by the context, or fabricated.

  • BContent filtering

    Incorrect

    Content filtering is a safety system that blocks harmful content.

  • CPublic code matching

    Incorrect

    Public code matching checks suggestions against public code.

  • DRed teaming

    Incorrect

    Red teaming is a testing practice GitHub carries out on its features, not a name for a kind of output.

Hallucination is a phenomenon where a language model generates output that sounds plausible but is factually incorrect, unsupported by the provided context, or fabricated. The inline suggestions card lists hallucination as a risk of pull request text completion and asks users to review generated text before publishing.

Question 3 · choose 1

After a six-hour Copilot CLI session, Copilot no longer remembers an exact port number agreed in the first hour and contradicts it. Context usage had passed the compaction point several times. What is the best explanation, and where can the developer see what was kept?

  1. ACompaction swapped old history for a summary that can drop fine details; /session checkpoints shows it
  2. BThe session hit its token limit and is now dropping the oldest messages; /usage lists which ones were dropped
  3. CThe model changed during the session, so earlier messages were discarded; /model shows the switch
  4. DCopilot Memory expired the fact after one hour; the repository's memory settings show it
Show the answer and why
  • ACompaction swapped old history for a summary that can drop fine details; /session checkpoints shows it

    Correct

    Compaction summarizes history and may lose fine-grained details, and checkpoints let you read what each compaction preserved.

  • BThe session hit its token limit and is now dropping the oldest messages; /usage lists which ones were dropped

    Incorrect

    Compaction exists precisely so that the CLI does not drop messages without a record.

  • CThe model changed during the session, so earlier messages were discarded; /model shows the switch

    Incorrect

    Changing models does not discard the conversation history.

  • DCopilot Memory expired the fact after one hour; the repository's memory settings show it

    Incorrect

    Copilot Memory's retention is measured in days and is not what manages the session's context.

In long Copilot CLI sessions, compaction replaces old history with a structured summary, so fine-grained details such as exact wording or minor early decisions may not survive, and a completed compaction can't be reversed. Checkpoints keep each compaction summary; /session checkpoints lists them and /session checkpoints NUMBER shows one.

Question 4 · choose 1

Copilot Chat's application card describes its pipeline in four steps. Which step comes last?

  1. AInput processing
  2. BLanguage model analysis
  3. CResponse generation
  4. DOutput formatting
Show the answer and why
  • AInput processing

    Incorrect

    Input processing is the first step: the prompt is combined with context.

  • BLanguage model analysis

    Incorrect

    Analysis is the second step.

  • CResponse generation

    Incorrect

    Generation is the third step.

  • DOutput formatting

    Correct

    The response is finally formatted with syntax highlighting, indentation and links to context that was used.

The Copilot Chat application card describes the process as input processing (the prompt is combined with context such as the repository or open files), language model analysis, response generation, and output formatting with syntax highlighting, indentation and, depending on the question, links to the context the model used.

Question 5 · choose 1

A suggestion closely matches code that was pushed to a public GitHub repository yesterday, but no code reference appears. What limitation of code referencing explains this?

  1. ACode referencing only checks code from repositories with a license file
  2. BCode referencing only runs on Copilot Pro+
  3. CThe index is refreshed periodically and can miss recent code
  4. DCode referencing only checks private repositories in your organization
Show the answer and why
  • ACode referencing only checks code from repositories with a license file

    Incorrect

    Matches include code with no detected license (shown as unknown or NOASSERTION).

  • BCode referencing only runs on Copilot Pro+

    Incorrect

    The feature is not limited to a plan.

  • CThe index is refreshed periodically and can miss recent code

    Correct

    The index is refreshed periodically and may not include recently added code.

  • DCode referencing only checks private repositories in your organization

    Incorrect

    Private repositories and code outside GitHub are not included in the search.

Code referencing compares suggestions with an index of public repositories on GitHub.com; private repositories and code hosted outside GitHub are not included. The index is refreshed periodically, so it may not include recently added code and may contain references to code that has since moved or been deleted.

Question 6 · choose 1

Microsoft Learn's Copilot training explains that GitHub used LoRA when fine-tuning models. What distinguishes LoRA from traditional full fine-tuning?

  1. AIt adds small trainable parts and leaves the base model unchanged
  2. BIt retrains every weight of the network on the target dataset
  3. CIt replaces the model with a smaller one trained only on GitHub code
  4. DIt removes layers so that suggestions are generated faster
Show the answer and why
  • AIt adds small trainable parts and leaves the base model unchanged

    Correct

    LoRA adds smaller trainable parts to each layer of the pretrained model instead of changing everything, saving time and resources.

  • BIt retrains every weight of the network on the target dataset

    Incorrect

    That describes traditional full fine-tuning.

  • CIt replaces the model with a smaller one trained only on GitHub code

    Incorrect

    LoRA adapts the pretrained model; it doesn't replace it.

  • DIt removes layers so that suggestions are generated faster

    Incorrect

    LoRA adds trainable parts; it doesn't remove layers.

Fine-tuning tailors a pretrained LLM to a task with a smaller target dataset. Traditional full fine-tuning trains all parts of the network and is slow and resource-heavy. LoRA (Low-Rank Adaptation) adds smaller trainable parts to each layer while the original model remains the same, saving time and resources.

Question 7 · choose 1

A large migration assigned to Copilot cloud agent stops partway with a timeout. What limitation applies, and what does GitHub suggest?

  1. ASessions can run for 24 hours, so the task must have hit a budget; raise the budget
  2. BSessions run until the repository's Actions minutes run out; buy more minutes
  3. CSessions stop at 59 minutes; split the task into smaller ones
  4. DSessions can be extended in copilot-setup-steps.yml up to 120 minutes
Show the answer and why
  • ASessions can run for 24 hours, so the task must have hit a budget; raise the budget

    Incorrect

    The documented session limit is 59 minutes.

  • BSessions run until the repository's Actions minutes run out; buy more minutes

    Incorrect

    The limit is a fixed maximum execution time, not an Actions quota.

  • CSessions stop at 59 minutes; split the task into smaller ones

    Correct

    Each session has a maximum execution time of 59 minutes that can't be extended; break complex tasks into smaller ones.

  • DSessions can be extended in copilot-setup-steps.yml up to 120 minutes

    Incorrect

    No setting extends a session: the maximum execution time can't be extended or bypassed.

Each Copilot cloud agent session has a maximum execution time of 59 minutes, which cannot be extended or bypassed; a task that exceeds it times out and stops. Break complex tasks into smaller, focused tasks.

Practise domain 3 →Practise all domains →