How to use this page. Keep it open in a second browser tab. When the deck reaches the slide called out on each block's gold pill, click Copy to clipboard, then paste into the Teams chat. Plain text is intentional, it survives the Teams paste cleanly.

Print fallback. If you lose your second screen, this page prints with the copy buttons hidden. Use Ctrl+P / +P.

Where these come from. Each block is lifted verbatim from the Advanced Workshop (Locked Tenant Reality) instructor page. Two enterprise AI tools sit side by side throughout the day, genai.mil for fast chat and Ask Sage for multi-file reasoning. The build is the Unit Readiness Dashboard (Phases 1 to 4), the deliverables are the Advanced Frontier Map and new rows on the Capability Gap Map.

Module 1 Block 1: Frontier Map row starter prompt

Module 1 cue. Drop at 0:10 right after the Frontier Mapping framing slide. Students paste this into genai.mil chat any time they hit a specific issue. The categorization (Context / Frontier / Meta-frontier / Platform) is what makes the row useful later.

Use on Module 1 Frontier Map slide Frontier Map row starter, genai.mil chat
Cue line for the room: "Frontier Map row starter in chat. Use this any time you hit a wall today. The category is what makes the row useful later, not the description."
FRONTIER MAP ROW STARTER, paste into genai.mil chat when you hit a specific issue.

I am building a static-HTML tool in a locked-tenant environment and I just hit this issue:

[Describe the issue in one or two sentences. Be specific. "AI inserted a script src to a CDN" not "AI broke the rules."]

Help me categorize it as one of:

1. CONTEXT, the AI guessed wrong because my prompt did not give it enough information. Fix: more context in the next prompt.

2. FRONTIER, the AI capability does not currently handle this task well on the tool I used. Fix: switch tools, switch modes, or accept the limit and handle the task manually.

3. META-FRONTIER, I used the wrong tool for the job. Fix: switch tools (genai.mil to Ask Sage, or the reverse). The capability exists, just not on the tool I reached for first.

4. PLATFORM, the browser, OS, or hosting environment has a quirk the AI did not know about. Fix: tell the AI the platform constraint explicitly.

For each category, give me the one-sentence test that would confirm it, and the one-sentence fix.

Then propose a single Frontier Map row I can add, with these columns:
- Task type (specific, not "AI stuff")
- AI handles well (concrete examples)
- AI handles poorly (the specific failure mode I just hit, in enough detail to recognize next time)
- Verification needed (a testable action, not "check it")

Module 1 Block 2: Tool Handles table framing

Drop at 0:20 right after the Tool Handles table appears on the deck. One-paragraph framing the instructor pastes to set up the two-tool comparison exercise. Students will fill rows for their own domain after this.

Use on Module 1 Tool Handles slide Tool Handles table framing
Cue line for the room: "Tool Handles framing in chat. Read it. Then write three rows for your own domain. We will compare across the room in ten minutes."
TOOL HANDLES TABLE, two columns, one for each enterprise AI tool you have access to today.

genai.mil is your FAST chat layer. Single-prompt work. One prompt in, one polished draft out. Cheap per turn. Pushes the verification burden onto you.

Ask Sage is your MULTI-FILE and REASONING layer. Architecture decisions, dataset analysis, multi-file refactors. Uses a reasoning model (Claude Opus 4.7 or whichever the tenant exposes). Slower per turn, fewer turns needed, holds schema across the conversation.

The selection is part of the discipline. The wrong tool on the wrong task is one of the most common failure modes advanced builders hit, and it is the one most easily mistaken for an AI capability ceiling.

For each row, ask three questions:
1. What is the task? (Specific. "Multi-file refactor of a static-stack tool" not "coding.")
2. What does genai.mil handle on this task? (Concrete examples. Include the failure mode if it has one.)
3. What does Ask Sage handle on this task? (Same standard. Include where it is overkill.)

A useful row tells you which tool to reach for next time, before you start the work. A vague row ("both are fine") tells you nothing.

