PreparedContext is temporary
A host callsprepare_context with a scope_id, the current query, and a max_bytes budget.
The Server selects relevant content from active Memory and the approved current Experience heads, then returns a PreparedContext.
Two outcomes are normal.
empty is not a Server failure or an authentication error.
includes exact Citations and a visible trust marker.
Paths that may fail open
Automatic recall
If the Server is down, a request times out, the schema is unknown, or the response is too large, the host skips injection and continues the model request. It should emit bounded diagnostics without logging the query, Scope, prepared content, token, or response body.Automatic prompt or turn capture
A capture failure should not stop the host task. It must not remove valid context that recall already prepared. The reverse matters too. A host that supports capture may still attempt it when recall fails. Recall and capture are not one transaction.Optional boundary flush
Some hosts try to flush after capture or at a session boundary so new Sources can reach the extraction pipeline sooner. If the cursor does not catch up or the Server is unavailable, the current turn still proceeds.Statistics and telemetry
A statistics failure should not roll back a successful domain write.Operations that must report failure
These operations change or publish state. Continuing silently would tell the caller that a mutation happened when it did not.
The host conversation may continue after an explicit operation fails. It still has to say that the requested operation did not complete.
A comparison experiment
Suppose Claude Code receives this question.Recall fails and capture succeeds
No PreparedContext is injected. Claude Code still receives the original prompt. The prompt Source may still be stored. Diagnostics recordserver_unavailable or the applicable failure category.
Recall succeeds and capture fails
The validatedadditionalContext is still injected. The capture error does not erase the recall result. The task continues.
An explicit retire fails
The user then asks an MCP tool to retire an exact Memory entry after the Server has stopped. The MCP operation returns unavailable or an error. The host cannot claim that the Memory was retired. The user may continue other work and retry after recovery. All three cases leave the host running. Only the first two are automatic fail-open paths.Security boundaries remain fail-closed
Authentication failure is not empty recall
A 401 or 403 indicates a configuration or authorization problem. Treating it asempty hides the fault and may convince a user that the Scope simply has no history.
Do not follow redirects
A hook must not follow a 30x response to another host while carrying an Authorization header. Protecting the credential matters more than completing automatic recall.Reject unknown schemas
Valid JSON is not enough. If the host does not recognize the schema version, it skips injection and recordsversion_mismatch or invalid_response.
Bound response size and wall time
Hooks cap response size and total wall-clock time. They stop the automatic path at the limit instead of reading an unbounded response into memory.Keep transport checks
The PowerContext Client rejects plaintext HTTP to non-loopback hosts. The Server also requires authentication or an explicit unsafe opt-in when binding beyond loopback. fail-open behavior does not disable either check.degraded is not not_ready
Readiness separates database failures from optional inference failures. A database or runtime failure returns not_ready with HTTP 503. A failed configured generation or embedding probe returns degraded with HTTP 200. Database operations that do not depend on the failed inference capability remain available. An operation that needs that generation or embedding provider may still fail.
When readiness says degraded, inspect the affected capability instead of treating the entire Server as offline.
What diagnostics should contain
A useful automatic-path diagnostic contains only the metadata needed to troubleshoot.empty, authentication_failed, version_mismatch, server_unavailable, and invalid_response.
A practical rule
Ask two questions when a PowerContext operation fails. Was this an automatic helper action, or a durable action requested by the user? Would skipping it make the user believe that state changed when it did not? Automatic helper paths can usually continue. Any operation that changes durable state, approves content, or publishes files must return its real result.How you know the rule holds
emptyis still distinct from a fault or a 401 or 403.- The original task can continue when automatic recall fails.
- If you explicitly write Memory, commit a Handoff, approve, or export, the failure is visible.
degradedis not a completely offline Server.
ready, degraded, and a completely unavailable Server.
Next
Start a local Server
Write a Memory, find it, then get a cited PreparedContext.
Match the closest failure
The Server is down and you expected automatic recall to error, or you treated 401/403 as empty content? Start with a case this site already covers.

