Skip to content

docs(academy): public Hydra leerlijn — 6 chained Dutch tutorials#37

Merged
WilcoLouwerse merged 13 commits into
developmentfrom
tutorial/hydra-leerlijn-intern
May 21, 2026
Merged

docs(academy): public Hydra leerlijn — 6 chained Dutch tutorials#37
WilcoLouwerse merged 13 commits into
developmentfrom
tutorial/hydra-leerlijn-intern

Conversation

@WilcoLouwerse
Copy link
Copy Markdown
Contributor

@WilcoLouwerse WilcoLouwerse commented May 12, 2026

Summary

Publieke Nederlandstalige leerlijn over Hydra (Conductions agentic CI/CD-platform). Zes opeenvolgende tutorials die samen van "wat is Hydra" tot "spec → PR via de pipeline" lopen.

Audience-update (2026-05-19): oorspronkelijk opgezet als interne leerlijn (unlisted: true + warning-callouts). Per beslissing van @WilcoLouwerse nu volledig publiek gemaakt — zie comment hieronder voor details.

Closes ConductionNL/.github#50.

Test plan

  • Lokale Docusaurus build (npm start) — sidebar toont de zes tutorials in volgorde
  • Interne links tussen de zes pagina's werken
  • Code-blocks en screenshots laden correct
  • Compileert zonder warnings na merge van development + npm install

@MWest2020
Copy link
Copy Markdown
Member

Code review — internal Hydra leerlijn

Overview

Adds an internal Dutch Hydra leerlijn (6 chained tutorials, unlisted: true) onto development. The diff is larger than the PR description suggests — it also contains 4 public Claude Skills tutorials, a data/app-downloads.json data refresh, package-lock.json deletions, and src/css/site.css additions for blockquote + .tutorial-quiz styling.


Blocking concerns

1. Audience framing is wrong — "ZZP-developers en partners onder NDA"

academy/2026-05-12-hydra-tutorial-1-wat-is-hydra/index.mdx:26:

"Deze leerlijn beschrijft IP van Conduction (skills, gates, prompts, pipelines) en is bedoeld voor medewerkers, vertrouwde ZZP-developers en partners onder NDA."

ZZP'ers horen er niet in als aparte categorie — Hydra is voor iedereen die het kan/wil gebruiken. De huidige framing is zowel te smal (singles out ZZP) als te restrictief (NDA-gated). Reword the warning callout in tutorial 1 (the other 5 tutorials use a shorter version on lines 282, 546, 797, 1164, 1535 which is fine — they don't mention ZZP). Re-evaluate whether the leerlijn should still be unlisted: true at all if Hydra is meant voor "een ieder die het kan/wil gebruiken" — the unlisted flag and the audience claim now contradict each other.

2. Scope creep — the PR claims 6 tutorials, contains 10 + data + lockfile + CSS

The PR title says "6 chained Dutch tutorials" but the diff includes:

  • 6 Hydra tutorials (matches description) ✓
  • 4 Claude Skills tutorials (2026-05-15-claude-skills-tutorial-1..4) — not mentioned in the PR body
  • data/app-downloads.json — 314+/232- — appears to be an auto-generated stats refresh (new deskdesk entry, updated download counts, new release v0.1.3)
  • package-lock.json — 86+/196- — pure deletions removing duplicated postcss-selector-parser@7.1.1 nodes (likely an npm dedupe)
  • src/css/site.css — blockquote + .tutorial-quiz block styling

The Claude Skills tutorials look like the same set already merged to main (commits 11ab918, 7f91181, e1e4012) but not yet to development. This PR will resurrect them on development — fine if intentional, but the PR body should say so. Bigger concern: mixing content (tutorials), data (app-downloads.json), tooling (lockfile dedupe), and styling (CSS) in one PR makes rollback hard and the diff hard to audit. Suggested split:

  • This PR: Hydra tutorials + CSS for quiz blocks (the CSS is genuinely used by the tutorials)
  • Separate PR: forward-port of Claude Skills tutorials from main → development (or sync development from main)
  • Separate chore PR: lockfile dedupe with npm audit signatures output attached
  • Separate (probably automated) PR: app-downloads.json refresh

3. package-lock.json dedupe without verification log

