Skip to content

docs(slides): design and plan for the Nexus Kotlin workshop deck - #8

Open
nadvolod wants to merge 2 commits into
mainfrom
nexus-kotlin-slides-plan
Open

docs(slides): design and plan for the Nexus Kotlin workshop deck#8
nadvolod wants to merge 2 commits into
mainfrom
nexus-kotlin-slides-plan

Conversation

@nadvolod

@nadvolod nadvolod commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Design spec and implementation plan for the Kotlin Nexus workshop deck. Docs only —
two files under kotlin/docs/superpowers/. The deck itself is #11.

What's here

  • specs/2026-08-11-nexus-kotlin-workshop-slides-design.md
  • plans/2026-08-11-nexus-kotlin-workshop-slides.md

Approach

Interleaved, not front-loaded. Slide segments between challenges rather than a
lecture followed by a lab. ~35 speaking minutes against the track's 40-minute lab
block, leaving ~15 for Q&A.

Question-first spine. Each segment opens with the framing question already
written in that challenge's Instruqt notes, so the notes and the slides reinforce
rather than duplicate.

A concept block up front. One definition-plus-code slide per Nexus concept,
taught before anyone opens the editor, with segments 2 through 4 shrinking to recall
rather than first exposure. The spec records the tradeoff this accepts: attendees
meet WorkflowRunOperation about 40 minutes before they write it.

The vocabulary the lab assumes. Namespace, Task Queue, Workflow ID, Event
History, Update, and the caller/handler pair all appear in the assignments without
being defined. The spec maps each to the slide that owes it, and notes that the real
gap is not the definitions — the audience knows Temporal — but that Nexus repurposes
Namespace and Task Queue as addressing primitives.

Note on scope

track.yml budgets 120 minutes of challenge time into a 40-minute live block. Most
attendees will finish challenges 1–2 and get partway into 3. The plan is weighted for
that reality rather than against the nominal timings, which is why the segment
backing challenge 3 keeps the duplicate-Workflow failure slide even though the
concept is introduced up front.

🤖 Generated with Claude Code

Copilot AI lite review requested due to automatic review settings August 11, 2026 22:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an approved design spec and a step-by-step implementation plan for a future Slidev deck intended to accompany the nexus-kotlin-decouple-monolith Instruqt workshop, focusing on an interleaved “slides then lab” format and a single evolving Mermaid diagram through five states.

Changes:

  • Introduces a design spec defining goals, constraints, segment map, and conceptual teaching inventory.
  • Introduces a detailed execution plan covering Slidev scaffolding, segment-by-segment slide authoring workflow, and reusable Mermaid diagram states.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
kotlin/docs/superpowers/specs/2026-08-11-nexus-kotlin-workshop-slides-design.md Defines the deck’s structure, time budgets, and content architecture for the planned workshop slides.
kotlin/docs/superpowers/plans/2026-08-11-nexus-kotlin-workshop-slides.md Provides an implementation checklist for scaffolding a Slidev repo and drafting each slide segment.
Suppressed comments (1)

kotlin/docs/superpowers/plans/2026-08-11-nexus-kotlin-workshop-slides.md:170

  • This cd /Users/nikk/source/edu-nexus-code command is also machine-specific. If you’ve been working inside kotlin/slides, you can return to the repo root with a relative path so the instructions work everywhere.
cd /Users/nikk/source/edu-nexus-code

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

- Kotlin on the Temporal **Java** SDK.
- No existing deck. Nikk has never used Slidev and does not want to spend the
session learning it — Slidev is a means, the Temporal concepts are the point.
- Pacing reality: `track.yml` budgets 120 min of challenge time into a 40-minute
Comment on lines +61 to +62
mkdir -p /Users/nikk/source/edu-nexus-code/kotlin/slides
cd /Users/nikk/source/edu-nexus-code/kotlin/slides
````

Verify the signatures against the solution file before you present:
`kotlin/decouple-monolith/solution/src/main/kotlin/shared/nexus/ComplianceNexusService.kt`
cd /Users/nikk/source/edu-nexus-code/kotlin/slides
pnpm init
pnpm add -D @slidev/cli playwright-chromium
pnpm add github:temporalio/slidev-theme-temporal
packages: write
steps:
- name: Checkout repo
uses: actions/checkout@v4

@github-actions github-actions Bot Aug 14, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Opengrepsecurity.gha.unpinned-action (WARNING)

Unpinned action reference actions/checkout@v4: this uses: resolves a mutable ref (tag or branch), so the code that runs in CI can change without this line changing. A compromised upstream can repoint the tag and execute arbitrary code with access to this repository's secrets and GITHUB_TOKEN (tj-actions/changed-files, March 2025). Pin to the full 40-character commit SHA with the resolved version in a trailing comment, e.g. uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2. Prefer deputy pin --ecosystems github-actions, which resolves the ref, writes a version comment that reflects the most specific ref actually pointing at that commit, and verifies the SHA is reachable from a real branch upstream. That last check matters: pinning alone does not detect imposter or dangling commits, and this rule only sees the shape of the ref, never its provenance. Reusable workflow calls (owner/repo/.github/workflows/x.yml@ref) run with the same trust as actions and are pinned the same way. Not reported, by campaign policy: temporalio/* refs (first-party, pinned by internal process), local ./ actions, self-repository $/ refs (resolve to the running commit, so they are already pin-equivalent), and docker:// images (pinned by digest as a separate ecosystem).

Fixed in 748c87a

- name: Checkout repo
uses: actions/checkout@v4

- uses: docker/login-action@v3

@github-actions github-actions Bot Aug 14, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Opengrepsecurity.gha.unpinned-action (WARNING)

