diff --git a/api/README.md b/api/README.md new file mode 100644 index 0000000..8cc76f9 --- /dev/null +++ b/api/README.md @@ -0,0 +1,48 @@ +# Checkout API + +Serverless Stripe Checkout integration for the Agentic Engineering course. + +## Deploy + +### Cloudflare Worker (recommended) + +```bash +npm install -g wrangler +cd api +wrangler deploy checkout.js --name checkout-api +wrangler secret put STRIPE_SECRET_KEY +``` + +### Vercel + +```bash +cd api +vercel deploy --prod +vercel secrets add STRIPE_SECRET_KEY sk_live_... +``` + +### Standalone + +```bash +export STRIPE_SECRET_KEY="sk_live_..." +node checkout.js +# Listens on port 8787 +``` + +## Price IDs + +Create these products in Stripe Dashboard, then update `site/checkout.md` with the real price IDs: + +| Product | Amount | Stripe Price ID | +|---------|--------|----------------| +| Self-Paced | $97 | `price_self_paced` → replace with real ID | +| Enterprise | $199 | `price_enterprise` → replace with real ID | +| Cohort | $247 | `price_cohort` → replace with real ID | + +## How It Works + +1. User clicks "Buy" → redirected to `/checkout?plan=self-paced` +2. Frontend calls `/api/checkout` with the price ID +3. API creates a Stripe Checkout Session +4. User is redirected to Stripe's hosted checkout page +5. After payment, user is redirected to `/checkout/success` diff --git a/api/checkout.js b/api/checkout.js new file mode 100644 index 0000000..e607942 --- /dev/null +++ b/api/checkout.js @@ -0,0 +1,141 @@ +/** + * Stripe Checkout Session API + * Deploy as a Cloudflare Worker, Vercel function, or standalone server. + * + * Environment variables needed: + * - STRIPE_SECRET_KEY: sk_live_... or sk_test_... + * - FRONTEND_URL: https://git.fdsa.agency (or your domain) + * + * Usage: + * POST /api/checkout + * Body: { "price_id": "price_abc123", "mode": "payment", "customer_email": "..." } + */ + +const stripeEndpoint = 'https://api.stripe.com/v1/checkout/sessions' + +async function handleRequest(request) { + // CORS for frontend + if (request.method === 'OPTIONS') { + return new Response(null, { + headers: { + 'Access-Control-Allow-Origin': '*', + 'Access-Control-Allow-Methods': 'POST, OPTIONS', + 'Access-Control-Allow-Headers': 'Content-Type', + }, + }) + } + + if (request.method !== 'POST') { + return new Response(JSON.stringify({ error: 'Method not allowed' }), { status: 405 }) + } + + const stripeKey = globalThis.STRIPE_SECRET_KEY || process?.env?.STRIPE_SECRET_KEY + const frontendUrl = globalThis.FRONTEND_URL || process?.env?.FRONTEND_URL || 'https://git.fdsa.agency' + + if (!stripeKey) { + return new Response(JSON.stringify({ error: 'Stripe not configured' }), { + status: 500, + headers: { 'Access-Control-Allow-Origin': '*' }, + }) + } + + try { + const { price_id, mode, customer_email } = await request.json() + + const body = new URLSearchParams({ + 'mode': mode || 'payment', + 'success_url': `${frontendUrl}/checkout/success?session_id={CHECKOUT_SESSION_ID}`, + 'cancel_url': `${frontendUrl}/checkout/cancel`, + 'allow_promotion_codes': 'true', + 'line_items[0][price]': price_id, + 'line_items[0][quantity]': '1', + }) + + if (customer_email) { + body.set('customer_email', customer_email) + } + + const stripeResp = await fetch(stripeEndpoint, { + method: 'POST', + headers: { + 'Authorization': `Bearer ${stripeKey}`, + 'Content-Type': 'application/x-www-form-urlencoded', + }, + body: body.toString(), + }) + + const data = await stripeJson(stripeResp) + + if (!stripeResp.ok) { + throw new Error(data.error?.message || 'Stripe error') + } + + return new Response(JSON.stringify({ url: data.url, session_id: data.id }), { + status: 200, + headers: { + 'Content-Type': 'application/json', + 'Access-Control-Allow-Origin': '*', + }, + }) + } catch (e) { + return new Response(JSON.stringify({ error: e.message }), { + status: 500, + headers: { + 'Content-Type': 'application/json', + 'Access-Control-Allow-Origin': '*', + }, + }) + } +} + +async function stripeJson(response) { + const text = await response.text() + try { + return JSON.parse(text) + } catch { + // Stripe sometimes returns unexpected formats — parse query string + const params = new URLSearchParams(text) + const obj = {} + for (const [k, v] of params) { + // Handle nested keys like 'error.message' + const parts = k.split('.') + if (parts.length > 1) { + let cursor = obj + for (let i = 0; i < parts.length - 1; i++) { + cursor[parts[i]] = cursor[parts[i]] || {} + cursor = cursor[parts[i]] + } + cursor[parts[parts.length - 1]] = v + } else { + obj[k] = v + } + } + return obj + } +} + +// Cloudflare Worker entry +export default { fetch: handleRequest } + +// Node.js entry +if (typeof module !== 'undefined' && require?.main === module) { + const http = require('http') + const server = http.createServer((req, res) => { + // Minimal Node.js adapter — assumes body is JSON + let body = '' + req.on('data', chunk => body += chunk) + req.on('end', async () => { + globalThis.process = process + globalThis.request = new Request(`http://localhost${req.url}`, { + method: req.method, + headers: req.headers, + body: body || undefined, + }) + const response = await handleRequest(globalThis.request) + res.writeHead(response.status, Object.fromEntries(response.headers)) + res.end(await response.text()) + }) + }) + const port = process.env.PORT || 8787 + server.listen(port, () => console.log(`Checkout API on :${port}`)) +} diff --git a/site/.vitepress/dist/404.html b/site/.vitepress/dist/404.html index 927ed84..4157099 100644 --- a/site/.vitepress/dist/404.html +++ b/site/.vitepress/dist/404.html @@ -6,12 +6,12 @@ Page Not Found | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
- + \ No newline at end of file diff --git a/site/.vitepress/dist/api-keys.html b/site/.vitepress/dist/api-keys.html index da9e43c..3439c9e 100644 --- a/site/.vitepress/dist/api-keys.html +++ b/site/.vitepress/dist/api-keys.html @@ -6,12 +6,12 @@ API Key Setup Guide | Agentic Engineering the Hard Way - + - + - + @@ -40,7 +40,7 @@ # Mock (no key needed) python -c "from mock_llm import MockAnthropic; c=MockAnthropic(); print(c.messages.create(messages=[{'role':'user','content':'hi'}]).content[0].text)"

Free Tier Limits

ProviderFree CreditsRate Limit
Anthropic$5-10 signup creditVaries by model
OpenAI$5-18 signup creditVaries by tier
GeminiFree tier (60 req/min)60 requests/minute
OpenRouterVaries by modelVaries

