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
a6709bc9a5
refactor(public): remove website config files and clean package.json
...
REMOVED:
- tailwind.config.js (website CSS config)
- .eslintrc.json (website linting config)
- scripts/check-csp-violations.js (website CSP checking)
- scripts/install-gitleaks-hook.sh (dev tool)
- docs/architecture/ADR-001-public-repository-release-process.md (internal process)
UPDATED:
- package.json: Rewritten for framework (removed 17 website dependencies)
- Removed: bcrypt, csurf, i18next, jsonwebtoken, marked, multer, puppeteer,
sanitize-html, stripe, highlight.js, tailwindcss, autoprefixer, pa11y, etc
- Kept only: express, mongoose, winston, helmet, rate-limit, validator
- Changed name from tractatus-website to tractatus-framework
- Changed description to framework description
Result: Clean framework package, no website code
2025-10-22 17:17:31 +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