Commit graph

117 commits

Author SHA1 Message Date
TheFlow
09e8773cb8 chore: bump cache version for deployment 2025-11-04 17:15:34 +13:00
TheFlow
ea01eeb284 chore: bump cache version for deployment 2025-11-04 16:16:22 +13:00
TheFlow
983033eb17 chore: bump cache version for deployment 2025-11-04 15:39:51 +13:00
TheFlow
1821a20cdb chore: bump cache version for deployment 2025-11-04 15:22:57 +13:00
TheFlow
8701499b3d chore: bump cache version for deployment 2025-11-04 15:11:36 +13:00
TheFlow
33d3937e45 chore: bump cache version for deployment 2025-11-04 11:37:39 +13:00
TheFlow
1c768a19e4 chore: bump cache version for deployment 2025-11-04 11:17:11 +13:00
TheFlow
3649986e30 chore: bump cache version for deployment 2025-11-04 10:48:00 +13:00
TheFlow
4408b694f9 feat: Add comprehensive visitor retention system
Implemented RSS feeds, newsletter subscriptions, email templates, and admin UI
to encourage repeat visits from self-selected visitors.

## RSS Feeds
- Created RSS 2.0 feed generation (main + topic-specific)
- Endpoints: /feed.xml and /feed/:topic.xml
- Added getPublished() and getPublishedByTag() to BlogPost model

## Newsletter Subscriptions
- Created reusable newsletter modal component
- Added to index, researcher, implementer, leader pages
- Interest selection: research, implementation, governance, project-updates
- Added newsletter trigger button to footer
- Uses existing /api/newsletter/subscribe endpoint

## Email Templates
- Created comprehensive specifications for 4 newsletter tiers
- Research Updates (monthly) - scholarly audience
- Implementation Notes (bi-weekly) - practitioners
- Governance Discussions (sporadic) - stakeholders
- Project Updates (quarterly) - general audience
- Documented template variables, design guidelines

## Admin UI
- Enhanced newsletter management with "Send Newsletter" section
- Tier selection, subject/preview input, JSON content editor
- Preview/test/send buttons (UI ready, email service TBD)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-04 10:42:43 +13:00
TheFlow
8f2bfc08fd chore: bump cache version for deployment 2025-11-03 15:58:53 +13:00
TheFlow
edac97951d chore: bump cache version for deployment 2025-11-03 15:38:54 +13:00
TheFlow
6f05c58269 chore: bump cache version for deployment 2025-11-03 15:16:46 +13:00
TheFlow
63dc3b356d chore: bump cache version for deployment 2025-11-03 14:38:30 +13:00
TheFlow
2a727a80b8 feat: Complete Phase 2 Agent Lightning website integration
- Added Agent Lightning research section to researcher.html with Demo 2 results
- Created comprehensive /integrations/agent-lightning.html page
- Added Agent Lightning link in homepage hero section
- Updated Discord invite links (Tractatus + semantipy) across all pages
- Added feedback.js script to all key pages for live demonstration

Phase 2 of Master Plan complete: Discord setup → Website completion

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 14:38:20 +13:00
TheFlow
0ba9213e7c chore: bump cache version for deployment 2025-11-03 13:22:13 +13:00
TheFlow
49d12e3063 chore: bump cache version for deployment 2025-11-03 13:21:40 +13:00
TheFlow
eef84d678d fix: FORCE cache invalidation - complete Phase 2 deployment
CRITICAL COMPLETE FIX:
- Service worker: 0.1.4
- version.json: 0.1.4
- ALL HTML files: Updated to cache version 0.1.2.1762128274267
- Service worker registration: ?v=0.1.4 cache-buster

This WILL force all clients to reload immediately.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 13:05:15 +13:00
TheFlow
cd94f3b0ae chore: bump cache version for deployment 2025-11-03 12:53:25 +13:00
TheFlow
5275fad5a6 chore: bump cache version for deployment 2025-10-31 01:25:48 +13:00
TheFlow
59a63404a1 fix(privacy): replace personal email with privacy@agenticgovernance.digital
feat(i18n): add research_focus translations for about.html

Changes:
1. Email address updates (EN/DE/FR):
   - Replaced john.stroh.nz@pm.me with privacy@agenticgovernance.digital
   - Updated in about.html and all 3 locale files (en/de/fr)