Unpinned action reference docker/login-action@v3: this uses: resolves a mutable ref (tag or branch), so the code that runs in CI can change without this line changing. A compromised upstream can repoint the tag and execute arbitrary code with access to this repository's secrets and GITHUB_TOKEN (tj-actions/changed-files, March 2025). Pin to the full 40-character commit SHA with the resolved version in a trailing comment, e.g. uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2. Prefer deputy pin --ecosystems github-actions, which resolves the ref, writes a version comment that reflects the most specific ref actually pointing at that commit, and verifies the SHA is reachable from a real branch upstream. That last check matters: pinning alone does not detect imposter or dangling commits, and this rule only sees the shape of the ref, never its provenance. Reusable workflow calls (owner/repo/.github/workflows/x.yml@ref) run with the same trust as actions and are pinned the same way. Not reported, by campaign policy: temporalio/* refs (first-party, pinned by internal process), local ./ actions, self-repository $/ refs (resolve to the running commit, so they are already pin-equivalent), and docker:// images (pinned by digest as a separate ecosystem).

Fixed in 748c87a

echo "extra=${IMAGE}:${REF_NAME}" >> "$GITHUB_OUTPUT"
fi

- uses: docker/build-push-action@v6

@github-actions github-actions Bot Aug 14, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Opengrepsecurity.gha.unpinned-action (WARNING)

Unpinned action reference docker/build-push-action@v6: this uses: resolves a mutable ref (tag or branch), so the code that runs in CI can change without this line changing. A compromised upstream can repoint the tag and execute arbitrary code with access to this repository's secrets and GITHUB_TOKEN (tj-actions/changed-files, March 2025). Pin to the full 40-character commit SHA with the resolved version in a trailing comment, e.g. uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2. Prefer deputy pin --ecosystems github-actions, which resolves the ref, writes a version comment that reflects the most specific ref actually pointing at that commit, and verifies the SHA is reachable from a real branch upstream. That last check matters: pinning alone does not detect imposter or dangling commits, and this rule only sees the shape of the ref, never its provenance. Reusable workflow calls (owner/repo/.github/workflows/x.yml@ref) run with the same trust as actions and are pinned the same way. Not reported, by campaign policy: temporalio/* refs (first-party, pinned by internal process), local ./ actions, self-repository $/ refs (resolve to the running commit, so they are already pin-equivalent), and docker:// images (pinned by digest as a separate ecosystem).

Fixed in 748c87a

permissions:
contents: read
steps:
- uses: actions/checkout@v4

@github-actions github-actions Bot Aug 14, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Opengrepsecurity.gha.unpinned-action (WARNING)

Unpinned action reference actions/checkout@v4: this uses: resolves a mutable ref (tag or branch), so the code that runs in CI can change without this line changing. A compromised upstream can repoint the tag and execute arbitrary code with access to this repository's secrets and GITHUB_TOKEN (tj-actions/changed-files, March 2025). Pin to the full 40-character commit SHA with the resolved version in a trailing comment, e.g. uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2. Prefer deputy pin --ecosystems github-actions, which resolves the ref, writes a version comment that reflects the most specific ref actually pointing at that commit, and verifies the SHA is reachable from a real branch upstream. That last check matters: pinning alone does not detect imposter or dangling commits, and this rule only sees the shape of the ref, never its provenance. Reusable workflow calls (owner/repo/.github/workflows/x.yml@ref) run with the same trust as actions and are pinned the same way. Not reported, by campaign policy: temporalio/* refs (first-party, pinned by internal process), local ./ actions, self-repository $/ refs (resolve to the running commit, so they are already pin-equivalent), and docker:// images (pinned by digest as a separate ecosystem).

Fixed in 748c87a

@nadvolod nadvolod changed the title docs(slides): design and plan for the Nexus Kotlin workshop deck feat(slides): Nexus Kotlin workshop deck — design, plan, and Segment 0 Aug 14, 2026
nadvolod and others added 2 commits August 14, 2026 10:17
Interleaved Slidev deck for the nexus-kotlin-decouple-monolith Instruqt track:
short slide segments between challenges, filling the ~35 speaking minutes of a
90-minute session with a 40-minute lab block.

Question-first spine reusing each challenge's existing framing question, plus a
front-loaded concept block that teaches every Nexus term with real Kotlin before
anyone opens the editor. Records the vocabulary the lab assumes but never defines,
and the tradeoff the concept block accepts.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Nine tasks: scaffold, one per slide segment, then a timing and export pass. Each
segment task lists the Temporal concepts to teach before drafting, so the deck
author works from understanding rather than from an outline.

Includes a paste-ready Slidev syntax reference, the theme's usable layouts, and
five Mermaid diagram states written against the workshop's actual code.

The scaffold task records why the theme has to be vendored rather than installed:
pnpm's #<commit> directory name for a git dependency collides with Vite's CSS
url() resolver.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@nadvolod
nadvolod force-pushed the nexus-kotlin-slides-plan branch from ef77e73 to 748c87a Compare August 14, 2026 14:18
@nadvolod nadvolod changed the title feat(slides): Nexus Kotlin workshop deck — design, plan, and Segment 0 docs(slides): design and plan for the Nexus Kotlin workshop deck Aug 14, 2026
nadvolod added a commit that referenced this pull request Aug 18, 2026
All six were seven-line stubs pointing at the plan; no written content is lost.
Removes their files and their src: imports, leaving the deck at 19 slides: the
cover plus segment 0.

The interleaved per-challenge segments the plan describes are no longer part of
the deck. If they come back, the plan and its Mermaid diagram states are still
in PR #8.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

2 participants