540 lines
31 KiB
HTML
540 lines
31 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>System Architecture | Tractatus AI Safety Framework</title>
|
|
<meta name="description" content="Tractatus runtime-agnostic governance architecture: exploring structural boundaries for AI safety that may be more resistant to adversarial manipulation than behavioral training alone.">
|
|
<link rel="icon" type="image/svg+xml" href="/favicon-new.svg">
|
|
<link rel="stylesheet" href="/css/fonts.css?v=0.1.0.1761283486841">
|
|
<link rel="stylesheet" href="/css/tailwind.css?v=0.1.0.1761283486841">
|
|
<link rel="stylesheet" href="/css/tractatus-theme.min.css?v=0.1.0.1761283486841">
|
|
<style>
|
|
.skip-link { position: absolute; left: -9999px; }
|
|
.skip-link:focus { left: 0; z-index: 100; background: white; padding: 1rem; }
|
|
|
|
/* Accessibility: Focus indicators (WCAG 2.4.7) */
|
|
a:focus, button:focus, input:focus, select:focus, textarea:focus {
|
|
outline: 3px solid #3b82f6;
|
|
outline-offset: 2px;
|
|
}
|
|
a:focus:not(:focus-visible) { outline: none; }
|
|
a:focus-visible { outline: 3px solid #3b82f6; outline-offset: 2px; }
|
|
|
|
.gradient-text { background: linear-gradient(120deg, #3b82f6 0%, #8b5cf6 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
|
|
</style>
|
|
</head>
|
|
<body class="bg-gray-50">
|
|
|
|
<!-- Skip Link for Keyboard Navigation -->
|
|
<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.0.1761283486841" defer></script>
|
|
|
|
<!-- Breadcrumb Navigation -->
|
|
<nav class="bg-gray-50 border-b border-gray-200 py-3" aria-label="Breadcrumb">
|
|
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<ol class="flex items-center space-x-2 text-sm">
|
|
<li><a href="/" class="hover:underline transition-colors" class="text-tractatus-link" data-i18n="breadcrumb.home"></a></li>
|
|
<li class="text-gray-400">/</li>
|
|
<li class="text-gray-900 font-medium" aria-current="page" data-i18n="breadcrumb.current"></li>
|
|
</ol>
|
|
</div>
|
|
</nav>
|
|
|
|
<!-- Hero Section -->
|
|
<header role="banner">
|
|
<section class="bg-gradient-to-br from-blue-600 via-blue-700 to-purple-700 text-white py-20">
|
|
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<div class="text-center">
|
|
<div class="inline-block bg-amber-700 text-white px-4 py-2 rounded-lg font-semibold mb-6 text-sm" data-i18n="hero.badge">
|
|
🔬 EARLY-STAGE RESEARCH • PROMISING APPROACH
|
|
</div>
|
|
<h1 class="text-5xl md:text-6xl font-bold mb-6" data-i18n="hero.title">
|
|
Exploring Structural AI Safety
|
|
</h1>
|
|
<p class="text-xl md:text-2xl text-blue-100 mb-8 max-w-4xl mx-auto" data-i18n-html="hero.subtitle">
|
|
Tractatus explores <strong>external governance</strong>—architectural boundaries operating outside the AI runtime that may be more resistant to adversarial manipulation than behavioral training alone.
|
|
</p>
|
|
<div class="bg-blue-800/50 backdrop-blur border border-blue-400/30 rounded-lg p-6 max-w-3xl mx-auto mb-8">
|
|
<p class="text-lg text-blue-50">
|
|
<strong class="text-white" data-i18n="hero.challenge_label">The Challenge:</strong> <span data-i18n="hero.challenge_text"></span>
|
|
</p>
|
|
<p class="text-lg text-blue-50 mt-3">
|
|
<strong class="text-white" data-i18n="hero.approach_label">Our Approach:</strong> <span data-i18n="hero.approach_text">External architectural enforcement that operates independently of the AI's internal reasoning—making it structurally more difficult (though not impossible) to bypass through prompting.
|
|
</p>
|
|
</div>
|
|
<div class="flex flex-col sm:flex-row gap-4 justify-center">
|
|
<a href="#architecture-diagram" class="inline-block bg-white text-blue-700 px-8 py-3 rounded-lg font-semibold hover:bg-blue-50 transition" data-i18n="hero.cta_architecture">
|
|
View Architecture
|
|
</a>
|
|
<a href="/docs.html" class="inline-block bg-blue-800 text-white px-8 py-3 rounded-lg font-semibold hover:bg-blue-900 transition border-2 border-white" data-i18n="hero.cta_docs">
|
|
Read Documentation
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</header>
|
|
|
|
<!-- Main Content -->
|
|
<main id="main-content" role="main">
|
|
|
|
<!-- Why External Enforcement Matters -->
|
|
<section class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16">
|
|
<h2 class="text-4xl font-bold text-gray-900 mb-8 text-center" data-i18n="comparison.heading"></h2>
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-8 mb-12">
|
|
|
|
<div class="bg-red-50 border-l-4 border-red-500 p-6 rounded-r-lg">
|
|
<h3 class="text-2xl font-bold text-red-900 mb-3 flex items-center" data-i18n="comparison.behavioral_title">
|
|
<svg class="w-6 h-6 mr-2" fill="currentColor" viewBox="0 0 20 20">
|
|
<path fill-rule="evenodd" d="M13.477 14.89A6 6 0 015.11 6.524l8.367 8.368zm1.414-1.414L6.524 5.11a6 6 0 018.367 8.367zM18 10a8 8 0 11-16 0 8 8 0 0116 0z" clip-rule="evenodd"/>
|
|
</svg>
|
|
Behavioral Training (Constitutional AI)
|
|
</h3>
|
|
<ul class="space-y-2 text-red-800">
|
|
<li class="flex items-start">
|
|
<span class="mr-2">❌</span>
|
|
<span data-i18n-html="comparison.behavioral_item1"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="mr-2">❌</span>
|
|
<span data-i18n-html="comparison.behavioral_item2"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="mr-2">❌</span>
|
|
<span data-i18n-html="comparison.behavioral_item3"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="mr-2">❌</span>
|
|
<span data-i18n-html="comparison.behavioral_item4"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="mr-2">❌</span>
|
|
<span data-i18n-html="comparison.behavioral_item5"></span>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="bg-green-50 border-l-4 border-green-500 p-6 rounded-r-lg">
|
|
<h3 class="text-2xl font-bold text-green-900 mb-3 flex items-center">
|
|
<svg class="w-6 h-6 mr-2" fill="currentColor" viewBox="0 0 20 20">
|
|
<path fill-rule="evenodd" d="M2.166 4.999A11.954 11.954 0 0010 1.944 11.954 11.954 0 0017.834 5c.11.65.166 1.32.166 2.001 0 5.225-3.34 9.67-8 11.317C5.34 16.67 2 12.225 2 7c0-.682.057-1.35.166-2.001zm11.541 3.708a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/>
|
|
</svg>
|
|
Structural Enforcement (Tractatus)
|
|
</h3>
|
|
<ul class="space-y-2 text-green-800">
|
|
<li class="flex items-start">
|
|
<span class="mr-2">✅</span>
|
|
<span data-i18n-html="comparison.structural_item1"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="mr-2">✅</span>
|
|
<span data-i18n-html="comparison.structural_item2"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="mr-2">✅</span>
|
|
<span data-i18n-html="comparison.structural_item3"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="mr-2">✅</span>
|
|
<span data-i18n-html="comparison.structural_item4"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="mr-2">✅</span>
|
|
<span data-i18n-html="comparison.structural_item5"></span>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="bg-gradient-to-r from-blue-50 to-purple-50 rounded-xl p-8 border border-blue-200">
|
|
<h3 class="text-2xl font-bold text-gray-900 mb-4 text-center" data-i18n="comparison.hypothesis_title"></h3>
|
|
<p class="text-lg text-gray-700 text-center max-w-4xl mx-auto" data-i18n-html="comparison.hypothesis_text">
|
|
<strong>Jailbreaks often work by manipulating the AI's internal reasoning.</strong> Tractatus boundaries operate <em>external</em> to that reasoning—the AI doesn't directly evaluate governance rules. While not foolproof, this architectural separation makes manipulation significantly harder.
|
|
</p>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Architecture Diagram -->
|
|
<section id="architecture-diagram" class="bg-white py-16">
|
|
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<div class="text-center mb-8">
|
|
<h2 class="text-4xl font-bold text-gray-900 mb-4" data-i18n="architecture_diagram.title"></h2>
|
|
<p class="text-xl text-gray-600 max-w-3xl mx-auto" data-i18n-html="architecture_diagram.subtitle">
|
|
Tractatus works with <strong>any agentic AI system</strong>—Claude Code, LangChain, AutoGPT, CrewAI, or custom agents. The governance layer sits between your agent and its actions.
|
|
</p>
|
|
</div>
|
|
|
|
<div class="bg-gray-50 rounded-xl p-8 border border-gray-300">
|
|
<img
|
|
src="/images/architecture-diagram-generic.svg"
|
|
alt="Tractatus Runtime-Agnostic Architecture Diagram showing Agent Runtime Layer, Tractatus Governance Layer with six services, Persistent Storage Layer, and Human Approval Workflows"
|
|
class="w-full"
|
|
loading="lazy"
|
|
/>
|
|
</div>
|
|
|
|
<div class="mt-8 grid grid-cols-1 md:grid-cols-3 gap-6">
|
|
<div class="bg-blue-50 rounded-lg p-6 border border-blue-200">
|
|
<h3 class="text-lg font-bold text-blue-900 mb-2" data-i18n="architecture_diagram.layer1_title"></h3>
|
|
<p class="text-blue-800 text-sm" data-i18n="architecture_diagram.layer1_desc">
|
|
Your AI agent (any platform). Handles planning, reasoning, tool use. Tractatus is agnostic to implementation.
|
|
</p>
|
|
</div>
|
|
<div class="bg-green-50 rounded-lg p-6 border border-green-200">
|
|
<h3 class="text-lg font-bold text-green-900 mb-2" data-i18n="architecture_diagram.layer2_title"></h3>
|
|
<p class="text-green-800 text-sm" data-i18n="architecture_diagram.layer2_desc">
|
|
Six external services enforce boundaries, validate actions, monitor pressure. <strong>Architecturally more difficult for AI to bypass.</strong>
|
|
</p>
|
|
</div>
|
|
<div class="bg-yellow-50 rounded-lg p-6 border border-yellow-200">
|
|
<h3 class="text-lg font-bold text-yellow-900 mb-2" data-i18n="architecture_diagram.layer3_title"></h3>
|
|
<p class="text-yellow-800 text-sm" data-i18n="architecture_diagram.layer3_desc">
|
|
Immutable audit logs, governance rules, instruction history. Independent of AI runtime—can't be altered by prompts.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Six Core Services -->
|
|
<section class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16">
|
|
<h2 class="text-4xl font-bold text-gray-900 mb-12 text-center" data-i18n="services.heading"></h2>
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
|
|
|
|
<div class="bg-white rounded-lg shadow-lg p-6 border-l-4 hover:shadow-xl transition-shadow duration-300 min-w-0 max-w-full overflow-hidden" class="border-l-service-boundary">
|
|
<div class="flex items-center mb-3">
|
|
<div class="w-12 h-12 rounded-xl flex items-center justify-center mr-3" class="bg-gradient-service-boundary">
|
|
<svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"/>
|
|
</svg>
|
|
</div>
|
|
<h3 class="text-lg font-bold text-gray-900 break-words overflow-wrap-anywhere" data-i18n="services.boundary.name"></h3>
|
|
</div>
|
|
<p class="text-gray-600 text-sm mb-3 break-words overflow-wrap-anywhere" data-i18n="services.boundary.description">
|
|
Blocks AI from making values decisions (privacy, ethics, strategic direction). Requires human approval.
|
|
</p>
|
|
<div class="text-xs rounded px-3 py-2" class="badge-boundary" data-i18n-html="services.boundary.promise">
|
|
<strong>Early Promise:</strong> Values boundaries enforced externally—harder to manipulate through prompting.
|
|
</div>
|
|
</div>
|
|
|
|
<div class="bg-white rounded-lg shadow-lg p-6 border-l-4 hover:shadow-xl transition-shadow duration-300 min-w-0 max-w-full overflow-hidden" class="border-l-service-instruction">
|
|
<div class="flex items-center mb-3">
|
|
<div class="w-12 h-12 rounded-xl flex items-center justify-center mr-3" class="bg-gradient-service-instruction">
|
|
<svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/>
|
|
</svg>
|
|
</div>
|
|
<h3 class="text-lg font-bold text-gray-900 break-words overflow-wrap-anywhere" data-i18n="services.instruction.name"></h3>
|
|
</div>
|
|
<p class="text-gray-600 text-sm mb-3 break-words overflow-wrap-anywhere" data-i18n="services.instruction.description">
|
|
Stores instructions externally with persistence levels (HIGH/MEDIUM/LOW). Aims to reduce directive fade.
|
|
</p>
|
|
<div class="text-xs rounded px-3 py-2" class="badge-instruction" data-i18n-html="services.instruction.promise">
|
|
<strong>Early Promise:</strong> Instructions stored outside AI—more resistant to context manipulation.
|
|
</div>
|
|
</div>
|
|
|
|
<div class="bg-white rounded-lg shadow-lg p-6 border-l-4 hover:shadow-xl transition-shadow duration-300 min-w-0 max-w-full overflow-hidden" class="border-l-service-validator">
|
|
<div class="flex items-center mb-3">
|
|
<div class="w-12 h-12 rounded-xl flex items-center justify-center mr-3" class="bg-gradient-service-validator">
|
|
<svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"/>
|
|
</svg>
|
|
</div>
|
|
<h3 class="text-lg font-bold text-gray-900 break-words overflow-wrap-anywhere" data-i18n="services.validator.name"></h3>
|
|
</div>
|
|
<p class="text-gray-600 text-sm mb-3 break-words overflow-wrap-anywhere">
|
|
Validates AI actions against instruction history. Aims to prevent pattern bias overriding explicit directives.
|
|
</p>
|
|
<div class="text-xs rounded px-3 py-2" class="badge-validator" data-i18n-html="services.validator.promise">
|
|
<strong>Early Promise:</strong> Independent verification—AI claims checked against external source.
|
|
</div>
|
|
</div>
|
|
|
|
<div class="bg-white rounded-lg shadow-lg p-6 border-l-4 hover:shadow-xl transition-shadow duration-300 min-w-0 max-w-full overflow-hidden" class="border-l-service-pressure">
|
|
<div class="flex items-center mb-3">
|
|
<div class="w-12 h-12 rounded-xl flex items-center justify-center mr-3" class="bg-gradient-service-pressure">
|
|
<svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"/>
|
|
</svg>
|
|
</div>
|
|
<h3 class="text-lg font-bold text-gray-900 break-words overflow-wrap-anywhere" data-i18n="services.pressure.name"></h3>
|
|
</div>
|
|
<p class="text-gray-600 text-sm mb-3 break-words overflow-wrap-anywhere">
|
|
Monitors AI performance degradation. Escalates when context pressure threatens quality.
|
|
</p>
|
|
<div class="text-xs rounded px-3 py-2" class="badge-pressure" data-i18n-html="services.pressure.promise">
|
|
<strong>Early Promise:</strong> Objective metrics may detect manipulation attempts early.
|
|
</div>
|
|
</div>
|
|
|
|
<div class="bg-white rounded-lg shadow-lg p-6 border-l-4 hover:shadow-xl transition-shadow duration-300 min-w-0 max-w-full overflow-hidden" class="border-l-service-metacognitive">
|
|
<div class="flex items-center mb-3">
|
|
<div class="w-12 h-12 rounded-xl flex items-center justify-center mr-3" class="bg-gradient-service-metacognitive">
|
|
<svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"/>
|
|
</svg>
|
|
</div>
|
|
<h3 class="text-lg font-bold text-gray-900 break-words overflow-wrap-anywhere" data-i18n="services.metacognitive.name"></h3>
|
|
</div>
|
|
<p class="text-gray-600 text-sm mb-3 break-words overflow-wrap-anywhere">
|
|
Requires AI to pause and verify complex operations before execution. Structural safety check.
|
|
</p>
|
|
<div class="text-xs rounded px-3 py-2" class="badge-metacognitive" data-i18n-html="services.metacognitive.promise">
|
|
<strong>Early Promise:</strong> Architectural gates aim to enforce verification steps.
|
|
</div>
|
|
</div>
|
|
|
|
<div class="bg-white rounded-lg shadow-lg p-6 border-l-4 hover:shadow-xl transition-shadow duration-300 min-w-0 max-w-full overflow-hidden" class="border-l-service-deliberation">
|
|
<div class="flex items-center mb-3">
|
|
<div class="w-12 h-12 rounded-xl flex items-center justify-center mr-3" class="bg-gradient-service-deliberation">
|
|
<svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"/>
|
|
</svg>
|
|
</div>
|
|
<h3 class="text-lg font-bold text-gray-900 break-words overflow-wrap-anywhere" data-i18n="services.deliberation.name"></h3>
|
|
</div>
|
|
<p class="text-gray-600 text-sm mb-3 break-words overflow-wrap-anywhere">
|
|
Facilitates multi-stakeholder deliberation for values conflicts. AI provides facilitation, not authority.
|
|
</p>
|
|
<div class="text-xs rounded px-3 py-2" class="badge-deliberation" data-i18n-html="services.deliberation.promise">
|
|
<strong>Early Promise:</strong> Human judgment required—architecturally enforced escalation for values.
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Interactive Architecture Diagram -->
|
|
<section class="bg-gradient-to-br from-gray-50 to-blue-50 py-16">
|
|
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<div class="text-center mb-8">
|
|
<h2 class="text-4xl font-bold text-gray-900 mb-4" data-i18n="interactive.title"></h2>
|
|
<p class="text-xl text-gray-600 max-w-3xl mx-auto mb-4"data-i18n="interactive.subtitle">
|
|
Click any service node or the central core to see detailed information about how governance works.
|
|
</p>
|
|
<div class="text-sm text-gray-600">
|
|
<p class="flex items-center justify-center space-x-2">
|
|
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122"/>
|
|
</svg>
|
|
<span><strong data-i18n="interactive.tip_label"></strong> <span data-i18n-html="interactive.tip_text"></span>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="diagram-container" class="relative bg-white rounded-xl shadow-lg p-4 sm:p-6 lg:p-8 border border-gray-200 w-full max-w-full overflow-x-auto">
|
|
<!-- Flex container for side-by-side layout -->
|
|
<div class="flex flex-col lg:flex-row lg:items-start gap-6">
|
|
<!-- Interactive SVG (reduced to 25% surface area = 50% linear) -->
|
|
<div class="flex-shrink-0 flex justify-center lg:justify-start">
|
|
<object
|
|
data="/images/architecture-diagram-interactive.svg"
|
|
type="image/svg+xml"
|
|
id="interactive-svg-object"
|
|
class="w-64 sm:w-72 lg:w-80 h-auto"
|
|
aria-label="Interactive Tractatus Architecture Diagram">
|
|
<!-- Fallback for browsers that don't support object tag -->
|
|
<img src="/images/architecture-diagram-interactive.svg" alt="Tractatus Architecture Diagram" class="w-64 sm:w-72 lg:w-80" />
|
|
</object>
|
|
</div>
|
|
|
|
<!-- Service detail panel (permanent, updates on click) -->
|
|
<div id="service-detail-panel" class="flex-1 bg-gray-50 rounded-xl shadow-inner p-6 border border-gray-200 min-h-[300px]">
|
|
<!-- Default state - will be replaced when service is clicked -->
|
|
<div id="panel-default-state" class="flex flex-col items-center justify-center h-full text-center">
|
|
<svg class="w-16 h-16 text-gray-400 mb-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
|
|
</svg>
|
|
<h3 class="text-lg font-semibold text-gray-700 mb-2" data-i18n="interactive.panel_default_title"></h3>
|
|
<p class="text-sm text-gray-500 max-w-md" data-i18n="interactive.panel_default_text"></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Data Visualizations -->
|
|
<section class="bg-white py-16">
|
|
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<h2 class="text-4xl font-bold text-gray-900 mb-6 text-center" data-i18n="data_viz.heading"></h2>
|
|
<p class="text-xl text-gray-600 mb-12 text-center max-w-3xl mx-auto" data-i18n="data_viz.subtitle">
|
|
Interactive visualizations demonstrating how Tractatus governance services monitor and coordinate AI operations.
|
|
</p>
|
|
|
|
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8">
|
|
<!-- Context Pressure Monitor Visualization -->
|
|
<div class="bg-gray-50 rounded-xl shadow-lg p-6 border border-gray-200">
|
|
<div id="pressure-chart"></div>
|
|
</div>
|
|
|
|
<!-- Framework Activity Timeline -->
|
|
<div class="bg-gray-50 rounded-xl shadow-lg p-6 border border-gray-200">
|
|
<div id="activity-timeline"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Reference Implementation -->
|
|
<section class="bg-gray-50 py-16">
|
|
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<h2 class="text-4xl font-bold text-gray-900 mb-6 text-center" data-i18n="production.heading"></h2>
|
|
<p class="text-xl text-gray-600 mb-8 text-center max-w-3xl mx-auto">
|
|
<span data-i18n-html="production.subtitle">Tractatus is deployed in production using <strong>Claude Code</strong> as the agent runtime. This demonstrates the framework's real-world viability.
|
|
</p>
|
|
|
|
<div class="bg-white rounded-xl shadow-lg p-8 border border-gray-200">
|
|
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8 items-center">
|
|
<div>
|
|
<h3 class="text-2xl font-bold text-gray-900 mb-4" data-i18n="production.implementation_title"></h3>
|
|
<p class="text-gray-700 mb-4" data-i18n-html="production.implementation_intro"></p>
|
|
<p class="text-gray-700 mb-3 text-sm italic" data-i18n="production.implementation_results_intro"></p>
|
|
<ul class="space-y-2 text-gray-700">
|
|
<li class="flex items-start">
|
|
<svg class="w-5 h-5 text-blue-600 mr-2 mt-0.5" fill="currentColor" viewBox="0 0 20 20"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"/></svg>
|
|
<span data-i18n-html="production.result1"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<svg class="w-5 h-5 text-blue-600 mr-2 mt-0.5" fill="currentColor" viewBox="0 0 20 20"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"/></svg>
|
|
<span data-i18n-html="production.result2"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<svg class="w-5 h-5 text-blue-600 mr-2 mt-0.5" fill="currentColor" viewBox="0 0 20 20"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"/></svg>
|
|
<span data-i18n-html="production.result3"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<svg class="w-5 h-5 text-blue-600 mr-2 mt-0.5" fill="currentColor" viewBox="0 0 20 20"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"/></svg>
|
|
<span data-i18n-html="production.result4"></span>
|
|
</li>
|
|
</ul>
|
|
<p class="text-gray-600 text-xs mt-3 italic" data-i18n="production.disclaimer"></p>
|
|
<div class="mt-6">
|
|
<a href="/images/architecture-diagram.svg" class="inline-block text-blue-600 hover:text-blue-700 font-medium" data-i18n="production.diagram_link"></a>
|
|
</div>
|
|
</div>
|
|
<div class="bg-gradient-to-br from-blue-50 to-purple-50 rounded-lg p-6 border border-blue-200">
|
|
<h4 class="font-bold text-gray-900 mb-3" data-i18n="production.testing_title"></h4>
|
|
<p class="text-gray-700 text-sm mb-3">
|
|
<span data-i18n-html="production.testing_text1"></span>
|
|
</p>
|
|
<p class="text-gray-700 text-sm">
|
|
<span data-i18n-html="production.testing_text2"></span>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Limitations and Reality Check -->
|
|
<section class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16">
|
|
<div class="bg-amber-50 border-l-4 border-amber-500 p-8 rounded-r-lg">
|
|
<h2 class="text-3xl font-bold text-amber-900 mb-6" data-i18n="limitations.heading"></h2>
|
|
|
|
<div class="space-y-4 text-amber-800">
|
|
<p class="text-lg" data-i18n-html="limitations.intro"></p>
|
|
|
|
|
|
<div class="bg-white rounded-lg p-6 my-6 border border-amber-200">
|
|
<p class="text-gray-700 italic text-lg mb-2" data-i18n="limitations.quote"></p>
|
|
<p class="text-gray-600 text-sm" data-i18n="limitations.quote_attribution"></p>
|
|
</div>
|
|
|
|
<h3 class="text-xl font-bold text-amber-900 mt-6 mb-3" data-i18n="limitations.known_heading"></h3>
|
|
<ul class="space-y-2 ml-6">
|
|
<li class="flex items-start">
|
|
<span class="mr-2">•</span>
|
|
<span data-i18n-html="limitations.limitation1"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="mr-2">•</span>
|
|
<span data-i18n-html="limitations.limitation2"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="mr-2">•</span>
|
|
<span data-i18n-html="limitations.limitation3"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="mr-2">•</span>
|
|
<span data-i18n-html="limitations.limitation4"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="mr-2">•</span>
|
|
<span data-i18n-html="limitations.limitation5"></span>
|
|
</li>
|
|
</ul>
|
|
|
|
<h3 class="text-xl font-bold text-amber-900 mt-6 mb-3" data-i18n="limitations.needs_heading"></h3>
|
|
<ul class="space-y-2 ml-6">
|
|
<li class="flex items-start">
|
|
<span class="mr-2">🔬</span>
|
|
<span data-i18n="limitations.need1"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="mr-2">🔴</span>
|
|
<span data-i18n="limitations.need2"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="mr-2">🏢</span>
|
|
<span data-i18n="limitations.need3"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="mr-2">🤝</span>
|
|
<span data-i18n="limitations.need4"></span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="mr-2">📊</span>
|
|
<span data-i18n="limitations.need5"></span>
|
|
<p class="text-lg mt-6 font-semibold" data-i18n="limitations.conclusion"></p>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- CTA Section -->
|
|
<section class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16">
|
|
<div class="bg-gradient-to-r from-blue-600 to-purple-600 rounded-2xl p-12 text-center text-white">
|
|
<h2 class="text-4xl font-bold mb-4" data-i18n="cta.heading"></h2>
|
|
<p class="text-xl mb-8 opacity-90 max-w-3xl mx-auto" data-i18n-html="cta.subtitle"></p>
|
|
<div class="flex flex-col sm:flex-row justify-center gap-4">
|
|
<a href="/docs.html" class="inline-block bg-white text-blue-600 px-8 py-3 rounded-lg font-semibold hover:bg-gray-100 transition" data-i18n="cta.btn_docs"></a>
|
|
<a href="/researcher.html" class="inline-block bg-blue-700 text-white px-8 py-3 rounded-lg font-semibold hover:bg-blue-800 transition border-2 border-white" data-i18n="cta.btn_research"></a>
|
|
<a href="/implementer.html" class="inline-block bg-purple-700 text-white px-8 py-3 rounded-lg font-semibold hover:bg-purple-800 transition border-2 border-white" data-i18n="cta.btn_implementation"></a>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
</main>
|
|
|
|
<!-- Footer -->
|
|
<!-- Internationalization -->
|
|
<script src="/js/i18n-simple.js?v=0.1.0.1761283486841" defer></script>
|
|
<script src="/js/components/language-selector.js?v=0.1.0.1761283486841" defer></script>
|
|
|
|
<!-- Scroll Animations (Phase 3) -->
|
|
<script src="/js/scroll-animations.js?v=0.1.0.1761283486841"></script>
|
|
<!-- Page Transitions (Phase 3) -->
|
|
<script src="/js/page-transitions.js?v=0.1.0.1761283486841"></script>
|
|
|
|
|
|
<!-- Interactive Architecture Diagram (Phase 3) -->
|
|
<script src="/js/components/interactive-diagram.js?v=0.1.0.1761283486841" defer></script>
|
|
|
|
<!-- Data Visualizations (Phase 3) -->
|
|
<script src="/js/components/pressure-chart.js?v=0.1.0.1761283486841"></script>
|
|
<script src="/js/components/activity-timeline.js?v=0.1.0.1761283486841"></script>
|
|
|
|
<!-- Footer Component -->
|
|
<script src="/js/components/footer.js?v=0.1.0.1761283486841"></script>
|
|
|
|
</body>
|
|
</html>
|