The course uses ~$0.50-2.00 in API costs total with Anthropic, or $0 with the mock LLM.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/assets/buy.md.CbIpCW5Y.js b/site/.vitepress/dist/assets/buy.md.CbIpCW5Y.js deleted file mode 100644 index a8573f6..0000000 --- a/site/.vitepress/dist/assets/buy.md.CbIpCW5Y.js +++ /dev/null @@ -1 +0,0 @@ -import{c as t,Q as r,j as a,m as i}from"./chunks/framework.BPKcPtvA.js";const f=JSON.parse('{"title":"Buy","description":"","frontmatter":{},"headers":[],"relativePath":"buy.md","filePath":"buy.md","lastUpdated":1780488472000}'),o={name:"buy.md"};function l(s,e,d,n,c,h){return r(),a("div",null,[...e[0]||(e[0]=[i('

Buy

lock Secure checkout powered by Gumroad

Choose Your Tier

Self-Paced — $97

Best for independent learners.

Buy Self-Paced — $97Instant access after purchase

Enterprise — $199

Best for teams and organizations.

Everything in Self-Paced, plus:

Buy Enterprise — $199Team license included

Cohort — $247 (Next cohort: TBD)

Best for structured learning with deadlines.

Everything in Enterprise, plus:

Join Cohort — $247Next cohort date TBD


Individual Skill Kits

Not ready for the full course? Buy individual kits:

KitPriceWhat's IncludedBuy
Security Foundation$49L3-L5 hooks, damage control, sandboxBuy
Multi-Agent Orch.$49Teams, chains, mental models, domain locksBuy
Verifier Pro$39Builder + verifier, claim decompositionBuy
Task Discipline$29TillDone core + progress + nudgeBuy
Autoresearch$39Experiment loop, integrity guardsBuy
Observability$29SQLite tracing, cost trackingBuy
CEO Board$4911 agent definitions + verifierBuy

What Happens After Purchase

  1. Instant download — ZIP packages delivered immediately via Gumroad
  2. Access links — Course materials, labs, and skill kits in your Gumroad library
  3. Enterprise/Cohort — You'll receive a follow-up email within 24hrs with Discord invite and onboarding details
  4. Updates — Lifetime access includes all future updates. Re-download anytime.

Certificate

Students who complete the capstone project receive a Certificate of Completion. The certificate verifies completion of 65 lessons, 13 labs, 56 quizzes, and a production-grade capstone project. Verify at fdsa.agency/verify.


Questions? Contact artale@fdsa.agency

',16)])])}const p=t(o,[["render",l]]);export{f as __pageData,p as default}; diff --git a/site/.vitepress/dist/assets/buy.md.CbIpCW5Y.lean.js b/site/.vitepress/dist/assets/buy.md.CbIpCW5Y.lean.js deleted file mode 100644 index 770c1cc..0000000 --- a/site/.vitepress/dist/assets/buy.md.CbIpCW5Y.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{c as t,Q as r,j as a,m as i}from"./chunks/framework.BPKcPtvA.js";const f=JSON.parse('{"title":"Buy","description":"","frontmatter":{},"headers":[],"relativePath":"buy.md","filePath":"buy.md","lastUpdated":1780488472000}'),o={name:"buy.md"};function l(s,e,d,n,c,h){return r(),a("div",null,[...e[0]||(e[0]=[i("",16)])])}const p=t(o,[["render",l]]);export{f as __pageData,p as default}; diff --git a/site/.vitepress/dist/blog/index.html b/site/.vitepress/dist/blog/index.html index 5722331..000463f 100644 --- a/site/.vitepress/dist/blog/index.html +++ b/site/.vitepress/dist/blog/index.html @@ -6,12 +6,12 @@ Blog | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content

Blog

Essays on agentic engineering, security, multi-agent systems, and production deployments.

Latest Posts

What Is an AI Agent, Really? — June 2

LLM + Tools + Loop. The simplest correct explanation.

Why One Agent Is Not Enough — June 3

Context, capability, and reliability ceilings of single-agent systems.

Vibe Coding vs Agentic Engineering — June 4

The 5 hard rules that separate production from prompt gambling.

The Repo Is the Spec — June 5

Why every instruction your agent needs must live in a file.

The 6-Level Security Ladder — June 6

How to stop your AI agents from destroying production. From ACIP to no-bash.

Choosing Your Security Level — June 7

Which L-level you need based on what your agent can access.

The Verifier Pattern — June 8

A read-only verification agent that catches mistakes before production.

Agent Memory: Mental Models — June 9

How agents remember across sessions using self-maintained expertise files.

The 3x Rule of Agent Costs — June 10

Why production agents cost 3x your prototype estimate.

Cascade Routing: Cut API Costs by 66% — June 11

Use cheap models for simple steps, expensive models for complex reasoning.


Posts are based on content from the Agentic Engineering Course. Each topic has a corresponding module with labs and exercises.

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/cascade-routing.html b/site/.vitepress/dist/blog/posts/cascade-routing.html index 334a2fb..eb299ed 100644 --- a/site/.vitepress/dist/blog/posts/cascade-routing.html +++ b/site/.vitepress/dist/blog/posts/cascade-routing.html @@ -6,12 +6,12 @@ Cascade Routing: Cut Your API Costs by 66% | Agentic Engineering the Hard Way - + - + - + @@ -40,7 +40,7 @@ return "claude-opus-4" elif task_complexity == "formatting": return "gemini-2.5-flash"

When Not to Cascade

If your task is a single critical decision, use the best model. Cascade routing shines when you have a pipeline of steps with varying complexity, which is most real-world agent systems.


From Module 6 of the Agentic Engineering Course. The full module includes a cost optimization lab with working code.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/choosing-security-level.html b/site/.vitepress/dist/blog/posts/choosing-security-level.html index 5a4ed0f..f1624e4 100644 --- a/site/.vitepress/dist/blog/posts/choosing-security-level.html +++ b/site/.vitepress/dist/blog/posts/choosing-security-level.html @@ -6,12 +6,12 @@ Choosing Your Security Level | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content

Choosing Your Security Level

June 7, 2026

Not every agent needs Level 5 security. The right level depends on what your agent can access.

The Decision Table

If your agent has access to...Start at...Why
Nothing important (demos, tutorials)L1Blast radius is zero
Your source code and configsL3A bad git push costs a day
Production credentials (AWS, DB)L4-L5There is no acceptable failure
Customer data (PII, financial)L5Compliance requires it

Level 1-2: When You Can Get Away With It

L1 (system prompt rules) and L2 (safe-mode skill) work well for tutorial agents that only touch demo data, personal assistants with no production access, and agents running in isolated environments.

The model will refuse most dangerous requests. "Most" is the problem. At a 1% per-turn failure rate, over 100 turns there is a 63% chance of at least one failure.

Level 3: The Minimum for Production Code

L3 (blacklist hook) catches direct attacks like rm -rf /. But it misses the marquee break: the agent writes a Python script that does the damage, and the blacklist only sees "python cleanup.py" which is not in the blocklist.

Level 4: The Sweet Spot

Whitelist hooks only allow N safelisted commands. The agent cannot run python cleanup.py because python is not safelisted. This prevents the L3 marque break. Use L4 as your default for any agent with access to production systems.

Level 5: The Gold Standard

No bash at all. The agent has only purpose-built tools: Read, Write, Edit, Grep, Glob. Required for any agent handling customer data, financial transactions, or healthcare information.

Rule of Thumb

If the agent can touch anything you cannot easily roll back, start at L4 and plan to get to L5.


From Module 3 of the Agentic Engineering Course. The full module includes runnable code for all 6 security levels.

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/mental-models.html b/site/.vitepress/dist/blog/posts/mental-models.html index acbf590..639e873 100644 --- a/site/.vitepress/dist/blog/posts/mental-models.html +++ b/site/.vitepress/dist/blog/posts/mental-models.html @@ -6,12 +6,12 @@ Agent Memory: Mental Models That Compound | Agentic Engineering the Hard Way - + - + - + @@ -39,7 +39,7 @@ - type: failure_pattern observation: "WebSocket reconnection needs backoff" status: unaddressed

The Rules

  1. Agents own their mental models. You do not touch them. The agent reads, writes, and updates its own expertise file.

  2. Self-improve commands validate against the codebase. The agent greps for evidence, checks if its knowledge is still accurate, and updates stale entries.

  3. Read-only expertise for critical knowledge. Billing workflows, deployment procedures, and security policies should never change.

  4. Knowledge compounds across sessions. Session 1: agent learns project structure. Session 2: learns common patterns. Session 3: learns failure modes. By session N, it operates at a senior engineer level for that codebase.

The Self-Improve Loop

bash
just self-improve-backend

This command triggers the agent to scan the codebase, validate its expertise against actual file contents, and update anything that has drifted.

Why This Matters

Without mental models, every agent session is Day 1. The agent rediscovers the same things repeatedly: "Oh, this project uses tRPC. Oh, tests go in the tests directory. Oh, we deploy via Docker." Mental models turn every session into Day 100.


From Module 4 of the Agentic Engineering Course. The full module covers multi-agent systems with domain locking, delegation, and P2P communication.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/repo-is-spec.html b/site/.vitepress/dist/blog/posts/repo-is-spec.html index c366e27..868036f 100644 --- a/site/.vitepress/dist/blog/posts/repo-is-spec.html +++ b/site/.vitepress/dist/blog/posts/repo-is-spec.html @@ -6,12 +6,12 @@ The Repo Is the Spec | Agentic Engineering the Hard Way - + - + - + @@ -36,7 +36,7 @@ +-- tests/ # Expected outcomes as evidence +-- skills/ # Reusable skill definitions +-- .mcp.json # MCP server configuration

Why This Matters for Agents

An agent can only see what you put in front of it. A well-structured repo eliminates tribal knowledge because the agent discovers everything from files. It makes onboarding instant because a new agent reads the same files as the old one. It creates audit trails because every instruction is version-controlled. And it enables multi-agent teams because all agents read from the same source of truth.

The Rule

If an agent needs to know something to do its job, that information must be in a file in the repo. Not in your head. Not in Slack. Not in a README that nobody reads. In a file, checked into version control, readable by any agent at any time.


From Module 1 of the Agentic Engineering Course. The full module covers the agent loop, tool calling, and decision frameworks.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/security-ladder.html b/site/.vitepress/dist/blog/posts/security-ladder.html index 836fe9d..8b094c0 100644 --- a/site/.vitepress/dist/blog/posts/security-ladder.html +++ b/site/.vitepress/dist/blog/posts/security-ladder.html @@ -6,12 +6,12 @@ The 6-Level Security Ladder | Agentic Engineering the Hard Way - + - + - + @@ -42,7 +42,7 @@ L3: Blacklist hook L4: Whitelist hook L5: No bash, custom tools only

Each layer catches what the previous one missed. The agent must bypass ALL six to cause damage — not just one.


This is an excerpt from Module 3 of the Agentic Engineering Course. The full module includes runnable lab code for implementing every level.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/three-x-rule.html b/site/.vitepress/dist/blog/posts/three-x-rule.html index ce4f86f..ff64547 100644 --- a/site/.vitepress/dist/blog/posts/three-x-rule.html +++ b/site/.vitepress/dist/blog/posts/three-x-rule.html @@ -6,12 +6,12 @@ The 3x Rule of Agent Costs | Agentic Engineering the Hard Way - + - + - + @@ -35,7 +35,7 @@ "with_retries": base * 1.5, "production": base * 3.0 }

Budget Accordingly

If your prototype agent costs $0.10 per task, plan for $0.30 in production. At 10,000 tasks per month, that is $3,000 per month, not $1,000. The 3x rule keeps you honest.


From Module 6 of the Agentic Engineering Course. The full module covers cost optimization, cascade routing, and pass@k evaluation.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/verifier-pattern.html b/site/.vitepress/dist/blog/posts/verifier-pattern.html index 5ba1b4b..df79fb0 100644 --- a/site/.vitepress/dist/blog/posts/verifier-pattern.html +++ b/site/.vitepress/dist/blog/posts/verifier-pattern.html @@ -6,12 +6,12 @@ The Verifier Pattern | Agentic Engineering the Hard Way - + - + - + @@ -34,7 +34,7 @@ session.jsonl session.jsonl | | <--- verifier_prompt (corrective feedback) ----'

The builder doesn't know the verifier exists. The verifier CANNOT write code — it only reads files, greps for evidence, and reports confidence.

The Confidence Ladder

LevelMeaningBar Color
PERFECTEvery claim verified, zero gapsGreen
VERIFIEDAll passed, minor non-blocking gapsGreen
PARTIALNo failures, significant unverifiable gapsOrange
FEEDBACKClaims failed, correction sentOrange
FAILEDCannot verify, escalating to humanRed

Why This Works

  1. Spend tokens to save time — The verifier costs 2-5x more compute but collapses the review constraint from hours to seconds. Tokens are cheap. Your time is not.

  2. Structurally un-promptable — The verifier's input is locked. You can't drop one-off instructions into it. The only way to fix a verification gap is to edit the persona or the prompt template — improvements solve the entire problem class, not one instance.

  3. Defense in depth — The verifier has zero write tools. Even if compromised, it can't modify files. Its bash is restricted to read-only commands. This is the highest level of control you can give an agent.

The Feedback Loop

Every "could not verify" report becomes the next improvement. The verifier teaches you what your verifier is missing. This is how you build the system that builds the system.


This is an excerpt from Module 3 of the Agentic Engineering Course. The full module includes runnable code for setting up the verifier-builder pattern with Unix socket communication and the confidence ladder.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/vibe-vs-agentic.html b/site/.vitepress/dist/blog/posts/vibe-vs-agentic.html index dbe43fe..fbd5d42 100644 --- a/site/.vitepress/dist/blog/posts/vibe-vs-agentic.html +++ b/site/.vitepress/dist/blog/posts/vibe-vs-agentic.html @@ -6,12 +6,12 @@ Vibe Coding vs Agentic Engineering | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content

Vibe Coding vs Agentic Engineering

June 4, 2026

Vibe coding is prompting and shipping whatever comes out. Agentic engineering is building systems that produce reliable, verifiable results. They are not the same thing.

The 5 Hard Rules

1. Risk compounds with runtime. A 1% per-turn failure rate equals a 63% chance of disaster over 100 turns. Long-running agents are not safer. They are more exposed.

2. If your agent can write AND execute code, you are back at L1 security. The marquee break: agent writes cleanup.py, runs python cleanup.py, your production data is gone. The security hook never fired because it only saw "python cleanup.py."

3. Every turn is a roll of the dice. Modern models refuse well 99% of the time. That last 1% grows with every feature release. Engineer the harness for the 1%, not the 99%.

4. Token costs scale with loop depth, not task complexity. A simple task with a bad loop costs 10x more than a complex task with a clean loop. Optimize the loop first.

5. What you cannot measure, you cannot improve. Every agent system needs: cost per task, success rate, loop efficiency, failure mode tracking.

The Practical Difference

DimensionVibe CodingAgentic Engineering
ApproachPrompt and prayBuild and verify
SecurityTrust the modelTrust the harness
CostUnknown until the bill arrivesTracked and optimized
QualityWhatever comes outMeasured against golden dataset
IterationTry another promptFix the harness

The Karpathy Framing

At Sequoia Ascent 2026, Andrej Karpathy said: "Vibe coding raises the floor. Agentic engineering raises the ceiling." Vibe coding makes mediocre engineers productive. Agentic engineering makes great engineers extraordinary.


From Module 1 of the Agentic Engineering Course. The first module establishes the foundations that the rest of the course builds on.

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/what-is-an-agent.html b/site/.vitepress/dist/blog/posts/what-is-an-agent.html index 8f29402..1f5bea9 100644 --- a/site/.vitepress/dist/blog/posts/what-is-an-agent.html +++ b/site/.vitepress/dist/blog/posts/what-is-an-agent.html @@ -6,12 +6,12 @@ What Is an AI Agent, Really? | Agentic Engineering the Hard Way - + - + - + @@ -39,7 +39,7 @@ result = execute_tool(tool_name, tool_args) messages.append(response) messages.append(result)

Common Misconception

"The model is the agent." No. The model is the brain. The agent is the whole system: brain plus tools plus loop. A better brain helps, but better tools and a better loop help more.


From Module 1 of the Agentic Engineering Course. The full module includes your first lab: building a single-tool agent from scratch.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/why-multi-agent.html b/site/.vitepress/dist/blog/posts/why-multi-agent.html index 1411030..bf8d100 100644 --- a/site/.vitepress/dist/blog/posts/why-multi-agent.html +++ b/site/.vitepress/dist/blog/posts/why-multi-agent.html @@ -6,12 +6,12 @@ Why One Agent Is Not Enough | Agentic Engineering the Hard Way - + - + - + @@ -44,7 +44,7 @@ +-- Validation Team Lead +-- QA Engineer (worker) +-- Security Reviewer (worker)

Leads think, plan, and delegate. Workers execute. The orchestrator never touches code.

When to Go Multi-Agent

You need multiple agents when any of these are true:

If none of these are true, a single well-configured agent is simpler and cheaper.


This is an excerpt from Module 4 of the Agentic Engineering Course. The full module includes runnable lab code for building multi-agent systems with domain locking, mental models, and P2P communication.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/buy.html b/site/.vitepress/dist/buy.html index 3a2baf7..5b8d09a 100644 --- a/site/.vitepress/dist/buy.html +++ b/site/.vitepress/dist/buy.html @@ -6,14 +6,14 @@ Buy | Agentic Engineering the Hard Way - + - + - + - + @@ -28,8 +28,12 @@ -
Skip to content

Buy

lock Secure checkout powered by Gumroad

Choose Your Tier

Self-Paced — $97

Best for independent learners.

  • 65 lessons across 8 modules
  • 13 scaffolded labs with solutions
  • 56 quiz questions with answer keys
  • 20 production-ready SKILL.md files (7 kits)
  • Install scripts (PowerShell + bash)
  • Capstone reference implementation
  • Mock LLM for offline lab execution
  • Instant download (9 ZIP packages)

Buy Self-Paced — $97Instant access after purchase

Enterprise — $199

Best for teams and organizations.

Everything in Self-Paced, plus:

  • Private Discord channel
  • 2 custom skills tailored to your stack
  • 1-hour onboarding call
  • Priority updates for 1 year
  • Early access to new skill kits

Buy Enterprise — $199Team license included

Cohort — $247 (Next cohort: TBD)

Best for structured learning with deadlines.

Everything in Enterprise, plus:

  • 6-week structured schedule with weekly milestones
  • Weekly live office hours
  • Peer review of capstone project
  • Completion certificate
  • Cohort alumni network

Join Cohort — $247Next cohort date TBD


Individual Skill Kits

Not ready for the full course? Buy individual kits:

KitPriceWhat's IncludedBuy
Security Foundation$49L3-L5 hooks, damage control, sandboxBuy
Multi-Agent Orch.$49Teams, chains, mental models, domain locksBuy
Verifier Pro$39Builder + verifier, claim decompositionBuy
Task Discipline$29TillDone core + progress + nudgeBuy
Autoresearch$39Experiment loop, integrity guardsBuy
Observability$29SQLite tracing, cost trackingBuy
CEO Board$4911 agent definitions + verifierBuy

What Happens After Purchase

  1. Instant download — ZIP packages delivered immediately via Gumroad
  2. Access links — Course materials, labs, and skill kits in your Gumroad library
  3. Enterprise/Cohort — You'll receive a follow-up email within 24hrs with Discord invite and onboarding details
  4. Updates — Lifetime access includes all future updates. Re-download anytime.

Certificate

Students who complete the capstone project receive a Certificate of Completion. The certificate verifies completion of 65 lessons, 13 labs, 56 quizzes, and a production-grade capstone project. Verify at fdsa.agency/verify.


Questions? Contact artale@fdsa.agency

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- +
Skip to content

Buy

lock Secure checkout — Stripe + Gumroad

Choose Your Tier

Self-Paced — $97

Best for independent learners.

  • 65 lessons across 8 modules
  • 13 scaffolded labs with solutions
  • 56 quiz questions with answer keys
  • 20 production-ready SKILL.md files (7 kits)
  • Install scripts (PowerShell + bash)
  • Capstone reference implementation
  • Mock LLM for offline lab execution
  • Instant download (9 ZIP packages)

Buy with Card — $97Buy via Gumroad

Enterprise — $199

Best for teams and organizations.

Everything in Self-Paced, plus:

  • Private Discord channel
  • 2 custom skills tailored to your stack
  • 1-hour onboarding call
  • Priority updates for 1 year
  • Early access to new skill kits

Buy with Card — $199Buy via Gumroad

Cohort — $247 (Next cohort: TBD)

Best for structured learning with deadlines.

Everything in Enterprise, plus:

  • 6-week structured schedule with weekly milestones
  • Weekly live office hours
  • Peer review of capstone project
  • Completion certificate
  • Cohort alumni network

Buy with Card — $247Buy via Gumroad


Individual Skill Kits

Not ready for the full course? Buy individual kits:

KitPriceWhat's Included
Security Foundation$49L3-L5 hooks, damage control, sandbox
Multi-Agent Orch.$49Teams, chains, mental models, domain locks
Verifier Pro$39Builder + verifier, claim decomposition
Task Discipline$29TillDone core + progress + nudge
Autoresearch$39Experiment loop, integrity guards
Observability$29SQLite tracing, cost tracking
CEO Board$4911 agent definitions + verifier

Skill kits coming soon to Stripe. For now, contact us to purchase individual kits.


What Happens After Purchase

  1. Instant redirect to Stripe Checkout — pay with any card
  2. Download delivered immediately after payment via email
  3. Enterprise/Cohort — follow-up email within 24hrs with Discord invite
  4. Updates — lifetime access, re-download anytime

Setup Guide

To enable card payments, you need to:

  1. Create a Stripe account
  2. Get your Secret Key from the Stripe dashboard
  3. Set it as an environment variable for the checkout API:
bash
# If using Cloudflare Worker:
+echo "STRIPE_SECRET_KEY=sk_live_..." > .env
+
+# If deploying the API separately, set:
+export STRIPE_SECRET_KEY="sk_live_..."

The checkout API is at api/checkout.js — deployable as a Cloudflare Worker, Vercel function, or standalone Node.js server.


Certificate

Students who complete the capstone project receive a Certificate of Completion. Verify at fdsa.agency/verify.


Questions? Contact artale@fdsa.agency

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

+ \ No newline at end of file diff --git a/site/.vitepress/dist/certificate.html b/site/.vitepress/dist/certificate.html index d49de96..61c857c 100644 --- a/site/.vitepress/dist/certificate.html +++ b/site/.vitepress/dist/certificate.html @@ -6,12 +6,12 @@ Certificate of Completion | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content

Certificate of Completion

This certifies that

________________________________

has completed the

FDSA Agentic Engineering Course

65 lessons across 8 modules13 hands-on labs with starter code and solutions56 quiz questions across 7 module checkpoints20 production-ready SKILL.md files in 7 kitsCapstone: production-grade multi-agent system


Curriculum: Agent Harness (M1-M3), Software Factory (M4), Extensible Software (M2+M5), Always-On Agents (M7), Agentic Access (M2+M5), Tokenomics (M6). Framework-agnostic across Claude Code, Pi Agent, OpenCode, Hermes, and OpenClaw.

Verify at: https://fdsa.agency/verify

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/free-preview.html b/site/.vitepress/dist/free-preview.html index 0e06840..a5229c7 100644 --- a/site/.vitepress/dist/free-preview.html +++ b/site/.vitepress/dist/free-preview.html @@ -6,14 +6,14 @@ Free Preview: Lesson 1.1 — What Makes an Agent? | Agentic Engineering the Hard Way - + - + - + - + @@ -30,8 +30,8 @@
Skip to content

Free Preview: Lesson 1.1 — What Makes an Agent?

This is a sample lesson from Agentic Engineering the Hard Way (Module 1: Foundations). Full course includes 65 lessons, 13 labs, and 20 skill kits — all building from scratch, no black boxes.


Lesson 1.1: What Makes an Agent?

Definition: An AI agent = LLM + Tools + Loop. Without any one of these three, it's not an agent.

Agent = LLM (reasoning engine)
       + Tools (capability surface)
-      + Loop (autonomous decision cycle)
  • A single LLM call with no tools = chatbot
  • An LLM with tools but no loop = augmented inference
  • Tools + loop + LLM = agent (it can decide what to do next)

The Three Components

LLM — The reasoning engine. Given context + available tools, it decides which tool to call and with what parameters. The LLM is NOT the agent — it's the brain of the agent. Different models have different reasoning capabilities, but the core function is the same: given a situation and available actions, decide what to do.

Tools — The capability surface. Functions the agent can call: read files, run commands, search the web, query databases, call APIs. Each tool has a name, description, and input schema. The tool surface defines what the agent CAN do — everything outside this surface is something the agent cannot do, no matter how smart the LLM is.

Loop — The autonomous decision cycle. Think (LLM decides) → Act (tool executes) → Observe (result comes back) → Repeat. The loop is what makes it autonomous. Without a loop, you have a single decision. With a loop, you have an agent that can work toward a goal across multiple steps.

Why This Matters

This definition is not academic. Every production agent failure I've seen traces back to one of these three:

FailureRoot Cause
Agent does something unexpectedLoop didn't terminate correctly
Agent can't do the taskTools are insufficient for the task
Agent makes bad decisionsLLM doesn't have enough context
Agent costs too muchLoop runs too many iterations

If you understand these three components and how they interact, you can debug any agent system. If you don't, you're guessing.


What You'll Learn in the Full Course

ModuleTopicLessonsLabs
M1Foundations8 lessons1 lab
M2Agent Architecture7 lessons2 labs
M3Safety & Security7 lessons2 labs
M4Multi-Agent Orchestration11 lessons2 labs
M5Production Systems10 lessons2 labs
M6Model Economics7 lessons2 labs
M7Advanced Patterns8 lessons2 labs
M8Capstone ProjectBuild & deploy

Enroll Now — $97 · View Full Curriculum

Note: This preview shows approximately 30% of a single lesson. Full lessons include code examples, diagrams, quiz questions, and lab exercises.

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + + Loop (autonomous decision cycle)

The Three Components

LLM — The reasoning engine. Given context + available tools, it decides which tool to call and with what parameters. The LLM is NOT the agent — it's the brain of the agent. Different models have different reasoning capabilities, but the core function is the same: given a situation and available actions, decide what to do.

Tools — The capability surface. Functions the agent can call: read files, run commands, search the web, query databases, call APIs. Each tool has a name, description, and input schema. The tool surface defines what the agent CAN do — everything outside this surface is something the agent cannot do, no matter how smart the LLM is.

Loop — The autonomous decision cycle. Think (LLM decides) → Act (tool executes) → Observe (result comes back) → Repeat. The loop is what makes it autonomous. Without a loop, you have a single decision. With a loop, you have an agent that can work toward a goal across multiple steps.

Why This Matters

This definition is not academic. Every production agent failure I've seen traces back to one of these three:

FailureRoot Cause
Agent does something unexpectedLoop didn't terminate correctly
Agent can't do the taskTools are insufficient for the task
Agent makes bad decisionsLLM doesn't have enough context
Agent costs too muchLoop runs too many iterations

If you understand these three components and how they interact, you can debug any agent system. If you don't, you're guessing.


What You'll Learn in the Full Course

ModuleTopicLessonsLabs
M1Foundations8 lessons1 lab
M2Agent Architecture7 lessons2 labs
M3Safety & Security7 lessons2 labs
M4Multi-Agent Orchestration11 lessons2 labs
M5Production Systems10 lessons2 labs
M6Model Economics7 lessons2 labs
M7Advanced Patterns8 lessons2 labs
M8Capstone ProjectBuild & deploy

Enroll Now — $97 · View Full Curriculum

Note: This preview shows approximately 30% of a single lesson. Full lessons include code examples, diagrams, quiz questions, and lab exercises.

+ \ No newline at end of file diff --git a/site/.vitepress/dist/getting-started.html b/site/.vitepress/dist/getting-started.html index efeee30..5ce82e6 100644 --- a/site/.vitepress/dist/getting-started.html +++ b/site/.vitepress/dist/getting-started.html @@ -6,12 +6,12 @@ Student Orientation Guide | Agentic Engineering the Hard Way - + - + - + @@ -49,7 +49,7 @@ # Single kit bash install.sh security
OrderModuleTimeDo This
1M1 Foundations4-6 hrsRead + Lab 1
2M2 Architecture6-8 hrsRead + Labs 2a, 2b
3M3 Safety5-7 hrsRead + Labs 3a, 3b
4M4 Orchestration7-9 hrsRead + Labs 4a, 4b
5M5 Production5-7 hrsRead + Labs 5a, 5b
6M6 Economics4-6 hrsRead + Labs 6a, 6b
7M7 Advanced5-7 hrsRead + Labs 7a, 7b
8M8 Capstone8-12 hrsBuild your project

Common Pitfalls

ProblemSolution
ModuleNotFoundError: anthropicRun pip install anthropic or use mock LLM (automatic fallback)
Lab runs but produces no outputCheck you called run_agent() at the end of the script
Tool loop never terminatesCheck MAX_ITERATIONS is set. Default is 15.
Mock LLM returns "No input provided"Check you're passing messages to create() not just prompt
YAML parse error in skillsCheck indentation — YAML uses 2-space indents

Getting Help


What You'll Learn

By the end of this course, you will be able to:

  1. Build single-tool and multi-tool agents from scratch
  2. Implement the 6-level security ladder (L0-L5) to protect your systems
  3. Design multi-agent systems with teams, chains, and peer-to-peer communication
  4. Deploy agents to production with CI/CD, observability, and rollback
  5. Optimize costs using cascade routing and evaluate performance with pass@k
  6. Build self-improving agents that experiment and learn
- + \ No newline at end of file diff --git a/site/.vitepress/dist/hashmap.json b/site/.vitepress/dist/hashmap.json index 60d9e09..992380f 100644 --- a/site/.vitepress/dist/hashmap.json +++ b/site/.vitepress/dist/hashmap.json @@ -1 +1 @@ -{"404.md":"BiCvjdaY","api-keys.md":"D2Kyj8T3","blog_index.md":"B5nL9faf","blog_posts_cascade-routing.md":"DvBM3TSf","blog_posts_choosing-security-level.md":"BYXRZEDN","blog_posts_mental-models.md":"BRY80gtq","blog_posts_repo-is-spec.md":"BxY1cXc_","blog_posts_security-ladder.md":"DQaqn6Yt","blog_posts_three-x-rule.md":"BHO6bhvz","blog_posts_verifier-pattern.md":"Gha_L_u5","blog_posts_vibe-vs-agentic.md":"7mduPfz1","blog_posts_what-is-an-agent.md":"BU2wUq_Y","blog_posts_why-multi-agent.md":"BVRIN2vH","buy.md":"CbIpCW5Y","certificate.md":"0V0n-TLl","free-preview.md":"C8rgBsjM","getting-started.md":"Boo_V9xC","index.md":"BNS2TR1g","labs_index.md":"sAzXzfkI","labs_l1-first-agent.md":"BwU9yf-G","labs_l2-context.md":"BexGm8_s","labs_l2-multi-tool.md":"Bj3Mb-oj","labs_l3-verifier.md":"xilrGGap","labs_l3-whitelist-hook.md":"DJtbL66Y","labs_l4-agent-chain.md":"D89P8dwJ","labs_l4-multi-team.md":"DmSK8e2P","labs_l5-cicd.md":"Dz1Jl78z","labs_l5-observability.md":"BDpqVYjT","labs_l6-cost-optimization.md":"CabFK4GB","labs_l6-eval-harness.md":"CBwH6xOR","labs_l7-autoresearch.md":"BYlzPLYo","labs_l7-meta-agent.md":"iTswbOPg","modules_competitive-analysis.md":"BHMHacei","modules_curriculum.md":"D7UeKRfo","modules_debate.md":"DWctKMlA","modules_feynman.md":"DBw5sPBP","modules_field-manual.md":"hmt_NLf1","modules_m1-foundations.md":"DHFyTzWj","modules_m2-architecture.md":"DVowtmf9","modules_m3-safety.md":"RiQQ_HWX","modules_m4-orchestration.md":"DFLcAKBv","modules_m5-production.md":"DTkLIrwQ","modules_m6-economics.md":"HihVEOPb","modules_m7-advanced.md":"FtCudlFk","modules_m8-capstone.md":"D1AXKCqv","modules_non-technical.md":"BnvuUCRo","modules_reference-stack.md":"D9FXitvn","modules_software-factory.md":"C5Yf8Zwe","modules_tool-reference.md":"B40mlgZJ","public_certificate_template.md":"Cg1kPB1b","resources.md":"DcUu1NrK","skills.md":"BX3RBeCK","troubleshooting.md":"B6difx2I","verify.md":"Cl5ZMWNd"} +{"404.md":"BiCvjdaY","api-keys.md":"D2Kyj8T3","blog_index.md":"B5nL9faf","blog_posts_cascade-routing.md":"DvBM3TSf","blog_posts_choosing-security-level.md":"BYXRZEDN","blog_posts_mental-models.md":"BRY80gtq","blog_posts_repo-is-spec.md":"BxY1cXc_","blog_posts_security-ladder.md":"DQaqn6Yt","blog_posts_three-x-rule.md":"BHO6bhvz","blog_posts_verifier-pattern.md":"Gha_L_u5","blog_posts_vibe-vs-agentic.md":"7mduPfz1","blog_posts_what-is-an-agent.md":"BU2wUq_Y","blog_posts_why-multi-agent.md":"BVRIN2vH","buy.md":"DHBA80yx","certificate.md":"0V0n-TLl","checkout.md":"BJaDuNmQ","checkout_cancel.md":"CdJxBFk8","checkout_success.md":"tbRwtAen","free-preview.md":"C5BtRucn","getting-started.md":"Boo_V9xC","index.md":"BNS2TR1g","labs_index.md":"sAzXzfkI","labs_l1-first-agent.md":"BwU9yf-G","labs_l2-context.md":"BexGm8_s","labs_l2-multi-tool.md":"Bj3Mb-oj","labs_l3-verifier.md":"xilrGGap","labs_l3-whitelist-hook.md":"DJtbL66Y","labs_l4-agent-chain.md":"D89P8dwJ","labs_l4-multi-team.md":"DmSK8e2P","labs_l5-cicd.md":"Dz1Jl78z","labs_l5-observability.md":"BDpqVYjT","labs_l6-cost-optimization.md":"CabFK4GB","labs_l6-eval-harness.md":"CBwH6xOR","labs_l7-autoresearch.md":"BYlzPLYo","labs_l7-meta-agent.md":"iTswbOPg","modules_competitive-analysis.md":"BHMHacei","modules_curriculum.md":"D7UeKRfo","modules_debate.md":"DWctKMlA","modules_feynman.md":"DBw5sPBP","modules_field-manual.md":"hmt_NLf1","modules_m1-foundations.md":"DHFyTzWj","modules_m2-architecture.md":"DVowtmf9","modules_m3-safety.md":"RiQQ_HWX","modules_m4-orchestration.md":"DFLcAKBv","modules_m5-production.md":"DTkLIrwQ","modules_m6-economics.md":"HihVEOPb","modules_m7-advanced.md":"FtCudlFk","modules_m8-capstone.md":"D1AXKCqv","modules_non-technical.md":"BnvuUCRo","modules_reference-stack.md":"D9FXitvn","modules_software-factory.md":"C5Yf8Zwe","modules_tool-reference.md":"B40mlgZJ","public_certificate_template.md":"Cg1kPB1b","resources.md":"DcUu1NrK","skills.md":"BX3RBeCK","troubleshooting.md":"B6difx2I","verify.md":"Cl5ZMWNd"} diff --git a/site/.vitepress/dist/index.html b/site/.vitepress/dist/index.html index dc79dde..498ffe7 100644 --- a/site/.vitepress/dist/index.html +++ b/site/.vitepress/dist/index.html @@ -6,12 +6,12 @@ Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content
THE HARD WAY

Agentic Engineering the Hard Way

Build every component from scratch. 65 lessons, 13 labs, 20 skill kits. No black boxes, no magic SDKs — just you, the harness, and the loop.

AGENT_PLANNER v2.1
> LOADING HARNESS... DONE
> DEPLOYING 8-AGENT SYSTEM
> SECURITY: LEVEL 4 (WHITELIST)
> ALL SYSTEMS OPERATIONAL
65Lessons
13Hands-on Labs
8Modules
20Skill Kits
What You'll Build

Production Systems. From Scratch.

settings_suggest

Agent Harness

Own your harness. 6-level security ladder, verifier pattern, hooks architecture across 5 subsystems.

speed

Software Factory

Systems that build systems. Agent chains, teams, P2P communication, depth-2 delegation.

psychology

Extensible Software

Pluggable, composable, swappable. Beyond MCP, tool design patterns, CI/CD for agent configs.

all_inclusive

Always-On Agents

Run 24/7. Autoresearch loops, heartbeat execution, meta-agents that improve themselves.

terminal

Agentic Access

API-first design. Tool surface design, deployment modes, service connectors, MCP integration.

trending_up

Tokenomics

3 levels of token value. Cascade routing, pass@k evals, the 3x cost rule, production optimization.

Curriculum

8 Modules. From Zero to Production.

01
psychology

Foundations

What agents are, harness vs model, decision frameworks, agent loops.

LLM+Tools+LoopHarnessTrust
02
handyman

Architecture

Tools, context, memory, skills system, codebase patterns, workspace design.

4 PillarsMemorySkills
03
shield

Safety

6-level security ladder, hooks, verifier pattern, defense-in-depth, ACIP.

L0-L5VerifierHooks
04
hub

Orchestration

Multi-agent patterns, P-threads, F-threads, P2P, CEO Board, domain locking.

TeamsChainsP2P
05
rocket_launch

Production

CI/CD for agents, shadow deploys, observability, rollback, 5-tool stack.

DeployMonitorRollback
06
analytics

Economics

Model pricing, cascade routing, pass@k evals, cost optimization per session.

100x Range3x RuleEvals
07
architecture

Advanced

Autoresearch, meta-agents, beyond MCP, always-on employee patterns.

Self-ImprovingMeta
08
trophy

Capstone

Build production multi-agent system. Brand Monitor, CEO Board, or Code Review Pipeline.

ShipDeployRubric
Trusted By

What Engineers Are Saying

"The security ladder alone is worth the price. Finally understand how to safely deploy agents in production — something no other course teaches."
M
Marcus W.
Staff Engineer, SaaS Company
"Went from vibe-coding to actually engineering agents. The harness vs model distinction changed how I think about every agent system I build."
P
Priya S.
Lead ML Engineer, FinTech
"Best practical course on multi-agent systems I've found. The CEO Board pattern alone saved me weeks of architecture work."
T
Tomás R.
CTO, AI Startup
"I've taken TAC and ClaudeFAST. FDSA is the most comprehensive — 65 lessons with actual labs that work offline. No other course has that."
D
Daniel K.
Senior Developer, E-Commerce
Your Instructor

Built by an Engineer, For Engineers

terminal

Artale

Founder, FDSA Agency

I've spent the last two years building production multi-agent systems — from CEO Boards for strategic decision-making to Brand Monitor for always-on reputation tracking, to UI Agents that generate production Vue components. This course distills everything I learned shipping real agent systems, not toy demos.

Every pattern in this course — the 6-level security ladder, P-threads, cascade routing, the verifier pattern — came from building systems that had to work reliably in production. We build everything from scratch. No black boxes, no SDK abstractions. This is Agentic Engineering the Hard Way.

Stay Updated

Get Free Agent Engineering Resources

Compared To

Why FDSA vs Other Courses

FDSA (the Hard Way)
  • check65 lessons + 13 labs
  • check20 skill kits included
  • checkBuild from scratch, no black boxes
  • checkMock LLM for offline work
  • checkTool-agnostic (any CLI)
  • check30-day guarantee
  • closeNewer platform
  • closeNo video content yet
  • closeCommunity still growing
TAC
  • check14 focused lessons
  • check4 reference repos
  • checkActive YouTube channel
  • checkProven track record
  • close$97-147 for less content
  • closeNo skill kits
  • closeNo capstone project
  • closeClaude Code focused only
ClaudeFAST
  • check280 skill files
  • check16 agent definitions
  • check$89 entry price
  • checkActive community
  • close$299 for full access
  • closeNo structured modules
  • closeNo hands-on labs
  • closeClaude Code only
Learn Harness
  • checkFree (Anthropic)
  • check6 projects
  • check11 languages
  • checkOfficial Anthropic
  • closeNo advanced patterns
  • closeNo skill kits
  • closeNo capstone
  • closeNo security ladder
Investment

Choose Your Path

Self-Paced
$97
one-time payment
  • check_circle65 lessons across 8 modules
  • check_circle13 scaffolded labs with solutions
  • check_circle56 quiz questions
  • check_circle20 SKILL.md files (7 kits)
  • check_circleLifetime access + updates
  • check_circleMock LLM for offline labs
Enroll Now
Enterprise
$199
one-time payment
  • check_circleEverything in Self-Paced
  • check_circlePrivate Discord channel
  • check_circle2 custom skills for your stack
  • check_circle1-hour onboarding call
  • check_circlePriority updates for 1 year
  • check_circleEarly access to new kits
Buy Enterprise
Cohort
$247
next cohort TBD
  • check_circleEverything in Enterprise
  • check_circle6-week structured schedule
  • check_circleWeekly live office hours
  • check_circleCapstone peer review
  • check_circleCompletion certificate
  • check_circleAlumni network
Join Cohort
FAQ

Common Questions

Do I need API keys to run the labs? expand_more
What tools/CLIs does this course cover? expand_more
How does FDSA compare to TAC or ClaudeFAST? expand_more
How long does the course take? expand_more
What's the refund policy? expand_more
Can I buy individual skill kits? expand_more

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/index.html b/site/.vitepress/dist/labs/index.html index 49df3fa..03692e8 100644 --- a/site/.vitepress/dist/labs/index.html +++ b/site/.vitepress/dist/labs/index.html @@ -6,12 +6,12 @@ Labs Overview | Agentic Engineering the Hard Way - + - + - + @@ -39,7 +39,7 @@ # Check solution after attempting: python solution.py test.txt "What is this file about?"

Lab Structure

Each lab has:

Offline Mode

All labs include automatic mock LLM fallback. No API keys required. The mock client returns realistic, deterministic responses so you can verify your code logic without paying for API calls.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l1-first-agent.html b/site/.vitepress/dist/labs/l1-first-agent.html index 26b81ed..ed4960f 100644 --- a/site/.vitepress/dist/labs/l1-first-agent.html +++ b/site/.vitepress/dist/labs/l1-first-agent.html @@ -6,12 +6,12 @@ L1: Your First Agent | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L1: Your First Agent

Build a single-tool agent from scratch.

Module: M1 Foundations
Est. Time: 60 min
Files: starter.py, solution.py

Objective

Create an agent that reads a file and answers questions about its contents.

Concepts

  • LLM + Tools + Loop = Agent
  • Tool definition with input schema
  • The agent loop (think → act → observe → repeat)
  • The reasoning parameter

Starter

bash
cd course/labs/L1-first-agent/
 python starter.py test.txt "What is this file about?"

The starter has TODO markers where you fill in:

  1. Define the read_file tool schema
  2. Implement the execute_tool function
  3. Implement the run_agent loop
  4. Wire up the main entry point

Solution

bash
python solution.py test.txt "What is this file about?"

Compare your implementation against the solution. Key differences to check:

  • Did you set MAX_ITERATIONS?
  • Does every tool call include reasoning?
  • Does the loop terminate on end_turn?

Checkpoints

  1. Tool call is made correctly (schema matches)
  2. Tool result is fed back to the LLM
  3. LLM produces final answer using tool result
  4. Loop terminates (doesn't run forever)

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l2-context.html b/site/.vitepress/dist/labs/l2-context.html index cf6f615..798bffa 100644 --- a/site/.vitepress/dist/labs/l2-context.html +++ b/site/.vitepress/dist/labs/l2-context.html @@ -6,12 +6,12 @@ L2b: Context-Aware Agent | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L2b: Context-Aware Agent

Module: M2 Architecture
Files: starter.py, solution.py

Objective

Implement sliding window + summarization for long agent sessions.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l2-context/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Build a ContextManager class
  2. Implement max_recent_turns sliding window
  3. Summarize old messages when window exceeds limit
  4. Build context from summary + recent messages

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l2-multi-tool.html b/site/.vitepress/dist/labs/l2-multi-tool.html index 3777e70..235adb1 100644 --- a/site/.vitepress/dist/labs/l2-multi-tool.html +++ b/site/.vitepress/dist/labs/l2-multi-tool.html @@ -6,12 +6,12 @@ L2a: Multi-Tool Agent | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L2a: Multi-Tool Agent

Module: M2 Architecture
Files: starter.py, solution.py

Objective

Add file operations AND web search to your agent.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l2-multi-tool/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Define a read_file tool schema
  2. Define a search_web tool (DuckDuckGo or similar)
  3. Define a write_file tool
  4. Implement execute_tool for all three
  5. Run the agent loop with tool result feedback

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l3-verifier.html b/site/.vitepress/dist/labs/l3-verifier.html index afcff70..f3a1517 100644 --- a/site/.vitepress/dist/labs/l3-verifier.html +++ b/site/.vitepress/dist/labs/l3-verifier.html @@ -6,12 +6,12 @@ L3b: Verifier Agent | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L3b: Verifier Agent

Module: M3 Safety
Files: starter.py, solution.py

Objective

Create a read-only agent that checks the builder's work independently.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l3-verifier/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Define read-only tools (read_file, grep_search, list_files)
  2. Implement claim verification logic
  3. Report confidence level (PERFECT through FAILED)
  4. No write/edit/bash tools allowed

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l3-whitelist-hook.html b/site/.vitepress/dist/labs/l3-whitelist-hook.html index 27b0177..43435d6 100644 --- a/site/.vitepress/dist/labs/l3-whitelist-hook.html +++ b/site/.vitepress/dist/labs/l3-whitelist-hook.html @@ -6,12 +6,12 @@ L3a: L4 Whitelist Hook | Agentic Engineering the Hard Way - + - + - + @@ -34,7 +34,7 @@ rm -rf target/ → BLOCK python cleanup.py → BLOCK (L3 marque break) npm test && rm -rf / → BLOCK (compound operator) - + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l4-agent-chain.html b/site/.vitepress/dist/labs/l4-agent-chain.html index 74de73d..7f18b46 100644 --- a/site/.vitepress/dist/labs/l4-agent-chain.html +++ b/site/.vitepress/dist/labs/l4-agent-chain.html @@ -6,12 +6,12 @@ L4a: Agent Chain | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L4a: Agent Chain

Module: M4 Orchestration
Files: starter.yaml, solution.yaml

Objective

Create a YAML-defined plan-build-review-verify pipeline.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l4-agent-chain/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Define planner step with output format requirements
  2. Define builder step with implementation rules
  3. Define reviewer step with checklist criteria
  4. Define verifier step with confidence reporting

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l4-multi-team.html b/site/.vitepress/dist/labs/l4-multi-team.html index d01e637..8dfff3c 100644 --- a/site/.vitepress/dist/labs/l4-multi-team.html +++ b/site/.vitepress/dist/labs/l4-multi-team.html @@ -6,12 +6,12 @@ L4b: Multi-Team Config | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L4b: Multi-Team Config

Module: M4 Orchestration
Files: starter-config.yaml, solution-config.yaml

Objective

Set up orchestrator + 2 teams with domain locking.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l4-multi-team/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Define orchestrator with delegate-only tools
  2. Configure Engineering team with lead + members
  3. Configure Validation team with domain permissions
  4. Set per-agent permissions (read/upsert/delete scope)

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l5-cicd.html b/site/.vitepress/dist/labs/l5-cicd.html index 3e53332..557dd3a 100644 --- a/site/.vitepress/dist/labs/l5-cicd.html +++ b/site/.vitepress/dist/labs/l5-cicd.html @@ -6,12 +6,12 @@ L5b: CI/CD Pipeline | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L5b: CI/CD Pipeline

Module: M5 Production
Files: starter.py, solution.py

Objective

Create golden dataset + automated regression gate.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l5-cicd/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Define golden test cases (input, expected tools, expected output)
  2. Implement score_case evaluation function
  3. Run pass@k evaluation (k=1, 3, 5)
  4. Gate deployment on pass rate threshold

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l5-observability.html b/site/.vitepress/dist/labs/l5-observability.html index f9e6be6..bc1ed48 100644 --- a/site/.vitepress/dist/labs/l5-observability.html +++ b/site/.vitepress/dist/labs/l5-observability.html @@ -6,12 +6,12 @@ L5a: Observability | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L5a: Observability

Module: M5 Production
Files: starter.py, solution.py

Objective

Trace every tool call + LLM completion to SQLite.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l5-observability/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Define SQLite schema for tool_calls and llm_completions
  2. Implement ObservabilityTracker class
  3. Log tool calls with params, result, duration
  4. Log LLM completions with token counts and cost
  5. Generate session summary report

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l6-cost-optimization.html b/site/.vitepress/dist/labs/l6-cost-optimization.html index c9ae136..26201db 100644 --- a/site/.vitepress/dist/labs/l6-cost-optimization.html +++ b/site/.vitepress/dist/labs/l6-cost-optimization.html @@ -6,12 +6,12 @@ L6b: Cost Optimization | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L6b: Cost Optimization

Module: M6 Economics
Files: starter.py, solution.py

Objective

Profile a session, find savings, implement cascade routing.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l6-cost-optimization/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Define model cost profiles (input/output $/M tokens)
  2. Calculate all-Opus session cost
  3. Implement cascade routing map (Flash/Sonnet/Opus by task)
  4. Calculate savings percentage

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l6-eval-harness.html b/site/.vitepress/dist/labs/l6-eval-harness.html index 270541d..cef2937 100644 --- a/site/.vitepress/dist/labs/l6-eval-harness.html +++ b/site/.vitepress/dist/labs/l6-eval-harness.html @@ -6,12 +6,12 @@ L6a: Eval Harness | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L6a: Eval Harness

Module: M6 Economics
Files: starter.py, solution.py

Objective

Build golden Q&A pairs + pass@k scoring system.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l6-eval-harness/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Define 10+ test cases with tool and output expectations
  2. Implement EvalHarness class with score_case
  3. Compute pass@1, pass@3, pass@5 metrics
  4. Support weighted scoring by case importance

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l7-autoresearch.html b/site/.vitepress/dist/labs/l7-autoresearch.html index f45c50a..cdfcd8b 100644 --- a/site/.vitepress/dist/labs/l7-autoresearch.html +++ b/site/.vitepress/dist/labs/l7-autoresearch.html @@ -6,12 +6,12 @@ L7a: Autoresearch Loop | Agentic Engineering the Hard Way - + - + - + @@ -32,7 +32,7 @@ python starter.py

Solution

bash
python solution.py

Experiment Log Format

jsonl
{"run": 1, "status": "baseline", "metric": {"name": "latency", "value": 52, "unit": "ms"}}
 {"run": 2, "status": "keep", "metric": {"name": "latency", "value": 46}, "deltaPct": -11.5}
 {"run": 3, "status": "discard", "metric": {"name": "latency", "value": 53}, "deltaPct": +1.9}

Integrity Guards

ThreatDetectionPrevention
Grinding (same code re-run)Code hash comparisonSkip run
Noise-chasingMedian vs best comparisonUse median, not best
Reward hackingTiming function isolationVerify computation not shortcut
Test set leakageTest data hash verificationAssert data unchanged
- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l7-meta-agent.html b/site/.vitepress/dist/labs/l7-meta-agent.html index d9a5c8a..983bcb8 100644 --- a/site/.vitepress/dist/labs/l7-meta-agent.html +++ b/site/.vitepress/dist/labs/l7-meta-agent.html @@ -6,12 +6,12 @@ L7b: Meta-Agent | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L7b: Meta-Agent

Module: M7 Advanced
Files: starter.py, solution.py

Objective

Generate a new agent persona from documentation.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l7-meta-agent/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Parse user description for agent requirements
  2. Infer appropriate tools from domain keywords
  3. Generate system prompt with persona and rules
  4. Create mental model YAML template
  5. Save all files to a named agent directory

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/competitive-analysis.html b/site/.vitepress/dist/modules/competitive-analysis.html index 34e9e25..b259d09 100644 --- a/site/.vitepress/dist/modules/competitive-analysis.html +++ b/site/.vitepress/dist/modules/competitive-analysis.html @@ -6,12 +6,12 @@ Competitive Analysis: Agentic Engineering Course Landscape | Agentic Engineering the Hard Way - + - + - + @@ -41,7 +41,7 @@ ││ │ └────────────────────────────── FRAMEWORK-AGNOSTIC

Your competitive moat: You are framework-agnostic (like Anthropic, unlike LangChain/DL.AI) AND you have hands-on labs (like TAC, unlike Anthropic). No other course occupies both quadrants.

Unique selling points to emphasize:

  1. "From the engineer who reverse-engineered Anthropic's Mythos paper — learn what the frontier models CAN'T do"
  2. "13 runnable labs with starter code AND solutions"
  3. "The only course with a working verifier agent, bash security ladder, and autoresearch loop"
  4. "Based on 25,000+ files of production agent systems — not tutorials, but battle scars"

Pricing recommendation: $97-147 positions you directly against TAC with MORE content. $197-247 positions you as premium (justified by original research + working systems source code).


Validation: ClaudeFAST Articles (Published May 2026)

Fetched both articles to verify our course content against real published material.

Article 1: "The Agent Manager: Who Owns Claude Code?"

Published by: ClaudeFAST, citing Anthropic's May 2026 terminology
Thesis: The Agent Manager role exists because enterprises need someone to own the harness.

Their 3 failure modes without an agent manager:

  1. Tribal knowledge — Every dev evolves a personal AI layer; nothing is shared
  2. Inconsistent results — Same model, same codebase, different output quality
  3. Security drift — Permissions configured ad hoc, MCP servers with unbounded scope

Their 5 areas of ownership (maps to the 5 harness subsystems):

Our coverage in M5: We added the Agent Manager role lesson (5.2c) with the 90-day playbook, plus the 5-tool production stack case study (5.2b). Both align exactly with ClaudeFAST's framing. ✅

Grade: A — Our coverage matches the published standard.

Article 2: "Thread-Based Engineering: Scale Claude Code Sessions"

Published by: ClaudeFAST
Thesis: 6 fundamental thread patterns that scale AI-assisted engineering work.

Their 6 thread types vs our coverage:

ThreadClaudeFAST defines it asOur CoverageGrade
Base ThreadPrompt → Tool Calls → ReviewM1 agent loop✅ A
P-ThreadParallel instances (Boris runs 15)M4, added this session✅ A
L-ThreadLong-running, hours+M7 always-on✅ A
B-ThreadAgents managing agentsM4 delegation✅ A
F-ThreadFusion, N agents 1 winnerM4, added this session✅ A
C-ThreadCheckpoint gatesM5 HITL✅ A

ClaudeFAST explicitly names Boris Cherny (creator of Claude Code) running 5 tmux tabs + 5-10 web instances = 10-15 parallel P-threads. This matches HypeMan's psmux + mprocs stack exactly.

Our coverage in M4: All 6 thread types covered. ✅

What This Validates

  1. REFERENCE-STACK.md is production-accurate — Your stack mirrors Boris Cherny's own setup and ClaudeFAST's documented patterns.
  2. Agent Manager role is real — Anthropic published the terminology May 2026. Our M5 lesson matches.
  3. Thread-based engineering is the standard — Both ClaudeFAST and IndyDevDan teach it. We cover all 6 types.
  4. Your stack is ahead of the course — HypeMan runs exactly what ClaudeFAST teaches. REFERENCE-STACK.md documents it.

Live Comparison: IndyDevDan's Published Content (agenticengineer.com)

I fetched 5 pages from his site. Here's his published intellectual property and what it means for your course.

Page 1: "The Only Claude Code Competitor"

Core framework: 4 dimensions of agent control — context, model, prompt, tools3-tier customization ladder:

Thesis: "Claude Code is the starter pack. Pi is the endgame." He positions Claude Code for beginners (first 100 hours) and Pi for advanced users who need harness control.

Course gap analysis: Your M1-M4 already cover all 3 tiers. His 4-dimensions framing (context, model, prompt, tools) is cleaner than your current 4 pillars. Consider adopting his framing language.

Page 2: "Top 2% Agentic Engineering" — 10 Bets for 2026

Bet #TopicCovered in Your Course?
1Anthropic becomes a monster (ecosystem moat)Not covered as a thesis
2Tool calling is the opportunityCovered in M2
3Custom agents above allCovered in M2, M4
4Multi-agent orchestrationCovered in M4
5Agent sandboxesCovered in M7
6In-loop vs out-loop agentic codingNot framed this way
7Agentic Coding 2.0 (agents conducting agents)Covered in M4, M7
8The benchmark breakdown (skepticism)Not covered
9Agents eating software (market trend)Not covered
10Agent-native architecturePartial in M4

Gap: Bets 1, 6, 8, 9 are market/intellectual framing you don't address. They're opinion/positioning pieces.

Page 3: "Thinking in Threads" — His Signature Framework

ThreadWhat It IsIn Your Course?
Base ThreadPrompt → Tool Calls → ReviewM1 agent loop
P-ThreadRun N agents in parallelNot covered
C-ThreadCheckpoints, human gatesM5 (HITL)
F-ThreadFusion: N agents, 1 winnerNot covered
B-ThreadBranch: agents manage agentsM4 delegation
L-ThreadLong-running (hours/days)M7 always-on
Z-Threadatomic prompt→tools→shipM1 basic loop

Gap: P-threads (parallel) and F-threads (fusion) are missing. These are his most distinctive frameworks.

Page 4: "Engineering with Exponentials"

Thesis: "The prompt is the new fundamental unit of knowledge work programming." 3-part essay series: (1) Engineering with Exponentials, (2) AI Coding is Transitory, (3) Agentic Coding is the Endgame. No direct technical gaps. This is thought-leadership positioning.

Page 5: "Compute Advantage Equation"

Formula: (Compute Scaling × Autonomy) ÷ (Time + Effort + Monetary Cost)Purpose: Interactive calculator to compare AI coding tools. Gap: You don't have a unified "value equation" for agentic engineering.

Summary: His IP vs Your Coverage

His unique IP you should reference or adopt:

  1. 4 dimensions of control (context, model, prompt, tools) — cleaner framing for M1
  2. Thread framework (P-thread, F-thread, C-thread) — add as orchestration patterns in M4
  3. Compute Advantage Equation — add a version in M6 (economics)
  4. "Do you trust your agents?" — use this framing hook in M1

His gaps that you fill (your competitive moat):

Verdict: Dan is a thought leader with strong mental models (threads, 4 dimensions, compute advantage). You are a curriculum builder with more comprehensive technical coverage. The ideal course combines both — his mental models + your technical depth.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/curriculum.html b/site/.vitepress/dist/modules/curriculum.html index b74c8e7..d5a213e 100644 --- a/site/.vitepress/dist/modules/curriculum.html +++ b/site/.vitepress/dist/modules/curriculum.html @@ -6,12 +6,12 @@ Curriculum | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content

Curriculum

Module Overview

ModuleTitleHoursWhat You'll Learn
M1Foundations4-6What agents are, harness vs model, decision frameworks, trust
M2Architecture6-8Tools, loops, context, memory, skills, codebase patterns
M3Safety & Security5-76-level security ladder, hooks, verifier pattern, defense-in-depth
M4Orchestration7-9Multi-agent patterns, P-threads, delegation, P2P communication
M5Production5-7CI/CD, shadow deploys, observability, rollback, 5-tool stack
M6Economics4-6Model pricing, cascade routing, pass@k evals, cost optimization
M7Advanced5-7Autoresearch, meta-agents, beyond MCP, always-on agents
M8Capstone8-12Build a production-grade multi-agent system

Total: 44-62 hours, 65 lessons, 13 labs, 56 quizzes


Module 1: Foundations (4-6 hours)

LessonTopic
1.1What Makes an Agent? — Karpathy thesis, Software 3.0
1.2The Harness vs The Model — 5 subsystems, 4 dimensions
1.3The Repository IS the Spec
1.4Decision Framework: "Should I use an agent for this?"
1.5The Agent Loop: Think, Act, Observe, Repeat
1.6Tool Calling Deep Dive
1.7Vibe Coding vs Agentic Engineering
1.8Do You Trust Your Agents? — Hotz critique, Schmidt strategic view
LabYour First Agent (single-tool)

Module 2: Architecture (6-8 hours)

LessonTopic
2.1The Four Pillars: Tools, Loop, Context, Memory
2.2Tool Design Patterns: MCP, CLI, Script, Skills
2.3Agent Loop Variants: 5 levels
2.4Skills System Deep Dive: path-scoped, plugins, LSP
2.5Agent-Readable Workspace: init phase, feature lists
2.6Context Window Management
2.7Memory Patterns: mental models, scratch pads
2.8The Reasoning Parameter
2.9Codebase Architectures: 4 patterns
LabsMulti-Tool Agent + Context-Aware Agent

Module 3: Safety & Security (5-7 hours)

LessonTopic
3.1Prompt Injection (L0) + Why Bash Is the Problem
3.2The 6-Level Security Ladder
3.3The L3 Marque Break
3.4Damage Control: 3 access levels
3.5Hook Architecture: 13 lifecycle events
3.6The Verifier Pattern
3.7Defense-in-Depth Stacking
LabsWhitelist Hook + Verifier Agent

Module 4: Orchestration (7-9 hours)

LessonTopic
4.1Why One Agent Is Not Enough
4.2Orchestration Patterns: Dispatcher, Pipeline, P2P
4.3P-Threads: Parallel Agent Execution
4.4F-Threads: Fusion, N Agents One Winner
4.5Depth-2 Delegation
4.6Agent Experts That Remember
4.7Domain Locking
4.8TillDone Task Discipline
4.9Agent Chains
4.10P2P Communication + MCP Agent Mail
4.11Service Connectors
4.12Conversation Awareness
4.13CEO Board System
4.14UI Agents System
LabsAgent Chain + Multi-Team Config

Module 5: Production (5-7 hours)

LessonTopic
5.1What Production Means for Agents
5.2CI/CD for Agents
5.3The 5-Tool Production Stack
5.4The Agent Manager Role
5.5Shadow Deployments
5.6Rollback Strategies
5.7Observability + Cross-Provider Search
5.8Alerting and Monitoring
5.9Deployment Modes
5.10Cost Control
LabsObservability SQLite + CI/CD Pipeline

Module 6: Economics (4-6 hours)

LessonTopic
6.0The Compute Advantage Equation
6.1Tokenomics: 3 Levels
6.2LLM Pricing Landscape
6.3Cascade Routing
6.4Cost Per Session Math
6.5Agent Evaluation Metrics
6.6Automated Evaluation
6.7A/B Testing Agents
6.8Human Evaluation
LabsEval Harness + Cost Optimization

Module 7: Advanced (5-7 hours)

LessonTopic
7.1Autoresearch: Self-Improving Agents
7.2Integrity: Keeping the Loop Honest
7.3Meta-Agents: Agents That Build Agents
7.4Beyond MCP: Choosing Tool Channels
7.5Mac Mini Agent: Physical Sandbox
7.6Always-On Agents
LabsAutoresearch Loop + Meta-Agent

Module 8: Capstone (8-12 hours)

Build a production-grade multi-agent system. Choose from:

  • Brand Monitor — Multi-LLM brand mention tracking
  • Code Review Pipeline — Plan, Build, Review, Verify
  • Strategic Decision Board — 8-agent CEO board

Reference Documents

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/debate.html b/site/.vitepress/dist/modules/debate.html index 5f2f28f..31696c7 100644 --- a/site/.vitepress/dist/modules/debate.html +++ b/site/.vitepress/dist/modules/debate.html @@ -6,12 +6,12 @@ The Great Agent Debate | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content

The Great Agent Debate

Two opposing views from credible engineers. Both are essential context.

Armin Ronacher — "Building Pi With Pi"

Who: Creator of Flask, Sentry co-founder, Pi maintainer.
Post: lucumr.pocoo.org (May 24, 2026)

Key arguments:

  • Pi is built with Pi (agents building agent tools)
  • The harness matters most
  • We're not at full autonomy yet
  • AI-generated PRs create new OSS maintenance burdens

George Hotz — "The Eternal Sloptember"

Who: Founder of comma.ai, first iPhone jailbreaker.
Post: geohot.github.io (May 24, 2026)

Key arguments:

  • "Agents cannot program" — output is broken in increasingly hard-to-detect ways
  • It's not "you're using it wrong" — he tried all models, harnesses, prompts
  • Agents hurt large organizations more (slow feedback loops)
  • "Golden era for slop, dark age for quality"

The Synthesized View

Armin SaysGeorge SaysWe Teach
Harness is the productOutput is slopThe harness catches slop (M3)
Not at dark factory yetAgents can't programUse agents for what they're good at (M1)
Built with Pi is realSlot machine polish problemVerifier finishes the polish (M3)
OSS maintenance is hardLarge orgs will sufferProduction patterns prevent this (M5)

Both are right. Agents produce slop. The harness, verification, and production patterns turn slop into shipped quality. Without the harness, Hotz wins.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/feynman.html b/site/.vitepress/dist/modules/feynman.html index 68373f9..48056ce 100644 --- a/site/.vitepress/dist/modules/feynman.html +++ b/site/.vitepress/dist/modules/feynman.html @@ -6,12 +6,12 @@ Feynman-Style Course: Core Concepts in Plain Language | Agentic Engineering the Hard Way - + - + - + @@ -32,7 +32,7 @@ 2. The agent does something (reads a file, runs a command) 3. The agent sees the result 4. The agent decides: "Am I done?" If yes, stop. If no, go back to step 1.

That's it. That's the entire loop. The magic is in what tools you give it and how you tell it to decide when to stop.


4. The Four Things You Control (M1)

Fancy version: Context, Model, Prompt, Tools — the 4 dimensions of control.

Simple version: You can only change four things about any agent:

  1. What it knows (context) — files, instructions, conversation history
  2. How smart it is (model) — which LLM powers it
  3. How you talk to it (prompt) — the system instructions
  4. What it can do (tools) — read, write, search, run commands

The trick: #2 (model) is the least important and most expensive. #4 (tools) is the most important and cheapest. Focus on tools.


5. The Repository IS the Spec (M1)

Fancy version: All necessary context should live in the repository as the single source of truth.

Simple version: Imagine you wake up an engineer at 3AM and drop them into a project. They need to know: What does this project do? How do I run tests? Where do I put new code? What rules should I follow?

If the answer is "ask Bob" — you fail. If the answer is "read CLAUDE.md in the repo" — you win.

An agent can only see what's in files. EVERYTHING the agent needs must be in a file. Not in your head. Not in tribal knowledge. In a file.


6. The Security Ladder (M3)

Fancy version: 6 levels of bash security from L0 to L5.

Simple version: Imagine your agent has a button that says "run any command on your computer." That's the most dangerous button in the world. Here's how to protect it:

The dirty secret: Most people stop at Level 2 and think they're safe. They're not. The math proves it: at a 1% failure rate, there's a 63% chance of disaster over 100 agent turns.


7. Why One Agent Is Not Enough (M4)

Fancy version: Context ceiling, capability ceiling, reliability ceiling.

Simple version: Imagine one person trying to be CEO, engineer, designer, QA, and customer support at the same time. They'd be bad at everything and exhausted.

One agent has the same problem:

The fix: multiple specialized agents. One plans. One codes. One reviews. One verifies. Each one good at its job. If the reviewer breaks, the coder keeps working.


8. Orchestration Patterns (M4)

Fancy version: Dispatcher, Pipeline, P2P — three patterns for multi-agent work.

Simple version:

Pattern 1 — The Manager (Dispatcher): One boss tells specialists what to do. Each specialist works independently. The boss collects results. Like a team lead assigning tickets.

Pattern 2 — The Assembly Line (Pipeline): Step 1 → Step 2 → Step 3. Planner makes a plan. Builder builds it. Reviewer checks it. Each step feeds into the next.

Pattern 3 — The Coworkers (P2P): No boss. Agents talk to each other directly like peers. "Hey, can you check this?" "Sure, here's what I found." Flat, fast, flexible.

Which to use: Manager for complex projects. Assembly line for well-defined workflows. Coworkers for creative collaboration.


9. TillDone — Task Discipline (M4)

Fancy version: Task list gating with live progress tracking.

Simple version: Before an agent can do anything, it must write down what it's going to do. No "just start coding." Write the task list first. Then do each task. Mark it done. If the session ends with incomplete tasks, the agent gets nudged: "Hey, you're not done yet."

This stops the #1 agent failure: starting without a plan and wandering off.


10. The 3x Rule (M6)

Fancy version: Production agent costs 3x your prototype estimate.

Simple version: When you build a quick prototype, the agent works perfectly on the happy path. In production, everything goes wrong:

The rule: Whatever you think the agent will cost, multiply by 3. If your prototype costs $0.10 per task, production will cost $0.30. Budget for it.


11. Cascade Routing (M6)

Fancy version: Use cheap models for simple steps, expensive models for complex steps.

Simple version: Don't use your smartest engineer to sort papers. Use the intern for sorting, the senior for decisions.

For agents:

This saves 66-80% compared to using Opus for everything. The work is the same quality because each model does what it's best at.


12. The Verifier (M3)

Fancy version: Two-agent observer pattern with read-only verification.

Simple version: Imagine you have two engineers. One writes code. The other checks the code. The checker CANNOT write code — they can only read files and point out mistakes.

The builder doesn't even know the checker exists. After every change, the checker automatically reviews it. If they find a problem, they send a note: "Hey, this file says X but the actual code does Y — fix it."

After 3 failed checks, the checker calls you: "I can't verify this, come look."

This catches mistakes BEFORE they hit production. And because the checker can't write code, they can't make things worse.


13. The Confidence Ladder (M3)

Fancy version: PERFECT → VERIFIED → PARTIAL → FEEDBACK → FAILED

Simple version: After the verifier checks the work, they give a grade:

GradeMeaningWhat You Do
PERFECTEverything checks out, no issuesShip it
VERIFIEDMinor non-blocking gapsShip it, note the gaps
PARTIALNo failures, but some things can't be checkedReview the unchecked parts
FEEDBACKSomething failed, correction sentWait for the fix
FAILEDCan't verify at allInvestigate immediately

14. Autoresearch (M7)

Fancy version: Self-improving agents with integrity guards.

Simple version: An agent that experiments on itself. It tries a change, measures if it helped, and keeps it if it did. Like a scientist running experiments.

The problem: Agents cheat. They run the same code 160 times hoping for a lucky result (grinding). They move work outside the timing function (reward hacking). They find and train on the test data (data leakage).

The fix: Integrity guards.


15. The Universal Truth

Fancy version: Deterministic orchestrates non-deterministic. Code is the harness. AI is the engine.

Simple version: Use regular code for things that never change. Use AI for things that need intelligence. Don't ask AI to do what a simple script can do.

Or as Kelsey Hightower put it: "Don't waste tokens on deterministic work."

The practical rule: If you can write a bash command or a Python function that does it, DO THAT. Only use AI when you need judgment, creativity, or adaptation. Every token you save is money and reliability you keep.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/field-manual.html b/site/.vitepress/dist/modules/field-manual.html index 91b6d73..c3ab33f 100644 --- a/site/.vitepress/dist/modules/field-manual.html +++ b/site/.vitepress/dist/modules/field-manual.html @@ -6,12 +6,12 @@ Agentic Engineering — Technical Field Manual | Agentic Engineering the Hard Way - + - + - + @@ -77,7 +77,7 @@ ECONOMICS: CA = (CS × A) ÷ (T + E + MC) 3x rule Cascade 66-80% EVALS: pass@k = 1 - (1-p)^k Cost/task Tool call accuracy TRUST: "Yes, because I've engineered it" — not blind faith - + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/m1-foundations.html b/site/.vitepress/dist/modules/m1-foundations.html index 1403928..399f3fb 100644 --- a/site/.vitepress/dist/modules/m1-foundations.html +++ b/site/.vitepress/dist/modules/m1-foundations.html @@ -6,12 +6,12 @@ Module 1: Foundations | Agentic Engineering the Hard Way - + - + - + @@ -90,7 +90,7 @@ import json # Your code here...

Checkpoints:

  1. Tool call is made correctly (schema matches)
  2. Tool result is fed back to the LLM
  3. LLM produces final answer using tool result
  4. Loop terminates (doesn't run forever)

Solution: course/labs/L1-first-agent/solution.py


Quiz M1

  1. What three components make an AI agent? (Multiple choice)
  2. True/False: The model quality matters more than the harness design
  3. When should you NOT use an agent? (Scenario-based)
  4. What does the reasoning parameter do?
  5. Calculate: If an agent has a 2% failure rate per turn and runs 50 turns, what's the probability of at least one failure?
- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/m2-architecture.html b/site/.vitepress/dist/modules/m2-architecture.html index 8ba07f2..af769cc 100644 --- a/site/.vitepress/dist/modules/m2-architecture.html +++ b/site/.vitepress/dist/modules/m2-architecture.html @@ -6,12 +6,12 @@ Module 2: Agent Architecture | Agentic Engineering the Hard Way - + - + - + @@ -128,7 +128,7 @@ if attempt == MAX_RETRIES - 1: return {"error": "API unavailable after 3 retries", "fallback": "use cached result"} time.sleep(2 ** attempt) # exponential backoff

Lab 2.8: Multi-Tool Agent

Objective: Add file operations + web search tools to the agent from Lab 1.

Starter: course/labs/L2-multi-tool/starter.py
Solution: course/labs/L2-multi-tool/solution.py


Lab 2.9: Context-Aware Agent

Objective: Implement sliding window + summarization for long sessions.

Starter: course/labs/L2-context/starter.py
Solution: course/labs/L2-context/solution.py

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/m3-safety.html b/site/.vitepress/dist/modules/m3-safety.html index a836950..fdd2faa 100644 --- a/site/.vitepress/dist/modules/m3-safety.html +++ b/site/.vitepress/dist/modules/m3-safety.html @@ -6,12 +6,12 @@ Module 3: Safety & Security | Agentic Engineering the Hard Way - + - + - + @@ -109,7 +109,7 @@ # 3. Check against safelist # 4. Block if not safelisted, allow if matched # 5. Handle the compound shell operator case (&&, ||, ;, |)

Lab 3.9: Build a Verifier Agent

Objective: Create a read-only agent that checks the builder's work.

Starter: course/labs/L3-verifier/starter.py

Checkpoints:

  1. Verifier can read builder's file changes
  2. Verifier can grep/search for evidence
  3. Verifier has NO write/edit/bash tools
  4. Verifier reports confidence level
  5. Builder can receive and act on verifier feedback
- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/m4-orchestration.html b/site/.vitepress/dist/modules/m4-orchestration.html index dc433e3..5fcea36 100644 --- a/site/.vitepress/dist/modules/m4-orchestration.html +++ b/site/.vitepress/dist/modules/m4-orchestration.html @@ -6,12 +6,12 @@ Module 4: Multi-Agent Orchestration | Agentic Engineering the Hard Way - + - + - + @@ -114,7 +114,7 @@ Connector → authenticates → calls API → returns result Agent → processes result → continues work Orchestrator → synthesizes final output

Lesson 4.10: The CEO Board System

8 specialist agents for strategic decision-making:

Board MemberFocusTime Horizon
RevenueCash flow, short-term wins30-90 days
CompounderTrust, long-term value6-24 months
ContrarianAssumptions, blind spots3x weight on dissent
Technical ArchitectSystem durabilityOngoing
Product StrategistProblem selectionQuarterly
Customer OracleUser behaviorOngoing
Market StrategistPositioningQuarterly
MoonshotAsymmetric upside1-5 years

Flow

  1. CEO frames the decision
  2. Board debates (sources required, no "I think")
  3. Verifier checks facts (2+ sources per claim)
  4. Executor creates execution plan
  5. Tracker logs for quarterly review

Lesson 4.11: UI Agents System

12 agents across 4 teams for brand-consistent UI generation:

Brand → Product → Tree → Branch → Leaf

Each level has its own brand.yaml with CSS custom properties. Zero hardcoded values. Agents generate Vue components that use only CSS custom properties from the brand config.

Lab 4.12: Build an Agent Chain

Objective: Create a plan→build→review pipeline in YAML.

Starter: course/labs/L4-agent-chain/starter.yamlSolution: course/labs/L4-agent-chain/solution.yaml

Checkpoints:

  1. Planner produces structured plan with tasks and file paths
  2. Builder creates code matching the plan
  3. Reviewer identifies issues with severity (critical/major/minor)
  4. Verifier confirms each claim with file:line evidence

Lab 4.13: Deploy a Multi-Team System

Objective: Set up orchestrator + 2 teams with domain locking.

Starter: course/labs/L4-multi-team/starter-config.yamlSolution: course/labs/L4-multi-team/solution-config.yaml

Checkpoints:

  1. Orchestrator delegates, never executes
  2. Each team has lead + members with distinct roles
  3. Domain permissions restrict each agent to its scope
  4. Mental model files exist for each agent
- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/m5-production.html b/site/.vitepress/dist/modules/m5-production.html index 59321ea..a6c490d 100644 --- a/site/.vitepress/dist/modules/m5-production.html +++ b/site/.vitepress/dist/modules/m5-production.html @@ -6,12 +6,12 @@ Module 5: Production Patterns | Agentic Engineering the Hard Way - + - + - + @@ -161,7 +161,7 @@ scope: "global" amount: 200 # $2/session max hard_stop: true

Warning vs Hard Stop


Lab 5.9: Set Up Agent Observability

Objective: Trace every tool call + LLM completion to a local SQLite database.

Starter: course/labs/L5-observability/starter/

Lab 5.10: CI/CD Pipeline

Objective: Create a golden dataset and automated regression gate.

Starter: course/labs/L5-cicd/starter/

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/m6-economics.html b/site/.vitepress/dist/modules/m6-economics.html index b7b441a..64508c9 100644 --- a/site/.vitepress/dist/modules/m6-economics.html +++ b/site/.vitepress/dist/modules/m6-economics.html @@ -6,12 +6,12 @@ Module 6: Economics & Evaluation | Agentic Engineering the Hard Way - + - + - + @@ -75,7 +75,7 @@ ├── 288 runs/day × $0.08 = $23.04/day = $691/month ├── With cascade + dedup + scheduling: $4.15/day = $125/month └── Savings: 82%

The 80/20 Rule

90% of cost savings come from three changes:

  1. Model cascade — use cheap models for routine work (saves 50-80%)
  2. Iteration limits — cap loops at 3-5 turns (saves 40-60%)
  3. Deduplication — don't re-read the same context (saves 20-30%)

Do these three first before any other optimization.


Lab 6.8: Build an Eval Harness

Objective: Create golden Q&A pairs + automated pass/fail scoring.

Starter: course/labs/L6-eval-harness/starter.py

Lab 6.9: Cost Optimization

Objective: Profile a session, identify savings, implement cascade routing.

Starter: course/labs/L6-cost-optimization/starter.py

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/m7-advanced.html b/site/.vitepress/dist/modules/m7-advanced.html index 7f39237..16aecfe 100644 --- a/site/.vitepress/dist/modules/m7-advanced.html +++ b/site/.vitepress/dist/modules/m7-advanced.html @@ -6,12 +6,12 @@ Module 7: Advanced Topics | Agentic Engineering the Hard Way - + - + - + @@ -88,7 +88,7 @@ wake_command: "claude -p 'Check brand mentions since last run'" sleep_command: "pkill -f 'claude.*brand-monitor'" log_path: "/var/log/openclaw/brand-monitor.log"

It starts, checks for work, executes if needed, then goes back to sleep. No continuous billing, no context window overflow, no runaway loops. This is the pattern for production always-on agents.

When NOT to Use Always-On

Always-on adds complexity. Before building one, verify you actually need it:

Always-on makes sense when you need adaptive scheduling, dynamic task generation, or autonomous decision-making about what to work on next.


Lab 7.7: Build an Autoresearch Loop

Objective: Agent runs experiment, measures result, logs it, decides keep/discard.

Starter: course/labs/L7-autoresearch/starter.py

Checkpoints:

  1. Run code, measure baseline metric
  2. Modify code (agent makes change)
  3. Re-measure, compare, log
  4. Discard if regression, keep if improvement
  5. Include integrity guard (code hashing)

Lab 7.8: Meta-Agent

Objective: Agent generates a new agent persona from documentation.

Starter: course/labs/L7-meta-agent/starter.py

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/m8-capstone.html b/site/.vitepress/dist/modules/m8-capstone.html index 68b785c..e675217 100644 --- a/site/.vitepress/dist/modules/m8-capstone.html +++ b/site/.vitepress/dist/modules/m8-capstone.html @@ -6,12 +6,12 @@ Module 8: Capstone — Production Multi-Agent System | Agentic Engineering the Hard Way - + - + - + @@ -54,7 +54,7 @@ [ ] Cost analysis ($/task, optimization opportunities) [ ] Security audit (which L-level, what gaps remain) [ ] Retrospective (max 1 page)

Pass Criteria

CriterionMinimumTarget
System runs without manual intervention
All agents have domain-locked permissions
Each agent has mental model file
pass@k (k=3) on golden dataset>60%>80%
Cost analysis within 2x of optimal
Security audit identifies ≥2 improvements
Observability captures all tool calls
Architecture document submitted

Grading Rubric

AreaWeightPoor (0)Good (1)Excellent (2)
Architecture20%No diagram, unclear designDiagram present, mostly clearClear diagram, justified choices
Implementation25%Agents don't workAgents work on happy pathAgents handle errors gracefully
Security20%L1 onlyL3+ with damage-controlL4+ with verifier
Testing15%No evalpass@k computedpass@k + cost analysis + grind detection
Documentation10%MinimalArchitecture + setupArchitecture + setup + retrospective
Cost Optimization10%Single modelCascade routingCascade + verified savings
- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/non-technical.html b/site/.vitepress/dist/modules/non-technical.html index d61d47a..479be0b 100644 --- a/site/.vitepress/dist/modules/non-technical.html +++ b/site/.vitepress/dist/modules/non-technical.html @@ -6,12 +6,12 @@ Non-Technical Track: Decision Frameworks for AI Agents | Agentic Engineering the Hard Way - + - + - + @@ -75,7 +75,7 @@ ├── <$50/month → Use cheapest model (Gemini Flash) ├── $50-500/month → Cascade routing (mix models) └── >$500/month → Multi-agent with verification - + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/reference-stack.html b/site/.vitepress/dist/modules/reference-stack.html index 1b22f48..f720897 100644 --- a/site/.vitepress/dist/modules/reference-stack.html +++ b/site/.vitepress/dist/modules/reference-stack.html @@ -6,12 +6,12 @@ Reference Architecture: Production Multi-Agent Stack | Agentic Engineering the Hard Way - + - + - + @@ -90,7 +90,7 @@ # Heartbeat schedule claw schedule --cron "0 */6 * * *" --task "daily-report"

Cost Analysis

ToolBest ForEst. Cost/TaskAutonomy Level
Claude CodeComplex multi-step tasks$0.05-$0.30High (with hooks)
Pi AgentCustom workflows, safety-critical$0.02-$0.15Very high (extensible)
OpenCodeOSS-compatible, budget tasks$0.01-$0.05Medium
GeminiHigh-volume, simple tasks$0.002-$0.01Low
OpenClawScheduled, always-on tasks$0.01-$0.10Autonomous

Key Production Patterns

  1. Model heterogeneity: Different models for different roles. Claude for complex reasoning, Gemini for fast/cheap tasks, Qwen as specialist.

  2. Tool heterogeneity: Not one agent CLI, but five. Each has different strengths. The stack uses each where it excels.

  3. Defense in depth: psmux isolates sessions. dmux isolates files. damage-control restricts commands. mprocs restarts failed processes.

  4. Observability: agent-mux shows live status. mprocs logs output. Session history enables replay debugging.

  5. No single point of failure: If Claude Code fails, Pi or OpenCode can take over. The mprocs supervisor restarts crashed processes.

What This Stack Proves

This architecture demonstrates every concept taught in Modules 1-7:

ConceptWhere It Appears
Agent loopEvery tool follows think→act→observe→repeat
Tool designEach tool provides different tools (read, write, bash, search)
Securitydamage-control, psmux isolation, dmux isolation
Multi-agentteammate-mode, mprocs launching 5 agents
Productionmprocs supervision, cost tracking, worktree isolation
EconomicsCascade routing across 5 tools by task type
Advancedagent-mux as meta-agent controlling other agents
- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/software-factory.html b/site/.vitepress/dist/modules/software-factory.html index 0628bf5..0d1d342 100644 --- a/site/.vitepress/dist/modules/software-factory.html +++ b/site/.vitepress/dist/modules/software-factory.html @@ -6,12 +6,12 @@ Software Factory: Paperclip Integration | Agentic Engineering the Hard Way - + - + - + @@ -34,7 +34,7 @@ (all JWT authenticated)

Authentication Tiers

TierTrust ModelTokenUse Case
1. LocalSame machineShort-lived JWT (48h)Local dev
2. CLIShell accessLong-lived API keyRemote agents
3. Self-registerAutonomousInvite URL to JWTOpenClaw agents

Quick Start

bash
cd paperclip
 pnpm dev --bind lan
 curl -sS http://127.0.0.1:3100/api/health | jq

Status

Paperclip's auth plan documents all 3 tiers. Tier 1 is partially implemented — env vars are passed but PAPERCLIP_API_KEY (JWT) needs to be added to the env injection. This is the last code change needed to close the factory loop.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/tool-reference.html b/site/.vitepress/dist/modules/tool-reference.html index 058786e..a91347d 100644 --- a/site/.vitepress/dist/modules/tool-reference.html +++ b/site/.vitepress/dist/modules/tool-reference.html @@ -6,12 +6,12 @@ Agent CLI Reference: 5-Tool Comparison | Agentic Engineering the Hard Way - + - + - + @@ -96,7 +96,7 @@ ├── Budget constrained → OpenCode + Go models ├── Maximum control → Pi Agent + extensions └── Enterprise rollout → Claude Code + Agent Manager - + \ No newline at end of file diff --git a/site/.vitepress/dist/public/certificate/template.html b/site/.vitepress/dist/public/certificate/template.html index 535774a..54e94fb 100644 --- a/site/.vitepress/dist/public/certificate/template.html +++ b/site/.vitepress/dist/public/certificate/template.html @@ -6,12 +6,12 @@ Certificate of Completion | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content

Certificate of Completion

This certifies that

________________________

has completed the

FDSA Agentic Engineering Course

65 lessons · 13 labs · 56 quizzes · 20 skill kits

Awarded: ________________


This course covers: agent harnesses, multi-agent orchestration, production deployment, security (6-level ladder), model economics, autoresearch, and meta-agents. Framework-agnostic across Claude Code, Pi Agent, OpenCode, Hermes, and OpenClaw.

Verify at: https://fdsa.agency/verify

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/resources.html b/site/.vitepress/dist/resources.html index b93f3f7..db4f091 100644 --- a/site/.vitepress/dist/resources.html +++ b/site/.vitepress/dist/resources.html @@ -6,12 +6,12 @@ Resources | Agentic Engineering the Hard Way - + - + - + @@ -33,7 +33,7 @@ # Mac/Linux bash install.sh - + \ No newline at end of file diff --git a/site/.vitepress/dist/skills.html b/site/.vitepress/dist/skills.html index 1ca0752..86cce91 100644 --- a/site/.vitepress/dist/skills.html +++ b/site/.vitepress/dist/skills.html @@ -6,12 +6,12 @@ Skill Kits | Agentic Engineering the Hard Way - + - + - + @@ -41,7 +41,7 @@ │ ├── observability/ (4 skills) │ └── ceo-board/ (11 agents) └── .claude-plugin/marketplace.json - + \ No newline at end of file diff --git a/site/.vitepress/dist/troubleshooting.html b/site/.vitepress/dist/troubleshooting.html index 8034c3c..35527c2 100644 --- a/site/.vitepress/dist/troubleshooting.html +++ b/site/.vitepress/dist/troubleshooting.html @@ -6,12 +6,12 @@ Troubleshooting & FAQ | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content

Troubleshooting & FAQ

Installation

Q: pip install anthropic fails with SSL error
A: Update pip: python -m pip install --upgrade pip. If on Windows behind a corporate proxy, set set HTTPS_PROXY=http://proxy:port.

Q: python not found on Windows
A: Install from python.org. Check "Add Python to PATH" during installation.

Q: ModuleNotFoundError: No module named 'yaml'
A: pip install pyyaml

Labs

Q: Lab returns "No input provided"
A: Check you're passing messages parameter, not prompt. The mock LLM expects: messages=[{"role": "user", "content": "your prompt"}]

Q: Agent loops forever
A: MAX_ITERATIONS is not set or is too high. Set it to 10-15 for labs.

Q: Tool call returns empty result
A: The mock LLM generates tool calls based on keyword detection. If your prompt doesn't contain trigger words (read, search, write), it won't generate tool calls.

Q: str_replace_editor not found
A: That's an Anthropic-specific tool type. The mock LLM only supports basic tool_use blocks. Use the standard tool format shown in the labs.

Skills

Q: Installed skills don't appear in /skills menu
A: Restart Claude Code after installation. Skills are loaded at startup.

Q: Skill says "not user-invocable"
A: Check the YAML frontmatter has user-invocable: true. Kit master files intentionally omit this (they're documentation, not invocable skills).

Q: $ARGUMENTS not being replaced
A: $ARGUMENTS is a placeholder. The agent (Claude Code / Pi) replaces it with your input when you invoke the skill via /command.

API Keys

Q: "This model is not available" from Anthropic
A: You might need to request access to Claude Sonnet 4 / Opus 4. Check docs.anthropic.com for available models for your tier.

Q: Mock LLM works but real API returns 401
A: Check ANTHROPIC_API_KEY is set correctly. Test with: python -c "import os; print(os.environ.get('ANTHROPIC_API_KEY', 'NOT SET')[:10])"

Q: OpenRouter returns 402 Payment Required
A: Your free credits may be exhausted. Add payment method or switch to a different provider.

General

Q: The course files use \u2192 characters that show as garbage
A: The course uses Unicode arrows (→) in diagrams. If your terminal doesn't support UTF-8, set $env:PYTHONIOENCODING='utf-8' on Windows or use a UTF-8 capable terminal (Windows Terminal, iTerm2, Ghostty).

Q: How do I cite this course?
A: Reference "Agentic Engineering Course" with the module and lesson number.

Q: Can I teach this course?
A: Course materials are provided for personal study. Contact for teaching license.

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/verify.html b/site/.vitepress/dist/verify.html index 3f0eb20..efe9804 100644 --- a/site/.vitepress/dist/verify.html +++ b/site/.vitepress/dist/verify.html @@ -6,12 +6,12 @@ Verify Certificate | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content

Verify Certificate

Enter the certificate ID to verify:

Certificate verification system coming soon. For now, contact artale@fdsa.agency to verify a certificate.


Back to home

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/buy.md b/site/buy.md index c9aa78f..d94b963 100644 --- a/site/buy.md +++ b/site/buy.md @@ -2,7 +2,7 @@
lock - Secure checkout powered by Gumroad + Secure checkout — Stripe + Gumroad
## Choose Your Tier @@ -21,7 +21,8 @@ Best for independent learners. - Mock LLM for offline lab execution - Instant download (9 ZIP packages) -[Buy Self-Paced — $97](https://gumroad.com/l/fdsa-agentic-selfpaced) — *Instant access after purchase* +Buy with Card — $97 +Buy via Gumroad ### Enterprise — **$199** Best for teams and organizations. @@ -33,7 +34,8 @@ Everything in Self-Paced, plus: - Priority updates for 1 year - Early access to new skill kits -[Buy Enterprise — $199](https://gumroad.com/l/fdsa-agentic-enterprise) — *Team license included* +Buy with Card — $199 +Buy via Gumroad ### Cohort — **$247** (Next cohort: TBD) Best for structured learning with deadlines. @@ -45,7 +47,8 @@ Everything in Enterprise, plus: - Completion certificate - Cohort alumni network -[Join Cohort — $247](https://gumroad.com/l/fdsa-agentic-cohort) — *Next cohort date TBD* +Buy with Card — $247 +Buy via Gumroad @@ -55,30 +58,52 @@ Everything in Enterprise, plus: Not ready for the full course? Buy individual kits: -| Kit | Price | What's Included | Buy | -|-----|-------|-----------------|-----| -| Security Foundation | $49 | L3-L5 hooks, damage control, sandbox | [Buy](https://gumroad.com/l/fdsa-kit-security) | -| Multi-Agent Orch. | $49 | Teams, chains, mental models, domain locks | [Buy](https://gumroad.com/l/fdsa-kit-orch) | -| Verifier Pro | $39 | Builder + verifier, claim decomposition | [Buy](https://gumroad.com/l/fdsa-kit-verifier) | -| Task Discipline | $29 | TillDone core + progress + nudge | [Buy](https://gumroad.com/l/fdsa-kit-task) | -| Autoresearch | $39 | Experiment loop, integrity guards | [Buy](https://gumroad.com/l/fdsa-kit-research) | -| Observability | $29 | SQLite tracing, cost tracking | [Buy](https://gumroad.com/l/fdsa-kit-obs) | -| CEO Board | $49 | 11 agent definitions + verifier | [Buy](https://gumroad.com/l/fdsa-kit-ceo) | +| Kit | Price | What's Included | +|-----|-------|-----------------| +| Security Foundation | $49 | L3-L5 hooks, damage control, sandbox | +| Multi-Agent Orch. | $49 | Teams, chains, mental models, domain locks | +| Verifier Pro | $39 | Builder + verifier, claim decomposition | +| Task Discipline | $29 | TillDone core + progress + nudge | +| Autoresearch | $39 | Experiment loop, integrity guards | +| Observability | $29 | SQLite tracing, cost tracking | +| CEO Board | $49 | 11 agent definitions + verifier | + +*Skill kits coming soon to Stripe. For now, [contact us](mailto:artale@fdsa.agency) to purchase individual kits.* --- ## What Happens After Purchase -1. **Instant download** — ZIP packages delivered immediately via Gumroad -2. **Access links** — Course materials, labs, and skill kits in your Gumroad library -3. **Enterprise/Cohort** — You'll receive a follow-up email within 24hrs with Discord invite and onboarding details -4. **Updates** — Lifetime access includes all future updates. Re-download anytime. +1. **Instant redirect** to Stripe Checkout — pay with any card +2. **Download delivered** immediately after payment via email +3. **Enterprise/Cohort** — follow-up email within 24hrs with Discord invite +4. **Updates** — lifetime access, re-download anytime + +--- + +## Setup Guide + +To enable card payments, you need to: + +1. Create a [Stripe account](https://dashboard.stripe.com/register) +2. Get your **Secret Key** from the Stripe dashboard +3. Set it as an environment variable for the checkout API: + +```bash +# If using Cloudflare Worker: +echo "STRIPE_SECRET_KEY=sk_live_..." > .env + +# If deploying the API separately, set: +export STRIPE_SECRET_KEY="sk_live_..." +``` + +The checkout API is at `api/checkout.js` — deployable as a Cloudflare Worker, Vercel function, or standalone Node.js server. --- ## Certificate -Students who complete the capstone project receive a Certificate of Completion. The certificate verifies completion of 65 lessons, 13 labs, 56 quizzes, and a production-grade capstone project. Verify at `fdsa.agency/verify`. +Students who complete the capstone project receive a Certificate of Completion. Verify at `fdsa.agency/verify`. --- @@ -93,9 +118,14 @@ Students who complete the capstone project receive a Certificate of Completion. font-size: 13px; color: #d95c41; margin-bottom: 32px; } .tier-grid { - display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; margin: 24px 0; } .tier-grid h3 { margin-top: 0; } .tier-grid ul { margin-bottom: 20px; } +.tier-grid .btn-p { display: inline-block; padding: 12px 20px; margin: 4px 2px; font-size: 14px; text-align: center; text-decoration: none; } +.tier-grid .btn-primary { background: #d95c41; color: #fff; border-radius: 6px; } +.tier-grid .btn-primary:hover { background: #c44a30; } +.tier-grid .btn-ghost { background: transparent; color: #888; border: 1px solid rgba(255,255,255,0.1); border-radius: 6px; } +.tier-grid .btn-ghost:hover { border-color: #555; color: #e8e8e8; } diff --git a/site/checkout.md b/site/checkout.md new file mode 100644 index 0000000..a398d52 --- /dev/null +++ b/site/checkout.md @@ -0,0 +1,75 @@ +--- +title: Checkout - Agentic Engineering the Hard Way +--- + +# Redirecting to payment... + + + +
+ Initializing checkout... +
+ + diff --git a/site/checkout/cancel.md b/site/checkout/cancel.md new file mode 100644 index 0000000..a1f8fde --- /dev/null +++ b/site/checkout/cancel.md @@ -0,0 +1,20 @@ +--- +title: Payment Cancelled +--- + +# Payment Cancelled + +Your payment was not completed. No charges were made. + +## Try Again + +- [Self-Paced — $97](/checkout?plan=self-paced) +- [Enterprise — $199](/checkout?plan=enterprise) +- [Cohort — $247](/checkout?plan=cohort) + +Or purchase via Gumroad: +- [Self-Paced on Gumroad](https://gumroad.com/l/fdsa-agentic-selfpaced) +- [Enterprise on Gumroad](https://gumroad.com/l/fdsa-agentic-enterprise) +- [Cohort on Gumroad](https://gumroad.com/l/fdsa-agentic-cohort) + +*Questions? artale@fdsa.agency* diff --git a/site/checkout/success.md b/site/checkout/success.md new file mode 100644 index 0000000..4078f91 --- /dev/null +++ b/site/checkout/success.md @@ -0,0 +1,35 @@ +--- +title: Payment Successful +--- + +# Payment Successful! + +Your purchase is complete. You now have access to **Agentic Engineering the Hard Way**. + +## What Happens Next + +1. **Check your email** for a receipt and download links +2. **Download the course** from the link in your email +3. **Join the community** at the Discord link in your welcome email + +## Quick Start + +```bash +# Download and extract the course package, then: +cd agentic-engineering +python3 -m venv venv +source venv/bin/activate # or venv\Scripts\activate on Windows +pip install anthropic openai + +# Start with Lab 1: +cd course/labs/L1-first-agent/ +python starter.py test.txt "What is this file about?" +``` + +## Need Help? + +- **Course content**: Check the [Getting Started Guide](/getting-started) +- **Lab issues**: Each lab has a `solution.py` file with the complete answer +- **Other questions**: Email artale@fdsa.agency + +*Welcome to Agentic Engineering the Hard Way.*