chore: bump cache version for deployment

This commit is contained in:
TheFlow 2026-02-24 10:29:57 +13:00
parent 1b1d955c89
commit 302bf516f3
25 changed files with 227 additions and 222 deletions

View file

@ -5,9 +5,9 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<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.">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771882197671">
<style>
/* Accessibility: Skip link */
.skip-link { position: absolute; left: -9999px; top: 0; }
@ -29,7 +29,7 @@
<a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation (injected by navbar.js) -->
<script src="/js/components/navbar.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/navbar.js?v=0.1.2.1771882197671"></script>
<!-- Breadcrumb Navigation -->
<nav class="bg-gray-50 border-b border-gray-200 py-3" aria-label="Breadcrumb">
@ -314,22 +314,22 @@
<!-- Footer -->
<!-- Footer -->
<!-- Internationalization -->
<script src="/js/i18n-simple.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1771837836100"></script>
<script src="/js/i18n-simple.js?v=0.1.2.1771882197671"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1771882197671"></script>
<!-- Scroll Animations (Phase 3) -->
<script src="/js/scroll-animations.js?v=0.1.2.1771837836100"></script>
<script src="/js/scroll-animations.js?v=0.1.2.1771882197671"></script>
<!-- Page Transitions (Phase 3) -->
<script src="/js/page-transitions.js?v=0.1.2.1771837836100"></script>
<script src="/js/page-transitions.js?v=0.1.2.1771882197671"></script>
<!-- Share CTA functionality -->
<script src="/js/share-cta.js?v=0.1.2.1771837836100"></script>
<script src="/js/share-cta.js?v=0.1.2.1771882197671"></script>
<!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/footer.js?v=0.1.2.1771882197671"></script>
<!-- Feedback System (Governed by Tractatus + Agent Lightning) -->
<script src="/js/components/feedback.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/feedback.js?v=0.1.2.1771882197671"></script>
</body>
</html>

View file

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

View file

