From 80e1a9a6b65bc6fe5f8b72bc4d89defec1cff87b Mon Sep 17 00:00:00 2001 From: Raydo M <126121348+burnt-exe@users.noreply.github.com> Date: Wed, 26 Aug 2026 23:27:48 +0200 Subject: [PATCH 1/4] fix(course): use generated Docusaurus document ids in sidebar --- course-site/sidebars.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/course-site/sidebars.js b/course-site/sidebars.js index 3669abf..d482ce8 100644 --- a/course-site/sidebars.js +++ b/course-site/sidebars.js @@ -4,14 +4,14 @@ module.exports = { 'learner-guide', 'course-map', 'environment-setup', - {type: 'category', label: 'Module 1 — Decision Automation Foundations', items: ['modules/01-foundations', 'labs/lab-01-first-rules']}, - {type: 'category', label: 'Module 2 — DRL Rule Authoring', items: ['modules/02-drl', 'labs/lab-02-rule-authoring']}, - {type: 'category', label: 'Module 3 — KIE Runtime and Sessions', items: ['modules/03-kie-runtime', 'labs/lab-03-kie-sessions']}, - {type: 'category', label: 'Module 4 — Inference and Execution Control', items: ['modules/04-inference', 'labs/lab-04-inference']}, - {type: 'category', label: 'Module 5 — Decision Tables and DMN', items: ['modules/05-decision-models', 'labs/lab-05-dmn']}, - {type: 'category', label: 'Module 6 — Complex Event Processing', items: ['modules/06-cep', 'labs/lab-06-cep']}, - {type: 'category', label: 'Module 7 — Testing, Performance and Troubleshooting', items: ['modules/07-quality', 'labs/lab-07-testing']}, - {type: 'category', label: 'Module 8 — Integration, Security and Operations', items: ['modules/08-operations', 'labs/lab-08-service']}, + {type: 'category', label: 'Module 1 — Decision Automation Foundations', items: ['modules/foundations', 'labs/lab-01-first-rules']}, + {type: 'category', label: 'Module 2 — DRL Rule Authoring', items: ['modules/drl', 'labs/lab-02-rule-authoring']}, + {type: 'category', label: 'Module 3 — KIE Runtime and Sessions', items: ['modules/kie-runtime', 'labs/lab-03-kie-sessions']}, + {type: 'category', label: 'Module 4 — Inference and Execution Control', items: ['modules/inference', 'labs/lab-04-inference']}, + {type: 'category', label: 'Module 5 — Decision Tables and DMN', items: ['modules/decision-models', 'labs/lab-05-dmn']}, + {type: 'category', label: 'Module 6 — Complex Event Processing', items: ['modules/cep', 'labs/lab-06-cep']}, + {type: 'category', label: 'Module 7 — Testing, Performance and Troubleshooting', items: ['modules/quality', 'labs/lab-07-testing']}, + {type: 'category', label: 'Module 8 — Integration, Security and Operations', items: ['modules/operations', 'labs/lab-08-service']}, 'capstone', {type: 'category', label: 'Assessment', items: ['assessment/diagnostic', 'assessment/final-assessment']}, {type: 'category', label: 'Learning Aids', items: ['resources/glossary','resources/cheat-sheet','resources/troubleshooting','resources/student-notes','resources/references']}, From d45bbfb46efff13e529728168d9c6d92b770226e Mon Sep 17 00:00:00 2001 From: Raydo M <126121348+burnt-exe@users.noreply.github.com> Date: Wed, 26 Aug 2026 23:28:12 +0200 Subject: [PATCH 2/4] chore(course): migrate broken-link hook to current Docusaurus config --- course-site/docusaurus.config.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/course-site/docusaurus.config.js b/course-site/docusaurus.config.js index 9ff5d57..d4bf508 100644 --- a/course-site/docusaurus.config.js +++ b/course-site/docusaurus.config.js @@ -7,7 +7,11 @@ const config = { organizationName: 'skunkworks-academy', projectName: 'drools', onBrokenLinks: 'throw', - onBrokenMarkdownLinks: 'throw', + markdown: { + hooks: { + onBrokenMarkdownLinks: 'throw' + } + }, trailingSlash: false, presets: [ [ From d7dc682c264f88ef9c5d025ad1deeaf569327066 Mon Sep 17 00:00:00 2001 From: Raydo M <126121348+burnt-exe@users.noreply.github.com> Date: Wed, 26 Aug 2026 23:29:18 +0200 Subject: [PATCH 3/4] ci(course): capture dependency audit evidence and block critical findings --- .github/workflows/course-quality.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/course-quality.yml b/.github/workflows/course-quality.yml index 0740e4b..bd7c790 100644 --- a/.github/workflows/course-quality.yml +++ b/.github/workflows/course-quality.yml @@ -34,10 +34,23 @@ jobs: node-version: '22' - name: Install run: npm install + - name: Record dependency audit + run: npm audit --json > npm-audit.json || true + - name: Enforce no critical dependency vulnerabilities + run: npm audit --audit-level=critical - name: Validate course structure run: npm run validate:content - name: Build Docusaurus run: npm run build + - name: Upload dependency evidence + if: always() + uses: actions/upload-artifact@v4 + with: + name: drools-course-dependency-evidence + path: | + course-site/package-lock.json + course-site/npm-audit.json + if-no-files-found: error - name: Upload production build uses: actions/upload-artifact@v4 with: From daddce5f611afeb22e90d15a54339ca69a394559 Mon Sep 17 00:00:00 2001 From: Raydo M <126121348+burnt-exe@users.noreply.github.com> Date: Wed, 26 Aug 2026 23:31:29 +0200 Subject: [PATCH 4/4] fix(course): use Prism markup language for XML syntax --- course-site/docusaurus.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/course-site/docusaurus.config.js b/course-site/docusaurus.config.js index d4bf508..9a025eb 100644 --- a/course-site/docusaurus.config.js +++ b/course-site/docusaurus.config.js @@ -71,7 +71,7 @@ const config = { copyright: `Copyright © ${new Date().getFullYear()} Skunkworks Academy. Course source is version controlled.` }, prism: { - additionalLanguages: ['java', 'xml', 'bash', 'yaml'] + additionalLanguages: ['java', 'markup', 'bash', 'yaml'] }, colorMode: { defaultMode: 'light',