Any lockfile change should land with npm audit signatures output recorded. The diff is benign-looking (only removes duplicate nested postcss-selector-parser v7.1.1 entries — no version bumps, no new resolved URLs), but the PR body says nothing about how this was produced. Confirm it came from a clean npm dedupe on top of a min-release-age=7-respecting registry session and post npm audit signatures output in the PR body before merge.


Smaller content notes

  • Test-plan command vs. lockfile: PR body lists pnpm start, but the repo uses npm (package-lock.json, no pnpm-lock.yaml). Either the author ran pnpm against an npm tree (works but odd), or the test plan should say npm start.
  • (private) repo link in prerequisites (tutorial 1, line 49): https://github.com/ConductionNL/hydra is listed as a prerequisite. Fine for an unlisted internal page, but worth aligning with the audience reframe from blocker Bump symfony/framework-bundle from 4.2.4 to 4.2.7 #1 — if Hydra is voor iedereen, a private-repo prereq excludes most of that audience. Either point at the public docs first, or list private-repo access as "if you're going to run it" not "to read this".
  • Public .github link (tutorial 1, line 52): Links to ConductionNL/.github/blob/main/docs/hydra/README.md as "publieke 1-pagina-versie". Verify that page actually exists and is current before merging — the leerlijn leans on it as a warm-up.
  • Date collisions: All 6 Hydra tutorials share date: 2026-05-12 and all 4 Claude Skills tutorials share date: 2026-05-15. Docusaurus should sort by partNumber within a series regardless, but worth a spot-check in the sidebar after build.
  • Inconsistent unlisted flag: Hydra tutorials all set unlisted: true; Claude Skills tutorials don't. That matches intent (Skills = public, Hydra = internal), just calling it out so reviewers don't flag it as inconsistency.
  • CSS scope: src/css/site.css adds a global blockquote brand restyle, which affects every blockquote on the site, not just academy tutorials. That's a site-wide visual change shipped in a tutorial PR — worth a separate design call-out, especially if marketing pages rely on the current neutral blockquote look.

Recommendation

Fix the ZZP framing in tutorial 1, decide whether unlisted: true is still correct after broadening the audience, and either split the unrelated changes (Claude Skills tutorials, app-downloads.json, lockfile dedupe, global blockquote CSS) into separate PRs or update the PR body to declare them explicitly. Content-wise the Hydra leerlijn itself reads well — the issues are framing, scope, and supply-chain hygiene around the bundled lockfile change.

Copy link
Copy Markdown
Member

@MWest2020 MWest2020 left a comment

Choose a reason for hiding this comment

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

Specter weg.

Comment thread academy/2026-05-12-hydra-tutorial-1-wat-is-hydra/index.mdx Outdated
WilcoLouwerse and others added 9 commits May 19, 2026 10:39
Initial draft of the internal Hydra learning track requested in
ConductionNL/.github#50. Six short modules (10-20 min each) that take a
reader from "what is Hydra" through a real local run to recovery
patterns, with cross-links forming a complete chain.

