Commit graph

4 commits

Author SHA1 Message Date
TheFlow
d0700a6f92 fix(values): remove prohibited 'guarantee' language from user-facing content
VIOLATION: Using absolute assurance language violates inst_017
- README.md: "architectural AI safety guarantees" → "enforcement"
- README.md: "guarantees transparency" → "provides transparency"
- public/index.html meta: "guarantees" → "enforcement"
- public/about.html CTA: "architectural guarantees" → "constraints"
- public/js/components/footer.js: "guarantees" → "enforcement"
- public/js/faq.js (5 instances): "guarantees" → "enforcement/constraints"
- public/locales/en/*.json (3 files): "guarantees" → "enforcement/constraints"
- scripts/seed-first-blog-post.js: "safety guarantees" → "safety constraints"

RESULT: All user-facing "guarantee" language removed
- Production website now compliant with inst_017
- No absolute assurance claims in public content
- Framework documentation still pending (hook blocked markdown edits)

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-21 15:19:25 +13:00
TheFlow
c4f4403236 feat(i18n): add footer and privacy page translations (en/de/fr)
SUMMARY:
Implemented complete internationalization for footer component and
privacy page across English, German, and French languages.

CHANGES:

1. Privacy Page Translations (3 files):
   - Created locales/en/privacy.json (baseline)
   - Created locales/de/privacy.json (German - Datenschutzerklärung)
   - Created locales/fr/privacy.json (French - Politique de confidentialité)
   - All 11 sections + Te Tiriti fully translated

2. Footer i18n Enhancement:
   - Rewrote footer.js with data-i18n attributes
   - Added languageChanged event listener for dynamic updates
   - Expanded homepage.json footer translations (en/de/fr)
   - Footer now auto-translates with language selection

3. Privacy Page Integration:
   - Added data-page="privacy" attribute to HTML
   - Added data-i18n to all content sections (header + 11 sections)
   - Integrated with existing language-selector.js component
   - Updated i18n-simple.js pageMap to recognize privacy page

4. Bug Fix:
   - Fixed SessionStart hook error in .claude/settings.local.json
   - Changed from $CLAUDE_PROJECT_DIR to absolute path
   - Hook now runs successfully at session start

BENEFITS:
- Better UX for international users (German, French speakers)
- Legal compliance (privacy policy in native languages)
- Consistent language experience across entire site
- Leverages existing language persistence (localStorage)

INTEGRATION:
- Works with existing language-selector.js (flag icons: 🇬🇧 🇩🇪 🇫🇷)
- Language preference persists across all pages
- Zero duplication - integrates with existing i18n system

WCAG COMPLIANCE:
✓ Maintains semantic HTML structure
✓ Preserves WCAG AA contrast ratios
✓ All links remain accessible and distinguishable
✓ German and French translations maintain accessibility standards

FRAMEWORK COMPLIANCE:
✓ Zero CSP violations - uses data-i18n attributes only
✓ No inline scripts or styles
✓ Follows existing Tractatus i18n patterns

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-19 14:44:14 +13:00
TheFlow
52cbbb1e3a style(ui): update theme, branding, and GitHub repository links
Update UI across all pages with:
- New favicon and brand icons (favicon-new.svg, tractatus-icon-new.svg)
- Theme CSS integration (tractatus-theme.min.css)
- Correct GitHub repository links (AgenticGovernance/tractatus)
- PWA manifest updates
- Consistent branding colors and gradients

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-19 12:48:29 +13:00
TheFlow
de0b117516 feat: add multi-currency support and privacy policy to Koha system
Multi-Currency Implementation:
- Add currency configuration with 10 supported currencies (NZD, USD, EUR, GBP, AUD, CAD, JPY, CHF, SGD, HKD)
- Create client-side and server-side currency utilities for conversion and formatting
- Implement currency selector UI component with auto-detection and localStorage persistence
- Update Donation model to store multi-currency transactions with NZD equivalents
- Update Koha service to handle currency conversion and exchange rate tracking
- Update donation form UI to display prices in selected currency
- Update transparency dashboard to show donations with currency indicators
- Update Stripe setup documentation with currency_options configuration guide

Privacy Policy:
- Create comprehensive privacy policy page (GDPR compliant)
- Add shared footer component with privacy policy link
- Update all Koha pages with footer component

Technical Details:
- Exchange rates stored at donation time for historical accuracy
- All donations tracked in both original currency and NZD for transparency
- Base currency: NZD (New Zealand Dollar)
- Uses Stripe currency_options for monthly subscriptions
- Dynamic currency for one-time donations

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-08 15:17:23 +13:00