@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>API Reference | Tractatus Framework</title>
<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.1771837836100">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771882197671">
<style>
.endpoint-badge {
@apply inline-block px-2 py-1 rounded text-xs font-mono font-semibold;
@ -871,7 +871,7 @@
<!-- Footer -->
<!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/footer.js?v=0.1.2.1771882197671"></script>
</body>
</html>

View file

@ -25,9 +25,9 @@
<link rel="apple-touch-icon" href="/images/tractatus-icon-new.svg">
<link rel="icon" type="image/svg+xml" href="/favicon-new.svg">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771882197671">
<style>
.article-container { max-width: 800px; margin: 0 auto; padding: 2rem 1.5rem 4rem; }
@ -75,7 +75,7 @@
<body class="bg-white">
<!-- Navigation -->
<script src="/js/components/navbar.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/navbar.js?v=0.1.2.1771882197671"></script>
<article class="article-container">
<header class="article-header">
@ -453,7 +453,7 @@
</article>
<!-- Footer -->
<script src="/js/components/footer.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/footer.js?v=0.1.2.1771882197671"></script>
</body>
</html>

View file

@ -25,9 +25,9 @@
<link rel="apple-touch-icon" href="/images/tractatus-icon-new.svg">
<link rel="icon" type="image/svg+xml" href="/favicon-new.svg">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771882197671">
<style>
.article-container { max-width: 800px; margin: 0 auto; padding: 2rem 1.5rem 4rem; }
@ -75,7 +75,7 @@
<body class="bg-white">
<!-- Navigation -->
<script src="/js/components/navbar.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/navbar.js?v=0.1.2.1771882197671"></script>
<article class="article-container">
<header class="article-header">
@ -488,7 +488,7 @@
</article>
<!-- Footer -->
<script src="/js/components/footer.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/footer.js?v=0.1.2.1771882197671"></script>
</body>
</html>

View file

@ -25,9 +25,9 @@
<link rel="apple-touch-icon" href="/images/tractatus-icon-new.svg">
<link rel="icon" type="image/svg+xml" href="/favicon-new.svg">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771882197671">
<style>
.article-container { max-width: 800px; margin: 0 auto; padding: 2rem 1.5rem 4rem; }
@ -74,7 +74,7 @@
<body class="bg-white">
<!-- Navigation -->
<script src="/js/components/navbar.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/navbar.js?v=0.1.2.1771882197671"></script>
<article class="article-container">
<header class="article-header">
@ -458,7 +458,7 @@
</article>
<!-- Footer -->
<script src="/js/components/footer.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/footer.js?v=0.1.2.1771882197671"></script>
</body>
</html>

View file

@ -25,9 +25,9 @@
<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.2.1771837836100">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771882197671">
<style>
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 0; z-index: 100; background: white; padding: 1rem; }
@ -51,7 +51,7 @@
<a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation (injected by navbar.js) -->
<script src="/js/components/navbar.js?v=0.1.2.1771837836100" defer></script>
<script src="/js/components/navbar.js?v=0.1.2.1771882197671" defer></script>
<!-- Breadcrumb Navigation -->
<nav class="bg-gray-50 border-b border-gray-200 py-3" aria-label="Breadcrumb">
@ -1089,24 +1089,24 @@
<!-- Footer -->
<!-- Internationalization -->
<script src="/js/i18n-simple.js?v=0.1.2.1771837836100" defer></script>
<script src="/js/components/language-selector.js?v=0.1.2.1771837836100" defer></script>
<script src="/js/i18n-simple.js?v=0.1.2.1771882197671" defer></script>
<script src="/js/components/language-selector.js?v=0.1.2.1771882197671" defer></script>
<!-- Scroll Animations (Phase 3) -->
<script src="/js/scroll-animations.js?v=0.1.2.1771837836100"></script>
<script src="/js/scroll-animations.js?v=0.1.2.1771882197671"></script>
<!-- Page Transitions (Phase 3) -->
<script src="/js/page-transitions.js?v=0.1.2.1771837836100"></script>
<script src="/js/page-transitions.js?v=0.1.2.1771882197671"></script>
<!-- Interactive Architecture Diagram (Phase 3) -->
<script src="/js/components/interactive-diagram.js?v=0.1.2.1771837836100" defer></script>
<script src="/js/components/interactive-diagram.js?v=0.1.2.1771882197671" defer></script>
<!-- Data Visualizations (Phase 3) -->
<script src="/js/components/pressure-chart.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/activity-timeline.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/pressure-chart.js?v=0.1.2.1771882197671"></script>
<script src="/js/components/activity-timeline.js?v=0.1.2.1771882197671"></script>
<!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/footer.js?v=0.1.2.1771882197671"></script>
</body>
</html>

View file

@ -31,8 +31,8 @@
<!-- RSS Feed -->
<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.1771837836100">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771882197671">
<style>
/* Accessibility: Skip link */
.skip-link { position: absolute; left: -9999px; top: 0; }
@ -120,7 +120,7 @@
<a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation (injected by navbar.js) -->
<script src="/js/components/navbar.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/navbar.js?v=0.1.2.1771882197671"></script>
<!-- Breadcrumb -->
<div class="bg-white border-b border-gray-200">
@ -244,13 +244,13 @@
<!-- Footer -->
<!-- Newsletter Component -->
<script src="/js/components/newsletter.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/newsletter.js?v=0.1.2.1771882197671"></script>
<!-- Load Blog Post JavaScript -->
<script src="/js/blog-post.js?v=0.1.2.1771837836100"></script>
<script src="/js/blog-post.js?v=0.1.2.1771882197671"></script>
<!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/footer.js?v=0.1.2.1771882197671"></script>
</body>
</html>

View file

