1. Check prerequisites
doctor checks salambo.yaml, runtime selection, Git, Docker, the configured local compose file, authentication, and declared secret environment variables.
2. Compile the deployment contract
- model and active-tool settings;
- system instructions, skills, and prompts;
- extension paths and loading modes;
- tool names, descriptions, and parameter schemas;
- supported hook subscriptions;
- duplicate identifiers and unsafe paths.
3. Read diagnostics as contract failures
| Diagnostic | Typical cause |
|---|---|
| Extension must export a default function | Missing export default function extension(pi) |
| Invalid tool name | Name exceeds 64 characters or uses unsupported characters |
| Missing description | Tool description is empty |
| Unsupported hook warning | Event is not in the hosted contract |
| Unsafe entrypoint | Absolute path or parent-directory traversal |
What local validation does not prove
manifest discovers registrations. It does not execute:
- a real model request;
- a custom tool body;
- lifecycle hook return behavior;
- sandbox networking;
- workspace checkpointing;
- integration context projection.