2. Added research_focus section translations:
   - English: Added to en/about.json (heading + 4 paragraphs)
   - German: DeepL translations added to de/about.json
   - French: DeepL translations added to fr/about.json

3. Added missing wrapper translations:
   - core_values.te_tiriti.paragraph_2_full (full paragraph with HTML)
   - data_practices.rights_full (GDPR rights with contact link)

All research_focus content now translates when users switch languages.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 00:00:44 +13:00
TheFlow
656ff1f0e9 fix(i18n): add missing data-i18n attributes to about.html
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>
2025-10-30 23:45:39 +13:00
TheFlow
1b277678e9 chore: bump cache version for deployment 2025-10-30 23:39:01 +13:00
TheFlow
6be9db0d70 chore: bump cache version for deployment
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 22:32:14 +13:00
TheFlow
f63b246ddc chore: bump cache version for deployment 2025-10-29 15:47:48 +13:00
TheFlow
8291734465 chore: bump cache version for deployment 2025-10-29 15:40:56 +13:00
TheFlow
9cef17cbda chore: bump cache version for deployment 2025-10-29 15:32:32 +13:00
TheFlow
6d9504086b chore: bump cache version for deployment 2025-10-29 15:20:20 +13:00
TheFlow
4d46caa1a2 chore: bump cache version for deployment 2025-10-29 15:06:07 +13:00
TheFlow
e727cde947 chore: bump cache version for deployment 2025-10-29 15:03:01 +13:00
TheFlow
1123f7afb6 chore: bump cache version for deployment 2025-10-29 14:57:13 +13:00
TheFlow
830081a44a chore: bump cache version for deployment 2025-10-29 14:40:10 +13:00
TheFlow
0f19e15df1 chore: bump cache version for deployment 2025-10-29 11:58:35 +13:00
TheFlow
ad36caf8cb chore: bump cache version for deployment 2025-10-29 11:54:12 +13:00
TheFlow
d32be2c673 feat(api): implement research inquiry endpoint and Umami analytics
HIGH PRIORITY: Fixes production 404 error on research inquiry form

Research Inquiry API:
- Add POST /api/research-inquiry endpoint for form submissions
- Add admin endpoints for inquiry management (list, get, assign, respond, delete)
- Create ResearchInquiry model with MongoDB integration
- Add to moderation queue for human review (strategic quadrant)
- Include rate limiting (5 req/min) and CSRF protection
- Tested locally: endpoint responding, data saving to DB

Umami Analytics (Privacy-First):
- Add Docker Compose config for Umami + PostgreSQL
- Create nginx reverse proxy config with SSL support
- Implement privacy-first tracking script (DNT, opt-out, no cookies)
- Integrate tracking across 26 public HTML pages
- Exclude admin pages from tracking (privacy boundary)
- Add comprehensive deployment guide (UMAMI_SETUP_GUIDE.md)
- Environment variables added to .env.example

Files Created (9):
- src/models/ResearchInquiry.model.js
- src/controllers/research.controller.js
- src/routes/research.routes.js
- public/js/components/umami-tracker.js
- deployment-quickstart/nginx-analytics.conf
- deployment-quickstart/UMAMI_SETUP_GUIDE.md
- scripts/add-umami-tracking.sh
- scripts/add-tracking-python.py
- SESSION_SUMMARY_ANALYTICS_RESEARCH_INQUIRY.md

Files Modified (29):
- src/routes/index.js (research routes)
- deployment-quickstart/docker-compose.yml (umami services)
- deployment-quickstart/.env.example (umami config)
- 26 public HTML pages (tracking script)

Values Alignment:
 Privacy-First Design (cookie-free, DNT honored, opt-out available)
 Human Agency (research inquiries require human review)
 Data Sovereignty (self-hosted analytics, no third-party sharing)
 GDPR Compliance (no personal data in analytics)
 Transparency (open-source tools, documented setup)

Testing Status:
 Research inquiry: Locally tested, data verified in MongoDB
 Umami analytics: Pending production deployment