@ -28,8 +28,8 @@
<!-- RSS Feed -->
<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.1771837836100">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771882197671">
<style>
/* Accessibility: Skip link */
.skip-link { position: absolute; left: -9999px; top: 0; }
@ -52,7 +52,7 @@
<a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation (injected by navbar.js) -->
<script src="/js/components/navbar.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/navbar.js?v=0.1.2.1771882197671"></script>
<!-- Hero Section -->
<div class="bg-gradient-to-br from-indigo-50 to-blue-50 py-20">
@ -187,17 +187,17 @@
<!-- Footer -->
<!-- Internationalization (must load first for footer translations) -->
<script src="/js/i18n-simple.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1771837836100"></script>
<script src="/js/i18n-simple.js?v=0.1.2.1771882197671"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1771882197671"></script>
<!-- Newsletter Component -->
<script src="/js/components/newsletter.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/newsletter.js?v=0.1.2.1771882197671"></script>
<!-- Load Blog JavaScript -->
<script src="/js/blog.js?v=0.1.2.1771837836100"></script>
<script src="/js/blog.js?v=0.1.2.1771882197671"></script>
<!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/footer.js?v=0.1.2.1771882197671"></script>
</body>
</html>

View file

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

View file

@ -42,6 +42,6 @@
</ol>
</div>
<script src="/js/check-version.js?v=0.1.2.1771837836100"></script>
<script src="/js/check-version.js?v=0.1.2.1771882197671"></script>
</body>
</html>

View file

@ -4,8 +4,8 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documentation - Tractatus Framework</title>
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771882197671">
<style>
/* Prose styling for document content - uses plain CSS (not @apply, which is build-time only) */
.prose h1 { font-size: 1.875rem; font-weight: 700; margin-top: 2rem; margin-bottom: 1rem; color: #111827; line-height: 1.2; }
@ -89,12 +89,12 @@
</div>
<!-- Scripts -->
<script src="/js/utils/api.js?v=0.1.2.1771837836100"></script>
<script src="/js/utils/router.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/document-viewer.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/code-copy-button.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/toc.js?v=0.1.2.1771837836100"></script>
<script src="/js/docs-viewer-app.js?v=0.1.2.1771837836100"></script>
<script src="/js/utils/api.js?v=0.1.2.1771882197671"></script>
<script src="/js/utils/router.js?v=0.1.2.1771882197671"></script>
<script src="/js/components/document-viewer.js?v=0.1.2.1771882197671"></script>
<script src="/js/components/code-copy-button.js?v=0.1.2.1771882197671"></script>
<script src="/js/components/toc.js?v=0.1.2.1771882197671"></script>
<script src="/js/docs-viewer-app.js?v=0.1.2.1771882197671"></script>
</body>
</html>

View file

@ -38,9 +38,9 @@
<meta name="apple-mobile-web-app-title" content="Tractatus">
<link rel="apple-touch-icon" href="/images/tractatus-icon-new.svg">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771882197671">
<style>
html { scroll-behavior: smooth; }
@ -511,7 +511,7 @@
<a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation (injected by navbar.js) -->
<script src="/js/components/navbar.js?v=0.1.2.1771837836100" defer></script>
<script src="/js/components/navbar.js?v=0.1.2.1771882197671" defer></script>
<!-- Page Header -->
<div class="bg-white border-b border-gray-200">
@ -915,15 +915,15 @@
<!-- Version Management & PWA -->
<script src="/js/version-manager.js?v=0.1.2.1771837836100" defer></script>
<script src="/js/version-manager.js?v=0.1.2.1771882197671" defer></script>
<script src="/js/components/document-cards.js?v=0.1.2.1771837836100" defer></script>
<script src="/js/docs-app.js?v=0.1.2.1771837836100" defer></script>
<script src="/js/docs-search-enhanced.js?v=0.1.2.1771837836100" defer></script>
<script src="/js/components/document-cards.js?v=0.1.2.1771882197671" defer></script>
<script src="/js/docs-app.js?v=0.1.2.1771882197671" defer></script>
<script src="/js/docs-search-enhanced.js?v=0.1.2.1771882197671" defer></script>
<!-- Internationalization -->
<script src="/js/i18n-simple.js?v=0.1.2.1771837836100" defer></script>
<script src="/js/components/language-selector.js?v=0.1.2.1771837836100" defer></script>
<script src="/js/i18n-simple.js?v=0.1.2.1771882197671" defer></script>
<script src="/js/components/language-selector.js?v=0.1.2.1771882197671" defer></script>
</body>
</html>

View file

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

View file

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

View file

@ -33,9 +33,9 @@
<link rel="apple-touch-icon" href="/images/tractatus-icon-new.svg">
<link rel="icon" type="image/svg+xml" href="/favicon-new.svg">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771882197671">
<style>
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 0; z-index: 100; background: white; padding: 1rem; }
@ -53,7 +53,7 @@
<!-- Navigation -->
<div id="navbar-placeholder" class="min-h-16"></div>
<script src="/js/components/navbar.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/navbar.js?v=0.1.2.1771882197671"></script>
<!-- Hero Section -->
<header role="banner">
@ -532,27 +532,27 @@
</main>
<!-- Version Management -->
<script src="/js/version-manager.js?v=0.1.2.1771837836100"></script>
<script src="/js/version-manager.js?v=0.1.2.1771882197671"></script>
<!-- Share CTA functionality -->
<script src="/js/share-cta.js?v=0.1.2.1771837836100"></script>
<script src="/js/share-cta.js?v=0.1.2.1771882197671"></script>
<!-- Internationalization -->
<script src="/js/i18n-simple.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1771837836100"></script>
<script src="/js/i18n-simple.js?v=0.1.2.1771882197671"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1771882197671"></script>
<!-- Scroll Animations -->
<script src="/js/scroll-animations.js?v=0.1.2.1771837836100"></script>
<script src="/js/page-transitions.js?v=0.1.2.1771837836100"></script>
<script src="/js/scroll-animations.js?v=0.1.2.1771882197671"></script>
<script src="/js/page-transitions.js?v=0.1.2.1771882197671"></script>
<!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/footer.js?v=0.1.2.1771882197671"></script>
<!-- Feedback System -->
<script src="/js/components/feedback.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/feedback.js?v=0.1.2.1771882197671"></script>
<!-- Newsletter Subscription Modal -->
<script src="/js/components/newsletter.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/newsletter.js?v=0.1.2.1771882197671"></script>
</body>

