Skip to content

test(e2e): decouple the devnet round-trip into its own (strict, beta-only) journey#21

Merged
scarmuega merged 4 commits into
mainfrom
e2e/decouple-devnet-roundtrip
Jun 16, 2026
Merged

test(e2e): decouple the devnet round-trip into its own (strict, beta-only) journey#21
scarmuega merged 4 commits into
mainfrom
e2e/decouple-devnet-roundtrip

Conversation

@scarmuega

@scarmuega scarmuega commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

What

Splits the trix test devnet round-trip out of 01-basic-init into its own journey, scheduled on the beta e2e job only, makes it a strict assertion, and reorganizes the e2e docs so journeys are self-documenting.

Decouple

  • 01-basic-init → the fast, fully offline gate: init → check → build (~3s, was ~15s). Runs on every channel.
  • 04-devnet-roundtrip (new) → the round-trip: init → test. Spins a local Dolos devnet, restores cshell wallets, submits the scaffolded transfers, asserts balances.

Strict, intentionally red — not an xfail

The round-trip fails on released channels because of a known, tracked trix bug, fixed on trix main (tx3-lang/trix#123) but not yet released. Rather than tolerate it with an xfail, the journey fails honestly, so the broken round-trip is a real, visible failure on the beta job. It goes green automatically once the fix ships to a channel; at that point 04 also moves onto stable.

Self-documenting journeys

Moved all journey-specific description out of the top-level e2e/README.md (dropped the journey table and the enumerated layout / CI journey lists) into a README.md inside each journey folder. The top README now describes only the harness, so adding/removing/modifying a journey is self-contained to its folder (+ the workflow's journey list). The add-e2e-journey skill now scaffolds a journey README and says not to touch the top README. The machine-read #@ min-tx3c header stays in journey.sh.

CI

  • stable: [01-basic-init, 02-lang-tour, 03-lang-edge]
  • beta: [02-lang-tour, 03-lang-edge, 04-devnet-roundtrip] ← round-trip red until the fix releases

Verified

Both directions against real binaries: 04-devnet-roundtrip fails (exit 1) on the released beta binaries and passes strictly (Test Passed) against trix main. 01-basic-init passes offline in ~3s. All four journeys parse; the #@ min-tx3c gate still works; no leaked dolos daemon.

🤖 Generated with Claude Code

scarmuega and others added 2 commits June 16, 2026 16:43
Split the `trix test` devnet round-trip out of 01-basic-init into its own
04-devnet-roundtrip journey, and schedule it on the beta e2e job only for now.

- 01-basic-init becomes the fast, fully offline gate (init → check → build, ~3s);
  it loses the runtime round-trip and runs on every channel.
- 04-devnet-roundtrip carries the round-trip (init → test) with the same xfail on
  the known `CShell failed to get wallet utxos` signature. It's parked on beta
  while the trix fix (tx3-lang/trix#123) is unreleased — beta gets that release
  first, and the xfail auto-promotes there once it ships. Drop it onto stable
  once the fix is released there.

stable journeys: [01, 02, 03]; beta journeys: [02, 03, 04]. Verified both split
journeys against the released beta binaries (01 passes offline; 04 xfails on the
known signature with the submit half still asserted strictly).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Drop the xfail bracket from 04-devnet-roundtrip — the round-trip is now a strict
`run_cmd ... trix test` + `assert_output_contains "Test Passed"`. On released
channels (which still carry the bug) the journey now *fails* instead of being
tolerated, so the broken state is a real, visible CI failure on the beta job
rather than a green xfail. It goes green automatically once the trix fix
(tx3-lang/trix#123) ships to a channel.

Verified both directions: fails (exit 1) on the released beta binaries; passes
strictly against trix main (the fix). Docs + skill updated to say "fails", not
"xfail".

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@scarmuega scarmuega changed the title test(e2e): decouple the devnet round-trip from 01-basic-init test(e2e): decouple the devnet round-trip into its own (strict, beta-only) journey Jun 16, 2026
scarmuega and others added 2 commits June 16, 2026 16:59
Move all journey-specific description out of the top-level e2e/README.md (drop
the journey table and the enumerated layout/CI journey lists) and into a
README.md inside each journey folder. The top README now describes only the
harness, so adding/removing/modifying a journey is self-contained to its folder
(+ the workflow's journey list) and never touches it.

- e2e/README.md: harness-only — generic layout, no journey table, no named
  journeys in the channel/CI sections.
- journeys/<NN>-<name>/README.md: new per-journey docs (what it covers, scope,
  capability floor, caveats). journey.sh headers slimmed to a one-line pointer;
  the machine-read `#@ min-tx3c` header stays in journey.sh.
- add-e2e-journey skill: scaffold a journey README, and do NOT edit the top
  README.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The roadmap predated 03-lang-edge / 04-devnet-roundtrip, so its planned
`03-codegen-consume` / `04-registry` collided with real journeys, it linked the
now-deleted findings plan, and it placed the round-trip in 01 (now 04).

- Drop fixed `NN-` prefixes from planned journeys — they're themes, numbered at
  authoring time (next free: 05) — so the roadmap stops colliding with real
  journeys.
- Fix references: round-trip machinery lives in 04-devnet-roundtrip; the trix
  test fix is merged (tx3-lang/trix#123) but unreleased; each journey ships its
  own README (no journey table to update); drop the dead findings-plan link.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@scarmuega scarmuega merged commit cf82bd9 into main Jun 16, 2026
@scarmuega scarmuega deleted the e2e/decouple-devnet-roundtrip branch June 16, 2026 20:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant