Skip to content

Verify each layer

Use this checklist during installation and after an update. Each row proves only its own boundary; a pass in one row does not imply the next row passed.

Layer Evidence to collect What it does not establish
Installed CLI npm: openmachine --version (launcher) and openmachine core --version (bundled Core); source: openmachine --version Running service identity or client access.
Configuration doctor returns valid configuration and expected local directories Effective file permissions, network readiness or task-store compatibility.
Core serving Selected private socket and successful MCP initialization Tunnel or ChatGPT acceptance.
Managed runtime, when used doctor --service verifies the selected identity and a permitted readiness-file read ChatGPT or GitHub health.
Tunnel Upstream client readiness for the exact Core socket Approved tool catalog or successful client call.
ChatGPT read Actual get_capabilities and file text/hash matching the local file Native command or write permission.
Native execution Original receipt: succeeded, expected output, exit and verified cleanup Correctness of an unrelated business task.
File edit Original change receipt and current expected file bytes/hash Passing tests or completion of all task stages.
Durable task Current-plan evidence accepted and explicit task completion Autonomous continuation after Chat disconnects.

Useful read-only commands

For npm installations on Apple Silicon, use openmachine status to check the managed service. openmachine --version reports the npm launcher version, not necessarily the running Core version.

For manual source installations, use your selected paths, not another installation's defaults:

openmachine --version
openmachine --config "$DEMO/config.toml" --state-dir "$DEMO/state" doctor

For a managed macOS installation only:

openmachine --config "$CONFIG" --state-dir "$STATE" doctor --service

CONFIG and STATE above must be the existing installation's absolute paths. Do not run the managed-service check as if it created or adopted a service.

Keep safe evidence

Retain the release/commit, observation time, task and operation IDs, actual status/error, relevant hashes and the verification boundary. Avoid publishing raw logs, private paths, host inventories, tokens or full configuration.

For a reported failure, preserve the first error and the original ID. Query the original result before deciding whether any retry is safe. See Troubleshooting for catalog mismatch, permission, SSH and interrupted-task cases.