Commit graph

26 commits

Author SHA1 Message Date
TheFlow
e208b1cea3 fix: remove undefined showTranslationFallbackNotice function call
- Removed call to showTranslationFallbackNotice(language) which was undefined
- Console warning already logs the fallback behavior
- Prevents ReferenceError when loading translated documents
- Related to glossary translation fallback handling

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-01 11:11:38 +13:00
TheFlow
63fd753622 fix(docs): card overflow, sequencing, colour legend, and category fixes
Fixed multiple issues with the docs page card-based document view:

**Card Overflow Fixed:**
- Added overflow-x-hidden to #document-content container
- Added w-full max-w-full to card-grid-container
- Added w-full to grid itself
- Added max-w-full overflow-hidden to individual cards
- Cards now stay within container boundaries at all viewport sizes

**Long Title Wrapping:**
- Added insertSoftHyphens() method to break CamelCase words
- Inserts soft hyphens (&shy;) before capitals in compound words
- Examples: "InstructionPersistenceClassifier" → "Instruction­Persistence­Classifier"
- Titles now wrap intelligently without being cut off

**Colour Legend (Option C):**
- Added toggle button (ℹ️) next to ToC and PDF buttons
- Popup shows all 5 colour codes with descriptions
- Translated to EN ("Colour Guide"), DE ("Farbcode"), FR ("Guide des couleurs")
- Fixed colour square visibility (bg-500 with borders instead of bg-400)
- Click outside to close functionality

**Card Sequencing:**
- Cards now display in original markdown document order
- Removed groupByCategory() grouping logic
- Removed category header sections
- Color coding preserved based on section category

**Category Fallback Bug:**
- Fixed invalid fallback category 'downloads-resources' → 'resources'
- Ensures uncategorized documents go to valid category

**Database Migration:**
- Added scripts/move-guides-to-resources.js
- Moved 3 implementation guides from getting-started to resources
- Getting Started now contains only: Introduction, Core Concepts
- Resources now contains: Implementation guides

**Result:**
 Cards respect container width (no overflow)
 Long titles wrap with hyphens (no cutoff)
 Colour legend accessible and translated
 Cards in logical reading order from markdown
 Implementation guides in correct category

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 11:03:23 +13:00
TheFlow
2ee0c0614f fix(docs): complete language switching - update all UI elements instantly
Fixed language persistence issues where sidebar and hero section did not
update when switching languages via navbar flags.

**Root Cause:**
- languageChanged event only updated document content
- URL lang parameter updated AFTER sidebar reload
- detectLanguage() read old lang from URL causing wrong language load

**Changes:**
1. Update URL lang parameter BEFORE reloading sidebar
2. Call updatePageUI() to update hero section instantly
3. Call loadDocuments() to reload sidebar with new language
4. Explicitly reload current document to ensure correct language

**Updated Elements on Language Change:**
- Hero section (page title, subtitle, search button)
- Sidebar category labels (Getting Started → Erste Schritte, etc.)
- Sidebar document titles (shows translations if available)
- Document content (reloads in correct language)
- GitHub section links

**Result:**
 Click language flag → entire page switches to new language instantly
 Document content loads in correct language (not previous language)
 No page refresh required
 All UI elements synchronized
 Ready for Caixin Global launch (Oct 29)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 10:26:13 +13:00
TheFlow
4c5e88f322 fix(docs): complete language switching - update sidebar and hero instantly
Fixed remaining language persistence issues where sidebar and hero section
did not update when switching languages via navbar flags.

**Changes:**
- languageChanged event now calls updatePageUI() to update hero section
- languageChanged event now calls loadDocuments() to reload sidebar
- All UI elements update immediately without requiring page refresh

**Updated Elements on Language Change:**
- Hero section (page title, subtitle, search button)
- Sidebar category labels (Getting Started, Resources, etc.)
- Sidebar document titles (shows translations if available)
- Document content (reloads in new language)
- GitHub section links

**Result:**
 Click language flag → entire page switches instantly
 No page refresh required
 All UI elements synchronized
 Ready for Caixin Global launch (Oct 29)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 10:21:02 +13:00
TheFlow
325aaa509b fix(docs): resolve language persistence and duplicate selector issues
Fixed three P0 bugs preventing language selection from persisting:

