fix: repair mithril snapshot bootstrap correctness and resume handling
Signed-off-by: Chris Gianelloni <[email protected]>
Signed-off-by: Chris Gianelloni <[email protected]>
Reverts the v2.0.0 attempt — txpipe published v2.0.0 binaries on GitHub releases but never pushed the docker image to ghcr.io. v1.9.4 is the latest ghcr-resolvable tag and is what :latest was already pointing to. Pinning the explicit tag eliminates the implicit drift risk that :latest carries. The exit-101 panic under fault injection remains on v1.9.4 — file upstream once we have a deterministic reproducer.
Settle budget grows from 25s (15s sleep + 5×2s retries) to 150s (30s sleep + 24×5s retries). Antithesis fault stop returns control faster than chain-propagation across three nodes; the old budget flagged "permanent fork" on what was actually still-draining post-fault chain selection. On failure the assertion details now carry block_delta, slot_delta, sidecar_reachability map, and the settle budget that was used. That lets each future failure self-classify into: A. too-short settle — small deltas, all reachable B. lingering partition — any node unreachable from sidecar C. consensus stall — large deltas, all reachable Reachability uses cardano-cli ping handshake from the sidecar to each producer's N2N port. It probes sidecar→node only (not the full peer matrix), but is enough to discriminate B from C in practice.
Bumps [eslint](https://github.com/eslint/eslint) from 9.39.2 to 10.2.1. - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v9.39.2...v10.2.1) --- updated-dependencies: - dependency-name: eslint dependency-version: 10.2.1 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.8 to 8.5.10. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.5.8...8.5.10) --- updated-dependencies: - dependency-name: postcss dependency-version: 8.5.10 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Chris Guiney <[email protected]>
Bumps [github.com/blinklabs-io/gouroboros](https://github.com/blinklabs-io/gouroboros) from 0.153.1 to 0.165.3. - [Release notes](https://github.com/blinklabs-io/gouroboros/releases) - [Changelog](https://github.com/blinklabs-io/gouroboros/blob/main/RELEASE_NOTES.md) - [Commits](https://github.com/blinklabs-io/gouroboros/compare/v0.153.1...v0.165.3) --- updated-dependencies: - dependency-name: github.com/blinklabs-io/gouroboros dependency-version: 0.165.2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]>
Unblocks scheduled runs. asteria-player:dev never published —
publish-images skips it ("Tag 'dev' not found in repo"), so
Antithesis fails to pull and every scheduled run since 2026-04-25
came back Incomplete with zero container stdout.
Asteria work continues under #56 / PR #67. Re-add to compose once a
real image tag is published.
Ogmios already absent from main (removed in 7e0f8f5 pending #49).
Bumps [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) from 1.39.0 to 1.41.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.39.0...v1.41.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel dependency-version: 1.41.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) from 1.39.0 to 1.41.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.39.0...v1.41.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel dependency-version: 1.41.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/gdamore/tcell/v2](https://github.com/gdamore/tcell) from 2.13.8 to 2.13.9. - [Release notes](https://github.com/gdamore/tcell/releases) - [Changelog](https://github.com/gdamore/tcell/blob/main/CHANGESv3.md) - [Commits](https://github.com/gdamore/tcell/compare/v2.13.8...v2.13.9) --- updated-dependencies: - dependency-name: github.com/gdamore/tcell/v2 dependency-version: 2.13.9 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Introduced `LspDepCache` to store type information and checked modules for improved performance. - Added methods to `LspProject` for managing the dependency cache, including `new_with_cache`, `dep_cache`, and cache management during compilation. - Updated `Project` struct to support skipping dependency checks and injecting module types from the cache. - Enhanced the `compile` method to utilize cached data, reducing unnecessary re-inference of modules. - Modified `Platform` and `Dependency` enums to derive `Hash` for improved caching capabilities. - Implemented incremental caching logic in `type_check` to avoid re-parsing unchanged modules.
Fresh clones don't expose feature branches as bare refs — only as @origin/<branch>@ remote-tracking refs. The publish script's @git rev-list -n 1 <tag>@ failed to find @asteria-spawn-v2@ even though the branch existed on origin. Falling through to @origin/<tag>@ when the bare lookup fails covers the feature-branch case while still working for git tags and explicit commit SHAs.
Antithesis pulls images anonymously; ghcr packages default to private on first push. Adds a post-push step that PATCHes each component package referenced in the testnet's docker-compose to public visibility. Idempotent for already-public packages and a no-op for packages that haven't been published yet (they'll be flipped on the next run).
Off-chain wiring that takes the asteria spawn flow from build-only to accepted-on-chain in the antithesis local cluster, on top of lambdasistemi/cardano-node-clients PR #77. - `Game.hs` no longer emits an explicit `payTo` for the new PILOT NFT — the upstream `balanceTx` residual-MA folding drops it into the player's ADA change output, matching mainnet asteria's 3-output spawn shape. - `PlayerMain.hs` calls the new `buildWith` with a 1.2x ExUnits margin (mirrors cardano-cli's submit-time overshoot) to absorb cardano-ledger version drift between the client and the cluster's cardano-node 10.7.1. - `configurator.sh` writes Conway-mainnet `maxTxExUnits` (16.5 M mem, 10 B steps; block 62 M / 40 B) into `alonzo-genesis.json`. - `docker-compose.yaml` mounts the configurator script for local iteration without rebuilding the configurator image, and bumps the asteria-player image tag from `:dev` (a local-only placeholder that the publish-images job can't resolve to a git ref) to `:asteria-spawn-v2` — the branch name. The publish-images script clones origin and resolves `asteria-spawn-v2` to the branch tip, builds and publishes the image at that tag. - `apply-params.sh` strips traces via `--trace-level silent` to keep validator eval cost down. - `cabal.project` pins cardano-node-clients to the merged main SHA `f578d6cf...`. Verified locally: asteria_player_ship_spawn_attempted_1 → ship_spawn_built_1 → ship_spawned_1 on a single attempt with no failures, on the local docker-compose cluster.
Previously the script logged `Error: Tag '<tag>' not found in repo. Skipping <name>.` and exited 0, so silent skips left CI green while the antithesis testnet ran against stale registry images. Now: - Already-published `<name>:<tag>` images take a fast path and skip the build/git-resolve cleanly. This handles legacy components whose original commit has since been rebased away (e.g. sidecar:1362c5b, tracer-sidecar:ff408d6) — their image is still served from ghcr, so the testnet keeps working. - Anything that is NOT in the registry MUST resolve its tag against the repo. If it can't, the entry is recorded and the job fails with a non-zero exit at the end with a clear summary of which images couldn't be built and why. This makes it impossible to merge a PR that bumps a docker-compose image tag without the corresponding git ref and component directory landing in the same commit.
This reverts commit 3f472976c32c2acbf8802adc4862b7bcad54f4cd.
This reverts commit 3f472976c32c2acbf8802adc4862b7bcad54f4cd.
Three coupled changes that take the spawn flow from build-only to accepted-on-chain in the antithesis local cluster. `Game.hs` no longer emits an explicit `payTo` for the new PILOT NFT — `balanceTx`'s residual-MA folding (lambdasistemi/cardano-node-clients PR #77) drops the NFT into the player's ADA change output, matching mainnet asteria's 3-output spawn shape. `PlayerMain.hs` calls the new `buildWith` with `boExUnitsMargin = 1.2x` to mirror cardano-cli's submit-time overshoot. Without it the asteria spend script's actual cost on the cluster's submit-time evaluator runs ~751 mem above what the client-side `evalTxExUnits` reports (cardano-ledger version drift between CHaP 2026-02-17 here and cardano-node 10.7.1's CHaP). `configurator.sh` writes Conway-mainnet `maxTxExUnits` (16.5 M mem, 10 B steps) into `alonzo-genesis.json` so the cluster's budget matches what the validator was deployed against on mainnet. `docker-compose.yaml` mounts the script for local iteration without rebuilding the configurator image, and `apply-params.sh` uses `--trace-level silent` so the validator's runtime trace overhead is stripped. Pin bumped to the merged main SHA of cardano-node-clients (f578d6cf...). Verified: asteria_player_ship_spawn_attempted_1 → ship_spawn_built_1 → ship_spawned_1 on a single attempt with no failures, on the local docker-compose cluster.
After this branch's restructure, per-account reward application, unspendable routing, and EWRAP-time registration filtering live in AShard; only MIRs, refunds, and boundary close remain in Ewrap. Update the Classify, Work Units, Source Files, and Instrumentation tables so the bisection workflow points at the right work unit (and module path) for each failure shape. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>