Fill three rows from your own job before we move on. Examples from the deck:
- Single-prompt drafts (counseling, awards, memos)
- Multi-file refactor of a static-stack tool
- Dataset analysis with three CSVs (readiness, training, equipment)
- Architecture decision (data model, schema migration plan)
- Verification cross-check (run same prompt through both, look for disagreement)

Module 2 Block 3: Phase 1 Ask Sage architecture prompt

Phase 1 cue. Drop at 0:35 right after the Build framing slide. Students upload three sample CSVs to Ask Sage and paste this prompt. Reasoning model required, Claude Opus 4.7 if the tenant exposes it.

Use on Module 2 Phase 1 slide Phase 1 Ask Sage architecture prompt
Cue line for the room: "Phase 1 prompt in chat. Paste into Ask Sage with a reasoning model. Upload the three sample CSVs first. We verify three edge cases out loud before Phase 2."
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:

1. Propose a join model that produces a readiness percentage per Marine and aggregated by company.
2. Identify three edge cases that will break the naive join (orphaned EDIPIs, NULL training records, unassigned equipment).
3. Recommend the in-memory data shape after parsing. Plain JS objects, no framework, single-file HTML.

Constraint: the final tool must run 100% offline in a single HTML file with no external scripts or CDN.

Module 2 Block 4: Phase 1 verification rubric (3 edge cases out loud)

Drop right after Phase 1 prompt. Walk the room. Every student should be able to name three edge cases out loud before they proceed. If they cannot, send them back to Ask Sage with the second prompt at the bottom of this block.

Use on Module 2 Phase 1 Verify slide Phase 1 verification rubric
Cue line for the room: "Phase 1 verification in chat. Name three edge cases out loud. If you cannot, paste the second prompt at the bottom of this block into Ask Sage."
PHASE 1 VERIFICATION RUBRIC, name three edge cases OUT LOUD before Phase 2.

You should be able to name at least three of the following without looking at notes:

[ ] ORPHANED EDIPIs
    A training or equipment row has an EDIPI that does not appear in personnel.
    Naive join: row is silently dropped, readiness percentage is wrong but plausible.
    Fix: log orphans, surface a count in the dashboard, do not silently drop.

[ ] NULL TRAINING RECORDS
    A Marine appears in personnel with no corresponding training row at all.
    Naive join: Marine is treated as fully trained (no missing records found).
    Fix: explicit "no training record" status, treat as NOT READY with a specific reason.

[ ] UNASSIGNED EQUIPMENT
    A Marine appears in personnel with no equipment serial assigned.
    Naive join: Marine is treated as equipped (no missing assignment found).
    Fix: explicit "no equipment assigned" status, decide per the unit's rules whether that is READY or NOT READY.

[ ] DUPLICATE SERIAL NUMBERS ON EQUIPMENT
    Same serial number appears on two equipment rows.
    Naive join: last-write-wins, one Marine silently loses their assignment.
    Fix: detect duplicates at parse time, surface them, refuse to compute readiness until resolved.

[ ] EXPIRED TRAINING CERTIFICATIONS
    Training row exists but the certification expired before the as-of date.
    Naive join: training present, Marine treated as ready.
    Fix: compare expiration to as-of date at compute time.

[ ] MARINES MARKED NJP OR UNFIT
    Personnel row has a status flag that should exclude the Marine from the deployable count.
    Naive join: status is ignored.
    Fix: honor the status flag in the readiness rule.

IF YOU CANNOT NAME THREE, paste this into Ask Sage:

"List five more edge cases for a personnel-training-equipment join I am not thinking of. For each, name the symptom in the dashboard and the one-line fix."

Module 2 Block 5: Phase 2 join prompt (genai.mil chat, the trap)

Deliberate-failure cue. Do not warn students. Fast chat almost always returns an O(n^2) array.find() join, a JSON.parse without try/catch, or a join that silently drops orphans. Let them hit it. The fix is in Block 6.

Use on Module 2 Phase 2 slide Phase 2 join prompt, genai.mil chat
Cue line for the room: "Phase 2 prompt in chat. Paste into genai.mil. Try the result on the 500-record dataset. If it stalls, raise a hand BEFORE re-prompting."
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.

