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
43fa6cca61 SECURITY: Remove all internal/confidential files from public repository
CRITICAL SECURITY FIX:
Removed 226 internal and sensitive files from git tracking to protect
the public tractatus-framework repository from exposing confidential
development information, server details, and internal strategies.

SCOPE:
This cleanup separates the INTERNAL repository (tractatus) from the
PUBLIC repository (tractatus-framework on GitHub).

REMOVED DIRECTORIES (entire):
- .claude/ (framework session state, metrics, archives)
- governance/ (internal operational governance)
- For Claude Web/ (internal development specs)
- scripts/hook-validators/ (internal enforcement)
- scripts/framework-components/ (internal components)
- docs/planning/, docs/testing/, docs/outreach/
- docs/stripe-analysis/, docs/economist-analysis/
- docs/framework-incidents/, docs/deployment-logs/
- docs/analysis-archive-2025-10/

REMOVED ROOT FILES:
- CLAUDE_*.md, ClaudeWeb*.md (internal development)
- PITCH-*.md (internal pitch documents)
- PHASE-*.md, MEETING_NOTES*.md (internal planning)
- SESSION*.md, OPTIMAL_NEXT_SESSION*.md (session handoffs)
- ARCHIVE_SUMMARY*.md, CLOSEDOWN*.* (session archives)
- EXECUTIVE_BRIEF*.md (internal briefs)
- Tractatus-Website-Complete-Specification*.md (internal specs)
- UI_TRANSFORMATION_PROJECT_PLAN.md, SITE_IMPROVEMENT_PRIORITIES.md
- SCHEDULED_TASKS.md, TRACTATUS_BRAND_SYSTEM.md
- .stripe-ids.json, .rsyncignore (sensitive/deployment)
- deployment-output.txt, migration-output.txt (logs)
- ECONOMIST_LETTER*.docx, PERPLEXITY_USER_PROMPT.txt (correspondence)

