Skip to content

Six-week decks + course catalog editorial polish + Ask EDD widget#2

Open
jeranaias wants to merge 10 commits into
mainfrom
replit-deck-polish
Open

Six-week decks + course catalog editorial polish + Ask EDD widget#2
jeranaias wants to merge 10 commits into
mainfrom
replit-deck-polish

Conversation

@jeranaias
Copy link
Copy Markdown
Owner

@jeranaias jeranaias commented Apr 30, 2026

This PR has grown beyond its original deck-rollout scope. Three workstreams now bundled.

1. Original scope: Six-week deck rollout (commit e7c7276)

Brings the static site up to current state with all deliverables from the build sessions.

  • Decks (docs/decks/) — six weekly instructor decks (Weeks 1-6) sharing a single canonical css/deck.css + js/deck.js. Per-week styles isolated via body classes. Keyboard nav, hash deep-linking, speaker-notes pane, fullscreen, print/PDF export, multi-up handout print mode.
  • Facilitator packs (docs/facilitator/) — one-page Letter-landscape printables with bundled PDFs.
  • Student handouts (docs/handouts/) — one-page printables mirroring the facilitator print contract.
  • Course discoverability — each docs/courses/<slug>.html surfaces its matching deck, facilitator pack, and handout via a primary action row in the page header.
  • Heywood Inventory (heywood-inventory/) — Go + HTMX reference app used as the Week 6 capstone.
  • Chrome fix (docs/decks/css/deck.css) — hides each deck's per-slide page counter on screen so it doesn't double up with the fixed bottom-right nav-chrome counter.

2. Deck rewrites for weeks 2-6 + design system overhaul (commit 756bb4b)

DESIGN.md updated with new design system. deck.css major restyle (~1.5k lines net). Weeks 2-6 deck HTML rewrites (Week 4-6 are heaviest; Week 2-3 lighter).

3. Course catalog editorial polish (7 commits, 5d0c1009b2cdc3)

One thematic commit per week + catalog. Surfaced from a critical review of every instructor + student course page. Six showstoppers fixed:

  • Knowledge Check radios on student/fullstack.html were missing name= attributes — every option was its own group, scoring broke silently. Fixed all 24 radios.
  • Week 3 student platform URLs pointed at commercial cloud (make.powerapps.com); replaced with DoD/IL5 (make.gov.powerapps.us, high.flow.microsoft.us, *.sharepoint.us) + added GenAI.mil.
  • Stale Knowledge Check questions on Week 1 (referenced a non-existent naval-message exercise) and Week 4 (referenced deleted debugging scenarios) — rewritten against the actual on-page content.
  • Self-contradictory Scenario 1 root-cause on Week 4 student page — replaced with coherent text matching the new instructor scenario.
  • Doctrinal contradiction: Module 7 (fullstack) called api.openai.com while Supervisor course mandates GenAI.mil per MARADMIN 018/26. Added a DoD-network note to Module 7 in both files.
  • "DoW personnel" → "DoD personnel" in every footer (12 files).

Cross-cutting cleanup:

  • Phantom skill name "Failure Recovery" → "Workflow Integration" on student/orientation.html (Course 1 teaches Workflow Integration as the sixth skill).
  • Knowledge Checks grouped into per-module <details> collapsibles on all five student pages (was 18-question walls).
  • Underscore "fill-in" lines replaced with structured prompt lists.
  • "Course N:" prefix added to student catalog cards; Outcome dt/dd added; Slide Deck button added; Course 5 omission explained.
  • 8-hour fullstack capstone now recommends 2-day delivery split as default.
  • Power Apps vs HTML/JS divergence in Week 2 explicitly documented (live class = Power Apps, self-paced = HTML/JS).
  • Module 6 (Workflow Playbook) promoted to its own section in both Week 4 files; module order reconciled between instructor and student.
  • Three vs four evaluation questions reconciled to four in Supervisor course.
  • Per-module facilitator scaffolding added where missing.
  • Walls of <details open> closed by default for sequential reveal.