Module 2 Block 6: Phase 2 deliberate-failure debrief and fix prompt

Recovery cue. Issue after students have hit the Phase 2 trap and the instructor has run the "frontier or context" debrief. The honest answer is CONTEXT. Tell the AI it is getting 500+ records and ask for an indexed join.

Use on Module 2 Phase 2 Debrief slide Phase 2 error-recovery prompt
Cue line for the room: "Phase 2 recovery prompt in chat. Notice the prompt names the specific failure (O(n^2), missing try/catch). That is what makes it work. Vague prompts get vague fixes."
PHASE 2 ERROR-RECOVERY, drop this in genai.mil chat after the join stalls on the 500-record dataset.

The join works on 5 sample records but stalls on the 500-record dataset. I think the find() call is the issue. Rewrite this to build a Map keyed on EDIPI from training records first, then iterate personnel once and look up by Map key. Also wrap the JSON.parse in try/catch and surface a visible inline error if parsing fails.

FOUR-QUESTION DEBRIEF (instructor leads out loud before students re-prompt):

1. Was this a FRONTIER issue or a CONTEXT issue?
   Honest answer: context. Fast chat did not know the dataset would be 500+ records. The model's default for a small example is fine. The default for production scale is not.

2. What did the AI not know that I did know?
   The dataset size. The shape of malformed input. The cost of silent drops vs flagged drops on a readiness number that a CO will act on.

3. What context did I leave out of the first prompt that would have prevented this?
   Three things: scale ("500+ records"), error mode ("malformed paste should surface inline, not crash silently"), and orphan handling ("count orphans and surface them, do not drop").

4. Where does this row land on the Frontier Map?
   Task: "JS join across two datasets." genai.mil handles well: small samples, sketch quality. genai.mil handles poorly: production-scale joins without explicit scale and error-handling context. Verification: run on the 500-record fixture and watch the browser tab CPU spike.

Module 2 Block 7: Phase 3 Chart.js trap prompt

Second deliberate-failure cue. Do not warn students. Fast chat will almost always return an answer that includes a <script src="..."> pulling Chart.js from a CDN. That violates the no-external-dependencies constraint stated up front. Let the student catch it.

Use on Module 2 Phase 3 Trap slide Phase 3 bar chart prompt (the trap)
Cue line for the room: "Phase 3 prompt in chat. Paste into genai.mil. Open DevTools, Network tab, BEFORE you accept the answer. Look at what loads."
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.

Module 2 Block 8: Phase 3 constraint reprompt (inline SVG)

Recovery prompt. Drop when the student catches the Chart.js CDN violation. Same prompt run through Ask Sage with a reasoning model honors the constraint more reliably from the first response. The contrast IS the lesson.

Use on Module 2 Phase 3 Fix slide Phase 3 constraint reprompt
Cue line for the room: "Phase 3 fix prompt in chat. Run it on both genai.mil and Ask Sage. Watch the difference. The reasoning model on Ask Sage holds the constraint better. That difference is your meta-frontier row."
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.

Module 2 Block 9: Phase 4 Ask Sage cross-check prompt

Phase 4 cue. Drop at 1:20 right after the dashboard renders. This is a real cross-check against the source data, not a spot-check. Ask Sage holds both files in context and verifies row-by-row.

Use on Module 2 Phase 4 slide Phase 4 Ask Sage cross-check prompt
Cue line for the room: "Phase 4 cross-check in chat. Upload both CSVs to Ask Sage. This is the cleaner version of the source spot-check. We run a manual spot-check on one Marine after, just to keep the discipline."
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.

Module 2 Block 10: Commander's Snapshot generator prompt

Final Phase 4 cue. Drop at 1:25. The Snapshot is what makes the dashboard useful to the CO, not just visible to the builder. Plain text, overall percentage with delta, per-company breakdown, top three NOT READY drivers, REQUEST line if any company is under 75.

Use on Module 2 Snapshot slide Commander's Snapshot generator prompt
Cue line for the room: "Commander's Snapshot in chat. Paste into genai.mil. The Copy button at the end is what gets it into the brief slide in one click."
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.

