chore: bump cache version for deployment

This commit is contained in:
TheFlow 2025-12-09 17:39:03 +13:00
parent 72b6a5af3f
commit 50a37ca5a8
20 changed files with 209 additions and 204 deletions

View file

@ -5,9 +5,9 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>About | Tractatus AI Safety Framework</title> <title>About | Tractatus AI Safety Framework</title>
<meta name="description" content="Learn about the Tractatus Framework: our mission, values, team, and commitment to preserving human agency through structural AI safety."> <meta name="description" content="Learn about the Tractatus Framework: our mission, values, team, and commitment to preserving human agency through structural AI safety.">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1765255143694">
<style> <style>
/* Accessibility: Skip link */ /* Accessibility: Skip link */
.skip-link { position: absolute; left: -9999px; top: 0; } .skip-link { position: absolute; left: -9999px; top: 0; }
@ -31,7 +31,7 @@
<a href="#main-content" class="skip-link">Skip to main content</a> <a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation (injected by navbar.js) --> <!-- Navigation (injected by navbar.js) -->
<script src="/js/components/navbar.js?v=0.1.2.1763926979200"></script> <script src="/js/components/navbar.js?v=0.1.2.1765255143694"></script>
<!-- Breadcrumb Navigation --> <!-- Breadcrumb Navigation -->
<nav class="bg-gray-50 border-b border-gray-200 py-3" aria-label="Breadcrumb"> <nav class="bg-gray-50 border-b border-gray-200 py-3" aria-label="Breadcrumb">
@ -371,22 +371,22 @@
<!-- Footer with Te Tiriti Acknowledgment --> <!-- Footer with Te Tiriti Acknowledgment -->
<!-- Footer --> <!-- Footer -->
<!-- Internationalization --> <!-- Internationalization -->
<script src="/js/i18n-simple.js?v=0.1.2.1763926979200"></script> <script src="/js/i18n-simple.js?v=0.1.2.1765255143694"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1763926979200"></script> <script src="/js/components/language-selector.js?v=0.1.2.1765255143694"></script>
<!-- Scroll Animations (Phase 3) --> <!-- Scroll Animations (Phase 3) -->
<script src="/js/scroll-animations.js?v=0.1.2.1763926979200"></script> <script src="/js/scroll-animations.js?v=0.1.2.1765255143694"></script>
<!-- Page Transitions (Phase 3) --> <!-- Page Transitions (Phase 3) -->
<script src="/js/page-transitions.js?v=0.1.2.1763926979200"></script> <script src="/js/page-transitions.js?v=0.1.2.1765255143694"></script>
<!-- Share CTA functionality --> <!-- Share CTA functionality -->
<script src="/js/share-cta.js?v=0.1.2.1763926979200"></script> <script src="/js/share-cta.js?v=0.1.2.1765255143694"></script>
<!-- Footer Component --> <!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1763926979200"></script> <script src="/js/components/footer.js?v=0.1.2.1765255143694"></script>
<!-- Feedback System (Governed by Tractatus + Agent Lightning) --> <!-- Feedback System (Governed by Tractatus + Agent Lightning) -->
<script src="/js/components/feedback.js?v=0.1.2.1763926979200"></script> <script src="/js/components/feedback.js?v=0.1.2.1765255143694"></script>
</body> </body>
</html> </html>

View file

@ -4,15 +4,15 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Admin Dashboard | Tractatus Framework</title> <title>Admin Dashboard | Tractatus Framework</title>
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1765255143694">
<script defer src="/js/admin/auth-check.js?v=0.1.2.1763926979200"></script> <script defer src="/js/admin/auth-check.js?v=0.1.2.1765255143694"></script>
</head> </head>
<body class="bg-gray-50"> <body class="bg-gray-50">
<!-- Navigation --> <!-- Navigation -->
<div id="admin-navbar" data-page-title="Dashboard" data-page-icon="dashboard"></div> <div id="admin-navbar" data-page-title="Dashboard" data-page-icon="dashboard"></div>
<script src="/js/components/navbar-admin.js?v=0.1.2.1763926979200"></script> <script src="/js/components/navbar-admin.js?v=0.1.2.1765255143694"></script>
<!-- Main Content --> <!-- Main Content -->
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"> <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
@ -225,7 +225,7 @@
<!-- Modals --> <!-- Modals -->
<div id="modal-container"></div> <div id="modal-container"></div>
<script src="/js/admin/dashboard.js?v=0.1.2.1763926979200"></script> <script src="/js/admin/dashboard.js?v=0.1.2.1765255143694"></script>
</body> </body>
</html> </html>

View file

