Skip to content

Sync Temporal Essentials (Java) with the source Deck at d9fbfcb - #7

Open
nadvolod wants to merge 1 commit into
mainfrom
sync-java-essentials-with-ts
Open

nadvolod wants to merge 1 commit into
mainfrom
sync-java-essentials-with-ts

Conversation

@nadvolod

Copy link
Copy Markdown
Collaborator

Brings decks/java-master/ up to date with the three commits the source Deck has had since it was ported at a61bcf9 (ADR 0004).

What changed

Opening (01-why-temporal): one bank transfer runs through the whole segment. Two-line happy path → production failures → the questions → the retry helper → the plumbing version → the same two lines on Temporal. New slides: Where did the failures go?, Retries are configuration, Just the code you already write, And out of the box. The Temporal version uses setDoNotRetry(InsufficientFundsException.class.getName()). The why snippets are rewritten (Bank, BankActivities, TransferWorkflow, HandRolled). WhyTemporalTest checks two things: a deposit that fails twice still completes with one withdrawal, and insufficient funds fails at once.

Reordering

  • Design patterns now sits after Activities, before Event History.
  • Keep it in the Workflow if it… moves into 05-workflows.
  • Resumable Activity and its demo move from 17b to the end of 11-updates.
  • The idempotency key slide moves from 17b to 17-saga-07.

New content

  • What is a Worker? (07).
  • Idempotency key best practices, which replaces Related in 17-saga-07.
  • A compensation Activity (17-saga-04), backed by the new sagacompensation snippets and SagaCompensationTest. The refund outlasts three failures and refunds once.
  • Saga Implementation is now a pseudocode walkthrough. Its notes map each line to the Java Saga helper, and Implementation: the unwind carries the real code and the slide marker.
  • An idempotent compensation is removed.

Smaller

  • Resumable console: three steps, no typo Signal, and it ends COMPLETED. The Workflow now sets that status and ResumableTest queries it.
  • WorkflowRun.vue has new captions, and step 9 in 06b now explains the cache and replay.
  • New CopyLink.vue. Every lab slide now uses the single Instruqt invite link.
  • The cover subtitle drops "Foundations".
  • WalkthroughsTest accepts txt blocks.

Verification

  • mvn test in decks/java-master/snippets: 745 tests, 0 failures.
  • npm run check:walkthroughs against a dev server: all 193 bubbles on 45 walkthrough slides sit on their lines.
  • slidev build succeeds; the new slides were checked by screenshot.
  • scripts/verify-content.sh and scripts/check-readme-index.sh pass.

Cost record: docs/authoring/java-master-deck-sync.md ($13.13, agent tokens only).

🤖 Generated with Claude Code

- Opening retold as one bank transfer: happy path, production failures,
  the retry helper, the plumbing version, then the same two lines on
  Temporal with a non-retryable InsufficientFundsException. New why
  snippets and WhyTemporalTest replace the order-fulfilment ones.
- Reorder: Design patterns after Activities; "Keep it in the Workflow"
  moves into 05-workflows; Resumable Activity moves to the end of
  11-updates; the idempotency key slide closes the Saga section.
- New slides: "What is a Worker?", "Idempotency key best practices",
  and "A compensation Activity" (sagacompensation snippets and test).
- Saga Implementation is now a pseudocode walkthrough; the unwind slide
  carries the real Java. "An idempotent compensation" and "Related" cut.
- Resumable console drops the typo Signal and ends COMPLETED; the
  Workflow sets the status and ResumableTest queries it.
- WorkflowRun captions, 06b step 9, CopyLink on lab slides, all labs
  behind one invite link, "Foundations" off the cover subtitle.
- WalkthroughsTest accepts txt blocks for pseudocode walkthroughs.
- ADR 0004 records the sync; cost record in docs/authoring.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
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