feature(ci, test): add snapshot converter execution in ci test
Apr 22, 9-10 AM (18)
Apr 22, 10-11 AM (47)
Apr 22, 11-12 PM (45)
Apr 22, 12-1 PM (56)
Apr 22, 1-2 PM (64)
Apr 22, 2-3 PM (44)
Apr 22, 3-4 PM (86)
Apr 22, 4-5 PM (46)
Apr 22, 5-6 PM (17)
Apr 22, 6-7 PM (10)
Apr 22, 7-8 PM (18)
Apr 22, 8-9 PM (15)
Apr 22, 9-10 PM (23)
Apr 22, 10-11 PM (31)
Apr 22, 11-12 AM (17)
Apr 23, 12-1 AM (7)
Apr 23, 1-2 AM (4)
Apr 23, 2-3 AM (4)
Apr 23, 3-4 AM (6)
Apr 23, 4-5 AM (3)
Apr 23, 5-6 AM (8)
Apr 23, 6-7 AM (17)
Apr 23, 7-8 AM (26)
Apr 23, 8-9 AM (33)
Apr 23, 9-10 AM (33)
Apr 23, 10-11 AM (29)
Apr 23, 11-12 PM (30)
Apr 23, 12-1 PM (51)
Apr 23, 1-2 PM (69)
Apr 23, 2-3 PM (74)
Apr 23, 3-4 PM (26)
Apr 23, 4-5 PM (22)
Apr 23, 5-6 PM (7)
Apr 23, 6-7 PM (7)
Apr 23, 7-8 PM (11)
Apr 23, 8-9 PM (14)
Apr 23, 9-10 PM (6)
Apr 23, 10-11 PM (28)
Apr 23, 11-12 AM (18)
Apr 24, 12-1 AM (7)
Apr 24, 1-2 AM (4)
Apr 24, 2-3 AM (7)
Apr 24, 3-4 AM (5)
Apr 24, 4-5 AM (8)
Apr 24, 5-6 AM (13)
Apr 24, 6-7 AM (12)
Apr 24, 7-8 AM (33)
Apr 24, 8-9 AM (40)
Apr 24, 9-10 AM (41)
Apr 24, 10-11 AM (72)
Apr 24, 11-12 PM (57)
Apr 24, 12-1 PM (100)
Apr 24, 1-2 PM (57)
Apr 24, 2-3 PM (35)
Apr 24, 3-4 PM (19)
Apr 24, 4-5 PM (16)
Apr 24, 5-6 PM (38)
Apr 24, 6-7 PM (27)
Apr 24, 7-8 PM (12)
Apr 24, 8-9 PM (42)
Apr 24, 9-10 PM (17)
Apr 24, 10-11 PM (30)
Apr 24, 11-12 AM (16)
Apr 25, 12-1 AM (8)
Apr 25, 1-2 AM (1)
Apr 25, 2-3 AM (10)
Apr 25, 3-4 AM (5)
Apr 25, 4-5 AM (3)
Apr 25, 5-6 AM (13)
Apr 25, 6-7 AM (1)
Apr 25, 7-8 AM (4)
Apr 25, 8-9 AM (24)
Apr 25, 9-10 AM (17)
Apr 25, 10-11 AM (4)
Apr 25, 11-12 PM (4)
Apr 25, 12-1 PM (13)
Apr 25, 1-2 PM (3)
Apr 25, 2-3 PM (10)
Apr 25, 3-4 PM (6)
Apr 25, 4-5 PM (10)
Apr 25, 5-6 PM (16)
Apr 25, 6-7 PM (13)
Apr 25, 7-8 PM (30)
Apr 25, 8-9 PM (55)
Apr 25, 9-10 PM (13)
Apr 25, 10-11 PM (21)
Apr 25, 11-12 AM (22)
Apr 26, 12-1 AM (5)
Apr 26, 1-2 AM (0)
Apr 26, 2-3 AM (2)
Apr 26, 3-4 AM (5)
Apr 26, 4-5 AM (2)
Apr 26, 5-6 AM (2)
Apr 26, 6-7 AM (3)
Apr 26, 7-8 AM (8)
Apr 26, 8-9 AM (3)
Apr 26, 9-10 AM (0)
Apr 26, 10-11 AM (2)
Apr 26, 11-12 PM (1)
Apr 26, 12-1 PM (6)
Apr 26, 1-2 PM (4)
Apr 26, 2-3 PM (14)
Apr 26, 3-4 PM (14)
Apr 26, 4-5 PM (0)
Apr 26, 5-6 PM (13)
Apr 26, 6-7 PM (13)
Apr 26, 7-8 PM (7)
Apr 26, 8-9 PM (7)
Apr 26, 9-10 PM (5)
Apr 26, 10-11 PM (27)
Apr 26, 11-12 AM (21)
Apr 27, 12-1 AM (7)
Apr 27, 1-2 AM (7)
Apr 27, 2-3 AM (9)
Apr 27, 3-4 AM (9)
Apr 27, 4-5 AM (5)
Apr 27, 5-6 AM (13)
Apr 27, 6-7 AM (7)
Apr 27, 7-8 AM (82)
Apr 27, 8-9 AM (47)
Apr 27, 9-10 AM (33)
Apr 27, 10-11 AM (62)
Apr 27, 11-12 PM (80)
Apr 27, 12-1 PM (66)
Apr 27, 1-2 PM (44)
Apr 27, 2-3 PM (52)
Apr 27, 3-4 PM (42)
Apr 27, 4-5 PM (36)
Apr 27, 5-6 PM (26)
Apr 27, 6-7 PM (13)
Apr 27, 7-8 PM (26)
Apr 27, 8-9 PM (13)
Apr 27, 9-10 PM (15)
Apr 27, 10-11 PM (42)
Apr 27, 11-12 AM (28)
Apr 28, 12-1 AM (17)
Apr 28, 1-2 AM (8)
Apr 28, 2-3 AM (4)
Apr 28, 3-4 AM (5)
Apr 28, 4-5 AM (5)
Apr 28, 5-6 AM (8)
Apr 28, 6-7 AM (8)
Apr 28, 7-8 AM (36)
Apr 28, 8-9 AM (54)
Apr 28, 9-10 AM (59)
Apr 28, 10-11 AM (53)
Apr 28, 11-12 PM (56)
Apr 28, 12-1 PM (48)
Apr 28, 1-2 PM (53)
Apr 28, 2-3 PM (68)
Apr 28, 3-4 PM (31)
Apr 28, 4-5 PM (13)
Apr 28, 5-6 PM (47)
Apr 28, 6-7 PM (9)
Apr 28, 7-8 PM (8)
Apr 28, 8-9 PM (14)
Apr 28, 9-10 PM (20)
Apr 28, 10-11 PM (34)
Apr 28, 11-12 AM (29)
Apr 29, 12-1 AM (13)
Apr 29, 1-2 AM (1)
Apr 29, 2-3 AM (1)
Apr 29, 3-4 AM (6)
Apr 29, 4-5 AM (1)
Apr 29, 5-6 AM (4)
Apr 29, 6-7 AM (12)
Apr 29, 7-8 AM (45)
Apr 29, 8-9 AM (38)
Apr 29, 9-10 AM (0)
3,813 commits this week
Apr 22, 2026
-
Apr 29, 2026
feature(test-lab): add snapshot conversion check in E2E tests
Merge remote-tracking branch 'origin/staging' into docs/evolution-sdk
# Conflicts: # docs/get-started/client-sdks/typescript/evolution-sdk/get-started.md # docs/get-started/client-sdks/typescript/evolution-sdk/transactions.md
test(stm): added context to understand where the failure comes from
asteria-stub: minimal test-composer host for property experimentation
New `components/asteria-stub/` ships a tiny Debian image with
cardano-cli (+ liblmdb0 runtime), jq, and bash. Its only job is to
host composer scripts at `/opt/antithesis/test/v1/stub/`:
- parallel_driver_heartbeat.sh — short tick, emits Sometimes
- eventually_alive.sh — post-fault: pings p1/p2/p3, Always
- finally_alive.sh — post-workload: pings p1/p2/p3, Always
The container itself just `sleep infinity`s. This is intentional:
the stub is the experimentation harness for evolving property checks
before touching the real asteria-player. Real game logic stays in
PR #67's `components/asteria-player/`.
Conventions adopted from the working sidecar template:
- cardano-cli ping uses `-j --magic 42 --host X --port Y --tip
--quiet -c1`. Without `-j --tip` the cli has no query target and
exits non-zero.
- SDK output goes to /tmp/sdk.jsonl (default path) on a tmpfs
mount; Antithesis introspects that path. A named-volume
convention (e.g. ANTITHESIS_OUTPUT_DIR=/sdk) is not picked up.
- liblmdb0 must be apt-installed; cardano-cli loads liblmdb.so.0
at start regardless of subcommand.
On failure, eventually_alive / finally_alive emit a self-classifying
JSON detail with the failing host, exit code, and the cardano-cli
stderr — so the next failure self-diagnoses without another round
trip.
Image referenced by content digest in
testnets/cardano_node_master/docker-compose.yaml; the publish-images
workflow builds and pushes both `:asteria-stub-v3` and
`:<full-commit>` on PR. Bootstrap relied on a paired git tag so the
script could resolve the friendly name back to a commit; once
merged, the digest pin is the only contract.
test: add error code 5060 to network/options golden example
Bugfix for large rationale.jsonld: change escape regex to json.stringify() + stdout blocking
Updated canonized data handling to use JSON.stringify for escaping characters.
feature(client-cli, common): make cardano binaries download optionnal when using snapshot converter, allow devnet Cardano network
asteria-stub: minimal test-composer host for property experimentation
New `components/asteria-stub/` ships a tiny Debian image with
cardano-cli (+ liblmdb0 runtime), jq, and bash. Its only job is to
host composer scripts at `/opt/antithesis/test/v1/stub/`:
- parallel_driver_heartbeat.sh — short tick, emits Sometimes
- eventually_alive.sh — post-fault: pings p1/p2/p3, Always
- finally_alive.sh — post-workload: pings p1/p2/p3, Always
The container itself just `sleep infinity`s. This is intentional:
the stub is the experimentation harness for evolving property checks
before touching the real asteria-player. Real game logic stays in
PR #67's `components/asteria-player/`.
Conventions adopted from the working sidecar template:
- cardano-cli ping uses `-j --magic 42 --host X --port Y --tip
--quiet -c1`. Without `-j --tip` the cli has no query target and
exits non-zero.
- SDK output goes to /tmp/sdk.jsonl (default path) on a tmpfs
mount; Antithesis introspects that path. A named-volume
convention (e.g. ANTITHESIS_OUTPUT_DIR=/sdk) is not picked up.
- liblmdb0 must be apt-installed; cardano-cli loads liblmdb.so.0
at start regardless of subcommand.
On failure, eventually_alive / finally_alive emit a self-classifying
JSON detail with the failing host, exit code, and the cardano-cli
stderr — so the next failure self-diagnoses without another round
trip.
Image referenced by content digest in
testnets/cardano_node_master/docker-compose.yaml; the publish-images
workflow builds and pushes both `:asteria-stub-v3` and
`:<full-commit>` on PR. Bootstrap relied on a paired git tag so the
script could resolve the friendly name back to a commit; once
merged, the digest pin is the only contract.
Artifacts generated from cb180eb7da027380b3dc5972053f760b2330656e
Move certify decision into shelley-specific parts
This changes the interface to provide the unticked chain dep state to forgeBlock so we can determine whether and when the announcement was made, but only check whether it's long enough ago in the forgeShelleyBlock where we have access to pparams. The decision on whether to produce an RB with txs or a certicate is not used in the abstract code and thus can fully life in the concrete Praos(+Leios) world.
Update block Huddle comment
Make invalid_transactions a nonempty_set
Generalize genArrayTerm to MonadGen
Change genArrayTerm from Gen to MonadGen so it can be used in CBORGen contexts (e.g. custom CBOR generators for Huddle specs).
Add DecCBOR and ToExpr testlib instances for DijkstraBlockBody
Add plain DecCBOR instances for DijkstraBlockBodyRaw and DijkstraBlockBody (needed for decoder equivalence tests), and a custom ToExpr instance for DijkstraBlockBody. Add block_body to the CddlSpec test suite. Co-authored-by: Alexey Kuleshevich <[email protected]>
Refactor DijkstraBlockBody to use MemoBytes serialization
Replace the manual segmented-witness serialization with MemoBytes, which simplifies the code significantly. The block body is now serialized as a flat 3-element list [invalid_transactions, transactions, peras_certificate] instead of 5 separate segments. Also fix PerasCert to encode/decode as bytes (matching CDDL), reimplement alignedValidFlags using IntSet, and expose DijkstraBlockBodyRaw/MkDijkstraBlockBody from Internal module. Co-authored-by: Alexey Kuleshevich <[email protected]>
Disallow IsValid in BlockBody Txs
Simplify DijkstraBlockBodyRaw decCBOR
Add Huddle spec and CDDL for block_body and peras_certificate
Define HuddleRule instances for "block_body" and "peras_certificate" in the Dijkstra era, with a custom CBOR generator for block_body that generates valid transaction indices. Update the CDDL spec to match the new block structure: block = [header, block_body]. Co-authored-by: Alexey Kuleshevich <[email protected]>
Change PerasCert to contain ByteArray
SafeToHash default implementation
Co-authored-by: Alexey Kuleshevich <[email protected]>
Add blockBodySize method to EraBlockBody, remove bBodySize
- Add `blockBodySize` as a method on `EraBlockBody` with a default implementation using `EncCBORGroup`, replacing the standalone `bBodySize` function - Remove `EncCBORGroup (BlockBody era)` superclass constraint from `EraBlockBody` so that eras can provide their own `blockBodySize` without needing `EncCBORGroup` Co-authored-by: Alexey Kuleshevich <[email protected]>