View file

@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<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.">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771882197671">
<style>
.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; }
@ -53,7 +53,7 @@
<a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation (injected by navbar.js) -->
<script src="/js/components/navbar.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/navbar.js?v=0.1.2.1771882197671"></script>
<!-- Main Content -->
<main id="main-content" class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
@ -382,17 +382,17 @@
</main>
<!-- Footer -->
<script src="/js/components/footer.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/footer.js?v=0.1.2.1771882197671"></script>
<!-- Currency utilities and selector -->
<script src="/js/utils/currency.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/currency-selector.js?v=0.1.2.1771837836100"></script>
<script src="/js/utils/currency.js?v=0.1.2.1771882197671"></script>
<script src="/js/components/currency-selector.js?v=0.1.2.1771882197671"></script>
<!-- Donation form functionality -->
<script src="/js/koha-donation.js?v=0.1.2.1771837836100"></script>
<script src="/js/koha-donation.js?v=0.1.2.1771882197671"></script>
<!-- Internationalization -->
<script src="/js/i18n-simple.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1771837836100"></script>
<script src="/js/i18n-simple.js?v=0.1.2.1771882197671"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1771882197671"></script>
</body>
</html>

View file

@ -13,9 +13,9 @@
<meta name="theme-color" content="#8b5cf6">
<!-- Stylesheets -->
<link rel="stylesheet" href="/css/design-system.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/company-hub-navbar.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/footer.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/design-system.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/company-hub-navbar.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/footer.css?v=0.1.2.1771882197671">
<style>
:root {
@ -761,10 +761,10 @@
<!-- Footer -->
<div id="main-footer" data-back-to-home="true" data-force-home-url="/index.html"></div>
<script src="/js/company-hub-i18n.js?v=0.1.2.1771837836100"></script>
<script src="/js/theme.js?v=0.1.2.1771837836100"></script>
<script src="/js/company-hub-navbar-component.js?v=0.1.2.1771837836100"></script>
<script src="/js/company-hub-navbar.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/Footer.js?v=0.1.2.1771837836100"></script>
<script src="/js/company-hub-i18n.js?v=0.1.2.1771882197671"></script>
<script src="/js/theme.js?v=0.1.2.1771882197671"></script>
<script src="/js/company-hub-navbar-component.js?v=0.1.2.1771882197671"></script>
<script src="/js/company-hub-navbar.js?v=0.1.2.1771882197671"></script>
<script src="/js/components/Footer.js?v=0.1.2.1771882197671"></script>
</body>
</html>

View file

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

View file

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

View file

@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<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">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771882197671">
<style>
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 0; z-index: 100; background: white; padding: 1rem; }
@ -28,11 +28,11 @@
<a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation (injected by navbar.js) -->
<script src="/js/components/navbar.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/navbar.js?v=0.1.2.1771882197671"></script>
<!-- i18n Support -->
<script src="/js/i18n-simple.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1771837836100"></script>
<script src="/js/i18n-simple.js?v=0.1.2.1771882197671"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1771882197671"></script>
<!-- Main Content -->
<main id="main-content" class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
@ -275,7 +275,7 @@
</main>
<!-- Footer -->
<script src="/js/components/footer.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/footer.js?v=0.1.2.1771882197671"></script>
</body>
</html>

