diff --git a/public/index.html b/public/index.html index 823a2908..d0c86602 100644 --- a/public/index.html +++ b/public/index.html @@ -375,40 +375,40 @@ Handles plural moral values without imposing hierarchy—facilitates human judgm - -
-
-
- -Pattern Bias Incident - - Interactive Demo -
-
-
-

The 27027 Incident

-

-Real production incident where Claude Code defaulted to port 27017 (training pattern) despite explicit user instruction to use port 27027. CrossReferenceValidator detected the conflict and blocked execution—demonstrating how pattern recognition can override instructions under context pressure. -

-
-

-Why this matters: This failure mode gets worse as models improve—stronger pattern recognition means stronger override tendency. Architectural constraints remain necessary regardless of capability level. -

-
- View Interactive Demo - -
-
+ + - -
-

-Additional case studies and research findings documented in technical papers + +

+
+
+

+ Help us reach the right people. +

+

+ If you know researchers, implementers, or leaders who need structural AI governance solutions, share this with them.

- Browse Case Studies → - +
+ + + +
-
@@ -418,6 +418,8 @@ Additional case studies and research findings documented in technical papers + + diff --git a/public/js/share-cta.js b/public/js/share-cta.js new file mode 100644 index 00000000..8fc4fd59 --- /dev/null +++ b/public/js/share-cta.js @@ -0,0 +1,76 @@ +/** + * Share CTA functionality + * Professional, quiet sharing mechanism + * CSP-compliant (no inline handlers) + */ + +(function() { + 'use strict'; + + // Wait for DOM to be ready + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', initShare); + } else { + initShare(); + } + + function initShare() { + // Copy link to clipboard + const copyButtons = document.querySelectorAll('[data-action="copy-link"]'); + copyButtons.forEach(button => { + button.addEventListener('click', async () => { + const url = window.location.href; + + try { + await navigator.clipboard.writeText(url); + + // Visual feedback + const originalText = button.textContent; + const originalClasses = button.className; + + button.textContent = 'Link Copied'; + button.className = 'bg-green-600 hover:bg-green-700 text-white px-6 py-2.5 rounded-lg font-medium transition-colors'; + + setTimeout(() => { + button.textContent = originalText; + button.className = originalClasses; + }, 2000); + } catch (err) { + console.error('Failed to copy link:', err); + // Fallback: show alert with URL + alert('Copy this link: ' + url); + } + }); + }); + + // Email share + const emailButtons = document.querySelectorAll('[data-action="email-share"]'); + emailButtons.forEach(button => { + button.addEventListener('click', () => { + const url = window.location.href; + const subject = encodeURIComponent('Thought you might find this useful'); + const body = encodeURIComponent( + 'I thought this might be relevant to your work:\n\n' + + 'Tractatus - AI Safety Framework\n' + + url + '\n\n' + + 'It addresses structural AI governance through architectural constraints.' + ); + + window.location.href = `mailto:?subject=${subject}&body=${body}`; + }); + }); + + // LinkedIn share + const linkedinButtons = document.querySelectorAll('[data-action="linkedin-share"]'); + linkedinButtons.forEach(button => { + button.addEventListener('click', () => { + const url = encodeURIComponent(window.location.href); + window.open( + `https://www.linkedin.com/sharing/share-offsite/?url=${url}`, + '_blank', + 'width=600,height=600' + ); + }); + }); + } +})(); diff --git a/public/locales/de/homepage.json b/public/locales/de/homepage.json index cf33318c..36b2421c 100644 --- a/public/locales/de/homepage.json +++ b/public/locales/de/homepage.json @@ -103,6 +103,13 @@ "cta": "Fallstudien durchsuchen →" } }, + "share_cta": { + "heading": "Helfen Sie uns, die richtigen Leute zu erreichen.", + "description": "Wenn Sie Forscher, Implementierer oder Führungskräfte kennen, die strukturelle KI-Governance-Lösungen benötigen, teilen Sie dies mit ihnen.", + "copy_link": "Link kopieren", + "email": "E-Mail", + "linkedin": "LinkedIn" + }, "footer": { "about_heading": "Tractatus Framework", "about_text": "Architektonische Beschränkungen für KI-Sicherheit, die menschliche Entscheidungsfreiheit durch strukturelle, nicht aspirationale, Garantien wahren.", diff --git a/public/locales/en/homepage.json b/public/locales/en/homepage.json index 6398f2aa..fcdb48ae 100644 --- a/public/locales/en/homepage.json +++ b/public/locales/en/homepage.json @@ -103,6 +103,13 @@ "cta": "Browse Case Studies →" } }, + "share_cta": { + "heading": "Help us reach the right people.", + "description": "If you know researchers, implementers, or leaders who need structural AI governance solutions, share this with them.", + "copy_link": "Copy Link", + "email": "Email", + "linkedin": "LinkedIn" + }, "footer": { "about_heading": "Tractatus Framework", "about_text": "Architectural constraints for AI safety that preserve human agency through structural, not aspirational, enforcement.", diff --git a/public/locales/fr/homepage.json b/public/locales/fr/homepage.json index bd8ae3d3..e3badfd5 100644 --- a/public/locales/fr/homepage.json +++ b/public/locales/fr/homepage.json @@ -103,6 +103,13 @@ "cta": "Parcourir les Études de Cas →" } }, + "share_cta": { + "heading": "Aidez-nous à atteindre les bonnes personnes.", + "description": "Si vous connaissez des chercheurs, des implémenteurs ou des dirigeants qui ont besoin de solutions de gouvernance structurelle de l'IA, partagez ceci avec eux.", + "copy_link": "Copier le lien", + "email": "E-mail", + "linkedin": "LinkedIn" + }, "footer": { "about_heading": "Tractatus Framework", "about_text": "Contraintes architecturales pour la sécurité de l'IA qui préservent l'autonomie humaine par des garanties structurelles, et non aspirationnelles.",