fix(starter): refuse before writing what it can name, and let the fleet skip a run that never wrote - #91
Merged
krzysztof-smartdataengines merged 3 commits intoSep 26, 2026
Conversation
…hat never wrote does not stop the fleet Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… fails at the session Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…unfinished run the fleet counts Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
krzysztof-smartdataengines
deleted the
fix/starter-refusals-before-writes
branch
September 26, 2026 17:54
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The Weather starter now refuses, before writing anything, the failures it can name: a binding's
driver that cannot be imported, and a bootstrap map that does not load. A run that failed before its
first write no longer stops every later fleet run in its directory.
Found on an installed acceptance
Both were found building the installed Weather acceptance for storage and time telemetry. The
environments there were built by a script that left out what
docs/weather-starter.mdtells acustomer to install: the
signedextra, andpgfor Node.setupwithout thesignedextra. The CLI answered{"error": "MapError", "message": "Operation incomplete. Inspect local state and the run report before retrying; uncertain writes must not be replayed."}. Nothing had been written:bootstrap()refuses beforesetupopens itstransaction. The one sentence that said what to install was hidden: "this map is signed, but
signature verification needs the 'signed' extra".
pg. The firstmeasureStorage()could not open a session. The runretried a missing package for its whole 10-second recovery budget (185 retries), exited with "The
local operation did not complete", and left a report with
status: incomplete, nopendingrangeand no row. After that,
--workload fleetrefused in that directory ("every earlier run of thisproject must be complete; inspect the unfinished run first"). No command could settle a run that
wrote nothing.
What changed
setup,doctorandrun(Python) andrun(TypeScript) import each binding's driverbefore writing anything, and refuse naming what to install:
pip install 'smart-data-engine-sdk[postgres]'or[clickhouse];npm install pg.The import is the adapter's own, so a module that is present but cannot load counts as missing
too. A run refuses before its report exists, so it leaves no unfinished run behind.
setupsays why the bootstrap's map does not load(
The bootstrap's map does not load: ...). The reason is about the map, never about a credential.A public key that is not base64 is refused as an invalid key configuration.
The fleet skips an earlier run that failed before its first write, in both languages: status
incomplete, nopendingrange, and zero acknowledged, uncertain-verified and verified rows. Arun records each batch before writing it, so such a run wrote nothing. The fleet still refuses:
running, which may be interrupted or still going;docs/weather-starter.mdsays both.Tests
Python (
test_demo_starter.py):have written;
setupnames the missingsignedextra and writes nothing;setupandrunrefuse a missing driver before writing, and the run leaves noruns/directory;
All of them were red on
mainfor the stated reason:MapErrorandbinascii.Errorreached the caller;setuprefused only at allocation, after writing its files;TypeScript (
weather.test.ts):requireDriverscheckspgonly for a PostgreSQL binding;pgrefuses before its report exists and before any session. Onmainthis runsat in the retry loop until the test timed out.
make checkwith both live engines on the head: ruff, mypy, Python 2081 passed and 10 skipped (the orderbook slice), TypeScript 999 passed.Mutations on the committed branch head: 10 killed and 2 controls survived. The killed mutations
cover the fleet rule in both languages (skip removed, a
runningrun skipped, acknowledged rowsignored), the map and key refusals, each driver check removed, and the TypeScript check applied to
every dialect.
🤖 Generated with Claude Code