Repository navigation
Szpont Engine 0.4.0 — Provider-bound runners and offline demos
Szpont Engine 0.4.0 adds provider-bound host runners, an account-free offline demo, and a refreshed README gallery and banner.
Runner support
Codex remains the default. Claude Code and OpenCode are experimental Linux host adapters. New conversations use the configured default; existing conversations, queued jobs, recovery and session resets retain their stored provider. Legacy state remains bound to Codex during migration. The engine does not automatically reroute an unavailable provider.
- Provider-aware readiness and queue eligibility, exact session resumption, bounded subprocesses, explicit completion evidence and validated work checkpoints.
- Separate provider configuration/authentication directories and runner-aware diagnostics.
- Claude Code requires its native Bash sandbox. OpenCode requires operator-managed host isolation and explicit host-execution opt-in; its tool permissions are not an OS sandbox.
The published Docker image remains Codex-only and rejects alternative runner selection before initialization. No live Claude Code/OpenCode account, model, external action or host-sandbox acceptance is claimed by this release's synthetic tests. The engine retains one global worker.
See the runner guide for requirements, permission boundaries, model/MCP configuration and first-turn acceptance.
Try the offline demo
The redesigned README contains three reproducible scenarios: persistent sessions, explicit recovery and provider-bound readiness. Screenshots and raw transcripts use synthetic data from the actual Engine and SQLite Store with scripted transport/replies.
npm run build
npm run demo -- session
npm run demo -- recovery
npm run demo -- providersThese demos need no Discord token or model account. The refreshed banner and social preview reflect all three runners while retaining the project identity. See the README gallery and reproduction instructions.
Container image
Linux amd64 and arm64 images include an SPDX SBOM and BuildKit/SLSA provenance. Pin the verified immutable reference:
docker pull ghcr.io/dalkedev/szpont-engine@sha256:23c8a44f0ec96578707c45077abd603ea265efe1706e030d9433fe644ff30d7eEach architecture is built once, tested using the actual Codex sandbox and throwaway persistent state, and promoted with its original OCI manifest digests without rebuilding.
Upgrade and rollback
0.4.0 uses public SQLite schema 3. Take a verified state snapshot and matching workspace backup before starting it. Public schemas 0, 1 and 2 migrate with legacy conversations, sessions and jobs preserved as Codex, independently of the newly selected default. Existing conversation/provider bindings cannot be changed in place.
Older engines reject schema 3. Rollback requires stopping the engine, restoring the matching pre-upgrade snapshot into a new private state directory, reconciling intervening actions, and switching the matching binary and workspace together. Never lower the recorded schema version to force an older binary to open newer state.
State backup and rollback guide
Validation and limits
- Full Node 24 engine and utility/demo suites: 265 tests passed.
- Hash-locked Python 3.12 browser suite: 36 tests passed.
- Exact PR-head CI and fresh merge-commit CI: all five jobs passed, including native amd64/arm64 container sandbox checks.
- Tagged release workflow: full source checks, both native exact-OCI sandbox smoke tests and digest-preserving GHCR promotion passed.
- Independent anonymous GHCR verification confirmed both runtime/config manifest hashes, source labels, and the SPDX/SLSA attestation subjects. The final index digest matches the workflow's promoted digest.
- Anonymous pinned-image pull and local Linux/arm64 Codex sandbox smoke passed with throwaway volumes; repeated state reopening preserved the workspace and checkpoints. All test volumes were removed.
- The actual published image rejected both non-Codex runner selections before initialization, with no owner mounts or network inside the test containers.
Offline adapter tests exercise scripted CLI events, migration, provider binding, recovery, cancellation, readiness and environment isolation. They do not prove live provider entitlement, account quota or deployment-specific sandbox operation. The image includes the Codex CLI; authentication and usage allowance are supplied separately. The optional Camoufox browser service is outside the image. This release does not automatically update existing deployments.
Source revision: c63b3a55d5fa2875172648b35299a561911e3921.