Skip to content

Commit 858f974

Browse files
committed
Regenerated presentations and excluded with/without grounding component from presentations
1 parent c0b7252 commit 858f974

15 files changed

+1747
-1630
lines changed

scripts/generate-presentation.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -923,8 +923,8 @@ async function generatePresentation(filePath, manifest, config) {
923923
console.log(`\n📄 Generating presentation: ${relativePath}`);
924924

925925
try {
926-
// Parse content
927-
const content = parseMarkdownContent(filePath);
926+
// Parse content in presentation mode
927+
const content = parseMarkdownContent(filePath, 'presentation');
928928

929929
if (content.length < 100) {
930930
console.log(` ⚠️ Skipping - content too short`);

scripts/lib/markdown-parser.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,10 @@ export function extractCodeSummary(code, language) {
120120
/**
121121
* Parse MDX/MD file and extract clean text content
122122
* @param {string} filePath - Path to MDX/MD file
123+
* @param {string} mode - Rendering mode: 'doc' (default) or 'presentation'
123124
* @returns {string} Cleaned text content with code blocks described
124125
*/
125-
export function parseMarkdownContent(filePath) {
126+
export function parseMarkdownContent(filePath, mode = 'doc') {
126127
const content = readFileSync(filePath, 'utf-8');
127128

128129
// Remove frontmatter
@@ -132,6 +133,21 @@ export function parseMarkdownContent(filePath) {
132133
// Replace with clear markers so LLM can detect them
133134
cleaned = cleaned.replace(/<([A-Z][a-zA-Z]*)\s*\/>/g, '[VISUAL_COMPONENT: $1]');
134135

136+
// Process conditional blocks based on mode
137+
if (mode === 'presentation') {
138+
// Strip doc-only blocks
139+
cleaned = cleaned.replace(/<!--\s*doc-only-start\s*-->[\s\S]*?<!--\s*doc-only-end\s*-->/g, '');
140+
// Preserve presentation-only blocks (but remove markers)
141+
cleaned = cleaned.replace(/<!--\s*presentation-only-start\s*-->\n?/g, '');
142+
cleaned = cleaned.replace(/\n?<!--\s*presentation-only-end\s*-->/g, '');
143+
} else {
144+
// Strip presentation-only blocks
145+
cleaned = cleaned.replace(/<!--\s*presentation-only-start\s*-->[\s\S]*?<!--\s*presentation-only-end\s*-->/g, '');
146+
// Preserve doc-only blocks (but remove markers)
147+
cleaned = cleaned.replace(/<!--\s*doc-only-start\s*-->\n?/g, '');
148+
cleaned = cleaned.replace(/\n?<!--\s*doc-only-end\s*-->/g, '');
149+
}
150+
135151
// Remove remaining HTML tags (lowercase = HTML elements)
136152
cleaned = cleaned.replace(/<[^>]+>/g, '');
137153

website/docs/methodology/lesson-5-grounding.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,28 @@ Here's the fundamental issue: **The agent doesn't know your codebase exists.** I
1313

1414
**Grounding is how you inject reality into the context window.** You retrieve relevant external information—your codebase patterns, current docs, best practices—and feed it to the agent before generation. This lesson covers the engineering techniques that anchor agents in your actual system instead of hypothetical ones.
1515

16+
<!-- doc-only-start -->
1617
<GroundingComparison />
18+
<!-- doc-only-end -->
19+
20+
<!-- presentation-only-start -->
21+
22+
**Without Grounding:**
23+
24+
- Works from generic training patterns frozen at Jan 2025
25+
- Guesses your architecture and libraries
26+
- Hallucinates plausible implementations that don't match your codebase
27+
- Misses current security vulnerabilities and API changes
28+
- Confidently wrong solutions built from statistical patterns
29+
30+
**With Grounding:**
31+
32+
- Works from your actual codebase (ChunkHound retrieves real code)
33+
- Uses current documentation (ArguSeek fetches latest API docs)
34+
- Aware of recent security advisories and breaking changes
35+
- Follows your existing patterns and architecture
36+
- Solutions that integrate cleanly with your system
37+
<!-- presentation-only-end -->
1738

1839
## The Discovery Problem: Agentic Search
1940

website/static/presentations/intro.json

Lines changed: 136 additions & 99 deletions
Large diffs are not rendered by default.

website/static/presentations/manifest.json

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,78 +2,78 @@
22
"intro.md": {
33
"presentationUrl": "/presentations/intro.json",
44
"slideCount": 11,
5-
"estimatedDuration": "35-45 minutes",
6-
"title": "Operator Training: AI Coding Assistants in Production",
7-
"generatedAt": "2025-11-09T10:34:22.957Z"
5+
"estimatedDuration": "25-35 minutes",
6+
"title": "Introduction: Operating AI Coding Agents",
7+
"generatedAt": "2025-11-10T17:45:41.295Z"
88
},
99
"methodology/lesson-3-high-level-methodology.md": {
1010
"presentationUrl": "/presentations/methodology/lesson-3-high-level-methodology.json",
11-
"slideCount": 12,
12-
"estimatedDuration": "45-60 minutes",
11+
"slideCount": 11,
12+
"estimatedDuration": "40-50 minutes",
1313
"title": "Lesson 3: High-Level Methodology",
14-
"generatedAt": "2025-11-10T15:59:19.399Z"
14+
"generatedAt": "2025-11-10T17:46:43.772Z"
1515
},
1616
"methodology/lesson-4-prompting-101.md": {
1717
"presentationUrl": "/presentations/methodology/lesson-4-prompting-101.json",
18-
"slideCount": 12,
19-
"estimatedDuration": "40-50 minutes",
18+
"slideCount": 11,
19+
"estimatedDuration": "35-45 minutes",
2020
"title": "Lesson 4: Prompting 101",
21-
"generatedAt": "2025-11-10T08:30:24.339Z"
21+
"generatedAt": "2025-11-10T17:47:50.750Z"
2222
},
2323
"methodology/lesson-5-grounding.md": {
2424
"presentationUrl": "/presentations/methodology/lesson-5-grounding.json",
2525
"slideCount": 12,
2626
"estimatedDuration": "40-50 minutes",
27-
"title": "Lesson 5: Grounding - Keeping AI Agents Tethered to Reality",
28-
"generatedAt": "2025-11-09T06:35:22.963Z"
27+
"title": "Grounding: Injecting Reality Into Agents",
28+
"generatedAt": "2025-11-10T18:01:50.781Z"
2929
},
3030
"practical-techniques/lesson-10-debugging.md": {
3131
"presentationUrl": "/presentations/practical-techniques/lesson-10-debugging.json",
32-
"slideCount": 11,
32+
"slideCount": 13,
3333
"estimatedDuration": "35-45 minutes",
34-
"title": "Debugging with AI Agents",
35-
"generatedAt": "2025-11-10T11:19:45.844Z"
34+
"title": "Lesson 10: Debugging with AI Agents",
35+
"generatedAt": "2025-11-10T17:50:14.774Z"
3636
},
3737
"practical-techniques/lesson-6-project-onboarding.md": {
3838
"presentationUrl": "/presentations/practical-techniques/lesson-6-project-onboarding.json",
3939
"slideCount": 11,
4040
"estimatedDuration": "35-45 minutes",
41-
"title": "Lesson 6: Project Onboarding - Context Files & AI Memory",
42-
"generatedAt": "2025-11-09T06:37:14.278Z"
41+
"title": "Lesson 6: Project Onboarding",
42+
"generatedAt": "2025-11-10T17:51:58.268Z"
4343
},
4444
"practical-techniques/lesson-7-planning-execution.md": {
4545
"presentationUrl": "/presentations/practical-techniques/lesson-7-planning-execution.json",
46-
"slideCount": 12,
47-
"estimatedDuration": "45-60 minutes",
48-
"title": "Planning & Execution: Grounding Agents in Your Codebase",
49-
"generatedAt": "2025-11-09T06:38:15.228Z"
46+
"slideCount": 14,
47+
"estimatedDuration": "35-40 minutes",
48+
"title": "Lesson 7: Planning & Execution",
49+
"generatedAt": "2025-11-10T17:53:03.438Z"
5050
},
5151
"practical-techniques/lesson-8-tests-as-guardrails.md": {
5252
"presentationUrl": "/presentations/practical-techniques/lesson-8-tests-as-guardrails.json",
53-
"slideCount": 11,
53+
"slideCount": 12,
5454
"estimatedDuration": "40-50 minutes",
55-
"title": "Lesson 8: Tests as Guardrails",
56-
"generatedAt": "2025-11-09T06:39:21.041Z"
55+
"title": "Tests as Guardrails",
56+
"generatedAt": "2025-11-10T17:54:23.212Z"
5757
},
5858
"practical-techniques/lesson-9-reviewing-code.md": {
5959
"presentationUrl": "/presentations/practical-techniques/lesson-9-reviewing-code.json",
6060
"slideCount": 12,
61-
"estimatedDuration": "35-45 minutes",
61+
"estimatedDuration": "45-60 minutes",
6262
"title": "Lesson 9: Reviewing Code",
63-
"generatedAt": "2025-11-10T12:26:26.417Z"
63+
"generatedAt": "2025-11-10T17:55:34.768Z"
6464
},
6565
"understanding-the-tools/lesson-1-intro.md": {
6666
"presentationUrl": "/presentations/understanding-the-tools/lesson-1-intro.json",
67-
"slideCount": 11,
67+
"slideCount": 12,
6868
"estimatedDuration": "40-50 minutes",
69-
"title": "Understanding the Tools: Lesson 1 - Introduction to AI Agents",
70-
"generatedAt": "2025-11-09T11:14:16.616Z"
69+
"title": "Lesson 1: Introduction - Understanding AI Agents",
70+
"generatedAt": "2025-11-10T17:56:38.823Z"
7171
},
7272
"understanding-the-tools/lesson-2-understanding-agents.md": {
7373
"presentationUrl": "/presentations/understanding-the-tools/lesson-2-understanding-agents.json",
74-
"slideCount": 12,
75-
"estimatedDuration": "35-45 minutes",
74+
"slideCount": 11,
75+
"estimatedDuration": "35-50 minutes",
7676
"title": "Understanding Agents",
77-
"generatedAt": "2025-11-10T14:57:50.229Z"
77+
"generatedAt": "2025-11-10T17:58:00.131Z"
7878
}
7979
}

0 commit comments

Comments
 (0)