Repository navigation
Split the tutorial into Cloud and Local lab courses, add a tutor skill - #3
Merged
Merged
Conversation
The single README walkthrough becomes two linear lab courses in the shape of the Orca University labs: one file per lab, each with "Before you start", three or four steps with a check, a quiz, a "Try it yourself" task, a clean-up where one is needed, and a recap. - labs/cloud: the course the hackathon runs, on a team card. Its lab scripts, agent definitions and turn loop are the ones main had. - labs/local: the whole stack on a laptop. local/compose.yaml runs Ursa for Kafka (a diskless topic), Oxia, RustFS, Karapace, RisingWave and RisingWave's MCP server. local/engine.sh starts `ork local` with the AI Gateway and lets the gateway reach the MCP server; write-env.sh, sql.sh and down.sh do the rest. - TUTORIAL_STACK=cloud|local in .env picks the agent definitions (agent/<stack>/), the SQL (sql/<stack>/), Kafka auth, the vault and the state file, on all three paths. - Python and TypeScript send the message before they open the event stream on the local stack only: `ork local` answers a stream opened on a quiet session at its next keep-alive, 15 s later. A team card keeps main's order. - Seeders replay data/login_events.jsonl into an empty topic; lab-ork runs every check with the saved ids filled in. - skills/data-agent-tutor walks a learner through a course one step at a time; docs/tutor.md says how to start it. - scripts/check-labs.sh lints the labs' structure and links; CI gains `local` and `labs` jobs. The Local course was run end to end with the model answering, on the CLI, Python and TypeScript paths. Nothing that needs a team card was run for this change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
labs/cloud/): the course the hackathon runs, on a team card.labs/local/): the whole stack on a laptop.local/compose.yaml).ork localruns with the AI Gateway (local/engine.sh, which also lets the gateway reach the MCP server).TUTORIAL_STACK=cloud|localin.env, picks the agent definitions, the SQL, Kafka auth, the vault and the state file on all three paths (CLI, Python, TypeScript).skills/data-agent-tutor, linked into.claude/skillsand.agents/skills.docs/tutor.mdexplains how to start it.lab-orkruns every lab check with the saved ids filled in.scripts/check-labs.shlints lab structure and links, and CI gainslocalandlabsjobs.What stays as on main for the event
On a team card, the lab scripts, the agent definitions and the turn loop (open the event stream, then send) are main's. Python and TypeScript send first and replay from cursor 0 only on the local stack.
ork localanswers a stream opened on a quiet session only at its next keep-alive, 15 s later.Verification
cli/tests/run.sh151,local/tests/run.sh36,scripts/tests/run.sh25.scripts/check-labs.sh, shellcheck anddocker compose config -qare clean.ubuntu:24.04(GNU stat, mawk).claude-sonnet-4-6: a fresh reset on each of the CLI, Python and TypeScript paths, then every step and every check. That includes the approval and the denial in Lab 4. The pages show output from those runs, andlabs/local/README.mdsays what was run.Not verified
labs/cloud/README.mdsays this to participants. The organizer checklist, kept outside this repo, lists what to confirm in a facilitator walk; replace that README section afterwards.docs/tutor.md: they need this branch merged.Note
With
claude-sonnet-4-6, the agent answers in Markdown with headings, tables and emoji, at more length than the prompts' "two or three sentences". The terminal shows the Markdown as it is. The prompts are unchanged here. Adding "Plain text, no Markdown" to them changes their fingerprints, which are pinned in the three test suites.