- Changed hardcoded mongodb://localhost:27017 to use MONGODB_URI env var
- Added automatic database name extraction from URI or MONGODB_DB env
- Updated glossary slugs from long auto-generated to explicit frontmatter slugs:
- tractatus-agentic-governance-system-glossary-of-terms → glossary
- tractatus-agentic-governance-system-glossary-of-terms-deutsch → glossary-de
- tractatus-agentic-governance-system-glossary-of-terms-franais → glossary-fr
- Enables PDF generation to work in production environment
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- extractMetadata was not including the slug field from frontMatter
- Added slug: frontMatter.slug to the returned metadata object
- Now the slug check on line 144 will actually find the frontmatter slug
- Fixes glossary translation slugs (glossary-de, glossary-fr)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Previously the migration script always generated slugs from titles
- Now checks metadata.slug first before auto-generating
- Allows explicit slug control via frontmatter (e.g., glossary-de, glossary-fr)
- Required for language-specific document API fallback to work correctly
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added glossary links (EN/DE/FR) to implementer.html Resources section
- Added translation keys to all three locale files
- Links to /docs.html?doc=glossary with language parameter
- Addresses overdue task: Add German & French Translations to Implementer Page
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
When requesting a translation via ?lang=de or ?lang=fr, the API now:
1. First checks for embedded translations (document.translations.de/fr)
2. Falls back to checking for separate documents with -de/-fr suffix
This allows the glossary translations (glossary-de, glossary-fr) to work
with the standard /api/documents/glossary?lang=de endpoint.
Fixes the 404 error when switching languages on /docs.html page.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Created translations using DeepL API:
- GLOSSARY-DE.md (67KB, German translation)
- GLOSSARY-FR.md (71KB, French translation)
Added translate-glossary.py script for automated translation with:
- Frontmatter preservation
- Chunked translation for large documents
- DeepL API integration
Updated generate-public-pdfs.js to include:
- tractatus-agentic-governance-system-glossary-of-terms-deutsch
- tractatus-agentic-governance-system-glossary-of-terms-franais
Both documents migrated to database and PDFs generated locally.
Production deployment will generate PDFs on server.
Note: Port numbers (27027/27017) are part of canonical "27027 Incident"
educational example, not actual infrastructure exposure.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added visibility: public to GLOSSARY.md frontmatter so the glossary
appears in the /docs.html document list.
Also updated modified date to 2025-11-01.
Note: Port numbers (27027/27017) are part of canonical "27027 Incident"
educational example, not actual infrastructure exposure.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added 'tractatus-agentic-governance-system-glossary-of-terms' to PUBLIC_DOCS
array in generate-public-pdfs.js. This will ensure the glossary PDF is
generated on the production server during deployment.
Glossary covers:
- Core concepts and six services (11,000 words)
- Reference documentation for non-technical stakeholders
- Already migrated to database via npm run migrate:docs
PDF will be accessible at /downloads/tractatus-agentic-governance-system-glossary-of-terms.pdf
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed all Hugging Face buttons from bg-gradient-to-r (which wasn't
rendering) to solid bg-orange-600 for proper visibility. The gradient
classes were showing as white-on-white.
Affected pages:
- index.html: Hero section HF CTA
- researcher.html: Collaboration section HF link
- architecture.html: Interactive exploration section HF button
Now using bg-orange-600 hover:bg-orange-700 for consistent, visible styling.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- researcher.html: Add HF Space link in collaboration section and resources
- index.html: Add HF Space CTA button in hero section
- architecture.html: Add "See It In Action" interactive exploration section
All links point to https://huggingface.co/spaces/tractatus-framework/audit-log-viewer
with proper styling (HF brand colors), external link icons, and i18n support.
Implements P0 recommendations from HF exposure optimization report.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add HF Space link translations for researcher page collaboration section
- Add HF Space resource translations for researcher page resources section
- Add HF Space CTA translation for homepage hero section
- Add interactive exploration section translations for architecture page
All translations provided in English, German, and French.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add services_involved tracking to framework-audit-hook.js
- Hook now tracks which services are invoked for each tool use
- Pass services_involved array to all service contexts
- Update ContextPressureMonitor to log coordination in metadata.services_involved
- Update BoundaryEnforcer to log coordination in metadata.services_involved
- Enables 0% → X% coordination rate in audit log analysis
- Fixes HF Space showing 0.0% Deep Interlock coordination
- Services will now properly log when they coordinate on decisions
This implements the missing instrumentation for Deep Interlock (Principle #2).
Services were coordinating but not logging it - now audit trail will show
multi-service coordination patterns.
Updated service worker cache version from 0.1.3 to 0.1.4 to ensure
browsers clear cache and fetch updated architectural_principles
translations in values.json files.
Note: /locales/ is in NEVER_CACHE_PATHS, so translations are always
fresh, but bumping version ensures service worker update triggers.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added complete architectural_principles section to all three language files:
- English (en/values.json): baseline translations
- German (de/values.json): complete German translations
- French (fr/values.json): complete French translations
Fixes rendering issue on values.html where raw i18n keys were displaying
instead of translated content.
Section includes:
- Five Alexander principles (Deep Interlock, Structure-Preserving, Gradients,
Living Process, Not-Separateness)
- Each with title, description, and connection to core values
- Monitoring note about October 2025 integration
- TOC entry for navigation
Technical terms preserved in English across all translations per i18n guidelines.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added complete German and French translations for the Five Architectural
Principles section added in previous commit.
Changes:
- Updated hero section (badge, title, subtitle, CTAs) in all 3 languages
- Added full "principles" section with all 5 principles × 6 fields each
- Not-Separateness (Governance in Critical Path)
- Deep Interlock (Services Reinforce Each Other)
- Gradients Not Binary (Nuanced Responses)
- Structure-Preserving (Audit Continuity)
- Living Process (Evidence-Based Evolution)
- Added "How They Work Together" interlocking pattern (6 fields)
- Added services.subtitle connecting services to principles
Translation consistency:
- German: Maintained translations from homepage.json (Tiefe Verriegelung,
Not-Separatheit, etc.)
- French: Maintained translations from homepage.json (Interlock profond,
Non-séparation, etc.)
- Technical terms preserved in English per translation guidelines
(BoundaryEnforcer, PreToolUse Hook, inst_064, 27027 Incident)
Files changed:
- public/locales/en/architecture.json: +54 keys (hero + principles + services.subtitle)
- public/locales/de/architecture.json: +54 keys (complete German translations)
- public/locales/fr/architecture.json: +54 keys (complete French translations)
Testing: All 3 language JSON files verified serving correctly via curl/jq
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added new section between Core Values and Te Tiriti sections explaining
how the 5 Alexander principles operationalize our core values:
1. Deep Interlock - Service coordination creates transparency
2. Structure-Preserving - Governance continuity enables accountability
3. Gradients Not Binary - Nuanced responses prevent harm
4. Living Process - Community learning drives evolution
5. Not-Separateness - Architectural enforcement preserves sovereignty
Each principle includes:
- Description of what it means technically
- Connection to existing core values
- Concrete examples from framework operation
Updated table of contents with new section link.
Note: i18n attributes added but translations pending (values.json updates needed).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added missing i18n attributes to 3 sections:
1. "Our Research Focus" section (lines 88-102):
- Added data-i18n to heading
- Added data-i18n-html to 4 paragraphs
- New keys: research_focus.heading, research_focus.paragraph_1-4
2. Te Tiriti paragraph (line 134):
- Added data-i18n-html="core_values.te_tiriti.paragraph_2_full"
- Paragraph wrapper now translatable
3. GDPR rights paragraph (line 216):
- Added data-i18n-html="data_practices.rights_full"
- Paragraph wrapper now translatable
These sections will now support language switching once translations
are added to de/about.json and fr/about.json.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed two navigation issues across all Alexander sections:
1. Researcher collaboration contact:
- Replaced email link with language-responsive modal button
- Added event listener for #alexander-research-inquiry-button
- Modal provides structured research inquiry form with i18n support
2. Values page links (404 errors):
- Fixed /values.html → /about/values.html on 3 pages:
* index.html (homepage)
* researcher.html
* leader.html
Both issues now resolved - modal works with language switching,
values links navigate correctly.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed two navigation issues:
1. Changed broken /contact.html link to proper email address
(mailto:research@agenticgovernance.digital)
2. Moved i18n attributes from <a> tags to <span> wrappers
to prevent i18n system from replacing entire link elements
Navigation now works correctly for research collaboration contact.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed malformed and missing i18n attributes:
1. Corrected malformed business_value attributes that appeared as text
instead of proper HTML attributes (5 instances)
2. Added missing description attributes for all 5 principles
3. Added missing differentiator paragraph attributes
(compliance_theatre, architectural_enforcement)
4. Added missing regulatory section paragraph attributes
(intro, conclusion)
Total: 26 i18n attributes now properly configured for full
French/German translation support on leader page.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The previous commit added i18n attributes only to titles but missed
the descriptions. This adds data-i18n-html attributes to all 19
Alexander principles content blocks:
- Section heading & subtitle
- 5 principle descriptions (with HTML formatting)
- CTA card description & links
- Enforcement distinction paragraphs
French and German translations now properly display for all content.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added data-i18n attributes to connect HTML content with existing
translations, enabling language switching functionality.
Pages updated:
- public/index.html (homepage Alexander section)
- public/researcher.html (research focus Alexander section)
- public/leader.html (leadership Alexander section)
Changes:
- Added data-i18n attributes to all headings, titles, descriptions
- Added data-i18n-html attributes for content with HTML formatting
- Mapped to existing JSON translation keys in EN, DE, FR
Total i18n keys connected:
- Homepage: ~19 keys (alexander_principles.*)
- Researcher: ~23 keys (alexander_research.*)
- Leader: ~31 keys (alexander_leadership.*)
Language switching now functional for Alexander principles content
across all three pages. Users can select DE/FR to see translated
content via language selector.
Translations were completed in previous commit (784de0f), this commit
connects HTML to enable runtime language switching.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed 4 inst_017 violations (absolute assurance terms) in Alexander
principles sections:
leader.html:
- Line 141: "technically impossible to bypass" → accurate description
with bypass mechanism acknowledgment
- Line 204: "cannot be disabled" → "integrated into critical path"
- Line 206: "Cannot be circumvented" → evidence-based enforcement desc
researcher.html:
- Line 172: "cannot be bypassed" → "enforcement is structural"
Also added German/French translations for both Alexander sections
(54 new i18n keys across 6 JSON files). Translations ready for when
HTML i18n attributes are added.
All changes comply with inst_017 (no absolute assurance), inst_088
(candid about limitations).
🔍 Framework Audit: audit_69033591c2c8f227339e33f7
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added German and French translations for new Alexander principles
section on homepage using DeepL API.
New content translated:
- Alexander principles section heading and subtitle
- 5 principles: Deep Interlock, Structure-Preserving, Gradients,
Living Process, Not-Separateness (titles and descriptions)
- Architectural Principles CTA card
- Architectural Enforcement vs Compliance Theatre distinction
Also updated implementer path feature text:
- Changed "Deployment best practices" to "Deployment patterns &
operational procedures" (more specific, inst_087 compliant)
- Translated updated text to DE and FR
Translation method: DeepL API with preserve_formatting=1
Languages: EN (source), DE, FR
Note: HTML still uses hardcoded English text. i18n attributes
can be added in follow-up to enable language switching for this
section.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed 3 violations identified via ff framework audit:
1. Line 170: Changed "Cannot be bypassed" to evidence-based
language acknowledging bypass flags exist but are logged
2. Line 210: Changed "technically impossible to bypass" to
accurate description of architectural enforcement with
explicit acknowledgment of --no-verify bypass mechanism
3. Line 319: Removed consultant language "best practices",
replaced with specific "deployment patterns & operational
procedures"
All changes maintain messaging integrity while complying with:
- inst_017: No absolute assurance terms
- inst_087: No consultant language
- inst_088: Candid about limitations
🔍 Framework Audit: audit_6903324e906599d519c8aae2
✅ Prohibited terms check: passed
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Homepage: Add 'Built on Living Systems Principles' section
- 5 principles with icons and descriptions
- Architectural enforcement vs compliance theatre callout
- Researcher page: Add current research focus section
- October 2025 integration highlighted
- Research collaboration opportunities
- Leader page: Add strategic governance section
- Business value for each principle
- Regulatory positioning advantage
- Total: +309 lines across 3 pages
- All changes follow Cultural DNA (inst_085-089)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed JSON syntax errors in 8 translation files (German and French for
researcher, implementer, leader, about pages). Removed extra closing
braces that were breaking translation loading on production.
All translations now validated with json.tool and working correctly on
all audience pages.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added 'navbarReady' event dispatch from navbar after rendering
- Language selector now waits for navbar container to exist
- Fixes race condition where language selector ran before navbar rendered
- Language toggle now functional on researcher, implementer, leader, about pages
- Added share section to Researcher, Implementer, Leader, About pages
- Consistent placement before footer on all pages
- Added share-cta.js script to all pages
- Translations: EN, DE, FR for all pages
- Same quiet professional styling as homepage
- Changed from gray-700 to blue-600 (matches site theme)
- Added shadow-sm for better definition
- Buttons now clearly visible on white card background
- Added share section with Copy Link, Email, LinkedIn buttons
- Translations: EN, DE, FR (Option 3: 'Help us reach the right people')
- CSP-compliant JavaScript (no inline handlers)
- Professional gray styling, no marketing circus
- Target: researchers, implementers, leaders needing AI governance solutions
- Created auto-reload.js to detect service worker updates
- Listens for CACHE_CLEARED message and controllerchange events
- Auto-reloads page when new service worker activates
- Added to all HTML pages for consistent behavior
- Ensures users always see latest content after deployment