Output format the brief should produce:

UNIT READINESS SNAPSHOT
Unit: [unit name]
As of: [DD MMM YY]

OVERALL
[overall percentage] READY ([delta] vs last week)

BY COMPANY
[Company A]: [pct] READY
[Company B]: [pct] READY
[Company C]: [pct] READY

TOP NOT-READY DRIVERS
1. [driver, e.g., "Expired CBRN training"], N Marines
2. [driver], N Marines
3. [driver], N Marines

REQUEST
[only if any company is below 75: "Request CO push on [Company X] at [pct] READY, primary driver [driver]."]
[else: "Steady state. No company below 75. No CO action requested."]

Show me only the changes I need to apply to the existing file: the button, the textarea, the JS function that builds the brief, and the Copy button wiring. Where in the file does each piece go.

Module 3 Block 11: Group debugging clinic protocol framing

Module 3 cue. Drop at 1:40 right after the Group Debugging framing slide. The 7-minute clinic loop runs five times, leaving five minutes for final synthesis. Time strictly. The value is in recognizing the pattern, not in fully fixing every problem.

Use on Module 3 Clinic slide Group debugging clinic protocol
Cue line for the room: "Debugging clinic protocol in chat. Seven minutes per problem, hard. Goal is the pattern, not the fix. Five problems, five minutes synthesis at the end."
GROUP DEBUGGING CLINIC PROTOCOL, 7-minute loop. Repeat 5 times.

Per-problem time allocation: 2 + 3 + 2 = 7 minutes, hard stop.

1. STUDENT PRESENTATION (2 minutes)
   Student explains, in this order:
   - EXPECTED behavior. ("Click Save and the row appears in the table.")
   - ACTUAL behavior. ("Click Save and two identical rows appear.")
   - STEPS ALREADY TAKEN. ("Added confirm dialog, then setTimeout debounce, neither worked.")
   No backstory beyond this. No "let me show you the code." That comes if the group asks.

2. GROUP DIAGNOSIS (3 minutes)
   Group asks clarifying questions and proposes hypotheses. Instructor guides with these questions, in this order:
   - Is this a DATA issue or a LOGIC issue?
   - Is the problem at INPUT or at OUTPUT?
   - Have we seen this pattern before? (If yes, name the prior case.)
   - Was the RIGHT TOOL used for this work? (genai.mil for the build? Ask Sage with file ingestion? Either way, was it the right choice?)
   After 3 minutes, move to synthesis even if the problem is not solved.

3. INSTRUCTOR SYNTHESIS (2 minutes)
   Instructor names the root cause category:
   - FRONTIER LIMITATION (AI capability ceiling on this task)
   - INSUFFICIENT CONTEXT (prompt did not give the AI what it needed)
   - INCORRECT ASSUMPTION (student or AI assumed wrong about platform behavior)
   - INTEGRATION FAILURE (the platform / browser / hosting interaction broke)
   - DATA QUALITY ISSUE (the input data is the actual problem)
   - TOOL-SELECTION FAILURE (meta-frontier, the wrong tool was reached for first)
   Then the one-line fix.

4. DOCUMENT THE PATTERN (counted in the 2-minute synthesis)
   Add the failure case to the collective Advanced Frontier Map. If the failure points to a missing capability that the locked tenant blocks, add a Capability Gap Map row too.

INSTRUCTOR NOTE: keep time STRICTLY. The room will want to fully fix every problem. Resist. The value is in the pattern, not the fix. After 5 problems, run a 5-minute synthesis covering:
- Which problems were context, which were frontier, which were tool-selection?
- How many were fixable by the human (1, 2, 4, 5)? How many were actual AI capability ceilings (3 only)?
- Which patterns repeated? Those are your highest-value Frontier Map rows.

Module 4 Block 12: Two-tool cross-check protocol prompt

Module 4 cue. Drop at 2:25 right after the Verification framing slide. For high-stakes outputs (anything that goes to a CO, anything that becomes a system of record, anything that ends up in a fitness report), run the same prompt through both tools.

