Commit graph

5 commits

Author SHA1 Message Date
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
1c9892d3fe fix(scripts): remove 95 accidentally published internal scripts
CRITICAL FIX: Phase 8 commit accidentally added all internal scripts to public repo

In previous commit (6efeca2), git add scripts/ added ALL internal scripts instead of
just removing the 2 project-specific scripts. This exposed internal project code.

REMOVED (95 internal scripts):
- add-*, fix-*, generate-*, migrate-*, seed-*, update-* (document/website scripts)
- import-*, load-*, query-*, verify-* (database scripts)
- audit-*, check-*, validate-* (internal validation scripts)
- archive-*, compare-*, cleanup-* (maintenance scripts)
- monitoring/* (server monitoring scripts)
- sync-instructions-to-db.js, sync-to-public.sh (internal sync scripts)
- install-*, init-koha.js, mongodb-tractatus.service (deployment scripts)

KEPT (1 script):
- scripts/clean-test-db.js (generic test database cleaner)

RESULT: Only framework-relevant scripts remain in public repo

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-21 22:19:16 +13:00
TheFlow
2af47035ac refactor: remove website code and fix critical startup crashes (Phase 8)
CRITICAL FIX: Server would CRASH ON STARTUP (multiple import errors)

REMOVED (2 scripts):
1. scripts/framework-watchdog.js
   - Monitored .claude/session-state.json (OUR Claude Code setup)
   - Monitored .claude/token-checkpoints.json (OUR file structure)
   - Implementers won't have our .claude/ directory

2. scripts/init-db.js
   - Created website collections: blog_posts, media_inquiries, case_submissions
   - Created website collections: resources, moderation_queue, users, citations
   - Created website collections: translations, koha_donations
   - Next steps referenced deleted scripts (npm run seed:admin)

REWRITTEN (2 files):

src/models/index.js (29 lines → 27 lines)
- REMOVED imports: Document, BlogPost, MediaInquiry, CaseSubmission, Resource
- REMOVED imports: ModerationQueue, User (all deleted in Phase 2)
- KEPT imports: AuditLog, DeliberationSession, GovernanceLog, GovernanceRule
- KEPT imports: Precedent, Project, SessionState, VariableValue, VerificationLog
- Result: Only framework models exported

src/server.js (284 lines → 163 lines, 43% reduction)
- REMOVED: Imports to deleted middleware (csrf-protection, response-sanitization)
- REMOVED: Stripe webhook handling (/api/koha/webhook)
- REMOVED: Static file caching (for deleted public/ directory)
- REMOVED: Static file serving (public/ deleted in Phase 6)
- REMOVED: CSRF token endpoint
- REMOVED: Website homepage with "auth, documents, blog, admin" references
- REMOVED: Instruction sync (scripts/sync-instructions-to-db.js reference)
- REMOVED: Hardcoded log path (${process.env.HOME}/var/log/tractatus/...)
- REMOVED: Website-specific security middleware
- KEPT: Security headers, rate limiting, CORS, body parsers
- KEPT: API routes, governance services, MongoDB connections
- RESULT: Clean framework-only server

RESULT: Repository can now start without crashes, all imports resolve

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-21 22:17:02 +13:00
TheFlow
0dd4a5f6c8 refactor: reduce public repo to minimal implementation-only resource
REMOVED: 267 non-implementation files (51% reduction)

Categories removed:
- Research documents & case studies (35 files)
- Planning/internal development docs (28 files)
- Website pages & assets (93 files - this is framework code, not website code)
- Audit reports (6 files)
- Non-essential admin UI (11 files)
- Markdown content duplicates (10 files)
- Internal development scripts (96 files)
- Internal setup docs (2 files)

RETAINED: 253 implementation-focused files
- Core framework services (src/)
- Test suite (tests/)
- API documentation (docs/api/)
- Deployment quickstart guide
- Essential admin UI (rule manager, dashboard, hooks dashboard)
- Architecture decision records
- Configuration files

PURPOSE: Public repo is now focused exclusively on developers
implementing Tractatus, not researchers studying it or users visiting
the website. All background/research content available at
https://agenticgovernance.digital

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-21 21:09:34 +13:00
TheFlow
5db03ef504 feat: implement Priority 1 - Public Blog System with governance enhancements
## Blog Implementation (Priority 1)
- Add public blog listing page (public/blog.html)
  * Responsive grid layout with 9 posts per page
  * Search with 300ms debouncing
  * Category filtering and sorting
  * Pagination with page numbers
  * Active filter tags with removal
  * Loading, empty, and error states
  * WCAG 2.1 AA accessibility compliance

- Add individual blog post template (public/blog-post.html)
  * Full post display with metadata
  * AI disclosure banner for AI-assisted content
  * Social sharing (Twitter, LinkedIn, Copy Link)
  * Related posts algorithm (category → tags → recent)
  * Breadcrumb navigation

- Add blog listing client-side logic (public/js/blog.js - 456 lines)
  * XSS prevention via escapeHtml()
  * Debounced search implementation
  * Event delegation for pagination
  * Client-side filtering and sorting
  * API integration with GET /api/blog

- Add blog post client-side logic (public/js/blog-post.js - 362 lines)
  * Individual post rendering
  * Related posts algorithm
  * Social sharing with visual feedback
  * Basic markdown to HTML conversion
  * Copy link with success/error states

- Update navbar (public/js/components/navbar.js)
  * Add Blog link to desktop and mobile menus
  * Fix 4 CSP violations (inline styles → Tailwind classes)
  * Caught by pre-action-check.js (inst_008 enforcement)

## Governance Framework Enhancements

- Add inst_026: Client-Side Code Quality Standards (OPERATIONAL)
  * Framework usage (vanilla JS)
  * XSS prevention requirements
  * URL portability standards
  * Debouncing for search inputs
  * Event delegation patterns
  * UX states (loading/error/empty)
  * ESLint validation requirements

- Add inst_027: Production Deployment Checklist (TACTICAL)
  * Code cleanliness verification
  * Environment independence checks
  * CSP compliance validation
  * File organization standards
  * Cache busting requirements
  * Sensitive data protection

- Add ESLint configuration (.eslintrc.json)
  * Client-side code quality enforcement
  * No console.log in production (console.error allowed)
  * Modern JavaScript standards (const, arrow functions)
  * Security rules (no eval, no script URLs)
  * Environment-specific overrides

- Add governance rule loader (scripts/add-governance-rules.js)
  * MongoDB integration for rule management
  * Support for rule updates
  * Comprehensive rule validation

## Documentation

- Add comprehensive validation report (docs/BLOG_IMPLEMENTATION_VALIDATION_REPORT.md)
  * Code quality validation (syntax, console, CSP)
  * Production deployment readiness
  * Security validation (XSS, CSRF, CSP)
  * Accessibility validation (WCAG 2.1 AA)
  * Performance validation
  * Framework enforcement analysis
  * Governance gap analysis

- Add feature-rich UI implementation plan (docs/FEATURE_RICH_UI_IMPLEMENTATION_PLAN.md)
  * 10-priority roadmap for public-facing UI
  * Gap analysis (strong backend, missing public UI)
  * Effort estimates and success metrics
  * Detailed task breakdowns

## Testing & Validation

 All JavaScript files pass syntax validation
 Zero ESLint warnings (--max-warnings 0)
 Full CSP compliance (inst_008) - no inline styles/scripts/handlers
 XSS prevention implemented
 Production-ready file locations
 Environment-independent (no hardcoded URLs)
 WCAG 2.1 AA accessibility compliance
 Mobile responsive design
 API integration validated

## Framework Activity

- ContextPressureMonitor: Session pressure NORMAL (10.1%)
- CSP violations caught: 4 (all fixed before commit)
- Pre-action checks: Successful enforcement of inst_008
- ESLint issues found: 8 (all auto-fixed)
- Production readiness: APPROVED 

## Time Investment
- Estimated: 6-8 hours
- Actual: ~6.5 hours
- On target: Yes 

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-11 14:47:01 +13:00