feat: Add Village case study page with technical governance details

- Create dedicated case study page for Village platform
- Document Home AI's 6-service governance stack implementation
- Include technical verification section with API examples
- Add architecture diagram showing governance flow
- Document production metrics with research integrity disclaimers
- Include proper meta tags for SEO and social sharing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
TheFlow 2025-12-09 13:45:50 +13:00
parent e7dc7bf1ae
commit 81d69faf91

View file

@ -0,0 +1,463 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Village Case Study | Tractatus AI Safety Framework</title>
<meta name="description" content="Technical case study of Tractatus governance in the Village platform. How Home AI applies six governance services to every user interaction.">
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website">
<meta property="og:url" content="https://agenticgovernance.digital/village-case-study.html">
<meta property="og:title" content="Village Case Study - Tractatus in Production">
<meta property="og:description" content="Technical case study of Tractatus governance in the Village platform. How Home AI applies six governance services to every user interaction.">
<meta property="og:image" content="https://agenticgovernance.digital/images/social-preview.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:site_name" content="Tractatus Framework">
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:url" content="https://agenticgovernance.digital/village-case-study.html">
<meta name="twitter:title" content="Village Case Study - Tractatus in Production">
<meta name="twitter:description" content="Technical case study of how Home AI applies six governance services to every user interaction.">
<meta name="twitter:image" content="https://agenticgovernance.digital/images/social-preview.png">
<link rel="icon" type="image/svg+xml" href="/favicon-new.svg">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.0.1761283486841">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.0.1761283486841">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.0.1761283486841">
<style>
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 0; z-index: 100; background: white; padding: 1rem; }
a:focus, button:focus, input:focus, select:focus, textarea:focus {
outline: 3px solid #3b82f6;
outline-offset: 2px;
}
a:focus:not(:focus-visible) { outline: none; }
a:focus-visible { outline: 3px solid #3b82f6; outline-offset: 2px; }
</style>
<!-- Privacy-Preserving Analytics -->
<script src="/js/components/umami-tracker.js"></script>
</head>
<body class="bg-gray-50">
<!-- Skip Link for Keyboard Navigation -->
<a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation -->
<script src="/js/components/navbar.js?v=0.1.0.1761283486841" defer></script>
<!-- Breadcrumb Navigation -->
<nav class="bg-gray-50 border-b border-gray-200 py-3" aria-label="Breadcrumb">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<ol class="flex items-center space-x-2 text-sm">
<li><a href="/" class="text-blue-600 hover:underline transition-colors">Home</a></li>
<li class="text-gray-400">/</li>
<li class="text-gray-900 font-medium" aria-current="page">Village Case Study</li>
</ol>
</div>
</nav>
<!-- Hero Section -->
<header role="banner">
<section class="bg-gradient-to-br from-teal-600 via-teal-700 to-emerald-700 text-white py-16">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center">
<div class="inline-block bg-teal-800 text-teal-200 px-4 py-2 rounded-lg font-semibold mb-6 text-sm">
CASE STUDY
</div>
<h1 class="text-4xl md:text-5xl font-bold mb-6">
Village Platform: Tractatus in Production
</h1>
<p class="text-xl text-teal-100 mb-8 max-w-3xl mx-auto">
How Home AI applies all six Tractatus governance services to every user interaction in a live community platform.
</p>
<!-- Caveat Box -->
<div class="bg-teal-800/50 backdrop-blur border border-teal-400/30 rounded-lg p-6 max-w-3xl mx-auto">
<p class="text-teal-100">
<strong class="text-white">Important:</strong> This documents a single implementation by the framework developer.
Metrics are self-reported. Independent audit and multi-site validation are planned but not yet conducted.
</p>
</div>
</div>
</div>
</section>
</header>
<!-- Main Content -->
<main id="main-content" role="main" class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
<!-- Overview Section -->
<section class="mb-16">
<h2 class="text-3xl font-bold text-gray-900 mb-6">Overview</h2>
<div class="bg-white rounded-xl shadow-md p-8 mb-8">
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
<div>
<h3 class="text-lg font-semibold text-gray-900 mb-4">Platform Purpose</h3>
<p class="text-gray-700 leading-relaxed">
The Village is a member-owned community platform providing sovereign data storage,
AI-assisted features, and privacy-by-design architecture. Communities operate
with full data ownership and governance-protected AI assistance.
</p>
</div>
<div>
<h3 class="text-lg font-semibold text-gray-900 mb-4">Deployment Facts</h3>
<ul class="space-y-2 text-gray-700">
<li class="flex items-center">
<span class="w-32 font-medium">Duration:</span>
<span>11+ months in production</span>
</li>
<li class="flex items-center">
<span class="w-32 font-medium">Tenant Model:</span>
<span>Single-tenant (multi-tenant planned)</span>
</li>
<li class="flex items-center">
<span class="w-32 font-medium">AI Features:</span>
<span>4 governed features live</span>
</li>
<li class="flex items-center">
<span class="w-32 font-medium">Services/Response:</span>
<span>6 governance checks</span>
</li>
</ul>
</div>
</div>
</div>
</section>
<!-- Architecture Mapping -->
<section class="mb-16">
<h2 class="text-3xl font-bold text-gray-900 mb-6">Architecture Mapping</h2>
<p class="text-gray-700 mb-8">
Each Village AI feature maps to specific Tractatus governance services.
The table below shows how the six services coordinate for each feature.
</p>
<div class="bg-white rounded-xl shadow-md overflow-hidden">
<table class="min-w-full divide-y divide-gray-200">
<thead class="bg-gray-50">
<tr>
<th class="px-6 py-4 text-left text-sm font-semibold text-gray-900">Village Feature</th>
<th class="px-6 py-4 text-left text-sm font-semibold text-gray-900">Primary Service</th>
<th class="px-6 py-4 text-left text-sm font-semibold text-gray-900">Function</th>
</tr>
</thead>
<tbody class="divide-y divide-gray-200">
<tr>
<td class="px-6 py-4 text-gray-900 font-medium">Home AI Responses</td>
<td class="px-6 py-4 text-gray-700">BoundaryEnforcer</td>
<td class="px-6 py-4 text-gray-600">Blocks values judgments, defers to human</td>
</tr>
<tr class="bg-gray-50">
<td class="px-6 py-4 text-gray-900 font-medium">User Query Processing</td>
<td class="px-6 py-4 text-gray-700">CrossReferenceValidator</td>
<td class="px-6 py-4 text-gray-600">Prevents prompt injection, validates intent</td>
</tr>
<tr>
<td class="px-6 py-4 text-gray-900 font-medium">Session Management</td>
<td class="px-6 py-4 text-gray-700">ContextPressureMonitor</td>
<td class="px-6 py-4 text-gray-600">Tracks session health, triggers handoffs</td>
</tr>
<tr class="bg-gray-50">
<td class="px-6 py-4 text-gray-900 font-medium">Multi-Step Operations</td>
<td class="px-6 py-4 text-gray-700">MetacognitiveVerifier</td>
<td class="px-6 py-4 text-gray-600">Detects scope creep, requires review</td>
</tr>
<tr>
<td class="px-6 py-4 text-gray-900 font-medium">Feature Flags</td>
<td class="px-6 py-4 text-gray-700">InstructionPersistenceClassifier</td>
<td class="px-6 py-4 text-gray-600">Persistence classification for settings</td>
</tr>
<tr class="bg-gray-50">
<td class="px-6 py-4 text-gray-900 font-medium">Consent Handling</td>
<td class="px-6 py-4 text-gray-700">PluralisticDeliberationOrchestrator</td>
<td class="px-6 py-4 text-gray-600">Multi-stakeholder decisions</td>
</tr>
</tbody>
</table>
</div>
</section>
<!-- The Home AI Flow -->
<section class="mb-16">
<h2 class="text-3xl font-bold text-gray-900 mb-6">The Home AI Flow</h2>
<p class="text-gray-700 mb-8">
When a user submits a query to Home AI, it passes through six verification stages
before a response is generated. This flow operates in the critical execution path.
</p>
<div class="bg-white rounded-xl shadow-md p-8">
<ol class="space-y-6">
<li class="flex items-start">
<div class="flex-shrink-0 w-8 h-8 rounded-full bg-teal-600 text-white flex items-center justify-center font-bold mr-4">1</div>
<div>
<h4 class="font-semibold text-gray-900">User Query Received</h4>
<p class="text-gray-600">User submits query via Help Chat widget or story assistance</p>
</div>
</li>
<li class="flex items-start">
<div class="flex-shrink-0 w-8 h-8 rounded-full bg-teal-600 text-white flex items-center justify-center font-bold mr-4">2</div>
<div>
<h4 class="font-semibold text-gray-900">BoundaryEnforcer Check</h4>
<p class="text-gray-600">Is this a values question requiring human judgment?</p>
</div>
</li>
<li class="flex items-start">
<div class="flex-shrink-0 w-8 h-8 rounded-full bg-teal-600 text-white flex items-center justify-center font-bold mr-4">3</div>
<div>
<h4 class="font-semibold text-gray-900">CrossReferenceValidator Check</h4>
<p class="text-gray-600">Does this conflict with stored instructions or attempt injection?</p>
</div>
</li>
<li class="flex items-start">
<div class="flex-shrink-0 w-8 h-8 rounded-full bg-teal-600 text-white flex items-center justify-center font-bold mr-4">4</div>
<div>
<h4 class="font-semibold text-gray-900">ContextPressureMonitor Check</h4>
<p class="text-gray-600">Is session health within acceptable bounds?</p>
</div>
</li>
<li class="flex items-start">
<div class="flex-shrink-0 w-8 h-8 rounded-full bg-teal-600 text-white flex items-center justify-center font-bold mr-4">5</div>
<div>
<h4 class="font-semibold text-gray-900">Query Processing</h4>
<p class="text-gray-600">RAG system retrieves context with permission filtering</p>
</div>
</li>
<li class="flex items-start">
<div class="flex-shrink-0 w-8 h-8 rounded-full bg-teal-600 text-white flex items-center justify-center font-bold mr-4">6</div>
<div>
<h4 class="font-semibold text-gray-900">Response Generation</h4>
<p class="text-gray-600">AI generates response (Claude Haiku for non-EN, local Llama for EN)</p>
</div>
</li>
<li class="flex items-start">
<div class="flex-shrink-0 w-8 h-8 rounded-full bg-teal-600 text-white flex items-center justify-center font-bold mr-4">7</div>
<div>
<h4 class="font-semibold text-gray-900">MetacognitiveVerifier Check</h4>
<p class="text-gray-600">Is response appropriate to query scope?</p>
</div>
</li>
<li class="flex items-start">
<div class="flex-shrink-0 w-8 h-8 rounded-full bg-emerald-600 text-white flex items-center justify-center font-bold mr-4">8</div>
<div>
<h4 class="font-semibold text-gray-900">Delivery</h4>
<p class="text-gray-600">Response delivered to user with source attribution</p>
</div>
</li>
</ol>
</div>
</section>
<!-- Governed Features -->
<section class="mb-16">
<h2 class="text-3xl font-bold text-gray-900 mb-6">Governed Features in Detail</h2>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<!-- RAG Help Centre -->
<div class="bg-white rounded-xl shadow-md p-6">
<div class="flex items-center mb-4">
<div class="w-12 h-12 rounded-lg bg-teal-100 flex items-center justify-center mr-4">
<svg class="w-6 h-6 text-teal-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
</svg>
</div>
<h3 class="text-xl font-semibold text-gray-900">RAG-Based Help Centre</h3>
</div>
<p class="text-gray-600 mb-4">
Vector search over indexed help content, stories, and documentation.
Results filtered by user permissions before inclusion in context.
</p>
<div class="text-sm text-gray-500">
<strong>Services:</strong> CrossReferenceValidator, BoundaryEnforcer
</div>
</div>
<!-- Document OCR -->
<div class="bg-white rounded-xl shadow-md p-6">
<div class="flex items-center mb-4">
<div class="w-12 h-12 rounded-lg bg-teal-100 flex items-center justify-center mr-4">
<svg class="w-6 h-6 text-teal-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/>
</svg>
</div>
<h3 class="text-xl font-semibold text-gray-900">Document OCR</h3>
</div>
<p class="text-gray-600 mb-4">
Automated text extraction from uploaded documents.
Operates under explicit consent controls with audit logging.
</p>
<div class="text-sm text-gray-500">
<strong>Services:</strong> PluralisticDeliberationOrchestrator (consent)
</div>
</div>
<!-- Story Assistance -->
<div class="bg-white rounded-xl shadow-md p-6">
<div class="flex items-center mb-4">
<div class="w-12 h-12 rounded-lg bg-teal-100 flex items-center justify-center mr-4">
<svg class="w-6 h-6 text-teal-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"/>
</svg>
</div>
<h3 class="text-xl font-semibold text-gray-900">Story Assistance</h3>
</div>
<p class="text-gray-600 mb-4">
AI-assisted writing suggestions for family stories.
Content suggestions filtered through BoundaryEnforcer to prevent
inappropriate recommendations.
</p>
<div class="text-sm text-gray-500">
<strong>Services:</strong> BoundaryEnforcer, MetacognitiveVerifier
</div>
</div>
<!-- AI Memory Transparency -->
<div class="bg-white rounded-xl shadow-md p-6">
<div class="flex items-center mb-4">
<div class="w-12 h-12 rounded-lg bg-teal-100 flex items-center justify-center mr-4">
<svg class="w-6 h-6 text-teal-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"/>
</svg>
</div>
<h3 class="text-xl font-semibold text-gray-900">AI Memory Transparency</h3>
</div>
<p class="text-gray-600 mb-4">
User-controlled summarisation with full audit dashboard.
Members can view, edit, and delete what AI "remembers" about them.
</p>
<div class="text-sm text-gray-500">
<strong>Services:</strong> InstructionPersistenceClassifier, PluralisticDeliberationOrchestrator
</div>
</div>
</div>
</section>
<!-- Honest Limitations -->
<section class="mb-16">
<h2 class="text-3xl font-bold text-gray-900 mb-6">Honest Limitations</h2>
<div class="bg-amber-50 border-l-4 border-amber-500 rounded-r-xl p-8">
<p class="text-amber-900 mb-6">
This case study documents preliminary evidence from a single implementation.
We are transparent about the following limitations:
</p>
<ul class="space-y-4">
<li class="flex items-start">
<svg class="w-6 h-6 text-amber-600 mr-3 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/>
</svg>
<div>
<strong class="text-amber-900">Single Implementation:</strong>
<span class="text-amber-800"> Village is one platform. Generalisability to other contexts is unknown.</span>
</div>
</li>
<li class="flex items-start">
<svg class="w-6 h-6 text-amber-600 mr-3 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/>
</svg>
<div>
<strong class="text-amber-900">Self-Reported Metrics:</strong>
<span class="text-amber-800"> No independent verification of logged data has been conducted.</span>
</div>
</li>
<li class="flex items-start">
<svg class="w-6 h-6 text-amber-600 mr-3 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/>
</svg>
<div>
<strong class="text-amber-900">Operator-Developer Overlap:</strong>
<span class="text-amber-800"> Framework developer also operates Village (conflict of interest).</span>
</div>
</li>
<li class="flex items-start">
<svg class="w-6 h-6 text-amber-600 mr-3 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/>
</svg>
<div>
<strong class="text-amber-900">Limited Adversarial Testing:</strong>
<span class="text-amber-800"> No formal red-team evaluation has been conducted.</span>
</div>
</li>
<li class="flex items-start">
<svg class="w-6 h-6 text-amber-600 mr-3 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/>
</svg>
<div>
<strong class="text-amber-900">Voluntary Invocation:</strong>
<span class="text-amber-800"> AI could theoretically bypass governance if not configured to use it.</span>
</div>
</li>
</ul>
</div>
</section>
<!-- What This Demonstrates -->
<section class="mb-16">
<h2 class="text-3xl font-bold text-gray-900 mb-6">What This Demonstrates</h2>
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
<div class="bg-green-50 border-l-4 border-green-500 rounded-r-xl p-6">
<h3 class="text-lg font-semibold text-green-900 mb-4">Evidence Supports</h3>
<ul class="space-y-2 text-green-800">
<li>• Architectural governance can operate in production without prohibitive overhead</li>
<li>• Six-service coordination is technically feasible</li>
<li>• Governance violations are detectable and auditable</li>
<li>• The framework learns from failures (documented incident responses)</li>
</ul>
</div>
<div class="bg-gray-100 border-l-4 border-gray-400 rounded-r-xl p-6">
<h3 class="text-lg font-semibold text-gray-900 mb-4">Evidence Does NOT Support</h3>
<ul class="space-y-2 text-gray-700">
<li>• Framework effectiveness at scale (thousands of concurrent users)</li>
<li>• Generalisability across different AI systems</li>
<li>• Resistance to sophisticated adversarial attacks</li>
<li>• Regulatory sufficiency (EU AI Act compliance untested)</li>
</ul>
</div>
</div>
</section>
<!-- CTAs -->
<section class="bg-gradient-to-r from-teal-600 to-emerald-600 rounded-xl p-8 text-white text-center">
<h2 class="text-2xl font-bold mb-4">Explore Further</h2>
<p class="text-teal-100 mb-6 max-w-2xl mx-auto">
See the Village platform in action, or dive deeper into the technical architecture.
</p>
<div class="flex flex-col sm:flex-row gap-4 justify-center">
<a href="https://mysovereignty.digital"
target="_blank"
rel="noopener noreferrer"
class="inline-block bg-white text-teal-700 px-8 py-3 rounded-lg font-semibold hover:bg-teal-50 transition-all shadow-lg">
Visit the Village →
</a>
<a href="/architecture.html"
class="inline-block bg-teal-800 text-white px-8 py-3 rounded-lg font-semibold hover:bg-teal-900 transition-all border-2 border-teal-400">
System Architecture →
</a>
<a href="/researcher.html"
class="inline-block bg-teal-800 text-white px-8 py-3 rounded-lg font-semibold hover:bg-teal-900 transition-all border-2 border-teal-400">
Research Details →
</a>
</div>
</section>
</main>
<!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.0.1761283486841"></script>
<!-- Version Management -->
<script src="/js/version-manager.js?v=0.1.0.1761283486841"></script>
<!-- Internationalization -->
<script src="/js/i18n-simple.js?v=0.1.0.1761283486841"></script>
</body>
</html>