View file

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

View file

@ -1,6 +1,6 @@
{
"version": "0.1.3",
"buildDate": "2026-02-23T09:10:36.102Z",
"buildDate": "2026-02-23T21:29:57.674Z",
"changelog": [
"Added Tino Rangatiratanga (Māori) flag to language selector",
"Fixed cross-origin flag loading issue"

View file

@ -19,9 +19,9 @@
<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.2.1771837836100">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771882197671">
<style>
.skip-link { position: absolute; left: -9999px; top: 0; }
.skip-link:focus { left: 0; z-index: 100; background: white; padding: 1rem; border: 2px solid #3b82f6; }
@ -36,7 +36,7 @@
<!-- Navigation -->
<div id="navbar-placeholder" class="min-h-16"></div>
<script src="/js/components/navbar.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/navbar.js?v=0.1.2.1771882197671"></script>
<!-- Breadcrumb -->
<nav class="bg-gray-50 border-b border-gray-200 py-3" aria-label="Breadcrumb">
@ -62,7 +62,7 @@
</p>
<div class="bg-amber-100 border-2 border-amber-400 rounded-lg p-4 max-w-2xl mx-auto">
<p class="text-amber-900 text-sm" data-i18n-html="hero.status">
<strong>Status:</strong> Village AI operates in production for both inference and sovereign training. Seven training runs have been completed on local hardware (AMD RX 7900 XTX). Run 006 is the current production model. Training-time governance is empirically validated.
<strong>Status:</strong> Village AI operates in production for both inference and sovereign training. Training on local hardware has begun and a production model is deployed. Training-time governance is operational. This page describes both current capability and intended architecture.
</p>
</div>
</div>
@ -130,6 +130,7 @@
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<div class="bg-white rounded-lg shadow-sm p-6 border-l-4 border-blue-500">
<h3 class="text-lg font-bold text-gray-900 mb-2" data-i18n-html="two_model.fast_title">3B Model &mdash; Fast Assistant</h3>
<span class="inline-block bg-green-100 text-green-800 text-xs font-semibold px-2 py-0.5 rounded mb-2" data-i18n="two_model.fast_badge">Operational</span>
<p class="text-gray-700 text-sm mb-3" data-i18n="two_model.fast_desc">
Handles help queries, tooltips, error explanations, short summaries, and translation. Target response time: under 5 seconds complete.
</p>
@ -139,6 +140,7 @@
</div>
<div class="bg-white rounded-lg shadow-sm p-6 border-l-4 border-purple-500">
<h3 class="text-lg font-bold text-gray-900 mb-2" data-i18n-html="two_model.deep_title">8B Model &mdash; Deep Reasoning</h3>
<span class="inline-block bg-amber-100 text-amber-800 text-xs font-semibold px-2 py-0.5 rounded mb-2" data-i18n="two_model.deep_badge">Planned</span>
<p class="text-gray-700 text-sm mb-3" data-i18n="two_model.deep_desc">
Handles life story generation, year-in-review narratives, complex summarisation, and sensitive correspondence. Target response time: under 90 seconds.
</p>
@ -149,7 +151,7 @@
</div>
<p class="text-gray-600 text-sm mt-4" data-i18n-html="two_model.footer">
Both models operate under the same governance stack. The routing decision itself is governed &mdash; the ContextPressureMonitor can override routing if session health requires it.
Both models operate under the same governance stack. Routing governance is designed; ContextPressureMonitor override capability is planned.
</p>
</section>
@ -183,7 +185,7 @@
Each community trains a lightweight LoRA adapter on its own content &mdash; stories, documents, photos, and events that members have explicitly consented to include. This allows Village AI to answer questions like "What stories has Grandma shared?" without accessing any other community's data.
</p>
<p class="text-gray-500 text-xs" data-i18n-html="training_tiers.tier2_update">
Adapters are small (50&ndash;100MB). Consent is per-content-item. Content marked "only me" is never included regardless of consent. Training uses DPO (Direct Preference Optimization) for value alignment.
Adapters are small (50&ndash;100MB). Consent is per-content-item. Content marked "only me" is never included regardless of consent. Training method: QLoRA fine-tuning with governance-validated data.
</p>
</div>
@ -257,7 +259,7 @@
<div class="inline-block bg-teal-600 text-white px-3 py-1 rounded text-xs font-semibold mb-3" data-i18n="dual_layer.layer_a_badge">LAYER A: INHERENT</div>
<h3 class="text-lg font-bold text-gray-900 mb-3" data-i18n="dual_layer.layer_a_title">Tractatus Inside the Model</h3>
<p class="text-gray-700 text-sm mb-3" data-i18n-html="dual_layer.layer_a_desc">
During training, the BoundaryEnforcer validates every batch. DPO alignment shapes preferences toward governed behaviour. The model <em>learns</em> to respect boundaries, prefer transparent responses, and defer values decisions to humans.
During training, the BoundaryEnforcer validates every batch. Fine-tuning on governance-validated training data shapes the model toward governed behaviour. The model <em>learns</em> to respect boundaries, prefer transparent responses, and defer values decisions to humans.
</p>
<ul class="text-gray-700 text-sm space-y-2">
<li data-i18n-html="dual_layer.layer_a_item1"><strong>Mechanism:</strong> Governance in the training loop</li>
@ -291,7 +293,7 @@
<div class="bg-amber-50 rounded-lg p-5 border border-amber-200 mt-4">
<p class="text-amber-900 text-sm" data-i18n-html="dual_layer.caveat">
<strong>Honest caveat:</strong> Layer A (inherent governance via training) has been empirically validated across seven training runs &mdash; Run 006 achieves 100% governance compliance and 4.8/5.0 bias score. Layer B (active governance via Village codebase) has been operating in production for 11+ months. The dual-layer thesis is demonstrating results, though evaluation remains self-reported. Independent audit is planned.
<strong>Honest caveat:</strong> Layer A (inherent governance via training) has been empirically validated across multiple training runs with consistent governance compliance. Layer B (active governance via Village codebase) has been operating in production for 11+ months. The dual-layer thesis is demonstrating results, though evaluation remains self-reported. Independent audit is planned.
</p>
</div>
@ -493,7 +495,7 @@
<ul class="text-gray-700 text-sm space-y-2">
<li data-i18n="infrastructure.local_item1">Consumer GPU with 24GB VRAM via external enclosure</li>
<li data-i18n-html="infrastructure.local_item2">QLoRA fine-tuning (4-bit quantisation fits in VRAM budget)</li>
<li data-i18n-html="infrastructure.local_item3">DPO (Direct Preference Optimization) &mdash; requires only 2 models in memory vs PPO's 4</li>
<li data-i18n="infrastructure.local_item3">QLoRA fine-tuning (4-bit quantisation fits comfortably in consumer GPU VRAM)</li>
<li data-i18n-html="infrastructure.local_item4">Overnight training runs &mdash; compatible with off-grid solar power</li>
<li data-i18n="infrastructure.local_item5">Sustained power draw under 500W</li>
</ul>
@ -501,11 +503,10 @@
<div class="bg-white rounded-lg shadow-sm p-5 border border-gray-200">
<h3 class="text-lg font-bold text-gray-900 mb-2" data-i18n="infrastructure.remote_title">Remote Inference</h3>
<ul class="text-gray-700 text-sm space-y-2">
<li data-i18n="infrastructure.remote_item1">Model weights deployed to production servers (OVH France, Catalyst NZ)</li>
<li data-i18n="infrastructure.remote_item2">Inference via Ollama with per-tenant adapter loading</li>
<li data-i18n="infrastructure.remote_item3">Hybrid GPU/CPU architecture with health monitoring</li>
<li data-i18n="infrastructure.remote_item4">Home GPU available via WireGuard VPN as primary inference engine</li>
<li data-i18n="infrastructure.remote_item5">CPU fallback ensures availability when GPU is offline</li>
<li data-i18n="infrastructure.remote_item1">Model weights deployed to production server (OVH France)</li>
<li data-i18n="infrastructure.remote_item2">Inference via Ollama on production server</li>
<li data-i18n="infrastructure.remote_item3">Home GPU inference via WireGuard VPN (planned)</li>
<li data-i18n="infrastructure.remote_item4">CPU-based inference provides baseline availability</li>
</ul>
</div>
</div>
@ -521,7 +522,7 @@
<section class="mb-10">
<h2 class="text-3xl font-bold text-gray-900 mb-4" data-i18n="bias.heading">Bias Documentation and Verification</h2>
<p class="text-gray-700 mb-4" data-i18n="bias.intro">
Village AI operates in the domain of family storytelling, which carries specific bias risks. Six bias categories have been documented with detection prompts, debiasing examples, and evaluation criteria.
Village AI operates in the domain of family storytelling, which carries specific bias risks. Seven bias categories have been documented with detection prompts, debiasing examples, and evaluation criteria.
</p>
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3">
@ -549,6 +550,10 @@
<h4 class="font-bold text-gray-900 text-sm" data-i18n="bias.naming_title">Naming Conventions</h4>
<p class="text-gray-600 text-xs" data-i18n="bias.naming_desc">Western name-order assumptions; correct handling of patronymics, honorifics, diacritics.</p>
</div>
<div class="bg-white rounded-lg p-4 border border-gray-200">
<h4 class="font-bold text-gray-900 text-sm" data-i18n="bias.confidence_title">Confidence-Correctness</h4>
<p class="text-gray-600 text-xs" data-i18n="bias.confidence_desc">Epistemic humility; appropriate expression of uncertainty; willingness to say "I don't know".</p>
</div>
</div>
<div class="bg-white rounded-lg shadow-sm p-5 border border-gray-200 mt-6">
@ -616,11 +621,11 @@
<ul class="space-y-3 text-amber-800">
<li class="flex items-start">
<span class="mr-2 font-bold">&bull;</span>
<span data-i18n-html="limitations.item1"><strong>Early-stage training:</strong> Seven QLoRA fine-tuning runs have been completed on a Llama 3.2 3B base. Run 006 is the current production model (FAQ 72.1%, persona 100%, governance 100%, bias 4.8/5.0, hallucination 0.8%). Training-time governance is empirically validated but evaluation is self-reported. Independent audit is planned.</span>
<span data-i18n-html="limitations.item1"><strong>Early-stage training:</strong> Multiple QLoRA fine-tuning runs have been completed. A production model is deployed with governance compliance and bias metrics meeting targets. Evaluation is self-reported. Independent audit is planned.</span>
</li>
<li class="flex items-start">
<span class="mr-2 font-bold">&bull;</span>
<span data-i18n-html="limitations.item2"><strong>Limited deployment:</strong> Village AI operates across four federated tenants within one platform built by the framework developer. Governance effectiveness cannot be generalised without independent deployments.</span>
<span data-i18n-html="limitations.item2"><strong>Limited deployment:</strong> Village AI operates across multiple tenants within one platform built by the framework developer. Governance effectiveness cannot be generalised without independent deployments.</span>
</li>
<li class="flex items-start">
<span class="mr-2 font-bold">&bull;</span>
@ -632,7 +637,7 @@
</li>
<li class="flex items-start">
<span class="mr-2 font-bold">&bull;</span>
<span data-i18n-html="limitations.item5"><strong>Training persistence under active research:</strong> Run 007 demonstrated catastrophic forgetting (21 regressions from 35 targeted additions), confirming drift as a real risk. Replay buffer strategy implemented for Run 008. Drift detection is designed and being validated empirically.</span>
<span data-i18n-html="limitations.item5"><strong>Training persistence under active research:</strong> Catastrophic forgetting has been observed when adding targeted training pairs, confirming drift as a real risk. Replay buffer strategy implemented. Drift detection is being validated empirically.</span>
</li>
<li class="flex items-start">
<span class="mr-2 font-bold">&bull;</span>
@ -676,12 +681,12 @@
</main>
<!-- Footer & Scripts -->
<script src="/js/i18n-simple.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1771837836100"></script>
<script src="/js/scroll-animations.js?v=0.1.2.1771837836100"></script>
<script src="/js/page-transitions.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/footer.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/feedback.js?v=0.1.2.1771837836100"></script>
<script src="/js/i18n-simple.js?v=0.1.2.1771882197671"></script>
<script src="/js/components/language-selector.js?v=0.1.2.1771882197671"></script>
<script src="/js/scroll-animations.js?v=0.1.2.1771882197671"></script>
<script src="/js/page-transitions.js?v=0.1.2.1771882197671"></script>
<script src="/js/components/footer.js?v=0.1.2.1771882197671"></script>
<script src="/js/components/feedback.js?v=0.1.2.1771882197671"></script>
</body>
</html>

View file

@ -27,9 +27,9 @@
<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.2.1771837836100">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771837836100">
<link rel="stylesheet" href="/css/fonts.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.2.1771882197671">
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.2.1771882197671">
<style>
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 0; z-index: 100; background: white; padding: 1rem; }
@ -54,7 +54,7 @@
<a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Navigation -->
<script src="/js/components/navbar.js?v=0.1.2.1771837836100" defer></script>
<script src="/js/components/navbar.js?v=0.1.2.1771882197671" defer></script>
<!-- Breadcrumb Navigation -->
<nav class="bg-gray-50 border-b border-gray-200 py-3" aria-label="Breadcrumb">
@ -466,13 +466,13 @@
</main>
<!-- Footer Component -->
<script src="/js/components/footer.js?v=0.1.2.1771837836100"></script>
<script src="/js/components/footer.js?v=0.1.2.1771882197671"></script>
<!-- Version Management -->
<script src="/js/version-manager.js?v=0.1.2.1771837836100"></script>
<script src="/js/version-manager.js?v=0.1.2.1771882197671"></script>
<!-- Internationalization -->
<script src="/js/i18n-simple.js?v=0.1.2.1771837836100"></script>
<script src="/js/i18n-simple.js?v=0.1.2.1771882197671"></script>
</body>
</html>