All six are marked draft: true + unlisted: true so they stay out of the
public build while the hosting decision (private repo / unlisted route /
besloten branch — first checkbox in #50) is still open. Each page
carries an "Intern document — niet extern delen" banner top and bottom.

Tutorial 5 covers HYDRA_LABEL_PREFIX (ConductionNL/hydra#253) in
depth — the personal-namespace knob that lets multiple devs run Hydra
against the same target repos without colliding on stage labels.
Tutorials 2 and 6 reference it where it intersects with the pipeline
and recovery flows.

Per the updated issue, the new public 1-pager at
.github/docs/hydra/README.md is linked as an optional warm-up from
tutorial 1.

Each tutorial ends with 4 Pluvo questions ready to be lifted into the
Pluvo platform later.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Convert the closing "Pluvo-vragen" sections in all six Hydra tutorials
into "Test jezelf" sections with click-to-expand Hint and Antwoord
spoilers, so the answer is hidden by default but available without
leaving the page. Adds a .tutorial-quiz card style in site.css that
overrides Docusaurus' Details theme arrow + alert variables so the
chevron sits inline with the label and the open body has readable
contrast on white.

Also tightens the "watch-list" HexCard in part 3 to state purpose
before observation, and updates Part 4 copy to match recent skill
families. package-lock churn is from dev-server runs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds a public Nederlandstalige leerlijn op /academy over Claude Skills:
wat ze zijn (deel 1), je eerste skill schrijven met /skill-creator
(deel 2), en skills meten met evals (deel 3). Volgt de layout van de
interne Hydra-leerlijn (Outcomes, Prerequisites, NextSteps, Test jezelf
quizzes met Details collapsibles).

Bevat ook cross-links: Hydra deel 1 noemt de Claude Skills-leerlijn als
aanbevolen voorkennis, en Hydra deel 4 (Skills) verwijst op meerdere
plekken terug naar de nieuwe leerlijn.

Closes ConductionNL/.github#52

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Renames hydra-tutorial-4 from "skills-commands" to "skills" (with all
cross-references updated), removes the slash-command-as-separate-category
narrative from skills tutorial 1, and adds AskUserQuestion + a pointer
to the ConductionNL/.github Hydra skill-docs in skills tutorial 2.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…L7 orchestration

New deel 4 walks through learnings.md, the Capture Learnings step, the two-stage
buffer, multi-agent orchestration patterns, and the skill-level-overview dashboard
with viewing instructions. Tutorials 1-3 updated from "drie" to "vier korte modules"
and deel 3's next-step now points to deel 4.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…utorial 4

The dashboard section linked five times into ConductionNL/hydra, which is
private and returns 404 for external readers. Strip the blob URLs, drop
the defensive "Hydra is privé, dus daar krijg je een 404" workaround
quote, and reroute the "kopieer deze bestanden"-instructie via the
ContactCta + a "build it yourself" alternative.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ignored guardrail, third-person pass

- hydra-tutorial-4: "8 individuele hydra-gate-*" → 13 in container table + quiz answer (1 dispatcher + 13 gates = 14 total, matches gates-family table)
- skills tutorial 1: intro flags that deel 3 introduces the 7-level maturity-framework
- skills tutorial 2: git-status-summary guardrail forbidding --ignored on git status, so the "X not blank and not ?" staged-check doesn't also match ! lines
- skills tutorial 4 + hydra deel 4: third-person pass on narrative prose (CTA copy left alone)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@WilcoLouwerse WilcoLouwerse force-pushed the tutorial/hydra-leerlijn-intern branch from 3c5ad1f to aa89287 Compare May 19, 2026 08:44
@ConductionNL ConductionNL deleted a comment from MWest2020 May 19, 2026
@ConductionNL ConductionNL deleted a comment from MWest2020 May 19, 2026
@ConductionNL ConductionNL deleted a comment from MWest2020 May 19, 2026
WilcoLouwerse and others added 3 commits May 19, 2026 17:09
…te CSS

Addresses Mark's review on PR #37:
- ZZP-developers/NDA framing removed from Hydra tutorial 1 callout
- All 6 Hydra tutorials: `unlisted: true` and warning callouts removed,
  `Intern` tag dropped — leerlijn is nu publiek
- Private repo (ConductionNL/hydra) prereq herframed naar "alleen nodig
  als je Hydra zelf wilt draaien"
- Global blockquote restyle scoped naar `.markdown` zodat marketing-
  pages ongewijzigd blijven

Per gebruikersbeslissing 2026-05-19: leerlijn gaat volledig publiek.
Issue #50 framing ("intern, niet publiek") moet apart bijgewerkt worden.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
`npm install` na de merge regenereert lockfile op preset 3.10.0 + nieuwe
SEO/contact-redirect dependencies. Geen handmatige bewerkingen.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@WilcoLouwerse
Copy link
Copy Markdown
Contributor Author

WilcoLouwerse commented May 19, 2026

Review-response op @MWest2020 (review 2026-05-18)

Hieronder per punt wat er is aangepakt en wat (bewust) niet.

Blocking concerns

1. Audience framing — ZZP-developers/NDA
Beslist: leerlijn gaat volledig publiek. Concrete wijzigingen in commit ff20e9d3:

  • unlisted: true verwijderd uit frontmatter van alle 6 tutorials
  • :::warning Intern document callout verwijderd op alle 6 pagina's
  • Intern-tag verwijderd uit alle frontmatter
  • ZZP-specifieke framing in Deel 1 callout was al weg vóór de publiek-flip
  • Private repo (ConductionNL/hydra) prereq in Deel 1 verplaatst onderaan met expliciete framing "alleen nodig als je Hydra zelf wilt draaien"

2. Scope creep — bundled changes
Per beslissing: niet splitsen. Toelichting:

  • Claude Skills tutorials (4 bestanden) zaten op deze branch omdat ze tegelijk zijn ontwikkeld. PR academy: public Claude Skills leerlijn (4 chained Dutch tutorials) #46 (Claude Skills) is op 2026-05-18 gemerged in tutorial/hydra-leerlijn-intern (deze branch), niet in development of main — ze staan dus nog gewoon in de diff van deze PR en landen via docs(academy): public Hydra leerlijn — 6 chained Dutch tutorials #37 op development. Correctie t.o.v. eerdere versie van deze response: er was geen aparte main→dev-route.
  • data/app-downloads.json — automatisch ververst door prebuild hook; niet menselijk bewerkt.
  • src/css/site.css — bevat zowel .tutorial-quiz styling (hoort logisch bij quiz-blocks in tutorials) als de blockquote-restyle. Die laatste is nu gescoped aan .markdown (commit ff20e9d3) zodat marketing-pages ongewijzigd blijven.

3. Lockfile dedupe + npm audit signatures
Tussen je review (18 mei) en nu was er een serieuzere divergentie ontstaan: deze branch zat op @conduction/docusaurus-preset@2.1.0, terwijl development doorgebumped is via #55 t/m #79 naar ^3.6.0/3.10.0. Merge-as-is zou dat hebben gedowngrade.

Opgelost door git merge origin/development (commit d865f17f) + npm install (commit 034c6927). Lockfile is nu de schone uitkomst van een npm install op de gemergde package.json, niet langer een dedupe.

npm audit signatures zelf werkt niet op deze tree door een bekende npm-aliasing-bug (react-loadable@npm:@docusaurus/react-loadable@6.0.0 faalt registry-lookup met ETARGET). Speelt ook op development, niet door deze PR veroorzaakt. Output ter info:

npm error code ETARGET
npm error notarget No matching version found for react-loadable@6.0.0.

Reguliere npm audit rapporteert 21 vulnerabilities (2 moderate, 19 high) — allemaal pre-existing op development, niet beïnvloed door deze PR.

Smaller content notes

  • Test plan pnpmnpm: PR body bijgewerkt.
  • Public .github-link in Deel 1 prereqs: gecheckt — .github/docs/hydra/README.md bestaat (5402 bytes).
  • Date collisions: bewust ongewijzigd gelaten — Docusaurus sorteert binnen een series op partNumber, niet op datum.
  • Inconsistent unlisted flag: nu consistent — geen enkel bestand heeft unlisted: true.
  • Global blockquote CSS: gescoped naar .markdown blockquote zodat marketing-pages niet meer worden aangeraakt.

Status

  • Build groen (lokaal npm start, geen warnings na merge)
  • Klaar voor herziene review

@WilcoLouwerse
Copy link
Copy Markdown
Contributor Author

Goed om misschien eerst deze te mergen:
#73

Three small cleanups voortvloeiend uit de inhoudelijke review:

1. Verwijder leftover footer `*Intern document — niet extern delen.*`
   op alle 6 tutorials — was vergeten bij de audience-flip eerder vandaag.

2. Deel 5: vervang `PR #134`-referentie (interne, weinig zeggende)
   door verwijzing naar decidesk-44-45 retrospectief (april 2026),
   waar de secrets/.env auto-sourcing fix uitkomt.

3. Deel 3: voeg `hydra-gates` dispatcher-rij toe aan de gate-tabel +
   intro "14 skills: één dispatcher die de andere 13 aanroept",
   zodat de telling consistent is met deel 4.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@WilcoLouwerse WilcoLouwerse changed the title docs(academy): internal Hydra leerlijn — 6 chained Dutch tutorials docs(academy): public Hydra leerlijn — 6 chained Dutch tutorials May 19, 2026
Copy link
Copy Markdown
Member

@MWest2020 MWest2020 left a comment

Choose a reason for hiding this comment

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

Specter weg ✅ — geverifieerd op PR-head (88d8b978): 0 matches voor specter/spectre in de volledige diff en per-file in alle zes Hydra-tutorials. Eerdere blocking concerns (ZZP/NDA-framing, lockfile dedupe, scope) zijn afgehandeld in de review-response.

@WilcoLouwerse WilcoLouwerse merged commit 257e818 into development May 21, 2026
6 checks passed
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.

TUTORIAL | Hydra leerlijn (publiek)

2 participants