robot.wtf dev wiki
Changelog
Documentation
About An Otter Wiki
Toggle dark mode
Settings
Home
A - Z
Page Index
Design
Agent Workflow
Async Embedding Pipeline
Auth
CDN Read Path
Data Model
E-3 Encryption Spike
Frontend
Implementation Phases
Lambda Library Mode
Landing Page
MCP Server
Note Schema
Operations
P2-Username Summary
Phase Gates
Platform Overview
REST API
Research Wiki
Semantic Search
VPS Architecture
Dev
E-1 Cold Start Benchmarks
P1-8 E2E Test
P2-10 Summary
P2-1 Summary
P2-2 Summary
P2-3 Summary
P2-4 Summary
P2-5a Summary
P2-5b-7 Summary
P2-6 Summary
P2-8 Summary
P2-9 Summary
Phase 0 EFS Benchmarks
Phase 1 Deployment
Phase 1 Gate Results
Phase 1 Progress
Proxmox CPU Type
Underscore Filenames
V1-3 Deployment Summary
V1 SQLite Port Summary
V3 ATProto Auth Summary
V3 V5 Risk Research
V6-1 Landing Page Summary
VPS Deployment Progress
VS-1 ATProto Spike
VS-2 MCP OAuth Summary
DiagTestPage
E2ETestPage
Home
Meta
Wiki Usage Guide
Tasks
E-2 CDN Read Path
E-2 CDN Read Path ClientSide
Emergent
Launch Checklist
P1-9 MCP OAuth Discovery Routing
P1-9 MCP OAuth Routing
Phase 0
Phase 1
Phase 2
Phase 3
Phase 4
Prerequisites
VPS Phases
UserBPage
Dev
Page Index
Toggle page headings
E
E-1 Cold Start Benchmarks
Summary
Detailed Init Breakdown (otterwiki @ 512MB)
Detailed Init Breakdown (otterwiki @ 1024MB)
Analysis
What's slow
What's NOT slow
Key insight
Comparison to Phase 0
Recommendations
Raw Log Excerpts
512MB
1024MB
P
P1-8 E2E Test
Status: Complete (with known gaps)
Test Results
Findings
Working
Known Gaps
Files
How to Run
Architecture Decisions
P2-10 Summary
Overview
Required Environment Variables
Test Scenarios
Design Decisions
Running
P2-1 Summary
Status: Complete
Acceptance Criteria
Files Changed
Design Decisions
Test Results
Pulumi Preview
Branch
P2-2 Summary
Deliverables
app/auth/jwt.py — Platform JWT (RS256)
app/auth/workos.py — WorkOS Integration
app/auth/middleware.py — Auth Middleware
Test Coverage (32 tests)
Design Decisions
Acceptance Criteria
P2-3 Summary
Deliverables
app/auth/permissions.py
app/auth/acl.py
app/auth/headers.py
app/models/wiki.py (modified)
tests/test_acl.py
Design Decisions
P2-4 Summary
What was built
Files
API Endpoints
Design decisions
Integration notes
Not included (future work)
P2-5a Summary
Status: Complete
Branch
Changes
New Resources (7)
Verification
Design Notes
P2-5b-7 Summary
What was built
1. app/otterwiki/resolver.py — TenantResolver WSGI middleware
2. app/otterwiki/lambda_init.py — Conditional multi-tenant wrapping
3. infra/__main__.py — Infrastructure changes
4. app/poc/mcp_server.py — Multi-tenant MCP
5. tests/test_resolver.py — 42 tests
Design decisions
P2-6 Summary
Status: Complete
Acceptance Criteria
Files Changed
Design Decisions
Test Results
P2-8 Summary
Status: Complete
Acceptance Criteria
Files Changed
Design Decisions
Test Results
Branch
P2-9 Summary
Status
Deliverables
Commands
Configuration
Architecture Decisions
Test Coverage (35 tests)
Phase 0 EFS Benchmarks
Summary
Environment
Results
Cold Start (5 invocations, forced via env var update)
Warm Read (25 invocations)
Warm Write (25 invocations)
Concurrent Reads (3 simultaneous, 5 rounds)
Concurrent Writes (5 simultaneous, 3 rounds)
Git Library Decision
Implications for Phase 1
Phase 1 Deployment
Summary
Deploy Details
E2E Test Results
Changes Made
Notes
Phase 1 Gate Results
Summary
Results
Performance
Issues Found
Corrected: /pages/{path}/links was not a bug
Fixed: P1-9 MCP OAuth Routing
Note: API auth header
Go/No-Go
Phase 1 Progress
Task Status
Architecture Decisions
apig-wsgi instead of Mangum (P1-1 / P1-3)
Zip package + Lambda layer instead of Docker (P1-3)
Single API Gateway (P1-7)
MCP on separate Lambda, no VPC (P0-7)
Plugin loading via explicit import (P1-4)
Endpoints
Also Completed (Track B / Prerequisites)
Proxmox CPU Type
Problem
Current workaround
Proper fix
U
Underscore Filenames
Status: Future work
Problem
Current state
Future feature
Scope
V
V1-3 Deployment Summary
Deliverables
Entry Points (app/)
Shared Configuration
Systemd Units (ansible/roles/deploy/files/)
Ansible Deploy Role
Requirements Added
Environment Variables
Testing
V1 SQLite Port Summary
Summary
Files Created (21 total)
Data Access Layer
Auth
WSGI Middleware
Tests
Key Schema Differences from wikibot-io
Architecture Notes
V3 ATProto Auth Summary
What Changed
Deliverables
Routes
Key Design Decisions
Schema Changes
Test Coverage
V3 V5 Risk Research
V3: ATProto OAuth Client — Risk Assessment
The cookbook demo is solid and directly usable
Scope question: RESOLVED
Remaining V3 risks
V3 verdict: LOW RISK
V5: MCP OAuth AS — Risk Assessment
What Claude.ai needs
authlib provides most of the machinery
Implementation sketch
The metadata endpoints are trivial
Remaining V5 risks
V5 verdict: MEDIUM RISK
Combined assessment
V6-1 Landing Page Summary
Status
Deliverables
Architecture
Page Structure
Design Decisions
Not Done
VPS Deployment Progress
Completed
V0: VM Infrastructure (2026-03-15)
V1: Otterwiki on Caddy (2026-03-15)
VS-1: ATProto OAuth Spike (2026-03-15)
V2: Migrate Dev Wiki (2026-03-15)
In Progress
VS-2: MCP OAuth for Claude.ai
V3: ATProto OAuth Production Auth Service
Not Started
Architecture Notes
VS-1 ATProto Spike
Status: COMPLETE — ready for manual deployment and testing
What was built
Key adaptations from cookbook demo
Files
Smoke test results
Dependencies
Deployment steps
What to watch for during manual testing
Findings for V3 production implementation
VS-2 MCP OAuth Summary
Problem
Solution
Changes
Configuration
Token Lifetimes
Schema
Branch
Test Results
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