1. **Removed duplicate language selector** (docs.html:499-508)
   - Page had both navbar flags AND dropdown selector
   - Caused UX confusion (two selectors, no sync)
   - Now uses navbar flags only (consistent with site)

2. **Fixed localStorage key mismatch** (docs-app.js:207)
   - i18n-simple.js used 'tractatus-lang'
   - docs-app.js used 'tractatus_language' (underscore)
   - Unified to 'tractatus-lang' for persistence

3. **Removed dead code** (docs-app.js:836-871)
   - initLanguageSelector() expected removed dropdown
   - Caused potential JS errors
   - Navbar language-selector.js now handles all switching

**Result:**
-  Single language selector (navbar flags)
-  Language persists across page reloads
-  No JavaScript errors
-  Ready for Caixin Global launch (Oct 29)

**Version:** 0.1.2 → 0.1.3 (service worker cache bust)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 10:09:42 +13:00
TheFlow
ec85a3fcb7 feat(i18n): implement full page internationalization for docs UI
- Add comprehensive UI translations object for EN, DE, FR
- Translate page header, category labels, sidebar headings
- Translate search button, GitHub section, all UI elements
- Update category rendering to use translated labels
- Display translated document titles from database in sidebar
- Add updatePageUI function to apply translations dynamically
- Update docs.html with IDs for dynamic translation
- Language selector now updates entire page UI and document list

All UI elements now fully support German and French translations.
2025-10-26 02:21:46 +13:00
TheFlow
a608b838f5 feat(i18n): add language selector UI to docs page
Added interactive language switcher dropdown to make translations accessible:

UI Changes:
- Added language selector dropdown to docs.html header
- Flag emojis + language names (🇬🇧 English, 🇩🇪 Deutsch, 🇫🇷 Français)
- Positioned next to search button in page header

Functionality:
- Detect language from URL param, localStorage, or default to English
- Save language choice to localStorage for persistence
- Auto-reload document when language changes
- Update URL with ?lang= parameter
- Preserves selected document when switching languages

Implementation:
- Enhanced detectLanguage() to check URL > localStorage > i18n > default
- Added initLanguageSelector() IIFE to wire up dropdown
- Dropdown reflects current language on page load

User Experience:
- One-click language switching
- Language persists across page reloads
- Seamless document reload in new language
- URL updates to reflect language choice

🌐 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 02:02:48 +13:00
TheFlow
5e969bd4da feat(docs): intelligent section recategorization + i18n infrastructure
This commit includes two major improvements to the documentation system:

## 1. Section Recategorization (UX Fix)

**Problem**: 64 sections (24%) were incorrectly marked as "critical" and
displayed at the bottom of documents, burying important foundational content.

**Solution**:
- Created intelligent recategorization script analyzing titles, excerpts,
  and document context
- Reduced "critical" from 64 → 2 sections (97% reduction)
- Properly categorized content by purpose:
  - Conceptual: 63 → 138 (+119%) - foundations, "why this matters"
  - Practical: 3 → 46 (+1433%) - how-to guides, examples
  - Technical: 111 → 50 (-55%) - true implementation details

**UI Improvements**:
- Reordered category display: Critical → Conceptual → Practical → Technical → Reference
- Changed Critical color from amber to red for better visual distinction
- All 22 documents recategorized (173 sections updated)

## 2. i18n Infrastructure (Phase 2)

**Backend**:
- DeepL API integration service with quota management and error handling
- Translation API routes (GET /api/documents/:slug?lang=de, POST /api/documents/:id/translate)
- Document model already supports translations field (no schema changes)

**Frontend**:
- docs-app.js enhanced with language detection and URL parameter support
- Automatic fallback to English when translation unavailable
- Integration with existing i18n-simple.js system

**Scripts**:
- translate-all-documents.js: Batch translation workflow (dry-run support)
- audit-section-categories.js: Category distribution analysis

**URL Strategy**: Query parameter approach (?lang=de, ?lang=fr)

**Status**: Backend complete, ready for DeepL API key configuration

**Files Modified**:
- Frontend: document-cards.js, docs-app.js
- Backend: documents.controller.js, documents.routes.js, DeepL.service.js
- Scripts: 3 new governance/i18n scripts