Use on Module 4 QA slide Two-tool cross-check protocol
Cue line for the room: "Two-tool cross-check in chat. Use it for anything a CO will act on. Not for one-line code snippets. The cost is real, reserve it for outputs that matter."
TWO-TOOL CROSS-CHECK PROTOCOL, for high-stakes outputs only.

WHEN TO USE IT:
- Output goes to a CO or higher.
- Output becomes a system of record (counseling entry, page 11, FITREP excerpt).
- Output is acted on by another Marine without further review.
- The cost of being wrong is hours of rework or a real second-order effect.

WHEN NOT TO USE IT:
- One-line code snippets (regex, date math).
- Single-shot drafts you will hand-edit anyway.
- Throwaway exploration prompts where you are figuring out what you want.

THE PROTOCOL:

1. PROMPT, IDENTICAL on both tools.
   Paste the exact same prompt into genai.mil chat AND into Ask Sage (use a reasoning model on the Ask Sage side).
   Word-for-word identical. Differences in prompt make the comparison meaningless.

2. COMPARE THE TWO ANSWERS.
   Read both. Look for AGREEMENT and DISAGREEMENT on substantive points.
   - Agree on the same number? Confidence up.
   - Agree on the same recommendation? Confidence up.
   - Disagree on a substantive point? FLAG IT. The disagreement is data.

3. INTERPRET DISAGREEMENTS.
   When the two tools disagree:
   - Read both reasonings out loud.
   - Find the assumption that differs. ("genai.mil assumed the as-of date was today. Ask Sage assumed end of last week.")
   - Decide which assumption matches your intent. Use that answer.
   - If you cannot tell which is right, that is the strongest possible signal to slow down. Verify against source data manually.

4. DOCUMENT REPEAT DISAGREEMENTS.
   When the two tools systematically disagree on the same kind of task, that is a Frontier Map row.
   Task type. Where they disagree. Which one is usually right (with evidence). Verification action.
   Repeat hits across multiple tasks become a Capability Gap Map row: "Cross-tool agreement on [task type] is unreliable. Need [specific capability] to resolve disagreements internally."

5. COST AWARENESS.
   This costs you two prompts and a comparison turn. Reserve it for outputs that will be acted on. The two-tool cross-check on every prompt is theater. The two-tool cross-check on the right prompts is judgment.

Module 5 Block 13: Teach-back concept list

Module 5 cue. Drop at 2:50 right after the Teach-Back framing slide. Students pick one concept and have five minutes to prep with the template, then three minutes to teach in a small group. Two new entries for the 4.5 reality track are at the bottom.

Use on Module 5 Teach-Back slide Teach-back concept list and template
Cue line for the room: "Teach-back concept list in chat. Pick one. Five minutes to prep with the template, three minutes to teach in your small group. Pick a concept you have actually used today."
TEACH-BACK CONCEPT LIST, pick ONE concept. Three minutes of teaching. Five minutes of prep.

Concepts from the curriculum:

- Centaur vs Cyborg modes
- Frontier mapping
- Context-building in prompts
- Iterative refinement
- Verification protocols
- The Jagged Frontier
- Layer separation (Spec / Prototype / Production)
- Tool selection (genai.mil vs Ask Sage)     [NEW in 4.5]
- Two-tool cross-check protocol                [NEW in 4.5]

PREPARATION TEMPLATE, fill all six lines before you teach.

Concept: ___________________________________________________________

One-Sentence Definition:
___________________________________________________________

Why It Matters (one sentence):
___________________________________________________________

Real Example from Your Work (specific, not generic):
___________________________________________________________

Common Mistake (one mistake people make applying this concept):
___________________________________________________________

Key Takeaway (one sentence the audience should remember):
___________________________________________________________

PEER EVALUATION RUBRIC, the group rates each teach-back on three criteria:

1. Clarity of Definition. Strong: "I could explain this to someone else now." Needs Improvement: "I am still unclear on what this concept means."
2. Relevance of Example. Strong: "The example made the concept concrete and believable." Needs Improvement: "The example was generic."
3. Practical Takeaway. Strong: "I know what to do differently because of this teaching." Needs Improvement: "I understand the concept but do not know how to apply it."

