04
Remote development acceptance
The best acceptance project is small enough to repeat after every environment change, but complete enough to expose the real blockers. We recommend separating five states:
- Build success: the project compiles from a clean state.
- Model initialization: the intended model session starts or returns a documented failure.
- Request completion: a basic prompt produces a result or a handled error.
- Tool execution: a tool call is issued, validated, and returned to the model or application.
- Deliverable result: the application stores, displays, or exports the result in the format the real product needs.
This sequence prevents a common false positive. A developer opens Xcode from an airport, sees a successful build, and assumes the Foundation Models workflow is ready. The failure may appear only when a model session is initialized or when a tool requires a permission prompt.
Use this operational sequence:
Create a clean test project
Start from a fresh or reproducible project. Avoid relying on DerivedData, an old simulator state, or credentials already cached in the host. Record the commit identifier and the Xcode version used for the run.
Test the intended model path
Make the route explicit in the project notes. State whether the test covers local Apple Foundation Models, Private Cloud Compute, or an external model. If more than one route is supported, run them separately and preserve their logs separately.
The project should distinguish unavailable models, account failures, network failures, permission errors, malformed output, and tool execution errors. Tool calling is a separate acceptance stage; Apple provides a dedicated explanation of tool calling with Foundation Models.
Capture logs from the remote session
Observe the application log through the remote Mac rather than relying on a screenshot. Confirm where the process writes its logs, whether the log remains available after the remote display disconnects, and whether a second connection can inspect the same run.
Repeat from the travel device
Run the project from the device that will actually be used abroad. An iPad or lightweight laptop may be sufficient as a remote control surface, but its browser behavior, keyboard mapping, clipboard handling, and connection stability can affect debugging. The host performs the development work; the travel device still determines how reliably the developer can operate it.
Apple also documents methods for analyzing runtime performance in Foundation Models applications. Use those diagnostics to understand runtime behavior, but do not invent latency or completion-time targets without a repeatable measurement source.