**Database**: 173 sections recategorized via script (already applied)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 00:48:27 +13:00
TheFlow
be53ab36f8 fix(security): secure archived documents endpoint and reorganize docs UI
Security:
- Add authentication to /api/documents/archived endpoint (admin-only)
- Prevent public exposure of 108 archived/internal documents

Documentation UI:
- Remove duplicate hardcoded Resources section from docs.html
- Add Resources category to docs-app.js for implementation guides
- Move 3 implementation guides from Getting Started to Resources
- Move Glossary from Technical Reference to Getting Started
- Set Research & Theory section to collapsed by default
- Update service worker cache version to 0.1.4

Migration Scripts:
- Add scripts for document category reorganization
- Add scripts for research document migration to production
- Add scripts for glossary verification and comparison

Files changed:
- public/docs.html: Remove duplicate Resources section
- public/js/docs-app.js: Add Resources category, collapse Research
- public/service-worker.js: Bump cache to v0.1.4
- src/routes/documents.routes.js: Secure /archived endpoint
- scripts/*: Add 10 migration/diagnostic scripts

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 00:03:13 +13:00
TheFlow
36c8c30108 feat(docs): documentation curation infrastructure (scripts + sidebar)
INFRASTRUCTURE COMPLETE (22 public documents from 129 total):

CATEGORY CONSOLIDATION (12 → 5):
- Eliminated chaotic category proliferation
- Defined 5 canonical categories with icons, descriptions
- Updated frontend sidebar (public/js/docs-app.js)
- Categories: getting-started, research-theory, technical-reference,
  advanced-topics, business-leadership

SCRIPTS CREATED:
- comprehensive-document-audit.js: Systematic audit of all 129 docs
- generate-public-pdfs.js: Puppeteer-based PDF generation (22 PDFs)
- migrate-documents-final.js: DB migration (22 updated, 104 archived)
- export-for-production.js: Export 22 docs for production
- import-from-export.js: Import documents to production DB
- analyze-categories.js: Category analysis tool
- prepare-public-docs.js: Document preparation validator

AUDIT RESULTS:
- docs/DOCUMENT_AUDIT_REPORT.json: Full analysis with recommendations
- 22 documents recommended for public visibility
- 104 documents to archive (internal/obsolete/poor quality)

REMAINING WORK:
- Fix inst_016/017/018 violations in 22 public documents (85 violations)
  • inst_016: Statistics need citations or [NEEDS VERIFICATION]
  • inst_017: Replace absolute assurance terms with evidence-based language
  • inst_018: Remove maturity claims or add documented evidence
- Regenerate PDFs after content fixes
- Regenerate production export file (compliant version)
- Deploy to production

Database migration already executed in dev (22 updated, 104 archived).

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-25 21:36:54 +13:00
TheFlow
2298d36bed fix(submissions): restructure Economist package and fix article display
- Create Economist SubmissionTracking package correctly:
  * mainArticle = full blog post content
  * coverLetter = 216-word SIR— letter
  * Links to blog post via blogPostId
- Archive 'Letter to The Economist' from blog posts (it's the cover letter)
- Fix date display on article cards (use published_at)
- Target publication already displaying via blue badge

Database changes:
- Make blogPostId optional in SubmissionTracking model
- Economist package ID: 68fa85ae49d4900e7f2ecd83
- Le Monde package ID: 68fa2abd2e6acd5691932150

Next: Enhanced modal with tabs, validation, export

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 08:47:42 +13:00
TheFlow
aab23e8c33 refactor: deep cleanup - remove all website code from framework repo
REMOVED: 77 website-specific files from src/ and public/

Website Models (9):
- Blog, CaseSubmission, Document, Donation, MediaInquiry,
  ModerationQueue, NewsletterSubscription, Resource, User

Website Services (6):
- BlogCuration, MediaTriage, Koha, ClaudeAPI, ClaudeMdAnalyzer,
  AdaptiveCommunicationOrchestrator

Website Controllers (9):
- blog, cases, documents, koha, media, newsletter, auth, admin, variables

Website Routes (10):
- blog, cases, documents, koha, media, newsletter, auth, admin, test, demo

Website Middleware (4):
- auth, csrf-protection, file-security, response-sanitization

Website Utils (3):
- document-section-parser, jwt, markdown

Website JS (36):
- Website components, docs viewers, page features, i18n, Koha

RETAINED Framework Code:
- 6 core services (Boundary, ContextPressure, CrossReference,
  InstructionPersistence, Metacognitive, PluralisticDeliberation)
- 4 support services (AnthropicMemoryClient, MemoryProxy,
  RuleOptimizer, VariableSubstitution)
- 9 framework models (governance, audit, deliberation, project state)
- 3 framework controllers (rules, projects, audit)
- 7 framework routes (rules, governance, projects, audit, hooks, sync)
- 6 framework middleware (error, validation, security, governance)
- Minimal admin UI (rule manager, dashboard, hooks dashboard)
- Framework demos and documentation

PURPOSE: Tractatus-framework repo is now PURELY framework code.
All website/project code remains in internal repo only.

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-21 21:22:40 +13:00
TheFlow
d8e5061873 fix(mobile): implement navigation toggle for document viewer
Add mobile-specific navigation pattern to resolve catch-22 UX issue where
users couldn't see documents without scrolling but didn't know to scroll.

Changes:
- Add mobile CSS to toggle between sidebar and document viewer
- Add back button to return to document list on mobile
- Add document-active body class to manage navigation state
- Update GitHub repository links to correct URL

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-19 12:41:48 +13:00
TheFlow
a754787555 feat: enhance FAQ for Leader audience and improve navigation
**FAQ Enhancements:**
- Added 6 new Leader-focused questions (TCO, board justification, liability, metrics, compliance)
- Reordered all 28 questions to prioritize Leaders (IDs 1-18)
- Added sorting by ID to ensure consistent order
- Improved question categorization and keywords

**UI Improvements:**
- Enhanced search and filter functionality
- Improved markdown rendering in FAQ answers
- Better accessibility and keyboard navigation

Leaders now see business-critical questions first, followed by
technical implementation and research questions.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-14 10:53:47 +13:00
TheFlow
7744221bf0 fix: move value pluralism FAQ to advanced-topics and collapse technical-reference
- Move 'value-pluralism-faq' from getting-started to advanced-topics
- Set technical-reference category to collapsed by default (only getting-started open)
- Getting Started now has 2 docs (Introduction, Core Concepts)
- Advanced Topics now has 6 docs (includes Value Pluralism FAQ)
- Cache busted docs-app.js (v=0.1.0.1760258358)

Final category distribution:
- getting-started: 2 (expanded)
- technical-reference: 11 (collapsed)
- research-theory: 4 (collapsed)
- advanced-topics: 6 (collapsed)
- case-studies: 6 (collapsed)
- business-leadership: 1 (collapsed)
- archives: 2 (collapsed)
2025-10-12 21:39:32 +13:00
TheFlow
a5b8f90e88 fix: CSP-compliant category collapsing + cache busting
- Remove inline styles from category rendering (CSP violation)
- Apply collapsed state via JavaScript after DOM insertion
- Update cache version to v=0.1.0.1760254264664 across all HTML files
- Categories now properly collapsed on page load (Research, Advanced, Case Studies, Business, Archives)
2025-10-12 20:32:34 +13:00
TheFlow
86b32929c3 feat: reorganize document categories with intuitive structure
- Add 'Advanced Topics' category for value pluralism & deep dives
- Rename Value Pluralism FAQ to 'Understanding Value Pluralism'
- Restore research documents from archives (Research Foundations, Organizational Theory, etc.)
- Set most categories to collapsed by default for cleaner UX
- Restore Executive Brief to Business & Leadership
- Archive PoC session summaries
- Create comprehensive migration script for recategorization
2025-10-12 20:24:47 +13:00
TheFlow
39111d4a8e feat(ui): integrate value pluralism documents in docs viewer
- Update docs.html with MongoDB-integrated documents
- Add value pluralism documents to sidebar categories
- Update docs-app.js for proper document retrieval
- Sync navbar changes across UI pages

Documents now searchable and properly categorized in docs viewer

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-12 16:36:42 +13:00
TheFlow
f7d933dbe2 feat: redesign docs sidebar with audience-based categories + fix PNG background
## Architecture Diagram PNG Fix
- Regenerated PNG with solid white background (no transparency)
- Removed alpha channel (RGBA → RGB)
- Increased resolution to 2400x2000 for true high-res quality
- Fixed poor UX with checkered/transparent background on implementer.html

## Documentation Sidebar Redesign
Reorganized from flat "getting started" list to 5 hierarchical categories
based on user journey and expertise level:

### New Category Structure:
- 📘 Introduction (1-5): Beginner level, all audiences
- ⚙️ Implementation (10-19): Practical/technical for implementers
- 📊 Case Studies (20-29): Real-world examples
- 💼 Business Strategy (30-35): For leaders/decision makers
- 🔬 Advanced Topics (40-49): Deep technical (collapsed by default)

### Benefits:
- Clear progression: beginner → intermediate → advanced
- Audience-specific paths (researcher, implementer, leader)
- Reduced cognitive load (5 categories vs 15+ flat items)
- Easy to find relevant content by expertise level

### Technical Implementation:
- Updated docs-app.js CATEGORIES object with new structure
- Updated categorizeDocument() to use order ranges (1-5, 10-19, 20-29, 30-35, 40-49)
- Created scripts/reorganize-docs-sidebar.js for automated metadata updates
- Reorganized 15 documents in MongoDB with new order/category/audience

### Production Deployment:
-  Deployed architecture-diagram.png (887KB, RGB, 2400x2000)
-  Deployed updated docs-app.js
-  Ran reorganization script on tractatus_prod database
-  Verified via API: correct categories and ordering

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-12 09:10:58 +13:00
TheFlow
2fc6e0a593 feat: implement documentation reorganization with archives
Documentation Reorganization (Option A - Full):
- Reduced public docs from 47 to 11 (76% reduction)
- 31 documents archived (project tracking, outdated)
- 5 documents marked confidential (security, payments)
- Clear 3-tier structure: Getting Started, Framework Details, Case Studies

Archives Infrastructure:
- Added visibility: 'archived' | 'public' | 'confidential' | 'internal'
- Added category: 'conceptual' | 'practical' | 'reference' | 'archived' | 'project-tracking'
- Added order field for explicit document ordering (1-11 for public)
- Added archiveNote field for explaining why documents were archived
- New endpoint: GET /api/documents/archived
- New controller method: listArchivedDocuments()
- UI: Archives section (collapsed by default) at bottom of docs list

Public Documentation (11 documents, well-organized):
  1. Architectural Overview (reference)
  2. Core Concepts (conceptual) - needs Phase 5 update
  3. Implementation Guide (practical) - needs MongoDB rewrite
  4. Core Values & Principles (conceptual)
  5. Case Studies (practical)
  6. Business Case Template (practical)
  7. Glossary (reference) - needs Phase 5 terms
  8-11. Recent Case Studies (practical)

Model Updates:
- src/models/Document.model.js: Added visibility, category, order, archiveNote fields
- src/models/Document.model.js: Added listArchived() static method
- Default sort by order (1-999) instead of date

Controller Updates:
- src/controllers/documents.controller.js: Added listArchivedDocuments()
- Filter excludes archived docs from main list by default

Route Updates:
- src/routes/documents.routes.js: Added GET /api/documents/archived

UI Updates:
- public/js/docs-app.js: New category structure (Getting Started, Framework Details, Reference)
- public/js/docs-app.js: Fetches and displays archived documents in collapsed section
- public/js/docs-app.js: Archives show document count badge
- public/js/docs-app.js: Archive notes displayed below archived document links
- Auto-loads Architectural Overview (order: 1) on page load

Scripts Created:
- scripts/archive-outdated-documents.js: Archive 10 outdated documents
- scripts/update-document-metadata.js: Set order/category for 7 core docs
- scripts/archive-all-internal-documents.js: Mass archive 23 internal docs

Documentation:
- docs/DOCUMENT_AUDIT_2025-10-11.md: Comprehensive audit of all 47 documents
- docs/DOCUMENT_REORGANIZATION_SUMMARY.md: Executive summary with before/after

Next Steps (Phase 2 - Content Updates):
- Update Core Concepts for Phase 5 MongoDB architecture
- Rewrite Implementation Guide for MongoDB deployment
- Update Glossary with Phase 5 terms (MongoDB, MemoryProxy, API Memory)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-11 01:26:14 +13:00
TheFlow
6f631f2d1f docs: publish Phase 5 PoC research documentation
Added Phase 5 PoC Session 1 and Session 2 research summaries to public
documentation for transparency and collaboration.

Research Documents:
- Phase 5 Session 1: 67% framework integration (4/6 services)
- Phase 5 Session 2: 100% framework integration milestone (6/6 services)

Content:
- Comprehensive integration process documentation
- Performance metrics and testing results
- Architecture patterns and best practices
- Full backward compatibility analysis
- Production deployment readiness assessment

Formats:
- Markdown source in docs/markdown/ (committed)
- PDFs generated on server via npm run migrate:docs

Categorization:
- Added 'phase-5' keyword to Research & Evidence category
- Documents will appear in docs viewer under Research section

License: Apache 2.0 (ready for Anthropic monitoring)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-10 13:00:23 +13:00
TheFlow
8480aede68 fix: add research-scope keyword to docs categorization
Ensures LLM integration feasibility research document appears in
Research & Evidence category on docs.html.

Document slug: research-scope-feasibility-of-llm-integrated-tractatus-framework
2025-10-10 08:14:52 +13:00
TheFlow
e583774824 feat: comprehensive documentation improvements and GitHub integration
- Add professional README for public repository with code examples
- Fix all broken documentation links across 4 markdown files
- Add favicon to all HTML pages (eliminates 404 errors)
- Redesign Experience section with 4-card incident grid
- Add GitHub section to docs.html sidebar with repository links
- Migrate 4 new case studies to database (19 total documents)
- Generate 26 PDFs for public download
- Add automated sync GitHub Action for public repository
- Add security validation for public documentation sync
- Update docs-app.js to categorize research topics

Mobile responsive, accessibility compliant, production ready.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 14:33:14 +13:00
TheFlow
199c58411b fix(docs): resolve ToC modal positioning and duplicate headers
- Fixed ToC modal appearing at bottom of document instead of overlay
  - Added explicit position: fixed !important with full viewport coverage
  - Added proper z-index and backdrop styling
  - Implemented scrollable modal content with custom scrollbar

- Fixed duplicate h1 document title headers
  - Remove first h1 from content_html (already shown in header)
  - Apply fix in both card view and traditional view
  - Also handles h2 fallback for section modals

- Removed all diagnostic console.log statements (56+ removed)
  - Cleaned docs-app.js (50+ log statements)
  - Cleaned document-cards.js (15+ log statements)
  - Kept only legitimate error logging

- Fixed CSP violation in docs-app.js
  - Removed inline onclick handler from PDF download link
  - Implemented event delegation to handle stopPropagation
  - Now fully CSP-compliant (no inline scripts/styles/handlers)

- Added category-based document navigation with collapsible sections
  - Documents grouped into: Start Here, Core Framework, Research, Implementation, Leadership, Developer Tools
  - Visual category indicators with icons and colors

- Updated cache-busting versions for production deployment

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 08:30:12 +13:00
TheFlow
09f706c51b feat: fix documentation system - cards, PDFs, TOC, and navigation
- Fixed download icon size (1.25rem instead of huge black icons)
- Uploaded all 12 PDFs to production server
- Restored table of contents rendering for all documents
- Fixed modal cards with proper CSS and event handlers
- Replaced all docs-viewer.html links with docs.html
- Added nginx redirect from /docs/* to /docs.html
- Fixed duplicate headers in modal sections
- Improved cache-busting with timestamp versioning

All documentation features now working correctly:
 Card-based document viewer with modals
 PDF downloads with proper icons
 Table of contents navigation
 Consistent URL structure

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 22:51:55 +13:00
TheFlow
edf3b4165c feat: fix CSP violations & implement three audience paths
CSP Compliance (complete):
- Install Tailwind CSS v3 locally (24KB build)
- Replace CDN with /css/tailwind.css in all HTML files
- Extract all inline scripts to external JS files
- Created 6 external JS files for demos & docs
- All pages now comply with script-src 'self'

Three Audience Paths (complete):
- Created /researcher.html (academic/theoretical)
- Created /implementer.html (practical integration)
- Created /advocate.html (mission/values/community)
- Updated homepage links to audience pages
- Each path has dedicated nav, hero, resources, CTAs

Files Modified (20):
- 7 HTML files (CSP compliance)
- 3 audience landing pages (new)
- 6 external JS files (extracted)
- package.json (Tailwind v3)
- tailwind.config.js (new)
- Built CSS (24KB minified)

All resources CSP-compliant, all pages tested 200 OK

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 12:21:00 +13:00