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?
AOnly the personal set is sent; the others are dropped when a personal set exists
BOrganization instructions always win, so the reply should have been French
CThe most recently edited instructions file wins, whatever its level
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.
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?
AThe version that created the pull request
BThe new version, because the latest profile on the default branch is always used
CWhichever version the reviewer selects from the agent dropdown in the comment box
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.
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?
ANone; it starts from the repository alone
BThe context of the chat conversation
COnly the files attached in the chat
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.
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?
AIt is synced to the account but stays private to the user
BIt stays only on the local machine until the user decides to share it
CIt is shared with repository collaborators
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.
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?
AExport to gist, then import with /chronicle
BCopy the session ID into copilot --continue
CContinue in GitHub Copilot CLI
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.
A developer enables and tunes local sandboxing in Copilot CLI. Does the GitHub Copilot app on the same machine pick up those settings?
AYes, both read ~/.copilot/settings.json
BYes, after the next sign-in
COnly if the app session runs in a cloud sandbox
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.