Skip to content

GH-600 · Domain 3: Manage memory, state, and execution · 12% of the exam

Task 3.3: Ensure continuity of agent memory and state across tools and environments

Sharing state between surfaces, sessions and agents, and keeping that shared context from conflicting or going stale.

Study it

  • Sharing state across sessions, surfaces and agents without conflicting or stale context

    Lesson coming

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

In Copilot Chat on GitHub.com, a developer's personal instructions ask for answers in Spanish, the repository's copilot-instructions.md asks for English, and the organization's instructions ask for French. Responses come back in Spanish. Which statement explains this?

  1. AOnly the personal set is sent; the others are dropped when a personal set exists
  2. BOrganization instructions always win, so the reply should have been French
  3. CThe most recently edited instructions file wins, whatever its level
  4. DAll three sets are sent, and personal instructions take the highest precedence
Show the answer and why
  • AOnly the personal set is sent; the others are dropped when a personal set exists

    Incorrect

    All relevant instructions are provided to Copilot; precedence decides conflicts.

  • BOrganization instructions always win, so the reply should have been French

    Incorrect

    Organization instructions have the lowest precedence of the three.

  • CThe most recently edited instructions file wins, whatever its level

    Incorrect

    Precedence is fixed by type, not by edit time.

  • DAll three sets are sent, and personal instructions take the highest precedence

    Correct

    On GitHub.com all relevant instructions are provided; personal come first, then repository, then organization.

For Copilot Chat on GitHub.com, all relevant instructions are provided to Copilot, in order of precedence: personal instructions, then repository instructions (path-specific, then repository-wide, then agent instructions such as AGENTS.md), then organization instructions. Other clients such as Copilot CLI and VS Code combine instruction files without a general precedence order. GitHub advises avoiding conflicting instructions.

Question 2 · choose 1

A custom agent opened a pull request yesterday. This morning the platform team merged a new version of the agent's profile. A reviewer now comments @copilot on yesterday's pull request. Which version of the custom agent handles the comment?

  1. AThe version that created the pull request
  2. BThe new version, because the latest profile on the default branch is always used
  3. CWhichever version the reviewer selects from the agent dropdown in the comment box
  4. DThe organization-level version, since comments ignore repository profiles
Show the answer and why
  • AThe version that created the pull request

    Correct

    Interactions within a pull request use the same version of the custom agent that created it, for consistency.

  • BThe new version, because the latest profile on the default branch is always used

    Incorrect

    The latest version is used when a task starts; within the pull request the original version is kept.

  • CWhichever version the reviewer selects from the agent dropdown in the comment box

    Incorrect

    There is no version picker for comments; consistency comes from reusing the original version.

  • DThe organization-level version, since comments ignore repository profiles

    Incorrect

    Comments are handled by the same custom agent version that created the pull request.

Custom agent versioning is based on the Git commit SHA of the agent profile, so you can keep different versions on branches or tags. When you assign a custom agent to a task, it is instantiated from the latest version of the profile for that repository and branch; when it creates a pull request, interactions within that pull request use the same version.

Question 3 · choose 1

A developer discusses a refactor with Copilot Chat on GitHub.com, then starts a Copilot cloud agent session from the same conversation. What context does the session get?

  1. ANone; it starts from the repository alone
  2. BThe context of the chat conversation
  3. COnly the files attached in the chat
  4. DThe developer's entire chat history
Show the answer and why
  • ANone; it starts from the repository alone

    Incorrect

    The session incorporates the chat conversation.

  • BThe context of the chat conversation

    Correct

    A session started from Copilot Chat incorporates the conversation's context.

  • COnly the files attached in the chat

    Incorrect

    It incorporates the conversation's context, not just attachments.

  • DThe developer's entire chat history

    Incorrect

    Context passing is scoped to the conversation you are working in.

On GitHub.com, Copilot Chat and Copilot cloud agent can share context: a session started from a chat incorporates that conversation, and while it runs you can keep chatting about its progress. This context passing is scoped to the sessions you are actively working with and is distinct from Copilot Memory.

Question 4 · choose 1

A developer with a Copilot Pro plan works in a local Copilot CLI session. By default, what happens to the session's data with respect to their GitHub account?

  1. AIt is synced to the account but stays private to the user
  2. BIt stays only on the local machine until the user decides to share it
  3. CIt is shared with repository collaborators
  4. DIt is visible to organization administrators
Show the answer and why
  • AIt is synced to the account but stays private to the user

    Correct

    Local sessions are synced by default, and syncing doesn't share them with other people.

  • BIt stays only on the local machine until the user decides to share it

    Incorrect

    Sessions are synced to the account by default.

  • CIt is shared with repository collaborators

    Incorrect

    Syncing doesn't share a session; sharing is a separate action.

  • DIt is visible to organization administrators

    Incorrect

    Enabling syncing doesn't give administrators access to session data.

By default, local sessions created with Copilot CLI or the GitHub Copilot app are synced to your GitHub account. Synced data is tied to your personal account and accessible only to you; syncing doesn't share a session, and administrators who control syncing don't get access to your session data.

Question 5 · choose 1

A developer wants to keep working locally in the terminal on changes that a Copilot cloud agent session started. What does the Agents tab offer?

  1. AExport to gist, then import with /chronicle
  2. BCopy the session ID into copilot --continue
  3. CContinue in GitHub Copilot CLI
  4. DDownload the session log as a patch
Show the answer and why
  • AExport to gist, then import with /chronicle

    Incorrect

    The documented hand-off is Continue in GitHub Copilot CLI.

  • BCopy the session ID into copilot --continue

    Incorrect

    A resume flag doesn't fetch a cloud agent session; the documented hand-off from the Agents tab does.

  • CContinue in GitHub Copilot CLI

    Correct

    The Agents tab can open a session in VS Code or continue it in Copilot CLI on your machine.

  • DDownload the session log as a patch

    Incorrect

    The Agents tab offers to continue the session in the CLI or VS Code.

From a repository's Agents tab you can start, monitor and steer agent sessions. When you want to work on a session's changes locally, click Open in VS Code or Continue in GitHub Copilot CLI to bring the session to your machine.

Question 6 · choose 1

A developer enables and tunes local sandboxing in Copilot CLI. Does the GitHub Copilot app on the same machine pick up those settings?

  1. AYes, both read ~/.copilot/settings.json
  2. BYes, after the next sign-in
  3. COnly if the app session runs in a cloud sandbox
  4. DNo, each surface has its own local sandbox settings
Show the answer and why
  • AYes, both read ~/.copilot/settings.json

    Incorrect

    The two surfaces configure local sandboxing separately.

  • BYes, after the next sign-in

    Incorrect

    There is no syncing of sandbox settings between the two.

  • COnly if the app session runs in a cloud sandbox

    Incorrect

    Local sandboxing doesn't apply to cloud sandbox sessions at all.

  • DNo, each surface has its own local sandbox settings

    Correct

    Enabling or configuring local sandboxing in one surface doesn't change the other.

Local sandboxing is available in Copilot CLI and the GitHub Copilot app, but its settings are configured separately in each: enabling or configuring it in one surface does not change the other. In the app, repository settings define the default for new local sessions.

Practise domain 3 →Practise all domains →