Watch out for:
- Reading the template instead of teaching conversationally.
- Examples too vague ("I used this on a project" vs specific details).
- Exceeding 3 minutes. Brevity IS a teaching skill.

Module 6 Block 14: Workflow Playbook blank template

Module 6 cue. Drop at 3:20 right after the Playbook framing slide. The Which Tool column is the 4.5-specific addition. A complete playbook has 4 to 8 steps with Human/AI labels, a verification checklist with 3 to 5 items, and at least one known frontier issue.

Use on Module 6 Playbook slide Workflow Playbook blank template
Cue line for the room: "Workflow Playbook template in chat. Pick a recurring task from your job. The Which Tool column is the new piece. If your playbook has fewer than 4 steps or no verification checklist, it is not detailed enough."
WORKFLOW PLAYBOOK BLANK TEMPLATE, fill in for ONE recurring task from your job.

A completed playbook has:
- 4 to 8 concrete steps with Human/AI labels
- A verification checklist with 3 to 5 testable items
- At least one known frontier issue (from real experience, not theory)
- A specific time savings estimate (with vs without AI)
- A junior development note (how the workflow preserves skill-building)

| Field                       | Content                                                            |
|-----------------------------|--------------------------------------------------------------------|
| Task                        | A specific, recurring task from your job                           |
| Frequency                   | How often you perform this task (daily, weekly, monthly)           |
| Mode                        | Centaur (distinct phases) OR Cyborg (continuous back-and-forth)    |
| Which Tool                  | genai.mil chat / Ask Sage with reasoning model / both (cross-check)|
| Step 1                      | [Human or AI label] [What happens] ([Who owns it])                 |
| Step 2                      | [Human or AI label] [What happens] ([Who owns it])                 |
| Step 3                      | [Human or AI label] [What happens] ([Who owns it])                 |
| Step 4                      | [Human or AI label] [What happens] ([Who owns it])                 |
| Step 5                      | [Human or AI label] [What happens] ([Who owns it])                 |
| Step 6 (optional)           | [Human or AI label] [What happens] ([Who owns it])                 |
| Verification Checklist      | 3 to 5 testable items, one per line, each ending in a verb         |
| Known Frontier Issues       | Where AI has failed on this task before, with the specific symptom |
| Time Savings Estimate       | Without AI: [hours]. With AI: [hours]. Net: [delta].               |
| Junior Development Note     | How this workflow preserves skill-building for junior personnel    |

GUIDANCE ON THE "WHICH TOOL" COLUMN:

- genai.mil chat: single-prompt drafts, quick code snippets, single-turn frontier classification, fast iteration on UI tweaks.
- Ask Sage with reasoning model: multi-file refactor, dataset analysis across CSVs, architecture decisions, multi-turn workflows that need persistent schema.
- Both (two-tool cross-check): high-stakes outputs (briefs to CO, system-of-record entries, FITREP excerpts). Use the cross-check protocol from Module 4.

CAPABILITY GAP MAP INTEGRATION:

Add at least two rows to the Capability Gap Map that map your playbook to Production-Layer wishes. Examples from a readiness-rollup workflow: "MOL write-back so the snapshot posts back to the system of record," "Automated brief delivery once the rollup is approved," "Direct connector to the training currency database so the manual export is eliminated."

Module 6 Block 15: Worked example 1, Weekly Training Schedule (genai.mil)

Drop at 3:25 right after the blank template. Filled-in example using genai.mil chat. Shows what a finished playbook looks like before students build their own.

Use on Module 6 Example 1 slide Worked example: Weekly Training Schedule
Cue line for the room: "Worked example 1 in chat. Cyborg, genai.mil. Read it. Notice the Step labels (Human Only / AI generates Human reviews / AI generates Human decides). That is the discipline."
WORKED EXAMPLE 1, Weekly Training Schedule Publication. Cyborg mode, genai.mil chat.

