tractatus/scripts/seed-first-blog-post.js
TheFlow 0e6be3eaf1 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

195 lines
7.5 KiB
JavaScript

/**
* Seed First Blog Post - Framework Overview
* Creates the inaugural blog post introducing the Tractatus framework
*/
const { getCollection, connect, close } = require('../src/utils/db.util');
const BLOG_POST = {
title: 'Introducing the Tractatus Framework: Architectural Safety for Production AI',
slug: 'introducing-tractatus-framework',
author: {
type: 'human',
name: 'John Stroh'
},
content: `Tractatus is an architectural governance framework for production AI systems using large language models like Claude Code. It enforces safety constraints through six mandatory services that work together to prevent common failure modes in AI deployments.
## The Core Problem
Current AI safety approaches rely on aspirational prompts, documentation files, and trust that the AI will "remember" to follow guidelines. This breaks down under context pressure, session continuations, and real-world complexity. We've seen this failure mode repeatedly in production deployments.
## The Tractatus Solution
Instead of asking AI to remember governance rules, **Tractatus enforces them architecturally**. The framework consists of six mandatory services that operate continuously:
### 1. **BoundaryEnforcer**
Blocks decisions that cross into values territory before they're executed. AI systems should never autonomously decide questions of ethics, user agency, or irreversible consequences.
### 2. **InstructionPersistenceClassifier**
Classifies every explicit instruction by:
- **Quadrant**: Strategic, Operational, Tactical, System, or Stochastic
- **Persistence level**: HIGH, MEDIUM, LOW, or VARIABLE
- **Temporal scope**: Project-wide, phase-specific, or session-only
Only instructions with high explicitness scores (≥0.6) are stored persistently.
### 3. **CrossReferenceValidator**
Checks proposed changes against the persistent instruction database before execution. Prevents pattern bias and instruction conflicts.
### 4. **ContextPressureMonitor**
Tracks token budget usage and context window pressure. Warns before degradation occurs, runs at 25% intervals (50k tokens).
### 5. **MetacognitiveVerifier**
For complex operations (>3 files, >5 steps, architecture changes), verifies:
- Alignment with goals
- Coherence across components
- Completeness of implementation
- Safety considerations
- Alternative approaches
### 6. **PluralisticDeliberationOrchestrator**
When values decisions are unavoidable, facilitates multi-stakeholder deliberation without imposing hierarchy. Ensures affected communities have voice in governance.
## Why This Matters
The Tractatus framework represents a fundamental shift in AI governance:
**From:** "We hope the AI remembers to ask"
**To:** "The architecture prevents unauthorized decisions"
**From:** "Prompts as documentation"
**To:** "Enforcement at the architectural layer"
**From:** "Trust but don't verify"
**To:** "Systematic validation and auditing"
## Validated in Production
The framework was developed and validated through 6 months of real-world deployment on the Tractatus website project (~500 sessions with Claude Code). It successfully:
- Prevented pattern bias incidents that previously caused production issues
- Maintained governance across session continuations
- Escalated all values decisions to human approval
- Detected framework fade before it caused problems
This validation occurred in a controlled, single-project context. We're now expanding to broader testing with diverse deployment scenarios.
## Target Deployments
Tractatus is designed for production AI systems where safety matters:
- **Claude Code deployments** (primary target)
- **Agentic AI systems** with autonomous decision-making
- **High-stakes applications** where errors have real consequences
- **Regulated industries** requiring audit trails and governance
The framework is conceptually portable to other LLMs (GPT-4, Gemini, local models) but currently optimized for Claude Code's architecture.
## Getting Started
**For Researchers:** Explore our [comprehensive documentation](/docs.html) including theoretical foundations, validation methodology, and research papers.
**For Implementers:** Download the [quickstart package](/downloads/tractatus-quickstart.tar.gz) with Docker deployment, configuration templates, and integration guides.
**For Leaders:** Read our [business case](/leader.html) explaining ROI, risk mitigation, and organizational benefits.
## What's Next
We're committed to transparent, community-driven development:
- **Open source** under Apache 2.0 license
- **Public roadmap** with quarterly milestones
- **Research partnerships** with academic institutions
- **Case study contributions** from real deployments
The Tractatus framework is early-stage research, not production-scale validation. We're honest about what we know, what we don't know, and what we're actively investigating.
## Join the Community
- 📖 [Read the full documentation](/docs.html)
- 🔬 [Browse our research papers](/downloads/structural-governance-for-agentic-ai-tractatus-inflection-point.pdf)
- 💬 [Join the discussion on GitHub](https://github.com/AgenticGovernance/tractatus-framework)
- 📧 [Contact us](/media-inquiry.html) with questions or collaboration inquiries
---
*This post introduces the Tractatus framework at a conceptual level. For technical implementation details, see our [Technical Architecture](/docs.html) documentation.*`,
excerpt: 'Introducing Tractatus: an architectural governance framework for production AI that enforces safety through six mandatory services, not aspirational prompts.',
category: 'Framework Updates',
status: 'published',
published_at: new Date(),
moderation: {
ai_analysis: null,
human_reviewer: 'John Stroh',
review_notes: 'Inaugural blog post - framework introduction',
approved_at: new Date()
},
tractatus_classification: {
quadrant: 'STRATEGIC',
values_sensitive: false,
requires_strategic_review: false
},
tags: [
'framework',
'introduction',
'ai-safety',
'governance',
'architecture',
'claude-code',
'production-ai'
],
view_count: 0,
engagement: {
shares: 0,
comments: 0
}
};
async function seedBlogPost() {
try {
console.log('🌱 Seeding first blog post...');
await connect();
const collection = await getCollection('blog_posts');
// Check if post already exists
const existing = await collection.findOne({ slug: BLOG_POST.slug });
if (existing) {
console.log('📝 Blog post already exists:', BLOG_POST.slug);
console.log(' To update, delete it first or change the slug');
return;
}
// Insert the blog post
const result = await collection.insertOne(BLOG_POST);
console.log('✅ Blog post created successfully');
console.log(' ID:', result.insertedId);
console.log(' Slug:', BLOG_POST.slug);
console.log(' Title:', BLOG_POST.title);
console.log(' Status:', BLOG_POST.status);
console.log(' Tags:', BLOG_POST.tags.join(', '));
console.log('');
console.log('📍 View at: http://localhost:9000/blog-post.html?slug=' + BLOG_POST.slug);
} catch (error) {
console.error('❌ Error seeding blog post:', error);
throw error;
} finally {
await close();
}
}
// Run if called directly
if (require.main === module) {
seedBlogPost()
.then(() => {
console.log('\n✨ Seeding complete');
process.exit(0);
})
.catch(error => {
console.error('\n💥 Seeding failed:', error);
process.exit(1);
});
}
module.exports = { seedBlogPost, BLOG_POST };