REMOVED SCRIPTS:
- scripts/deploy-*.sh (contain server IPs)
- scripts/session-init.js, scripts/check-session-pressure.js
- scripts/analyze-violations.js
- scripts/hook-validators/*.js (5 files)
- scripts/framework-components/*.js

REMOVED DOCS (96 files):
- docs/SESSION*.md, docs/session-handoff-*.md
- docs/DEPLOYMENT*.md, docs/MULTI_PROJECT*.md
- docs/DOCUMENT_AUDIT*.md, docs/DOCUMENT_*.md
- docs/BLOG-POST-OUTLINES.md
- docs/PHASE-*.md, docs/STRIPE_*.md, docs/KOHA*.md
- docs/SECURITY_AUDIT*.md, docs/FRAMEWORK_FAILURE*.md
- docs/BENCHMARK*.md, docs/IMPLEMENTATION_PROGRESS*.md
- docs/BOOTSTRAPPING*.md, docs/GOVERNANCE-RULE-LIBRARY.md
- docs/SIMULATION*.md, docs/API_MEMORY*.md

ADDED PROTECTIONS:
1. Comprehensive .gitignore (172 lines)
   - Blocks all internal directories
   - Blocks all internal file patterns
   - Prevents accidental commits

2. PUBLIC_REPO_CHECKLIST.md
   - Security verification checklist
   - Weekly maintenance procedures
   - Clear guidelines for public vs internal

REMAINING PUBLIC FILES: 6,435
- src/: 85 (open source services)
- tests/: 35 (unit/integration tests)
- public/: 178 (website frontend)
- scripts/: 111 (public utilities)
- docs/: 107 (public documentation)
- root: 13 (README, LICENSE, package.json, configs)

VERIFICATION:
✓ No server IPs
✓ No SSH keys or credentials
✓ No payment system secrets
✓ No internal planning documents
✓ No session handoffs or development logs
✓ No deployment scripts with production details

RESULT:
Public tractatus-framework repository now contains ONLY:
- Open source code
- Public documentation
- Implementation guides
- Apache 2.0 licensed content

Internal tractatus repository (local) retains ALL files for development.

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-21 18:50:16 +13:00
TheFlow
29fa3956f9 feat: newsletter modal and deployment script enhancements
**Newsletter Modal Implementation**:
- Added modal subscription forms to blog pages
- Improved UX with dedicated modal instead of anchor links
- Location: public/blog.html, public/blog-post.html

**Blog JavaScript Enhancements**:
- Enhanced blog.js and blog-post.js with modal handling
- Newsletter form submission logic
- Location: public/js/blog.js, public/js/blog-post.js

**Deployment Script Improvements**:
- Added pre-deployment checks (server running, version parameters)
- Enhanced visual feedback with status indicators (✓/✗/⚠)
- Version parameter staleness detection
- Location: scripts/deploy-full-project-SAFE.sh

**Demo Page Cleanup**:
- Minor refinements to demo pages
- Location: public/demos/*.html

**Routes Enhancement**:
- Newsletter route additions
- Location: src/routes/index.js

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-14 13:11:46 +13:00
TheFlow
90d3db31de security: remove sensitive internal documentation from public repository
Removed 16 sensitive files from git tracking to protect internal processes:

Root directory (5 files):
- CLAUDE_Tractatus_Maintenance_Guide.md
- DEPLOYMENT-2025-10-08.md
- NEXT_SESSION.md
- NEXT_SESSION_OPENING_PROMPT.md
- SESSION_CLOSEDOWN_20251006.md

docs/ directory (11 files):
- KOHA_PRODUCTION_DEPLOYMENT.md
- PHASE-2-DEPLOYMENT-GUIDE.md
- PRODUCTION_DEPLOYMENT_CHECKLIST.md
- SESSION-2025-10-07-AI-FEATURES.md
- SESSION-HANDOFF-2025-10-12.md
- SESSION_HANDOFF_2025-10-10.md
- SESSION_HANDOFF_2025-10-11.md
- SESSION_HANDOFF_2025_10_11.md
- SESSION_HANDOFF_2025_10_11_P3_P4.md
- SESSION_INIT_API_MEMORY_AUDIT.md
- planning/PHASE_3_SESSION_1_SUMMARY.md

These files contain:
- Internal workflow documentation
- Deployment procedures and server details
- Session handoff information
- Planning and strategy documents

Security posture:
 Files removed from tracking (won't appear in new commits)
 Files remain on disk for local use
 .gitignore already blocks these patterns
 .rsyncignore blocks deployment to production
⚠️ Files remain in git history (accessible via git log)

Note: This is low-risk remediation. Files remain in history but won't
be visible in file browser or future commits. For complete removal,
git history rewrite would be needed (high risk, requires force push).

Risk assessment: Medium exposure (internal processes visible) but no
credentials, keys, or direct access information exposed.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-12 17:09:00 +13:00
TheFlow
8f716b584c docs: audit session-init.js for API Memory and provide next session prompt
## Session Init Audit (SESSION_INIT_API_MEMORY_AUDIT.md)

### Current Implementation Analysis
- Fully file-based: 3 file reads (session-state, instruction-history, checkpoints)
- No API Memory integration yet
- Backward compatible design

### Optimization Recommendations
**Priority 1: Detection (30 mins)**
- Add API Memory detection function
- Report Memory system status to user
- Set flags for conditional behavior

**Priority 2: Conditional File Reads (2 hours)**
- Query Memory before reading files
- Fall back to files if Memory unavailable
- Reduce 6k token instruction-history read

**Priority 3: Session Continuity (2 hours)**
- Use Memory for session detection
- Better post-compaction handling
- Smoother continuation experience

### Testing Plan
- Does Memory preserve 19 instructions?
- Does Memory detect session continuation?
- Does Memory reduce file operations?
- Does Memory extend session length?

### Conclusion
 session-init.js READY for API Memory
- No breaking changes needed
- Works with or without Memory
- Can optimize incrementally

## Next Session Prompt (NEXT_SESSION_OPENING_PROMPT.md)

### Recommended Opening Prompt
```
I'm continuing work on the Tractatus project. This is the FIRST SESSION
using Anthropic's new API Memory system.

Primary goals:
1. Run node scripts/session-init.js and observe framework initialization
2. Fix 3 MongoDB persistence test failures (1-2 hours estimated)
3. Investigate BoundaryEnforcer trigger logic (inst_016-018 compliance)
4. Document API Memory behavior vs. file-based system

Key context to observe:
- Do the 19 HIGH-persistence instructions load automatically?
- Does session-init.js detect previous session via API Memory?
- How does context pressure behave with new Memory system?
- What's the session length before compaction?

After initialization, start with: npm test -- --testPathPattern="tests/unit"
to diagnose framework test failures.

Read docs/SESSION_HANDOFF_2025-10-10.md for full context from previous session.
```

### What to Watch For
**Memory Working**: Claude knows project status, instruction count, previous work
**Memory Not Yet Active**: Reads all files, treats as new session
**All acceptable**: We're in observation mode

### Data to Collect
- Session length (messages before compaction)
- File operations (did init script read all files?)
- Instruction persistence (auto-loaded?)
- Context continuity (remembered previous session?)
- Compaction experience (smoother handoff?)

## Summary
This session completed:
1.  Added inst_019 (context pressure monitoring improvement)
2.  Corrected inst_018 (development tool classification)
3.  Audited session-init.js (API Memory compatibility)
4.  Created next session prompt (observation strategy)
5.  Created handoff document (full session context)

Next session: First test of Anthropic API Memory system with Tractatus framework

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-10 23:43:51 +13:00