| Field                  | Content                                                                                          |
|------------------------|--------------------------------------------------------------------------------------------------|
| Task                   | Weekly training schedule publication for the section                                             |
| Frequency              | Weekly. Every Thursday by 1600.                                                                  |
| Mode                   | Cyborg (continuous back-and-forth refinement)                                                    |
| Which Tool             | genai.mil chat                                                                                   |
| Step 1                 | Human: Pull next week's events from training calendar, OPORD, and any new taskings (Human Only) |
| Step 2                 | AI: Draft the schedule in standard weekly format with times, locations, and uniform requirements (AI generates, Human reviews) |
| Step 3                 | Human: Cross-reference against range bookings, vehicle requests, and instructor availability (Human Only) |
| Step 4                 | AI: Format conflicts as a decision matrix. "Event A conflicts with Event B at 0900. Options: move A to 1300, move B to Tuesday, or split the section." (AI generates options, Human decides) |
| Step 5                 | Human: Make final decisions on conflicts, add section leader notes (Human Only)                  |
| Step 6                 | AI: Generate the final formatted schedule with all corrections applied, ready for distribution (AI generates, Human approves) |
| Verification Checklist | All events have confirmed locations. All times are in 24-hour format. No double-bookings remain. Uniform for each event is specified. POC listed for each event. |
| Known Frontier Issues  | AI sometimes invents room numbers that do not exist on base. AI cannot verify range availability, must be checked manually. AI occasionally uses 12-hour time format even when told to use 24-hour. |
| Time Savings           | Without AI: about 3 hours (gathering info, formatting, resolving conflicts manually). With AI: about 45 minutes (human gathers info, AI formats and generates options). |
| Junior Development     | Rotate schedule duty among junior Marines weekly. Require the Marine to review AI output and brief back why each event is scheduled (builds planning judgment). Monthly: have one schedule created entirely without AI to maintain baseline skill. |

WHY genai.mil AND NOT Ask Sage FOR THIS WORKFLOW:
Schedule publication is a single-domain, single-prompt task with iterative refinement on the result. Fast chat is the right tool. The cost of loading multi-file context to Ask Sage is not justified when one well-structured prompt to genai.mil produces the draft.

WHY CYBORG AND NOT CENTAUR:
The workflow is conflict-driven. You will not know what the conflicts are until the first draft is rendered. That is a cyborg pattern. The boundary between "human work" and "AI work" stays fluid as conflicts surface.

Module 6 Block 16: Worked example 2, Weekly Readiness Rollup (Ask Sage + Claude Opus 4.7)

Drop at 3:30 right after worked example 1. Same template, different tool selection. This is the multi-file dataset workflow that the Module 2 build prepared students for.

Use on Module 6 Example 2 slide Worked example: Weekly Readiness Rollup
Cue line for the room: "Worked example 2 in chat. Centaur, Ask Sage with Claude Opus 4.7. Same task you would build with a static-HTML dashboard, now run as a weekly recurring workflow. The Step 3 spot-check is the discipline."
WORKED EXAMPLE 2, Weekly Readiness Rollup. Centaur mode, Ask Sage with Claude Opus 4.7 (or another reasoning model the tenant exposes).