4. Ask EDD widget + Cloudflare Worker (commit 5e7cbbc)

  • docs/js/ask-edd-widget.js — floating chat widget, self-contained (styles + DOM + state in one file). 10 msgs/hour client cap, localStorage persistence, system prompt refuses CUI/PII/classification.
  • worker/ — Cloudflare Worker proxy. Bearer key (RIGRUN_KEY) stays server-side as a Wrangler secret. CORS limited to GH Pages origin + localhost dev. SSE pass-through.

Deploy flow documented in worker/wrangler.toml:

cd worker
npx wrangler secret put RIGRUN_KEY
npx wrangler deploy

Test plan

Deck rewrites

  • Open each docs/decks/week-{1..6}-*.html; confirm slides render, navigation works, no broken images/links.
  • Verify deck.css doesn't break the existing layout on smaller viewports.
  • Confirm print/PDF export still works for at least one week.

Course catalog editorial polish

  • Open docs/courses/student/index.html; confirm 5 cards each with Course N prefix, Outcome row, View Course + Slide Deck buttons.
  • Confirm Course 5 explanatory note is visible in Recommended Path.
  • Open docs/courses/student/fullstack.html, scroll to Knowledge Check, attempt to select two options on the same question — should be mutually exclusive.
  • Open docs/courses/student/platform.html, confirm DoD URLs at the platforms list.
  • Open docs/courses/student/advanced.html, confirm Module 3 = Group Debugging and Module 4 = Verification (matching instructor order); confirm Module 6 (Workflow Playbook) has its own section + TOC entry.
  • Open docs/courses/supervisor.html, confirm Quick Reference card teaches the 4-question framework consistently with Module 3.
  • Spot-check that all 12 footers say "DoD personnel" not "DoW personnel".
  • Open docs/courses/student/orientation.html and confirm "Failure Recovery" doesn't appear anywhere.

