Dev Wiki
Dashboard
Changelog
Documentation
Toggle dark mode
Settings
Home
A - Z
Page Index
Archive
AWS Tasks
E-2 CDN Read Path
E-2 CDN Read Path ClientSide
Launch Checklist
P1-9 MCP OAuth Discovery Routing
P1-9 MCP OAuth Routing
Phase 0
Phase 1
Phase 2
Phase 3
Phase 4
Prerequisites
An Otter Wiki
Archive
AWS Tasks
Page Index
Toggle page headings
E
E-2 CDN Read Path
Problem
Solution: Option A — Thin Assembly Lambda
Benchmarked Performance
Technical Feasibility (Validated)
Content fragment rendering
Sidebar fragment rendering
Shell template
Plugin injection points
Implementation Plan
Wave 1: Fragment Generation
Wave 2: Assembly Lambda + Infrastructure
Wave 3: Auth (Private Wikis)
Wave 4: Migration + Cutover
Open Questions
Cost
Estimated Effort
E-2 CDN Read Path ClientSide
Premise
Architecture
How It Works
1. Shell HTML (static, cached indefinitely)
2. Content fragment (per page, cached at CDN)
3. Sidebar fragment (per wiki, cached at CDN)
Content flash mitigation
Implementation Plan
Wave 1: Fragment Generation (same as Option A)
Wave 2: Infrastructure
Wave 3: Auth (Private Wikis)
Wave 4: Migration + Cutover
Comparison with Assembly Lambda Plan
When to prefer Assembly Lambda
When to prefer Client-Side Assembly
SEO Strategy (Future: Public Wikis)
1. Page-specific meta tags (low effort, high value)
2. Dynamic rendering for bots (medium effort, full coverage)
3. Sitemap generation (low effort, aids discovery)
Phasing
Recommendation
L
Launch Checklist
Branding
OAuth Providers (WorkOS)
Google
Apple
GitHub
WorkOS
DNS / Domain
Legal
Accounts / Billing
Pre-Launch Smoke Test
Security Review
Auth and access control
Input validation
Infrastructure
Data exposure
P
P1-9 MCP OAuth Discovery Routing
Problem
Solution
Verification
Files Changed
How It Works
Commit
P1-9 MCP OAuth Routing
Problem
Root Cause
Fix
Verification
Phase 0
P0-1: Pulumi Scaffold
P0-2: EFS + Lambda Basic
P0-3: Git on EFS
P0-4: X-Ray Tracing
P0-5: Performance Benchmarks
P0-6: WorkOS AuthKit Setup
P0-7: FastMCP + WorkOS on Lambda
P0-8: Claude.ai MCP End-to-End
P0-9: Billing Alarm
Phase 1
P1-1: Mangum Adapter for Otterwiki
P1-2: FAISS Backend for Semantic Search
P1-3: Otterwiki on Lambda
P1-4: REST API on Lambda
P1-5: MCP Server on Lambda
P1-6: Semantic Search on Lambda
P1-7: Routing and TLS
P1-8: Phase 1 E2E Test
P1-9: Self Hosting
Phase 2
P2-1: DynamoDB Tables
P2-2: Auth Middleware
P2-3: ACL Enforcement Middleware
P2-4: Management API
P2-5: Per-Wiki Routing
P2-6: Wiki Bootstrap Template
P2-7: Otterwiki PROXY_HEADER Integration
P2-8: Admin Panel Hiding
P2-9: CLI Tool
P2-10: Phase 2 E2E Test
Phase 3
P3-1: SPA Scaffold
P3-2: Auth Flow
P3-3: Dashboard
P3-4: Wiki Settings
P3-5: MCP Connection Instructions
P3-6: Public Wiki Toggle
P3-7: Static Hosting
P3-8: Phase 3 E2E Test
Phase 4
P4-1: Git Smart HTTP
P4-2: Git Auth
P4-3: WAF Setup
P4-4: Monitoring and Alerting
P4-5: Backup Strategy
P4-6: Landing Page and Docs
P4-7: Phase 4 E2E Test
P4-8: Pre-Launch Security Review
Prerequisites
AWS
Pulumi
WorkOS (deferred — only needed for P0 Track B, P0-6 onward)
DNS
Repositories
Local Dev Environment
Agent Container (packnplay)
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9