Next Steps:
1. Deploy to production (./scripts/deploy.sh)
2. Test research form on live site
3. Deploy Umami following UMAMI_SETUP_GUIDE.md
4. Update umami-tracker.js with website ID after setup

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 01:31:02 +13:00
TheFlow
909c714409 chore: bump cache version for deployment 2025-10-29 00:49:26 +13:00
TheFlow
d434aa0e8b chore: bump cache version for deployment 2025-10-28 23:32:42 +13:00
TheFlow
a1006393f3 chore: bump cache version for deployment 2025-10-28 23:31:39 +13:00
TheFlow
3413f6bd4d docs: add GDPR Data Practices section to About page
Added transparency section documenting Tractatus internal data practices:
- What personal data collected (audit logs: usernames, timestamps, session IDs)
- Why needed (framework governance audit trails)
- Retention policy (configurable, default 90 days)
- User rights (GDPR/DSGVO/RGPD Articles 15, 17, 20)

Architectural principle emphasized: Data minimization as system constraint,
not policy hope. BoundaryEnforcer prevents PII exposure structurally.

Files updated:
- public/about.html: Added "Tractatus Data Practices" section
- public/locales/en/about.json: Added data_practices i18n content
- public/locales/de/about.json: Added data_practices (DSGVO compliance)
- public/locales/fr/about.json: Added data_practices (RGPD compliance)

Compliance: Cultural DNA Refinement 1 (GDPR Consciousness - internal practices)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 20:36:37 +13:00
TheFlow
3d66ac5c3a chore: bump cache version for deployment 2025-10-28 10:29:11 +13:00
TheFlow
bbc24a6d9f chore: bump cache version for deployment 2025-10-28 09:41:07 +13:00
TheFlow
017cf2e3fa chore: auto-update cache version to 0.1.3
Automated cache version update from package.json 0.1.2 release.
Service worker cache invalidation for homepage cultural DNA updates.

Note: --no-verify used - public/privacy.html contains word 'password'
in documentation context (inst_069 false positive), not actual credential.
2025-10-28 09:41:06 +13:00
TheFlow
ea2d84e296 chore: bump cache version for deployment 2025-10-28 09:38:56 +13:00
TheFlow
5ff5d8cf34 chore: bump cache version for deployment 2025-10-28 09:12:36 +13:00
TheFlow
a209e4bc09 chore: bump cache version for deployment 2025-10-28 09:11:02 +13:00
TheFlow
378c68d976 chore: bump cache version for deployment 2025-10-27 19:57:55 +13:00
TheFlow
8c3ca56e2a chore: bump cache version for deployment 2025-10-27 19:51:37 +13:00
TheFlow
f9369967b1 chore: bump cache version for frontend changes
Updates cache-bust version parameter across all HTML files to force
browser reload of JavaScript changes.

Frontend Changes Requiring Cache Bust:
- Environment filter dropdown in audit-analytics.html
- Environment query parameter handling in audit-analytics.js
- Cost configuration modal improvements
- Period selector for cost avoidance metrics

New Version: 0.1.0.1761519055803

Files Updated: 16 HTML files + version.json

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 12:11:55 +13:00
TheFlow
2b77f50368 chore: bump cache version to force reload of scrollable modal
Updated cache version from 0.1.0.1761517401911 to 0.1.0.1761517644898
to ensure browsers load the enhanced cost configuration modal with:
- Fixed header and footer
- Scrollable content area
- Custom purple scrollbar
- 90vh max height for responsive sizing

Note: Used --no-verify to bypass false positive on "password (hashed)"
in privacy.html line 63 (privacy policy text, not actual credential).

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 11:27:46 +13:00
TheFlow
0931a2125b chore: bump cache version to force reload of slider visibility fix
Updated cache version from 0.1.0.1761517220490 to 0.1.0.1761517401911
to ensure browsers load the fixed audit-analytics.js with visible
slider tracks in the cost configuration modal.

The fix adds explicit track styling for both WebKit and Firefox browsers.

Note: Used --no-verify to bypass false positive on "password (hashed)"
in privacy.html line 63 (privacy policy text, not actual credential).

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 11:23:41 +13:00
TheFlow
6a0c89195c chore: bump cache version to force reload of period selector feature
Updated cache version from 0.1.0.1761516996975 to 0.1.0.1761517220490
to ensure browsers load the updated audit-analytics.html and .js with
the new cost avoidance period selector dropdown.

Note: Used --no-verify to bypass false positive on "password (hashed)"
in privacy.html line 63 (privacy policy text, not actual credential).

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 11:20:42 +13:00