Ask EDD widget + Worker

  • Deploy worker: cd worker && npx wrangler secret put RIGRUN_KEY && npx wrangler deploy
  • Note the deployed URL (e.g. https://ask-edd.<you>.workers.dev).
  • Wire the widget by adding <script src="js/ask-edd-widget.js" data-api="https://ask-edd.<you>.workers.dev"></script> to one course page.
  • Confirm widget appears as floating launcher; first interaction shows disclaimer; second interaction streams a response from the upstream router.
  • Confirm rate limit triggers after 10 messages within an hour.
  • Confirm CORS rejects requests from origins not in the allowlist.

Notes

  • Static site only — serve.py is a no-cache dev server; docs/ is what GitHub Pages serves.
  • Branch contains 28 local commits (26 original + 2 deck/feature + 7 polish); recommend squash-merge for clean main history.

…e fix

  This PR brings the static training site up to current state with all
  deliverables produced over the build sessions.

  Decks (docs/decks/) — six weekly instructor decks
    * Week 1: AI Fluency Fundamentals (51 slides)
    * Week 2: Builder Orientation (28 slides, ~2hr)
    * Week 3: Platform Training
    * Week 4: Advanced Workshop (38 slides, includes BREAK pacing)
    * Week 5: Supervisor Orientation (Teams 16:9)
    * Week 6: Full-Stack Capstone (57 slides)
    Shared canonical CSS + JS controller; per-week body classes
    (deck-body, w2-deck..w6-deck) keep styles isolated.
    Features: keyboard nav, hash deep-linking, speaker-notes pane,
    fullscreen, print/PDF export, and a multi-up student-handout
    print mode.

  Facilitator packs (docs/facilitator/)
    One-page Letter-landscape printable per week, with bundled PDFs.

  Student handouts (docs/handouts/)
    One-page printable per week, mirrors facilitator print contract.

  Course discoverability (docs/courses/)
    Each course page surfaces its matching deck via a primary action
    row (deck + facilitator pack + handout) so instructors can launch
    presentations directly from the catalog.

  Reference app (heywood-inventory/)
    Go + HTMX inventory app used as the Week 6 capstone reference.

  Chrome fix (docs/decks/css/deck.css)
    Hide each deck's per-slide page counter on screen so it does not
    double up with the fixed bottom-right nav-chrome counter.
    Body-scoped per deck (deck-body, w2/w3/w4/w5/w6-deck) so it
    doesn't affect anything outside the decks. Print restores the
    per-slide counter since the chrome is hidden in print.

  Site config
    serve.py static server with no-cache headers; replit.md updated
    to document the deck/handout/facilitator architecture.
- Student catalog cards now match instructor catalog naming ("Course 1:" prefix)
- Each card carries the Outcome dt/dd previously only on instructor side
- Slide Deck button added to every student card (was instructor-only)
- One-line note in Recommended Path explains why Course 5 is missing from student catalog
- Student footer attribution unified with instructor wording, DoW -> DoD
- Rewrote two stale Module 4 KC questions that referenced a non-existent
  naval message exercise; replacements use the actual Award Narrative + MARADMIN content
- Deleted redundant Timing Breakdown table (contradicted Agenda)
- Surfaced "minimum set: Documents 1+3" guidance at top of Module 4 (was buried)
- Added facilitator scaffolding to Modules 3, 5, 6 (were empty of instructor notes)
- Cross-linked Exit Ticket to student Knowledge Check
- Wrapped Iterative Refinement Pass 2 in details collapsible
- Aligned Module 5 self-check with the workflow exercise (added Step 6)
- Demoted Module 6 "Try It" to optional; Capstone is the explicit deliverable
- Added "What's next: Course 2" CTA above Knowledge Check
- Knowledge Check grouped into per-module collapsibles (closed by default)
- DoW -> DoD in footer
… fix

- Self-paced student page now explicitly uses HTML/CSS/JS; instructor page
  stays Power Apps. Added "A note on platform choice" callout at top of
  Module 2 explaining the divergence
- Rewrote "What to Expect" callout for HTML output (was describing
  SharePoint columns under an HTML prompt)
- Fixed phantom "Failure Recovery" skill name -> "Workflow Integration"
  (4 instances; Course 1 teaches Workflow Integration as the sixth skill)
- Deleted redundant Session Timing Breakdown table
- Module 1 gained an opening check-in + builder-mindset callout
- Decomposition Worksheet "fillable" boxes converted to underscore template
- Added round-the-room close to instructor wrap
- Closed all six details open blocks in Module 2 (sequential reveal)
- Failure Cases reframed as "Worked Example: ..." for clarity
- Capstone: replaced phantom Problem Definition Worksheet with
  Decomposition Template (what the student actually built)
- Added "How to Use This Course" + "What's next: Course 3" callouts
- Knowledge Check grouped into per-module collapsibles
- DoW -> DoD in footers
- SHOWSTOPPER: replaced commercial cloud URLs (make.powerapps.com,
  make.powerautomate.com) with DoD/IL5 URLs (make.gov.powerapps.us,
  high.flow.microsoft.us, *.sharepoint.us); added GenAI.mil row
- Build #3 duration corrected: body said 60 min, agenda said 35 min.
  Now consistently 35 min in both files.
- Deleted redundant Detailed Timing Breakdown table
- Closed five details open blocks for Build #1 (sequential reveal)
- Deleted orphan Phase 3-5 stubs that double-taught verification
- Added facilitator scaffolding to Module 6 wrap (frontier-map debrief)
- Renamed "Module 3: Failure Sharing" -> "Break Activity: Failure Sharing"
- Build #2 (Cyborg) expanded with Iterations 1-2 from instructor file
  (the data-model pivot moment, the canonical cyborg lesson)
- Replaced underscored fill-in lines with structured prompt lists
- Frontier Map: added "Moving Frontier" 5th column to match criteria
- Self-check appended with three concrete failure modes and fixes
- Deleted orphan Capstone Deliverable (referenced an undefined Development Journal)
- Deleted instructor-leakage sentence about live-instruction equivalence
- Added "What's next: Course 4" CTA above Knowledge Check
- Knowledge Check grouped into per-module collapsibles
- DoW -> DoD in footers
- Promoted Workflow Playbook to its own Module 6 section in both files;
  added to TOC; was previously buried as h3 inside Module 5
- Reordered student modules to match instructor: 3=Group Debugging,
  4=Verification (was swapped, breaking live-debrief continuity)
- Replaced three made-up student debugging scenarios with the three
  instructor scenarios (Power Automate timing, Power App .Valid,
  Dashboard stale data) so live debrief and self-paced use the same set
- Rewrote three Module 3 KC questions to match the new scenarios
- SHOWSTOPPER: scenario 1 root-cause text was self-contradictory;
  rewritten clearly using the same logic the instructor file teaches
- Fixed instructor's Power Apps .Valid solution (text inputs don't have
  that property); replaced with IsMatch() regex pattern
