Same six modules. Same frontier-mapping, complex-build, group-debugging, QA, teach-back, and playbook arc as Course 4. Different execution layer (static HTML) and a second enterprise AI tool on the desk (Ask Sage alongside genai.mil).
Same arc. Different stack. One additional tool on the desk.
Two CUI-authorized enterprise AI tenants. Pick deliberately. New for 4.5.
Today's discipline: mode-switching (centaur vs cyborg) AND tool-switching (genai.mil vs Ask Sage). Two independent axes.
Carries from 3.5. Spec is now BOTH genai.mil and Ask Sage.
genai.mil for fast chat. Ask Sage for multi-file reasoning. Both CUI-authorized. Think, design, prompt, decompose, cross-check.
Always available where granted.
Single-file static HTML. Deployed to a free public host MCEN can reach. Inline CSS, inline JS, no CDN.
Always available.
Power Apps, Dataverse, Power Automate, real connectors, identity, write-back to systems of record.
Often blocked. The Capability Gap Map layer.
By 4 hours from now, every Marine in this room produces all three.
The tool is replaceable. The judgment about which tool to use, and how to verify what it tells you, is what we are actually teaching.
Six modules. One 10-minute break. The complex build is heaviest by design.
| Time | Module | Duration | Mode & tool focus |
|---|---|---|---|
| 0:00 to 0:30 | M1, Frontier Mapping for your domain | 30 min | Workshop · both tools |
| 0:30 to 1:30 | M2, Complex Build, Readiness Dashboard | 60 min | Live build · both tools |
| 1:30 to 1:40 | Break | 10 min | |
| 1:40 to 2:20 | M3, Group Debugging | 40 min | Clinic · 5 scenarios |
| 2:20 to 2:50 | M4, Verification & QA, two-tool cross-check | 30 min | Reference + drill |
| 2:50 to 3:20 | M5, Teach-Back, the 201 multiplier | 30 min | Workshop |
| 3:20 to 3:50 | M6, Workflow Playbook + Capability Gap Map | 30 min | Workshop |
| 3:50 to 4:00 | Wrap, rubric, next steps | 10 min |
Quick calibration before Module 1. Everyone in this room already has these.
Make the boundary between AI helps and AI hurts visible for your specific work, in writing, shareable, split by tool.
Open instructor notes for this section ↗Two columns, one per tool. Yours will look like this for your own domain.
| Task | genai.mil handles | Ask Sage handles |
|---|---|---|
| Single-prompt drafts (counseling, awards, memos) | Yes. Fast chat is the right tool. One prompt in, one polished draft out. | Overkill. Works, but the file-ingestion overhead is not justified for one-shot drafts. |
| Multi-file refactor of a static-stack tool | Painful. Context window blows out across iterations. Common to see the model lose track across 20+ turns. | Yes. Upload the files, ask Claude Opus 4.7 (or another reasoning model the tenant exposes) for a targeted refactor with constraints stated up front. |
| Quick code snippet (regex, date math) | Yes. Bounce a single-line prompt, paste the result, verify. | Works, but slow for what should be a 10-second answer. |
| Dataset analysis with three CSVs (readiness, training, equipment) | Limited. Can do it with paste-and-summarize on small samples. Loses fidelity at scale. | Yes. Upload all three files. Use a reasoning model. Holds schema across the conversation. |
| Architecture decision (data model, schema migration plan) | Possible for small scope. Reasoning quality drops on larger trade-off questions. | Yes. A reasoning model produces the best architecture analysis the locked-tenant world currently exposes. |
| Verification cross-check (same prompt through both, look for disagreement) | Half of the two-tool cross-check. Use for the fast side. | Half of the two-tool cross-check. Use for the deliberate side. Disagreements are flags. |
10 minutes · ~60 seconds each · we are listening for patterns
Single-file static HTML. Three joined data sources. Hand-rolled SVG bars. Two mode switches and at least one tool switch by design.
Open instructor notes for this section ↗Single file. Inline CSS. Inline JS. No external scripts. No CDN.
If you finish, the dashboard is a bonus. The grade is mode-switching AND tool-switching.
Reference build: builds/readiness-dashboard.html. The destination. Check your work, do not copy-paste from it.
15 min · Centaur · Ask Sage with a reasoning model
Centaur: data schema errors compound. A bad join model means rework everywhere downstream. Slow down. Verify.
Ask Sage: reasoning quality on architecture trade-offs is materially higher with a reasoning model than with fast chat. The right tool wins the next hour for you.
Checkpoint: every student names three edge cases before leaving Phase 1.
Reasoning model selected. Three CSVs uploaded. One prompt.
You are helping me design a Unit Readiness Dashboard. I have three CSV datasets (personnel, training, equipment) I am about to upload. I need you to:
Constraint: the final tool must run 100% offline in a single HTML file with no external scripts or CDN.
Walk the room. No student leaves Phase 1 without naming three.
One more prompt back to Ask Sage:
List five more edge cases I am not thinking of, ranked by how silently they would break the readiness percentage.
15 min · Cyborg · the explicit tool-choice beat
Cyborg: ingestion is trial-and-error. Parse errors, schema drift, edge cases revealed only by running the code. Stay in continuous conversation.
Both are valid. The point is that you can articulate why you chose yours.
Course 4 students switch between centaur and cyborg modes. Course 4.5 students switch BOTH modes AND tools. The two axes are independent. You can be in cyborg mode on genai.mil (fast chat, fast iteration) OR cyborg mode on Ask Sage (fewer turns, larger context per turn).
Make the framing explicit. Watch students discover the second axis.
Do not warn. Do not correct. Let the AI fail. Debrief frontier-or-context.
Write JavaScript that parses a JSON array of personnel records and a JSON array of training records. Join by EDIPI. Output an array of {marine, training_status} objects. Inline JS, no dependencies, single function.
array.find() join that visibly stalls on 500+ records.JSON.parse call with no try/catch that crashes on the first malformed paste.Honest answer: context. The fix is to tell the AI it is getting 500+ records and ask for an indexed Map join, plus a try/catch with a visible error fallback.
Surface the lesson out loud. Most "AI failures" in this room today will be context failures, not frontier failures.
20 min · Centaur · the SVG-vs-Chart.js teaching beat
Build a horizontal bar chart of readiness by company. Company on the left axis, percentage as the bar length, value label on the right. Colors: scarlet for under 75, gold for 75 to 90, ink for above 90.
<script src="..."> pulling Chart.js from a CDN.Let the student catch it. If they do not: "Where is that chart actually coming from? Open DevTools. What is the Network tab showing?"
Phase 3 forces the student to restate the constraint with more force. This is the second deliberate failure target of the build. Next slide is the verbatim reprompt.
Stronger constraint. Targeted output format. Stylesheet palette referenced.
No external scripts, no CDN, no Chart.js. Render as inline SVG using vanilla JS. Bars labeled with company name on the left and percentage on the right, scaled to 0 to 100. Use the scarlet/gold/ink palette already in the stylesheet.
When this prompt is run through Ask Sage with a reasoning model, the constraint is honored more reliably from the first response. When run through fast chat, the constraint gets violated and the student has to catch it. The contrast IS the lesson, and the next slide names it.
A key teaching beat for the day. Both tools have a place.
10 min · Ask Sage cross-check, then genai.mil brief generation
I am uploading two files: readiness_output.csv (what my dashboard generated) and personnel_source.csv (the original data). For each Marine in readiness_output.csv flagged as NOT READY, verify the reason by cross-referencing the source. Flag any rows where the source data does not support the NOT READY classification.
Add a "Generate Commander's Snapshot" button. It produces a plain-text brief in a read-only textarea. Format: header with unit and as-of date, overall readiness percentage with delta vs last week from localStorage, breakdown by company, top three NOT READY drivers, and a one-line REQUEST at the end if any company is below 75. Add a Copy button next to it.
Final standard: pick one Marine from the Not-Ready table. Open the source CSV in a text editor. Confirm the dashboard's reason matches the source.
5 minutes · mode switches, tool switches, AI failures, time saved
Five problems. Seven minutes each. We fix the diagnostic pattern, not necessarily the tool.
Open instructor notes for this section ↗7 minutes total per scenario · this slide stays up
Format: "Expected behavior. Actual behavior. Steps I have already taken." No story-telling. No theories. Three lines.
Clarifying questions and hypotheses. I prompt: data or logic? Input or output? Pattern we have seen before? Was the right tool used for this work?
I name the root-cause category: frontier limitation, insufficient context, incorrect assumption, integration failure, data quality, OR tool-selection failure (meta-frontier). New for 4.5.
Failure case goes on the collective Advanced Frontier Map. Pattern is the deliverable, not the fix.
Time allocation: 7 min per problem × 5 problems = 35 min. 5 min final synthesis.
Counseling Tracker tool
A counseling tracker tool double-saves the same entry whenever the user clicks Save twice quickly. Two identical rows in localStorage, both with the same timestamp.
setTimeout debounceAsync handler race + missing in-flight guard. The save function fires twice before the first write completes. The fix is a disabled-while-pending button state plus an idempotency key.
Category: context. AI was not told "this handler can be reentered." Fixable in the prompt.
TEEP-like Tracker
Tool was updated to add a "Confirmed By" field. New entries save correctly. Old entries throw a JS error when displayed because the property does not exist on legacy rows.
Missing schema migration. The fix is a one-time backfill on load (default the new field to a safe value when reading legacy rows) plus a schema version number in localStorage so the next migration is forced.
Category: context. AI was not told the localStorage shape changed between versions. Fixable in the prompt.
Watch-Bill highlight rows. Two bugs stacked.
Watch-bill tool should highlight rows for the current day in gold. The wrong row highlights, and only on Mondays.
Two independent bugs on the same symptom. Fix one and the bug looks "different" but does not go away. The discipline is to bisect: kill the specificity collision first (use class-based styling consistently), THEN address the timezone.
Category: context + frontier. The CSS specificity is context. The timezone-vs-UTC is a frontier issue date-math AI gets wrong without explicit constraints.
List-based tool with Add and Delete
Tool renders a list of items with Delete buttons. The first three Delete buttons work. After clicking Add and rendering four more items, only the original three buttons respond.
Click handlers were attached at render time. New items never got them. Fix is event delegation on the parent container (single listener that reads event.target) or re-attach handlers on every render.
Category: context. AI was not told the list is re-rendered after Add. Fixable in the prompt.
New for 4.5. The meta-frontier scenario.
Student used genai.mil chat for a complex multi-file refactor of a static-stack tool. After 47 turns, the model has lost track of which files changed and is reintroducing bugs that were fixed earlier in the thread.
The correct move was Ask Sage with file ingestion plus a reasoning model from the start. This is not a frontier issue with the AI. It is a meta-frontier issue with the human's tool selection.
Category: meta-frontier. The fix is tool selection, not prompt refinement. Switch to Ask Sage, upload the files, restate the goal once.
5 minutes · before we move to Module 4
Only if both are no, it is a real frontier limit and goes on the map.
A QA checklist, a timed planted-error drill, and the two-tool cross-check protocol that is new for 4.5.
Open instructor notes for this section ↗I am sharing a one-page AI-generated SOP excerpt in chat now. Run it through all five protocols. Mark every issue you would not sign. Number them.
Five planted errors: two fabricated references, one contradictory timeline, one logic error, one format break. Find all five.
If you only find three, you are skipping a protocol. Usually source verification, because it requires looking things up. Looking things up IS the protocol.
New for 4.5. For high-stakes outputs, run the same prompt through both tools.
Cost: two prompts and a comparison turn. Reserve for outputs that will be acted on.
You leave this room as the person who teaches the next two Marines. Tool selection is part of what they will need to learn.
Open instructor notes for this section ↗Mollick: workers using AI but hiding it. Entry-level postings in AI-exposed roles dropped roughly 35% from 2023 to 2025.
Workers already using AI but hiding it. Worried about organizational reaction. Shadow culture, no shared practice. Your role as a 4.5 graduate is to formalize use, share techniques, and train others. Including tool selection.
If a junior never manually writes a key document because AI generates it, how do they develop the judgment to know when the AI version is wrong? And how do they learn which tool to reach for when the task gets harder?
Peers grade you on three things: could they explain it back, was the example concrete enough to be believable, do they know what to do differently tomorrow because of you.
One page. One recurring task. The deliverable that proves you graduated. Plus two new Capability Gap Map rows that go to leadership.
Open instructor notes for this section ↗Two worked examples. Same template. Different tool selection.
| Task | Weekly training schedule for the section |
| Frequency / Mode | Thursdays by 1600 · Cyborg |
| Which tool | genai.mil chat |
| Steps (H/AI) | 1. H: pull events. 2. AI: draft schedule. 3. H: cross-reference range/vehicle/instructor. 4. AI: format conflicts as decision matrix. 5. H: decide, add notes. 6. AI: generate final. |
| Verification | Locations confirmed · 24-hour times · no double-bookings · uniform specified · POC listed |
| Time savings | 3 hours → 45 minutes |
| Task | Weekly readiness rollup for the company commander's brief |
| Frequency / Mode | Mondays by 1000 · Centaur |
| Which tool | Ask Sage with Claude Opus 4.7 (or the tenant's reasoning model) |
| Steps (H/AI) | 1. H: export three rosters from MOL. 2. AI: upload to Ask Sage, compute deltas vs last week, top three drivers. 3. H: spot-check three new NOT READY Marines against source. 4. AI: generate plain-text rollup with one-line recommended action. 5. H: log to dashboard for next week's delta. |
| Verification | Overall % matches manual count · delta sign and magnitude vs last week · top three drivers trace back to source · two-tool cross-check on cross-attached Marines |
| Time savings | 4 hours → 1 hour |
Pick a real, recurring task. Fill the nine fields: task, frequency, mode, which tool, 4 to 8 H/AI steps, verification checklist (3 to 5 items), known frontier issues, time savings, junior development note.
Completion bar: 4+ steps with H/AI labels, verification checklist with 3+ items, at least one real frontier issue, time savings backed by your own data, an actionable junior development note.
Map your playbook to production-layer wishes. Examples from the readiness rollup:
Open the Capability Gap Map template and fill rows now, while the workflow design is fresh.
Four artifacts. All of them outlive the session.
Knowing when to switch tools makes both skills last.