| Field                  | Content                                                                                          |
|------------------------|--------------------------------------------------------------------------------------------------|
| Task                   | Weekly readiness rollup for the company commander's brief                                        |
| Frequency              | Weekly. Every Monday by 1000.                                                                    |
| Mode                   | Centaur (distinct human phases and AI phases with verification at each boundary)                 |
| Which Tool             | Ask Sage with Claude Opus 4.7 (or another reasoning model the tenant exposes)                           |
| Step 1                 | Human: Export current rosters from MOL: personnel, training currency, equipment status (Human Only) |
| Step 2                 | AI: Upload all three CSVs to Ask Sage. Ask Claude Opus 4.7 to compute deltas vs last week's saved snapshot. Output the top three drivers of any change in readiness percentage (AI generates, Human reviews) |
| Step 3                 | Human: Spot-check three Marines flagged as new NOT READY this week against the source CSVs to verify the AI's attribution (Human Only) |
| Step 4                 | AI: Generate a plain-text rollup with overall percentage, delta, top three drivers, and a one-line recommended commander action (AI generates, Human approves) |
| Step 5                 | Human: Review, paste into the brief slide, log to the readiness dashboard tool for next week's delta (Human Only) |
| Verification Checklist | Overall percentage matches manual count of READY Marines divided by total. Delta sign and magnitude check against last week's saved snapshot. Top three drivers each trace back to a specific source row. No Marine appears in the rollup who is not in this week's personnel export. |
| Known Frontier Issues  | Ask Sage occasionally misattributes a NOT READY classification when a Marine appears in two units (cross-attached). The two-tool cross-check (run the same prompt through genai.mil with paste-and-summarize on a sample) catches this. Reasoning models occasionally over-explain. Constrain the output format up front. |
| Time Savings           | Without AI: about 4 hours (manual joins in Excel, three sets of pivot tables, narrative writing). With AI: about 1 hour. Net savings: 3 hours per week per company commander's S-3 shop. |
| Junior Development     | Have a junior Marine do Step 3 (the source-data spot-check) every week. That step builds the readiness-data literacy the rest of the workflow assumes. Monthly: have the junior do the full rollup without AI for one company to maintain baseline skill. |

WHY Ask Sage AND NOT genai.mil FOR THIS WORKFLOW:
Three CSVs, hundreds of rows each, week-over-week delta computation, attribution back to source rows. That is a multi-file reasoning task. genai.mil fast chat with paste-and-summarize would either drop fidelity or take 30+ turns to recover the schema across paste boundaries. Ask Sage holds all three files in context and the reasoning model holds the join model across the conversation.

WHY CENTAUR AND NOT CYBORG:
The data is fixed before the AI sees it (Step 1). The verification is fixed before the AI runs (Step 3). The output format is fixed before generation (Step 4). The human-AI boundaries are crisp, not fluid. That is a centaur pattern. The cost of a mid-flow pivot would be redoing the spot-check, which defeats the verification discipline.

Starter Table 1: Frontier Map seed (9 rows, 6 from 3.5 plus 3 new for the dashboard build)

Drop at 3:40 on the Frontier Map slide. Six rows carry over from the Course 3.5 static-stack frontier. Three new rows specific to the readiness dashboard build. Each Marine adds at least two of their own from today before wrap.

Use on Module 6 Frontier Map slide Frontier Map starter table (9 rows)
Cue line for the room: "Frontier Map starter in chat. Nine rows. Six carry over from 3.5. Three are new for today's build. Add at least two of your own before we wrap."
FRONTIER MAP, starter rows for the static-HTML stack with two-tool selection.

Add at least TWO specific rows of your own from today's builds.

| Task type                                  | AI handles well                                       | AI handles poorly                                            | Verification needed                                                |
|--------------------------------------------|-------------------------------------------------------|--------------------------------------------------------------|--------------------------------------------------------------------|
| HTML form scaffolding                      | Standard inputs, labels, basic validation             | Accessible focus order, dependent fields                     | Tab through the form. Submit with everything empty.                |
| Inline CSS for print                       | Basic @media print, hiding nav chrome                 | Color preservation, table page-breaks                        | Actually print the page. Look at the PDF preview.                  |
| Date math in JS                            | Simple add and subtract                               | Timezone offsets, FY boundary, ISO parsing                   | Test at start of October. Test at end of December.                 |
| localStorage persistence                   | JSON serialize and parse                              | Schema migration, quota, private browsing                    | Open in InPrivate. Reload. See what survives.                      |
| Copy to clipboard                          | navigator.clipboard.writeText                         | Fallback for older browsers and HTTP context                 | Test in Edge, Chrome, and on a phone.                              |
| Color coding by status                     | Class-based styling, status in class                  | Inline-style approaches fighting specificity                 | Visually inspect every status value, all four.                     |
| Multi-dataset join in vanilla JS           | Map-keyed indexed join on EDIPI, single iteration     | O(n^2) array.find() join on 500+ records, silent orphan drop | Run on 500-record fixture. Watch CPU. Count orphans surfaced.      |
| Chart rendering under no-CDN constraint    | Inline SVG via vanilla JS when constraint restated    | Defaults to