The publish-image boot-smoke gate (molecule-core#2275) invokes the runtime with MOLECULE_SMOKE_MODE=1 + stub creds to catch lazy imports inside executor.execute(). Adapters whose setup() does real I/O (subprocess spawn, network calls, uid-sensitive writes) need to opt out of that I/O when MOLECULE_SMOKE_MODE=1, otherwise the gate fails before reaching the runtime's smoke short-circuit. This documents: - the contract (one-line opt-out for Python adapter.setup() and shell entrypoints that wrap molecule-runtime) - which boot stages the gate exercises - the stub env the harness sets so adapters can reason about what they can rely on under smoke mode Surfaced when running publish-image across all 8 workspace templates: openclaw and hermes hit the contract gap because both spawn real gateway subprocesses in setup; six others passed without any contract awareness because their setup is light. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| blog | ||
| docs | ||