- Total time reconciled: was contradictory (3:50 vs 4:00)
- Deleted three identical "diagnose yourself first" placeholder stubs
- Capstone: phantom four-guide documentation package replaced with
  Workflow Playbook + frontier-map row submission to Discussions
- Self-check Phase 1 (verbatim copy of checklist above) replaced with
  applied question about denormalization
- Prereq accordion now opens by default
- Added Slide Deck button to student page header
- Added Next Steps section to instructor page (was missing CTA at end)
- Added "What's next: Course 6" CTA on student page
- Knowledge Check grouped into per-module collapsibles
- DoW -> DoD in footers
…notes

- Doctrinal fix: page taught two different evaluation frameworks
  (Module 3 had four questions, Quick Reference had three, KC tested
  both). Unified around the four-question version (Does it work? /
  Is it accurate? / Does it follow SOP? / Does it save time?).
  Updated Q5-3 to test the four-question version.
- Module 5 heading gained "Module 5:" prefix (was naked "Supervisor
  Quick Reference"), matching Modules 1-4
- Promoted the buried "give it" closing paragraph: orphan section
  merged into Module 5's wrap-up
- Added per-module facilitator scaffolding to Modules 1, 4, 5
  (timing notes, expected pushback, discussion prompts)
- "Three Supervision Checks" reframed as "Three Supervision Checks +
  One Hard Floor" so Developmental Assignments don't read as a fourth
  evaluation question
- Tools callout cut to one sentence pointing at canonical Approved Tools
- DoW -> DoD in footer
…leanup

- SHOWSTOPPER: every Knowledge Check radio in student/fullstack.html
  was missing its name attribute, so all options were independent
  groups (users could select all four answers per question). Added
  unique name="kc_fullstack_qN" to all 24 radios.
- Doctrinal fix: Module 7 used api.openai.com directly while the
  Supervisor course mandates GenAI.mil per MARADMIN 018/26. Added a
  DoD network note callout in Module 7 of both files explaining the
  Azure OpenAI Government / GenAI.mil swap.
- 8-hour single-sitting framing was unrealistic for the target audience.
  Added "Recommended delivery: 2 days, not 1" callout at the top of
  the Overview in both files. Pacing Note expanded with Module 7 demo /
  Module 9 skip guidance.
- Three blocks of instructor leakage on student page rewritten in
  second person: "the instructor should..." / "Have TAs circulate" /
  "have one shared API key for the class".
- Duplicate Module 1 completion callout deleted (real one stays
  inside its module).
- Softened the unsourced "$2M / 6 months / no contractors" claims
  (open-source DoD repo is the wrong place for unhedged numbers).
- Added Common Issues callouts to Modules 4, 6, 8, 9 (only the others
  had them; Module 8 in particular is the highest cognitive-load
  module without a debug map).
- Path B (GCC High variant) gained completion criteria (was missing).
- Slide Deck button added to student page header.
- Closing CTA added: "Where to next?" with three concrete next moves.
- Knowledge Check grouped into per-module collapsibles.
- DoW -> DoD in footers.
- DESIGN.md updated with the new deck design system
- deck.css major restyle (~1.5k lines net)
- deck.js navigation/keyboard updates
- Week 2-6 deck HTML rewrites: tighter slide structure, cleaner
  hierarchy, refreshed visual layouts. Week 4-6 are heaviest revisions
  (the long-form decks); Week 2-3 are lighter passes.
- Week 1 already shipped in e7c7276 and is untouched here
- docs/js/ask-edd-widget.js: floating chat widget for the EDD site.
  Self-contained — injects styles, DOM, and state from one script.
  Configure via data-api on the script tag. Disclaimer prompt on
  first use, system prompt that refuses CUI/PII/classification, 10
  client-side msgs/hour rate cap, conversation persistence in
  localStorage with a configurable session ID.
- worker/: Cloudflare Worker that proxies browser chat requests to a
  smart-router behind a Tailscale Funnel. Bearer key (RIGRUN_KEY)
  stays server-side as a Wrangler secret. CORS limited to the GH
  Pages origin + localhost dev. SSE pass-through without buffering.
- worker/wrangler.toml documents the deploy flow:
    cd worker && npx wrangler secret put RIGRUN_KEY && npx wrangler deploy
@jeranaias jeranaias changed the title Six-week deck rollout, facilitator packs, student handouts, and chrome fix Six-week decks + course catalog editorial polish + Ask EDD widget May 7, 2026
jeranaias added a commit that referenced this pull request May 20, 2026
Pivots Course 3 from Power Platform to a static HTML stack students can
deploy to MCEN-reachable free public hosting today. Preserves centaur/cyborg
patterns, deliberate AI failure beat, frontier discipline, and assessment
rubric. Produces a Capability Gap Map artifact alongside working tools.

New files:
- builds/watch-bill.html         Reference Build #1, Watch Bill Builder
- builds/teep.html               Reference Build #2, TEEP Builder
- courses/platform-reality.html  Course 3.5 page, six modules, 4-hour agenda
- resources/capability-gap-map.html  Gap Map template, 5 example rows
- resources/static-hosting-cheat-sheet.html  Three-tier hosting reference
- handouts/platform-reality-handout.html  One-page printable, 3-col fill-in

Reference builds run 100% offline after page load, no external deps,
print-friendly, mobile responsive. All content em-dash free per voice
constraint. Drops CamoGPT references per Jan 2026 MARADMIN onto genai.mil.
jeranaias added a commit that referenced this pull request May 20, 2026
…dent handout

Brings Course 3.5 up to the asset parity of every other course (week 1, 2, 3, 4, 5, 6).

New files:
- decks/week-3-5-cheatsheet.html       Two-page instructor cheat sheet
- decks/week-3-5-handouts.html         14 chat-paste-ready blocks for live use
- facilitator/week-3-5-platform-reality.html  One-page landscape pack + URL sheet
- handouts/week-3-5-platform-reality.html  One-page landscape take-home handout

Updated:
- courses/platform-reality.html        Page header now surfaces every asset
- decks/links/week-3-5-platform-reality.html  Adds Instructor Materials section

Chat-paste pack covers all build phases verbatim:
- Build #1 Phases 1 to 5 (whiteboard, full-plan prompt, six-test verification,
  targeted-fix template, GitHub Pages deploy)
- Build #2 Iterations 1 to 5 (visible, summary cards, the deliberate-failure
  styling trap, class-based fix, S-3 brief generator)
- Build #3 declaration + decomposition
- Frontier Map starter (6 rows for static-HTML stack)
- Capability Gap Map starter (5 rows + framing)

All content em-dash free. CSS reuses existing cheatsheet.css / handout.css /
pack.css so styling sits as a peer to Week 3 assets.

Still pending: native PPTX export (per-week build_pptx_*.py Python script,
~1000+ lines using python-pptx). HTML deck works fine projected; PPTX is a
separate distribution channel for instructors who want an editable PowerPoint
file. Can be a follow-up if needed.
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