Volter World

Inspect a World

Read what the app changed, check which World is running, or open its dashboard and vendor screens. For an existing World, start with its status and log. The complete example below creates a small World from scratch; use Node 22.6 or newer and npm, with registry access for installation.

Make a change to inspect

In an empty directory, save package.json:

package.json
{
  "name": "inspect-app",
  "private": true,
  "type": "module",
  "dependencies": { "stripe": "17.7.0" },
  "devDependencies": {
    "@volter/world": "3.0.63",
    "@volter/twin-stripe": "3.0.1",
    "@volter/world-console": "3.0.58"
  }
}

Save .env.example:

.env.example
STRIPE_SECRET_KEY=

Save signup.mjs:

signup.mjs
import Stripe from 'stripe';
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
await stripe.customers.create({ email: '[email protected]', name: 'Ada' });
console.log('customer created');
npm install
npx volter world init --name inspect-app
npx volter world up
npx volter world run -- node signup.mjs
npx volter world status
npx volter world log
npx volter world diff
customer.create

status names the checked-out branch and running services. log lists stored mutations in order; diff groups changes since the branch's base. A read-only SDK call need not add a log entry. Your SDK can read back stored records, as getting started demonstrates.

Open the dashboard

The dashboard needs @volter/world-console installed in the app; a global CLI installation alone does not supply that dependency. The manifest above includes it.

Stop the compute started by up before opening the World through view. Ordinary down retains the customer you just created:

npx volter world down

In your terminal, run:

$ npx volter world view --no-open

Keep that command running. Open the printed dashboard URL in your normal browser. view owns the World it starts and its server; it is not a command that prints a URL and exits. On local loopback, opening the dashboard needs no platform login or token copied from elsewhere.

Inspect the branch and log, then open the vendor's available screens. A vendor screen is a twin interface, not a live vendor account; screen availability is separate from API coverage. If a screen is absent, use the SDK read and recorded changes instead.

Stop view with Ctrl-C when finished. Stop application consumers first. Ordinary shutdown retains state; do not forward the local dashboard port to other people. Share a World owns the team workflow and its access controls.

When a result looks wrong

Check the selected package/version, current branch, seed and clock. Confirm that the app command ran through volter world run. Read the publisher's README for the failing operation and inspect its /twin manifest and scenario matches when applicable. Distinguish an app bug, unsupported operation, scripted answer and routing problem before changing the app.

The operator diagnostic commands add doctor, tail and covers for an explicitly named World. Run your test suite shows assertions on application behavior, and shape the World for a test explains scripted responses and faults.

View Markdown source

On this page