@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>API Reference | Tractatus Framework</title> <title>API Reference | Tractatus Framework</title>
<meta name="description" content="Complete API reference for Tractatus Framework - endpoints, authentication, request/response formats, and examples."> <meta name="description" content="Complete API reference for Tractatus Framework - endpoints, authentication, request/response formats, and examples.">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1765255143694">
<style> <style>
.endpoint-badge { .endpoint-badge {
@apply inline-block px-2 py-1 rounded text-xs font-mono font-semibold; @apply inline-block px-2 py-1 rounded text-xs font-mono font-semibold;
@ -873,7 +873,7 @@
<!-- Footer --> <!-- Footer -->
<!-- Footer Component --> <!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1763926979200"></script> <script src="/js/components/footer.js?v=0.1.2.1765255143694"></script>
</body> </body>
</html> </html>

View file

@ -31,8 +31,8 @@
<!-- RSS Feed --> <!-- RSS Feed -->
<link rel="alternate" type="application/rss+xml" title="Tractatus Blog RSS Feed" href="/api/blog/rss"> <link rel="alternate" type="application/rss+xml" title="Tractatus Blog RSS Feed" href="/api/blog/rss">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1765255143694">
<style> <style>
/* Accessibility: Skip link */ /* Accessibility: Skip link */
.skip-link { position: absolute; left: -9999px; top: 0; } .skip-link { position: absolute; left: -9999px; top: 0; }
@ -122,7 +122,7 @@
<a href="#main-content" class="skip-link">Skip to main content</a> <a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation (injected by navbar.js) --> <!-- Navigation (injected by navbar.js) -->
<script src="/js/components/navbar.js?v=0.1.2.1763926979200"></script> <script src="/js/components/navbar.js?v=0.1.2.1765255143694"></script>
<!-- Breadcrumb --> <!-- Breadcrumb -->
<div class="bg-white border-b border-gray-200"> <div class="bg-white border-b border-gray-200">
@ -230,10 +230,10 @@
<!-- Footer --> <!-- Footer -->
<!-- Load Blog Post JavaScript --> <!-- Load Blog Post JavaScript -->
<script src="/js/blog-post.js?v=0.1.2.1763926979200"></script> <script src="/js/blog-post.js?v=0.1.2.1765255143694"></script>
<!-- Footer Component --> <!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1763926979200"></script> <script src="/js/components/footer.js?v=0.1.2.1765255143694"></script>
</body> </body>
</html> </html>

View file

@ -28,8 +28,8 @@
<!-- RSS Feed --> <!-- RSS Feed -->
<link rel="alternate" type="application/rss+xml" title="Tractatus Blog RSS Feed" href="/api/blog/rss"> <link rel="alternate" type="application/rss+xml" title="Tractatus Blog RSS Feed" href="/api/blog/rss">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1765255143694">
<style> <style>
/* Accessibility: Skip link */ /* Accessibility: Skip link */
.skip-link { position: absolute; left: -9999px; top: 0; } .skip-link { position: absolute; left: -9999px; top: 0; }
@ -54,7 +54,7 @@
<a href="#main-content" class="skip-link">Skip to main content</a> <a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation (injected by navbar.js) --> <!-- Navigation (injected by navbar.js) -->
<script src="/js/components/navbar.js?v=0.1.2.1763926979200"></script> <script src="/js/components/navbar.js?v=0.1.2.1765255143694"></script>
<!-- Hero Section --> <!-- Hero Section -->
<div class="bg-gradient-to-br from-indigo-50 to-blue-50 py-20"> <div class="bg-gradient-to-br from-indigo-50 to-blue-50 py-20">
@ -264,14 +264,14 @@
<!-- Footer --> <!-- Footer -->
<!-- Internationalization (must load first for footer translations) --> <!-- Internationalization (must load first for footer translations) -->
<script src="/js/i18n-simple.js?v=0.1.2.1763926979200"></script> <script src="/js/i18n-simple.js?v=0.1.2.1765255143694"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1763926979200"></script> <script src="/js/components/language-selector.js?v=0.1.2.1765255143694"></script>
<!-- Load Blog JavaScript --> <!-- Load Blog JavaScript -->
<script src="/js/blog.js?v=0.1.2.1763926979200"></script> <script src="/js/blog.js?v=0.1.2.1765255143694"></script>
<!-- Footer Component --> <!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1763926979200"></script> <script src="/js/components/footer.js?v=0.1.2.1765255143694"></script>
</body> </body>
</html> </html>

View file

@ -4,9 +4,9 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title data-i18n="page.title">Submit Case Study | Tractatus AI Safety</title> <title data-i18n="page.title">Submit Case Study | Tractatus AI Safety</title>
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1765255143694">
<style> <style>
/* Accessibility: Skip link */ /* Accessibility: Skip link */
.skip-link { position: absolute; left: -9999px; top: 0; } .skip-link { position: absolute; left: -9999px; top: 0; }
@ -82,8 +82,8 @@
<a href="#main-content" class="skip-link">Skip to main content</a> <a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation (injected by navbar.js) --> <!-- Navigation (injected by navbar.js) -->
<script src="/js/components/navbar.js?v=0.1.2.1763926979200"></script> <script src="/js/components/navbar.js?v=0.1.2.1765255143694"></script>
<script src="/js/i18n-simple.js?v=0.1.2.1763926979200"></script> <script src="/js/i18n-simple.js?v=0.1.2.1765255143694"></script>
<!-- Main Content --> <!-- Main Content -->
<main id="main-content" class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-12"> <main id="main-content" class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
@ -222,11 +222,11 @@
</main> </main>
<!-- Footer --> <!-- Footer -->
<script src="/js/components/language-selector.js?v=0.1.2.1763926979200"></script> <script src="/js/components/language-selector.js?v=0.1.2.1765255143694"></script>
<script src="/js/case-submission.js?v=0.1.2.1763926979200"></script> <script src="/js/case-submission.js?v=0.1.2.1765255143694"></script>
<!-- Footer Component --> <!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1763926979200"></script> <script src="/js/components/footer.js?v=0.1.2.1765255143694"></script>
</body> </body>
</html> </html>

View file

@ -44,6 +44,6 @@
</ol> </ol>
</div> </div>
<script src="/js/check-version.js?v=0.1.2.1763926979200"></script> <script src="/js/check-version.js?v=0.1.2.1765255143694"></script>
</body> </body>
</html> </html>

View file

@ -4,8 +4,8 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documentation - Tractatus Framework</title> <title>Documentation - Tractatus Framework</title>
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1765255143694">
<style> <style>
/* Prose styling for document content */ /* Prose styling for document content */
.prose h1 { @apply text-3xl font-bold mt-8 mb-4 text-gray-900; } .prose h1 { @apply text-3xl font-bold mt-8 mb-4 text-gray-900; }
@ -70,12 +70,12 @@
</div> </div>
<!-- Scripts --> <!-- Scripts -->
<script src="/js/utils/api.js?v=0.1.2.1763926979200"></script> <script src="/js/utils/api.js?v=0.1.2.1765255143694"></script>
<script src="/js/utils/router.js?v=0.1.2.1763926979200"></script> <script src="/js/utils/router.js?v=0.1.2.1765255143694"></script>
<script src="/js/components/document-viewer.js?v=0.1.2.1763926979200"></script> <script src="/js/components/document-viewer.js?v=0.1.2.1765255143694"></script>
<script src="/js/components/code-copy-button.js?v=0.1.2.1763926979200"></script> <script src="/js/components/code-copy-button.js?v=0.1.2.1765255143694"></script>
<script src="/js/components/toc.js?v=0.1.2.1763926979200"></script> <script src="/js/components/toc.js?v=0.1.2.1765255143694"></script>
<script src="/js/docs-viewer-app.js?v=0.1.2.1763926979200"></script> <script src="/js/docs-viewer-app.js?v=0.1.2.1765255143694"></script>
</body> </body>
</html> </html>

View file

@ -42,9 +42,9 @@
<link rel="preload" href="/fonts/inter-400.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/fonts/inter-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/fonts/inter-700.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/fonts/inter-700.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1765255143694">
<style> <style>
html { scroll-behavior: smooth; } html { scroll-behavior: smooth; }
@ -507,7 +507,7 @@
<a href="#main-content" class="skip-link">Skip to main content</a> <a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation (injected by navbar.js) --> <!-- Navigation (injected by navbar.js) -->
<script src="/js/components/navbar.js?v=0.1.2.1763926979200" defer></script> <script src="/js/components/navbar.js?v=0.1.2.1765255143694" defer></script>
<!-- Page Header --> <!-- Page Header -->
<div class="bg-white border-b border-gray-200"> <div class="bg-white border-b border-gray-200">
@ -849,15 +849,15 @@
<!-- Version Management & PWA --> <!-- Version Management & PWA -->
<script src="/js/version-manager.js?v=0.1.2.1763926979200" defer></script> <script src="/js/version-manager.js?v=0.1.2.1765255143694" defer></script>
<script src="/js/components/document-cards.js?v=0.1.2.1763926979200" defer></script> <script src="/js/components/document-cards.js?v=0.1.2.1765255143694" defer></script>
<script src="/js/docs-app.js?v=0.1.2.1763926979200" defer></script> <script src="/js/docs-app.js?v=0.1.2.1765255143694" defer></script>
<script src="/js/docs-search-enhanced.js?v=0.1.2.1763926979200" defer></script> <script src="/js/docs-search-enhanced.js?v=0.1.2.1765255143694" defer></script>
<!-- Internationalization --> <!-- Internationalization -->
<script src="/js/i18n-simple.js?v=0.1.2.1763926979200" defer></script> <script src="/js/i18n-simple.js?v=0.1.2.1765255143694" defer></script>
<script src="/js/components/language-selector.js?v=0.1.2.1763926979200" defer></script> <script src="/js/components/language-selector.js?v=0.1.2.1765255143694" defer></script>
</body> </body>
</html> </html>

View file

@ -18,21 +18,21 @@
<meta name="apple-mobile-web-app-title" content="Tractatus"> <meta name="apple-mobile-web-app-title" content="Tractatus">
<link rel="apple-touch-icon" href="/images/tractatus-icon-new.svg"> <link rel="apple-touch-icon" href="/images/tractatus-icon-new.svg">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1765255143694">
<!-- Syntax highlighting for code blocks --> <!-- Syntax highlighting for code blocks -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github-dark.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github-dark.min.css?v=0.1.2.1765255143694">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js?v=0.1.2.1763926979200"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js?v=0.1.2.1765255143694"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/bash.min.js?v=0.1.2.1763926979200"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/bash.min.js?v=0.1.2.1765255143694"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/javascript.min.js?v=0.1.2.1763926979200"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/javascript.min.js?v=0.1.2.1765255143694"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/json.min.js?v=0.1.2.1763926979200"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/json.min.js?v=0.1.2.1765255143694"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/yaml.min.js?v=0.1.2.1763926979200"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/yaml.min.js?v=0.1.2.1765255143694"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/python.min.js?v=0.1.2.1763926979200"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/python.min.js?v=0.1.2.1765255143694"></script>
<!-- Markdown parser --> <!-- Markdown parser -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/marked/11.0.0/marked.min.js?v=0.1.2.1763926979200"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/marked/11.0.0/marked.min.js?v=0.1.2.1765255143694"></script>
<style> <style>
/* Accessibility: Skip link */ /* Accessibility: Skip link */
@ -329,7 +329,7 @@
<a href="#main-content" class="skip-link">Skip to main content</a> <a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation --> <!-- Navigation -->
<script src="/js/components/navbar.js?v=0.1.2.1763926979200"></script> <script src="/js/components/navbar.js?v=0.1.2.1765255143694"></script>
<!-- Hero --> <!-- Hero -->
<div class="bg-gradient-to-br from-blue-50 to-indigo-50 py-16"> <div class="bg-gradient-to-br from-blue-50 to-indigo-50 py-16">
@ -634,17 +634,17 @@
</div> </div>
<!-- Internationalization --> <!-- Internationalization -->
<script src="/js/i18n-simple.js?v=0.1.2.1763926979200"></script> <script src="/js/i18n-simple.js?v=0.1.2.1765255143694"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1763926979200"></script> <script src="/js/components/language-selector.js?v=0.1.2.1765255143694"></script>
<!-- Version Management & PWA --> <!-- Version Management & PWA -->
<script src="/js/version-manager.js?v=0.1.2.1763926979200"></script> <script src="/js/version-manager.js?v=0.1.2.1765255143694"></script>
<script src="/js/faq.js?v=0.1.2.1763926979200"></script> <script src="/js/faq.js?v=0.1.2.1765255143694"></script>
<!-- Footer Component --> <!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1763926979200"></script> <script src="/js/components/footer.js?v=0.1.2.1765255143694"></script>
</body> </body>
</html> </html>

View file

@ -27,9 +27,9 @@
<link rel="manifest" href="/manifest.json"> <link rel="manifest" href="/manifest.json">
<meta name="theme-color" content="#3b82f6"> <meta name="theme-color" content="#3b82f6">
<link rel="icon" type="image/svg+xml" href="/favicon-new.svg"> <link rel="icon" type="image/svg+xml" href="/favicon-new.svg">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1765255143694">
<style> <style>
.skip-link { position: absolute; left: -9999px; top: 0; } .skip-link { position: absolute; left: -9999px; top: 0; }
.skip-link:focus { left: 0; z-index: 100; background: white; padding: 1rem; border: 2px solid #3b82f6; } .skip-link:focus { left: 0; z-index: 100; background: white; padding: 1rem; border: 2px solid #3b82f6; }
@ -74,7 +74,7 @@
<body class="bg-gray-50"> <body class="bg-gray-50">
<a href="#main-content" class="skip-link">Skip to main content</a> <a href="#main-content" class="skip-link">Skip to main content</a>
<script src="/js/components/navbar.js?v=0.1.2.1763926979200"></script> <script src="/js/components/navbar.js?v=0.1.2.1765255143694"></script>
<!-- Breadcrumb --> <!-- Breadcrumb -->
<nav class="bg-gray-50 border-b border-gray-200 py-3" aria-label="Breadcrumb"> <nav class="bg-gray-50 border-b border-gray-200 py-3" aria-label="Breadcrumb">
@ -1689,23 +1689,23 @@ for user_message in conversation:
</section> </section>
<!-- Footer --> <!-- Footer -->
<script src="/js/i18n-simple.js?v=0.1.2.1763926979200"></script> <script src="/js/i18n-simple.js?v=0.1.2.1765255143694"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1763926979200"></script> <script src="/js/components/language-selector.js?v=0.1.2.1765255143694"></script>
<script src="/js/scroll-animations.js?v=0.1.2.1763926979200"></script> <script src="/js/scroll-animations.js?v=0.1.2.1765255143694"></script>
<script src="/js/page-transitions.js?v=0.1.2.1763926979200"></script> <script src="/js/page-transitions.js?v=0.1.2.1765255143694"></script>
<script src="/js/version-manager.js?v=0.1.2.1763926979200"></script> <script src="/js/version-manager.js?v=0.1.2.1765255143694"></script>
<!-- Share CTA functionality --> <!-- Share CTA functionality -->
<script src="/js/share-cta.js?v=0.1.2.1763926979200"></script> <script src="/js/share-cta.js?v=0.1.2.1765255143694"></script>
<script src="/js/components/footer.js?v=0.1.2.1763926979200"></script> <script src="/js/components/footer.js?v=0.1.2.1765255143694"></script>
<!-- Feedback System (Governed by Tractatus + Agent Lightning) --> <!-- Feedback System (Governed by Tractatus + Agent Lightning) -->
<script src="/js/components/feedback.js?v=0.1.2.1763926979200"></script> <script src="/js/components/feedback.js?v=0.1.2.1765255143694"></script>
<!-- Newsletter Subscription Modal --> <!-- Newsletter Subscription Modal -->
<script src="/js/components/newsletter.js?v=0.1.2.1763926979200"></script> <script src="/js/components/newsletter.js?v=0.1.2.1765255143694"></script>
</body> </body>
</html> </html>

View file

@ -41,10 +41,10 @@
<link rel="icon" type="image/svg+xml" href="/favicon-new.svg"> <link rel="icon" type="image/svg+xml" href="/favicon-new.svg">
<!-- Fonts --> <!-- Fonts -->
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1765255143694">
<style> <style>
.gradient-text { background: linear-gradient(120deg, #3b82f6 0%, #8b5cf6 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .gradient-text { background: linear-gradient(120deg, #3b82f6 0%, #8b5cf6 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.hover-lift { transition: transform 0.2s; } .hover-lift { transition: transform 0.2s; }
@ -72,7 +72,7 @@
<!-- Navigation (injected by navbar.js) --> <!-- Navigation (injected by navbar.js) -->
<div id="navbar-placeholder" class="min-h-16"></div> <div id="navbar-placeholder" class="min-h-16"></div>
<script src="/js/components/navbar.js?v=0.1.2.1763926979200"></script> <script src="/js/components/navbar.js?v=0.1.2.1765255143694"></script>
<!-- Hero Section --> <!-- Hero Section -->
<header role="banner"> <header role="banner">
@ -568,11 +568,11 @@ Handles plural moral values without imposing hierarchy—facilitates human judgm
<!-- Main Header --> <!-- Main Header -->
<div class="text-center mb-12"> <div class="text-center mb-12">
<div style="display: inline-block; background: #000000; color: #ffffff; padding: 0.25rem 0.75rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 1rem;"> <div style="display: inline-block; background: #000000; color: #ffffff; padding: 0.25rem 0.75rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 1rem;" data-i18n="village_section.badge">
Production Evidence Production Evidence
</div> </div>
<h2 style="font-size: 2.25rem; font-weight: 700; margin-bottom: 1rem; color: #000000;">Tractatus in Production: The Village Platform</h2> <h2 style="font-size: 2.25rem; font-weight: 700; margin-bottom: 1rem; color: #000000;" data-i18n="village_section.heading">Tractatus in Production: The Village Platform</h2>
<p style="font-size: 1.25rem; color: #000000; max-width: 48rem; margin: 0 auto;"> <p style="font-size: 1.25rem; color: #000000; max-width: 48rem; margin: 0 auto;" data-i18n="village_section.subheading">
Our research has produced a practical outcome. Home AI applies all six Tractatus governance services to every user interaction in a live community platform. Our research has produced a practical outcome. Home AI applies all six Tractatus governance services to every user interaction in a live community platform.
</p> </p>
</div> </div>
@ -586,62 +586,62 @@ Handles plural moral values without imposing hierarchy—facilitates human judgm
🏠 🏠
</div> </div>
<div> <div>
<h3 style="font-size: 1.5rem; font-weight: 700; color: #000000;">Home AI</h3> <h3 style="font-size: 1.5rem; font-weight: 700; color: #000000;" data-i18n="village_section.home_ai.title">Home AI</h3>
<p style="color: #000000;">Six Services Per Response</p> <p style="color: #000000;" data-i18n="village_section.home_ai.subtitle">Six Services Per Response</p>
</div> </div>
</div> </div>
<p style="color: #000000; margin-bottom: 1.5rem; line-height: 1.625;"> <p style="color: #000000; margin-bottom: 1.5rem; line-height: 1.625;" data-i18n="village_section.home_ai.description">
Every Home AI response passes through the complete Tractatus governance stack before reaching the user. BoundaryEnforcer blocks values judgments, CrossReferenceValidator prevents prompt injection, ContextPressureMonitor tracks session health. Every Home AI response passes through the complete Tractatus governance stack before reaching the user. BoundaryEnforcer blocks values judgments, CrossReferenceValidator prevents prompt injection, ContextPressureMonitor tracks session health.
</p> </p>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.5rem;"> <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.5rem;">
<div style="background: #f3f4f6; border-radius: 0.5rem; padding: 1rem; text-align: center;"> <div style="background: #f3f4f6; border-radius: 0.5rem; padding: 1rem; text-align: center;">
<div style="font-size: 1.875rem; font-weight: 700; color: #000000;">6</div> <div style="font-size: 1.875rem; font-weight: 700; color: #000000;">6</div>
<div style="font-size: 0.875rem; color: #000000;">Governance services per response</div> <div style="font-size: 0.875rem; color: #000000;" data-i18n="village_section.home_ai.stat_services">Governance services per response</div>
</div> </div>
<div style="background: #f3f4f6; border-radius: 0.5rem; padding: 1rem; text-align: center;"> <div style="background: #f3f4f6; border-radius: 0.5rem; padding: 1rem; text-align: center;">
<div style="font-size: 1.875rem; font-weight: 700; color: #000000;">11+</div> <div style="font-size: 1.875rem; font-weight: 700; color: #000000;">11+</div>
<div style="font-size: 0.875rem; color: #000000;">Months in production</div> <div style="font-size: 0.875rem; color: #000000;" data-i18n="village_section.home_ai.stat_months">Months in production</div>
</div> </div>
</div> </div>
<p style="font-size: 0.875rem; color: #000000; font-style: italic;"> <p style="font-size: 0.875rem; color: #000000; font-style: italic;" data-i18n="village_section.home_ai.disclaimer">
These figures reflect single-tenant deployment. Multi-tenant validation pending. These figures reflect single-tenant deployment. Multi-tenant validation pending.
</p> </p>
</div> </div>
<!-- Governed Features Card --> <!-- Governed Features Card -->
<div style="background: rgba(255,255,255,0.9); border-radius: 0.75rem; padding: 2rem; border: 1px solid #e5e7eb;"> <div style="background: rgba(255,255,255,0.9); border-radius: 0.75rem; padding: 2rem; border: 1px solid #e5e7eb;">
<h3 style="font-size: 1.25rem; font-weight: 700; margin-bottom: 1.5rem; color: #000000;">Governance-Protected Features</h3> <h3 style="font-size: 1.25rem; font-weight: 700; margin-bottom: 1.5rem; color: #000000;" data-i18n="village_section.features.title">Governance-Protected Features</h3>
<ul style="list-style: none; padding: 0; margin: 0;"> <ul style="list-style: none; padding: 0; margin: 0;">
<li style="display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 1rem;"> <li style="display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 1rem;">
<div style="width: 2rem; height: 2rem; border-radius: 0.5rem; background: #14b8a6; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: white;"></div> <div style="width: 2rem; height: 2rem; border-radius: 0.5rem; background: #14b8a6; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: white;"></div>
<div> <div>
<div style="font-weight: 600; color: #000000;">RAG-Based Help Centre</div> <div style="font-weight: 600; color: #000000;" data-i18n="village_section.features.rag_help.title">RAG-Based Help Centre</div>
<div style="font-size: 0.875rem; color: #000000;">Vector search with permission-aware retrieval</div> <div style="font-size: 0.875rem; color: #000000;" data-i18n="village_section.features.rag_help.description">Vector search with permission-aware retrieval</div>
</div> </div>
</li> </li>
<li style="display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 1rem;"> <li style="display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 1rem;">
<div style="width: 2rem; height: 2rem; border-radius: 0.5rem; background: #14b8a6; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: white;"></div> <div style="width: 2rem; height: 2rem; border-radius: 0.5rem; background: #14b8a6; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: white;"></div>
<div> <div>
<div style="font-weight: 600; color: #000000;">Document OCR</div> <div style="font-weight: 600; color: #000000;" data-i18n="village_section.features.document_ocr.title">Document OCR</div>
<div style="font-size: 0.875rem; color: #000000;">Automated text extraction under consent controls</div> <div style="font-size: 0.875rem; color: #000000;" data-i18n="village_section.features.document_ocr.description">Automated text extraction under consent controls</div>
</div> </div>
</li> </li>
<li style="display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 1rem;"> <li style="display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 1rem;">
<div style="width: 2rem; height: 2rem; border-radius: 0.5rem; background: #14b8a6; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: white;"></div> <div style="width: 2rem; height: 2rem; border-radius: 0.5rem; background: #14b8a6; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: white;"></div>
<div> <div>
<div style="font-weight: 600; color: #000000;">Story Assistance</div> <div style="font-weight: 600; color: #000000;" data-i18n="village_section.features.story_assistance.title">Story Assistance</div>
<div style="font-size: 0.875rem; color: #000000;">Content suggestions filtered through BoundaryEnforcer</div> <div style="font-size: 0.875rem; color: #000000;" data-i18n="village_section.features.story_assistance.description">Content suggestions filtered through BoundaryEnforcer</div>
</div> </div>
</li> </li>
<li style="display: flex; align-items: flex-start; gap: 0.75rem;"> <li style="display: flex; align-items: flex-start; gap: 0.75rem;">
<div style="width: 2rem; height: 2rem; border-radius: 0.5rem; background: #14b8a6; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: white;"></div> <div style="width: 2rem; height: 2rem; border-radius: 0.5rem; background: #14b8a6; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: white;"></div>
<div> <div>
<div style="font-weight: 600; color: #000000;">AI Memory Transparency</div> <div style="font-weight: 600; color: #000000;" data-i18n="village_section.features.ai_memory.title">AI Memory Transparency</div>
<div style="font-size: 0.875rem; color: #000000;">User-controlled summarisation with audit dashboard</div> <div style="font-size: 0.875rem; color: #000000;" data-i18n="village_section.features.ai_memory.description">User-controlled summarisation with audit dashboard</div>
</div> </div>
</li> </li>
</ul> </ul>
@ -653,11 +653,13 @@ Handles plural moral values without imposing hierarchy—facilitates human judgm
<a href="https://mysovereignty.digital" <a href="https://mysovereignty.digital"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
style="display: inline-block; background: #ffffff; color: #0f766e; padding: 0.75rem 2rem; border-radius: 0.5rem; font-weight: 600; text-decoration: none; box-shadow: 0 4px 6px rgba(0,0,0,0.1); text-align: center;"> style="display: inline-block; background: #ffffff; color: #0f766e; padding: 0.75rem 2rem; border-radius: 0.5rem; font-weight: 600; text-decoration: none; box-shadow: 0 4px 6px rgba(0,0,0,0.1); text-align: center;"
data-i18n="village_section.cta_explore">
Explore the Village → Explore the Village →
</a> </a>
<a href="/village-case-study.html" <a href="/village-case-study.html"
style="display: inline-block; background: #115e59; color: #ffffff; padding: 0.75rem 2rem; border-radius: 0.5rem; font-weight: 600; text-decoration: none; border: 2px solid #2dd4bf; text-align: center;"> style="display: inline-block; background: #115e59; color: #ffffff; padding: 0.75rem 2rem; border-radius: 0.5rem; font-weight: 600; text-decoration: none; border: 2px solid #2dd4bf; text-align: center;"
data-i18n="village_section.cta_case_study">
Technical Case Study → Technical Case Study →
</a> </a>
</div> </div>
@ -665,8 +667,8 @@ Handles plural moral values without imposing hierarchy—facilitates human judgm
<!-- Honest Limitations --> <!-- Honest Limitations -->
<div style="margin-top: 2rem; background: #fef3c7; border: 2px solid #f59e0b; border-radius: 0.5rem; padding: 1rem; text-align: center;"> <div style="margin-top: 2rem; background: #fef3c7; border: 2px solid #f59e0b; border-radius: 0.5rem; padding: 1rem; text-align: center;">
<p style="font-size: 0.875rem; color: #78350f; margin: 0;"> <p style="font-size: 0.875rem; color: #78350f; margin: 0;">
<strong>Limitations:</strong> Single implementation, self-reported metrics, operator-developer overlap. <strong data-i18n="village_section.limitations_label">Limitations:</strong> <span data-i18n="village_section.limitations">Single implementation, self-reported metrics, operator-developer overlap.
Independent audit and multi-site validation scheduled for 2026. Independent audit and multi-site validation scheduled for 2026.</span>
</p> </p>
</div> </div>
@ -776,29 +778,29 @@ Handles plural moral values without imposing hierarchy—facilitates human judgm
<!-- Footer --> <!-- Footer -->
<!-- Version Management & PWA --> <!-- Version Management & PWA -->
<script src="/js/version-manager.js?v=0.1.2.1763926979200"></script> <script src="/js/version-manager.js?v=0.1.2.1765255143694"></script>
<!-- Share CTA functionality --> <!-- Share CTA functionality -->
<script src="/js/share-cta.js?v=0.1.2.1763926979200"></script> <script src="/js/share-cta.js?v=0.1.2.1765255143694"></script>
<!-- Internationalization --> <!-- Internationalization -->
<script src="/js/i18n-simple.js?v=0.1.2.1763926979200"></script> <script src="/js/i18n-simple.js?v=0.1.2.1765255143694"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1763926979200"></script> <script src="/js/components/language-selector.js?v=0.1.2.1765255143694"></script>
<!-- Scroll Animations (Phase 3) --> <!-- Scroll Animations (Phase 3) -->
<script src="/js/scroll-animations.js?v=0.1.2.1763926979200"></script> <script src="/js/scroll-animations.js?v=0.1.2.1765255143694"></script>
<!-- Page Transitions (Phase 3) --> <!-- Page Transitions (Phase 3) -->
<script src="/js/page-transitions.js?v=0.1.2.1763926979200"></script> <script src="/js/page-transitions.js?v=0.1.2.1765255143694"></script>
<!-- Footer Component --> <!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1763926979200"></script> <script src="/js/components/footer.js?v=0.1.2.1765255143694"></script>
<!-- Feedback System (Governed by Tractatus + Agent Lightning) --> <!-- Feedback System (Governed by Tractatus + Agent Lightning) -->
<script src="/js/components/feedback.js?v=0.1.2.1763926979200"></script> <script src="/js/components/feedback.js?v=0.1.2.1765255143694"></script>
<!-- Newsletter Subscription Modal --> <!-- Newsletter Subscription Modal -->
<script src="/js/components/newsletter.js?v=0.1.2.1763926979200"></script> <script src="/js/components/newsletter.js?v=0.1.2.1765255143694"></script>
</body> </body>
</html> </html>

View file

@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Koha — Reciprocal Support | Tractatus AI Safety</title> <title>Koha — Reciprocal Support | Tractatus AI Safety</title>
<meta name="description" content="Join a relationship of mutual support for AI safety. Koha is reciprocal giving that maintains community bonds — your contribution sustains this work; our work serves you and the commons."> <meta name="description" content="Join a relationship of mutual support for AI safety. Koha is reciprocal giving that maintains community bonds — your contribution sustains this work; our work serves you and the commons.">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1765255143694">
<style> <style>
.gradient-text { background: linear-gradient(120deg, #3b82f6 0%, #8b5cf6 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .gradient-text { background: linear-gradient(120deg, #3b82f6 0%, #8b5cf6 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.skip-link { position: absolute; left: -9999px; } .skip-link { position: absolute; left: -9999px; }
@ -55,7 +55,7 @@
<a href="#main-content" class="skip-link">Skip to main content</a> <a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation (injected by navbar.js) --> <!-- Navigation (injected by navbar.js) -->
<script src="/js/components/navbar.js?v=0.1.2.1763926979200"></script> <script src="/js/components/navbar.js?v=0.1.2.1765255143694"></script>
<!-- Main Content --> <!-- Main Content -->
<main id="main-content" class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 py-12"> <main id="main-content" class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
@ -384,17 +384,17 @@
</main> </main>
<!-- Footer --> <!-- Footer -->
<script src="/js/components/footer.js?v=0.1.2.1763926979200"></script> <script src="/js/components/footer.js?v=0.1.2.1765255143694"></script>
<!-- Currency utilities and selector --> <!-- Currency utilities and selector -->
<script src="/js/utils/currency.js?v=0.1.2.1763926979200"></script> <script src="/js/utils/currency.js?v=0.1.2.1765255143694"></script>
<script src="/js/components/currency-selector.js?v=0.1.2.1763926979200"></script> <script src="/js/components/currency-selector.js?v=0.1.2.1765255143694"></script>
<!-- Donation form functionality --> <!-- Donation form functionality -->
<script src="/js/koha-donation.js?v=0.1.2.1763926979200"></script> <script src="/js/koha-donation.js?v=0.1.2.1765255143694"></script>
<!-- Internationalization --> <!-- Internationalization -->
<script src="/js/i18n-simple.js?v=0.1.2.1763926979200"></script> <script src="/js/i18n-simple.js?v=0.1.2.1765255143694"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1763926979200"></script> <script src="/js/components/language-selector.js?v=0.1.2.1765255143694"></script>
</body> </body>
</html> </html>

View file

@ -35,9 +35,9 @@
<link rel="apple-touch-icon" href="/images/tractatus-icon-new.svg"> <link rel="apple-touch-icon" href="/images/tractatus-icon-new.svg">
<link rel="icon" type="image/svg+xml" href="/favicon-new.svg"> <link rel="icon" type="image/svg+xml" href="/favicon-new.svg">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1765255143694">
<style> <style>
.hover-lift { transition: all 0.3s ease; } .hover-lift { transition: all 0.3s ease; }
.hover-lift:hover { transform: translateY(-2px); } .hover-lift:hover { transform: translateY(-2px); }
@ -85,7 +85,7 @@
<a href="#main-content" class="skip-link">Skip to main content</a> <a href="#main-content" class="skip-link">Skip to main content</a>
<script src="/js/components/navbar.js?v=0.1.2.1763926979200"></script> <script src="/js/components/navbar.js?v=0.1.2.1765255143694"></script>
<!-- Breadcrumb Navigation --> <!-- Breadcrumb Navigation -->
<nav class="bg-gray-50 border-b border-gray-200 py-3" aria-label="Breadcrumb"> <nav class="bg-gray-50 border-b border-gray-200 py-3" aria-label="Breadcrumb">
@ -1030,30 +1030,30 @@
<!-- Footer --> <!-- Footer -->
<!-- Internationalization (must load first for footer translations) --> <!-- Internationalization (must load first for footer translations) -->
<script src="/js/i18n-simple.js?v=0.1.2.1763926979200"></script> <script src="/js/i18n-simple.js?v=0.1.2.1765255143694"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1763926979200"></script> <script src="/js/components/language-selector.js?v=0.1.2.1765255143694"></script>
<!-- Scroll Animations (Phase 3) --> <!-- Scroll Animations (Phase 3) -->
<script src="/js/scroll-animations.js?v=0.1.2.1763926979200"></script> <script src="/js/scroll-animations.js?v=0.1.2.1765255143694"></script>
<!-- Page Transitions (Phase 3) --> <!-- Page Transitions (Phase 3) -->
<script src="/js/page-transitions.js?v=0.1.2.1763926979200"></script> <script src="/js/page-transitions.js?v=0.1.2.1765255143694"></script>
<!-- Version Management & PWA --> <!-- Version Management & PWA -->
<script src="/js/version-manager.js?v=0.1.2.1763926979200"></script> <script src="/js/version-manager.js?v=0.1.2.1765255143694"></script>
<script src="/js/leader-page.js?v=0.1.2.1763926979200"></script> <script src="/js/leader-page.js?v=0.1.2.1765255143694"></script>
<!-- Share CTA functionality --> <!-- Share CTA functionality -->
<script src="/js/share-cta.js?v=0.1.2.1763926979200"></script> <script src="/js/share-cta.js?v=0.1.2.1765255143694"></script>
<!-- Footer Component --> <!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1763926979200"></script> <script src="/js/components/footer.js?v=0.1.2.1765255143694"></script>
<!-- Feedback System (Governed by Tractatus + Agent Lightning) --> <!-- Feedback System (Governed by Tractatus + Agent Lightning) -->
<script src="/js/components/feedback.js?v=0.1.2.1763926979200"></script> <script src="/js/components/feedback.js?v=0.1.2.1765255143694"></script>
<!-- Newsletter Subscription Modal --> <!-- Newsletter Subscription Modal -->
<script src="/js/components/newsletter.js?v=0.1.2.1763926979200"></script> <script src="/js/components/newsletter.js?v=0.1.2.1765255143694"></script>
</body> </body>
</html> </html>

View file

@ -4,9 +4,9 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title data-i18n="page.title">Media Inquiry | Tractatus AI Safety</title> <title data-i18n="page.title">Media Inquiry | Tractatus AI Safety</title>
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1765255143694">
<style> <style>
.form-group { margin-bottom: 1.5rem; } .form-group { margin-bottom: 1.5rem; }
.form-label { .form-label {
@ -72,8 +72,8 @@
<a href="#main-content" class="skip-link">Skip to main content</a> <a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation (injected by navbar.js) --> <!-- Navigation (injected by navbar.js) -->
<script src="/js/components/navbar.js?v=0.1.2.1763926979200"></script> <script src="/js/components/navbar.js?v=0.1.2.1765255143694"></script>
<script src="/js/i18n-simple.js?v=0.1.2.1763926979200"></script> <script src="/js/i18n-simple.js?v=0.1.2.1765255143694"></script>
<!-- Main Content --> <!-- Main Content -->
<main id="main-content" class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-12"> <main id="main-content" class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
@ -176,11 +176,11 @@
</main> </main>
<!-- Footer --> <!-- Footer -->
<script src="/js/components/language-selector.js?v=0.1.2.1763926979200"></script> <script src="/js/components/language-selector.js?v=0.1.2.1765255143694"></script>
<script src="/js/media-inquiry.js?v=0.1.2.1763926979200"></script> <script src="/js/media-inquiry.js?v=0.1.2.1765255143694"></script>
<!-- Footer Component --> <!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1763926979200"></script> <script src="/js/components/footer.js?v=0.1.2.1765255143694"></script>
</body> </body>
</html> </html>

View file

@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title data-i18n="meta.title">Privacy Policy | Tractatus AI Safety Framework</title> <title data-i18n="meta.title">Privacy Policy | Tractatus AI Safety Framework</title>
<meta name="description" content="Privacy policy for the Tractatus AI Safety Framework. Learn how we collect, use, and protect your data." data-i18n="meta.description"> <meta name="description" content="Privacy policy for the Tractatus AI Safety Framework. Learn how we collect, use, and protect your data." data-i18n="meta.description">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1765255143694">
<style> <style>
.skip-link { position: absolute; left: -9999px; } .skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 0; z-index: 100; background: white; padding: 1rem; } .skip-link:focus { left: 0; z-index: 100; background: white; padding: 1rem; }
@ -30,11 +30,11 @@
<a href="#main-content" class="skip-link">Skip to main content</a> <a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation (injected by navbar.js) --> <!-- Navigation (injected by navbar.js) -->
<script src="/js/components/navbar.js?v=0.1.2.1763926979200"></script> <script src="/js/components/navbar.js?v=0.1.2.1765255143694"></script>
<!-- i18n Support --> <!-- i18n Support -->
<script src="/js/i18n-simple.js?v=0.1.2.1763926979200"></script> <script src="/js/i18n-simple.js?v=0.1.2.1765255143694"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1763926979200"></script> <script src="/js/components/language-selector.js?v=0.1.2.1765255143694"></script>
<!-- Main Content --> <!-- Main Content -->
<main id="main-content" class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-12"> <main id="main-content" class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
@ -324,7 +324,7 @@
</main> </main>
<!-- Footer --> <!-- Footer -->
<script src="/js/components/footer.js?v=0.1.2.1763926979200"></script> <script src="/js/components/footer.js?v=0.1.2.1765255143694"></script>
</body> </body>
</html> </html>

View file

@ -35,9 +35,9 @@
<link rel="apple-touch-icon" href="/images/tractatus-icon-new.svg"> <link rel="apple-touch-icon" href="/images/tractatus-icon-new.svg">
<link rel="icon" type="image/svg+xml" href="/favicon-new.svg"> <link rel="icon" type="image/svg+xml" href="/favicon-new.svg">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1765255143694">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1763926979200"> <link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1765255143694">
<style> <style>
.skip-link { position: absolute; left: -9999px; } .skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 0; z-index: 100; background: white; padding: 1rem; } .skip-link:focus { left: 0; z-index: 100; background: white; padding: 1rem; }
@ -91,7 +91,7 @@
</div> </div>
</noscript> </noscript>
<script src="/js/components/navbar.js?v=0.1.2.1763926979200"></script> <script src="/js/components/navbar.js?v=0.1.2.1765255143694"></script>
<!-- Breadcrumb Navigation --> <!-- Breadcrumb Navigation -->
<nav class="bg-gray-50 border-b border-gray-200 py-3" aria-label="Breadcrumb"> <nav class="bg-gray-50 border-b border-gray-200 py-3" aria-label="Breadcrumb">
@ -1575,30 +1575,30 @@
<!-- Footer --> <!-- Footer -->
<!-- Internationalization (must load first for footer translations) --> <!-- Internationalization (must load first for footer translations) -->
<script src="/js/i18n-simple.js?v=0.1.2.1763926979200"></script> <script src="/js/i18n-simple.js?v=0.1.2.1765255143694"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1763926979200"></script> <script src="/js/components/language-selector.js?v=0.1.2.1765255143694"></script>
<!-- Scroll Animations (Phase 3) --> <!-- Scroll Animations (Phase 3) -->
<script src="/js/scroll-animations.js?v=0.1.2.1763926979200"></script> <script src="/js/scroll-animations.js?v=0.1.2.1765255143694"></script>
<!-- Page Transitions (Phase 3) --> <!-- Page Transitions (Phase 3) -->
<script src="/js/page-transitions.js?v=0.1.2.1763926979200"></script> <script src="/js/page-transitions.js?v=0.1.2.1765255143694"></script>
<!-- Version Management & PWA --> <!-- Version Management & PWA -->
<script src="/js/version-manager.js?v=0.1.2.1763926979200"></script> <script src="/js/version-manager.js?v=0.1.2.1765255143694"></script>
<script src="/js/researcher-page.js?v=0.1.2.1763926979200"></script> <script src="/js/researcher-page.js?v=0.1.2.1765255143694"></script>
<!-- Share CTA functionality --> <!-- Share CTA functionality -->
<script src="/js/share-cta.js?v=0.1.2.1763926979200"></script> <script src="/js/share-cta.js?v=0.1.2.1765255143694"></script>
<!-- Footer Component --> <!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1763926979200"></script> <script src="/js/components/footer.js?v=0.1.2.1765255143694"></script>
<!-- Feedback System (Governed by Tractatus + Agent Lightning) --> <!-- Feedback System (Governed by Tractatus + Agent Lightning) -->
<script src="/js/components/feedback.js?v=0.1.2.1763926979200"></script> <script src="/js/components/feedback.js?v=0.1.2.1765255143694"></script>
<!-- Newsletter Subscription Modal --> <!-- Newsletter Subscription Modal -->
<script src="/js/components/newsletter.js?v=0.1.2.1763926979200"></script> <script src="/js/components/newsletter.js?v=0.1.2.1765255143694"></script>
</body> </body>
</html> </html>

View file

@ -4,7 +4,7 @@
* NO aggressive caching (rely on HTTP caching instead) * NO aggressive caching (rely on HTTP caching instead)
*/ */
const CACHE_VERSION = '0.2.0'; const CACHE_VERSION = '0.1.3';
// Install immediately, don't cache anything // Install immediately, don't cache anything
self.addEventListener('install', (event) => { self.addEventListener('install', (event) => {

View file

@ -1,12 +1,12 @@
{ {
"version": "0.2.0", "version": "0.1.3",
"buildDate": "2025-12-09T01:40:00.000Z", "buildDate": "2025-12-09T04:39:03.699Z",
"changelog": [ "changelog": [
"Village platform case study added", "Added German/French translations for Village section",
"Home AI integration section", "Added Village case study translations (EN/DE/FR)",
"Framework metrics v0.2 update", "i18n support for village-case-study.html",
"Force cache invalidation" "Force cache invalidation"
], ],
"forceUpdate": true, "forceUpdate": true,
"minVersion": "0.2.0" "minVersion": "0.2.1"
} }

View file

@ -59,7 +59,7 @@
<ol class="flex items-center space-x-2 text-sm"> <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><a href="/" class="text-blue-600 hover:underline transition-colors">Home</a></li>
<li class="text-gray-400">/</li> <li class="text-gray-400">/</li>
<li class="text-gray-900 font-medium" aria-current="page">Village Case Study</li> <li class="text-gray-900 font-medium" aria-current="page" data-i18n="breadcrumb">Village Case Study</li>
</ol> </ol>
</div> </div>
</nav> </nav>
@ -69,21 +69,21 @@
<section style="background: linear-gradient(135deg, #0d9488 0%, #0f766e 50%, #047857 100%); padding: 4rem 0;"> <section style="background: linear-gradient(135deg, #0d9488 0%, #0f766e 50%, #047857 100%); padding: 4rem 0;">
<div style="max-width: 80rem; margin: 0 auto; padding: 0 1rem;"> <div style="max-width: 80rem; margin: 0 auto; padding: 0 1rem;">
<div style="text-align: center;"> <div style="text-align: center;">
<div style="display: inline-block; background: #000000; color: #ffffff; padding: 0.5rem 1rem; border-radius: 0.5rem; font-weight: 600; margin-bottom: 1.5rem; font-size: 0.875rem;"> <div style="display: inline-block; background: #000000; color: #ffffff; padding: 0.5rem 1rem; border-radius: 0.5rem; font-weight: 600; margin-bottom: 1.5rem; font-size: 0.875rem;" data-i18n="hero.badge">
CASE STUDY CASE STUDY
</div> </div>
<h1 style="font-size: 2.5rem; font-weight: 700; margin-bottom: 1.5rem; color: #000000;"> <h1 style="font-size: 2.5rem; font-weight: 700; margin-bottom: 1.5rem; color: #000000;" data-i18n="hero.title">
Village Platform: Tractatus in Production Village Platform: Tractatus in Production
</h1> </h1>
<p style="font-size: 1.25rem; margin-bottom: 2rem; max-width: 48rem; margin-left: auto; margin-right: auto; color: #000000;"> <p style="font-size: 1.25rem; margin-bottom: 2rem; max-width: 48rem; margin-left: auto; margin-right: auto; color: #000000;" data-i18n="hero.subtitle">
How Home AI applies all six Tractatus governance services to every user interaction in a live community platform. How Home AI applies all six Tractatus governance services to every user interaction in a live community platform.
</p> </p>
<!-- Caveat Box - HIGH VISIBILITY DISCLAIMER --> <!-- Caveat Box - HIGH VISIBILITY DISCLAIMER -->
<div style="background: #fef3c7; border: 3px solid #f59e0b; border-radius: 0.5rem; padding: 1.5rem; max-width: 48rem; margin: 0 auto;"> <div style="background: #fef3c7; border: 3px solid #f59e0b; border-radius: 0.5rem; padding: 1.5rem; max-width: 48rem; margin: 0 auto;">
<p style="color: #78350f; font-size: 1.125rem; margin: 0;"> <p style="color: #78350f; font-size: 1.125rem; margin: 0;">
<strong style="color: #92400e;">⚠️ Important:</strong> This documents a single implementation by the framework developer. <strong style="color: #92400e;">⚠️ <span data-i18n="hero.disclaimer.label">Important:</span></strong> <span data-i18n="hero.disclaimer.text">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. Metrics are self-reported. Independent audit and multi-site validation are planned but not yet conducted.</span>
</p> </p>
</div> </div>
</div> </div>
@ -96,36 +96,36 @@
<!-- Overview Section --> <!-- Overview Section -->
<section class="mb-16"> <section class="mb-16">
<h2 class="text-3xl font-bold text-gray-900 mb-6">Overview</h2> <h2 class="text-3xl font-bold text-gray-900 mb-6" data-i18n="overview.heading">Overview</h2>
<div class="bg-white rounded-xl shadow-md p-8 mb-8"> <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 class="grid grid-cols-1 md:grid-cols-2 gap-8">
<div> <div>
<h3 class="text-lg font-semibold text-gray-900 mb-4">Platform Purpose</h3> <h3 class="text-lg font-semibold text-gray-900 mb-4" data-i18n="overview.platform_purpose.title">Platform Purpose</h3>
<p class="text-gray-700 leading-relaxed"> <p class="text-gray-700 leading-relaxed" data-i18n="overview.platform_purpose.description">
The Village is a member-owned community platform providing sovereign data storage, The Village is a member-owned community platform providing sovereign data storage,
AI-assisted features, and privacy-by-design architecture. Communities operate AI-assisted features, and privacy-by-design architecture. Communities operate
with full data ownership and governance-protected AI assistance. with full data ownership and governance-protected AI assistance.
</p> </p>
</div> </div>
<div> <div>
<h3 class="text-lg font-semibold text-gray-900 mb-4">Deployment Facts</h3> <h3 class="text-lg font-semibold text-gray-900 mb-4" data-i18n="overview.deployment_facts.title">Deployment Facts</h3>
<ul class="space-y-2 text-gray-700"> <ul class="space-y-2 text-gray-700">
<li class="flex items-center"> <li class="flex items-center">
<span class="w-32 font-medium">Duration:</span> <span class="w-32 font-medium" data-i18n="overview.deployment_facts.duration_label">Duration:</span>
<span>11+ months in production</span> <span data-i18n="overview.deployment_facts.duration_value">11+ months in production</span>
</li> </li>
<li class="flex items-center"> <li class="flex items-center">
<span class="w-32 font-medium">Tenant Model:</span> <span class="w-32 font-medium" data-i18n="overview.deployment_facts.tenant_label">Tenant Model:</span>
<span>Single-tenant (multi-tenant planned)</span> <span data-i18n="overview.deployment_facts.tenant_value">Single-tenant (multi-tenant planned)</span>
</li> </li>
<li class="flex items-center"> <li class="flex items-center">
<span class="w-32 font-medium">AI Features:</span> <span class="w-32 font-medium" data-i18n="overview.deployment_facts.features_label">AI Features:</span>
<span>4 governed features live</span> <span data-i18n="overview.deployment_facts.features_value">4 governed features live</span>
</li> </li>
<li class="flex items-center"> <li class="flex items-center">
<span class="w-32 font-medium">Services/Response:</span> <span class="w-32 font-medium" data-i18n="overview.deployment_facts.services_label">Services/Response:</span>
<span>6 governance checks</span> <span data-i18n="overview.deployment_facts.services_value">6 governance checks</span>
</li> </li>
</ul> </ul>
</div> </div>
@ -429,23 +429,26 @@
<!-- CTAs --> <!-- CTAs -->
<section style="background: linear-gradient(90deg, #0d9488 0%, #059669 100%); border-radius: 0.75rem; padding: 2rem; text-align: center;"> <section style="background: linear-gradient(90deg, #0d9488 0%, #059669 100%); border-radius: 0.75rem; padding: 2rem; text-align: center;">
<h2 style="font-size: 1.5rem; font-weight: 700; margin-bottom: 1rem; color: #000000;">Explore Further</h2> <h2 style="font-size: 1.5rem; font-weight: 700; margin-bottom: 1rem; color: #000000;" data-i18n="cta.heading">Explore Further</h2>
<p style="color: #000000; margin-bottom: 1.5rem; max-width: 42rem; margin-left: auto; margin-right: auto;"> <p style="color: #000000; margin-bottom: 1.5rem; max-width: 42rem; margin-left: auto; margin-right: auto;" data-i18n="cta.description">
See the Village platform in action, or dive deeper into the technical architecture. See the Village platform in action, or dive deeper into the technical architecture.
</p> </p>
<div style="display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center;"> <div style="display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center;">
<a href="https://mysovereignty.digital" <a href="https://mysovereignty.digital"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
style="display: inline-block; background: #ffffff; color: #0f766e; padding: 0.75rem 2rem; border-radius: 0.5rem; font-weight: 600; text-decoration: none; box-shadow: 0 4px 6px rgba(0,0,0,0.1);"> style="display: inline-block; background: #ffffff; color: #0f766e; padding: 0.75rem 2rem; border-radius: 0.5rem; font-weight: 600; text-decoration: none; box-shadow: 0 4px 6px rgba(0,0,0,0.1);"
data-i18n="cta.visit_village">
Visit the Village → Visit the Village →
</a> </a>
<a href="/architecture.html" <a href="/architecture.html"
style="display: inline-block; background: #115e59; color: #ffffff; padding: 0.75rem 2rem; border-radius: 0.5rem; font-weight: 600; text-decoration: none; border: 2px solid #2dd4bf;"> style="display: inline-block; background: #115e59; color: #ffffff; padding: 0.75rem 2rem; border-radius: 0.5rem; font-weight: 600; text-decoration: none; border: 2px solid #2dd4bf;"
data-i18n="cta.system_architecture">
System Architecture → System Architecture →
</a> </a>
<a href="/researcher.html" <a href="/researcher.html"
style="display: inline-block; background: #115e59; color: #ffffff; padding: 0.75rem 2rem; border-radius: 0.5rem; font-weight: 600; text-decoration: none; border: 2px solid #2dd4bf;"> style="display: inline-block; background: #115e59; color: #ffffff; padding: 0.75rem 2rem; border-radius: 0.5rem; font-weight: 600; text-decoration: none; border: 2px solid #2dd4bf;"
data-i18n="cta.research_details">
Research Details → Research Details →
</a> </a>
</div> </div>