Content Updates (3 documents): 1. Core Concepts (v1.0 → v1.1): - Updated from 5 to 6 services (added BlogCuration) - Added MongoDB Persistence Architecture section - Added API Memory integration explanation - Added Hybrid Architecture details - Added BlogCuration service documentation - References Architectural Overview for complete details - +3,249 characters 2. Implementation Guide (v1.0 → v1.1): - Complete rewrite for MongoDB architecture - Removed non-existent npm package references - Added MongoDB setup (local + Atlas) - Added environment configuration (.env) - Added service initialization examples - Added database schema documentation - Added production deployment guide (systemd) - Added monitoring & troubleshooting - Added migration guide from filesystem - Reduced from 17,726 to 12,925 characters (more focused) 3. Glossary (v1.0 → v1.1): - Added MemoryProxy definition - Added API Memory definition - Added Hybrid Architecture definition - Added BlogCuration definition - Updated version to 1.1 - Updated date to 2025-10-11 - +4,435 characters Scripts Created: - scripts/update-core-concepts.js: Automated Core Concepts update - scripts/update-glossary.js: Automated Glossary term additions - docs/markdown/implementation-guide-v1.1.md: New Implementation Guide source PDFs Regenerated: - core-concepts-of-the-tractatus-framework.pdf - implementation-guide.pdf - tractatus-agentic-governance-system-glossary-of-terms.pdf All 3 documents now accurate for Phase 5 MongoDB architecture. Next: Deploy to production 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
186 lines
7.9 KiB
JavaScript
186 lines
7.9 KiB
JavaScript
/**
|
|
* Update Glossary with Phase 5 Terms
|
|
* Adds: MemoryProxy, API Memory, Hybrid Architecture, BlogCuration
|
|
*/
|
|
|
|
const { MongoClient } = require('mongodb');
|
|
const marked = require('marked');
|
|
|
|
const MONGODB_URI = process.env.MONGODB_URI || 'mongodb://localhost:27017/tractatus_dev';
|
|
const DB_NAME = process.env.MONGODB_DB || 'tractatus_dev';
|
|
|
|
const NEW_TERMS = `
|
|
|
|
### MemoryProxy
|
|
|
|
**What it means:** A service that manages access to the persistence layer (MongoDB and optionally Anthropic API Memory) for all framework services.
|
|
|
|
**Why it matters:** Instead of each service connecting to the database independently, MemoryProxy provides a single, consistent interface. This ensures all services load the same governance rules and log decisions uniformly.
|
|
|
|
**Real-world analogy:** Think of it like a library's card catalog system. Instead of everyone wandering the stacks looking for books individually, they all use the same catalog system to find what they need efficiently and consistently.
|
|
|
|
**In Tractatus:** MemoryProxy loads the 18 governance rules from MongoDB when services initialize, provides methods to query rules by ID or category, and manages audit log writing. All 6 services (InstructionPersistenceClassifier, CrossReferenceValidator, BoundaryEnforcer, MetacognitiveVerifier, ContextPressureMonitor, BlogCuration) use MemoryProxy to access persistent storage.
|
|
|
|
**Technical detail:** Singleton pattern ensures all services share the same MongoDB connection pool and cached rules, improving performance and consistency.
|
|
|
|
---
|
|
|
|
### API Memory
|
|
|
|
**What it means:** Anthropic's API Memory system that enhances Claude conversations with automatic session context preservation across multiple interactions.
|
|
|
|
**Why it matters:** In Phase 5, we integrated API Memory as an *optional enhancement* to our MongoDB-based persistence. API Memory helps maintain conversation continuity, but MongoDB remains the required foundation for governance rules and audit trails.
|
|
|
|
**Real-world analogy:** Think of MongoDB as your permanent filing cabinet (required for records) and API Memory as sticky notes on your desk (helpful for current work but not the source of truth).
|
|
|
|
**In Tractatus:** API Memory provides session continuity for Claude Code conversations but does NOT replace persistent storage. Our architecture gracefully degrades—if API Memory is unavailable, all services continue functioning with MongoDB alone.
|
|
|
|
**Key distinction:** API Memory ≠ Persistent Storage. Governance rules MUST be in MongoDB for production systems.
|
|
|
|
---
|
|
|
|
### Hybrid Architecture
|
|
|
|
**What it means:** Our Phase 5 architecture that combines three memory layers: MongoDB (required), Anthropic API Memory (optional), and filesystem audit trails (debug).
|
|
|
|
**Why it matters:** This layered approach provides both reliability (MongoDB) and enhanced user experience (API Memory) without creating dependencies on external services. If any optional component fails, the system continues operating.
|
|
|
|
**Real-world analogy:** Like a car with multiple safety systems—airbags, seatbelts, crumple zones. If one system fails, the others still protect you.
|
|
|
|
**In Tractatus:**
|
|
- **MongoDB** (Layer 1 - Required): Persistent storage for governance rules, audit logs, session state
|
|
- **API Memory** (Layer 2 - Optional): Session continuity enhancement for Claude conversations
|
|
- **Filesystem** (Layer 3 - Debug): Local audit trail in \`.memory/audit/\` directory for development
|
|
|
|
This architecture achieved 100% framework integration in Phase 5 with zero breaking changes to existing functionality.
|
|
|
|
---
|
|
|
|
### BlogCuration
|
|
|
|
**What it means:** The sixth framework service (added in Phase 5) that validates blog content and social media posts against inst_016-018 to prevent fabricated statistics, absolute guarantees, and unverified claims.
|
|
|
|
**Why it matters:** Marketing content can inadvertently include claims that damage credibility or constitute false advertising. BlogCuration prevents publication of content with governance violations.
|
|
|
|
**Real-world analogy:** Like having a legal compliance officer review every press release before publication to ensure no false or misleading claims.
|
|
|
|
**In Tractatus:** BlogCuration scans content for patterns like:
|
|
- **inst_016**: Fabricated statistics without sources ("95% of users report...")
|
|
- **inst_017**: Absolute guarantees about capabilities ("guaranteed 100% secure")
|
|
- **inst_018**: Unverified customer claims ("thousands of satisfied customers")
|
|
|
|
If violations are detected, publication is blocked until content is corrected. All validation attempts are logged to the audit trail with rule IDs and violation details.
|
|
|
|
**Integration:** BlogCuration shares enforcement logic with BoundaryEnforcer and loads rules via MemoryProxy, ensuring consistent governance across all content.
|
|
|
|
---`;
|
|
|
|
async function main() {
|
|
console.log('=== Updating Glossary with Phase 5 Terms ===\n');
|
|
|
|
let client;
|
|
|
|
try {
|
|
client = await MongoClient.connect(MONGODB_URI);
|
|
const db = client.db(DB_NAME);
|
|
const collection = db.collection('documents');
|
|
|
|
// Fetch current document
|
|
const doc = await collection.findOne({ slug: 'tractatus-agentic-governance-system-glossary-of-terms' });
|
|
|
|
if (!doc) {
|
|
throw new Error('Glossary document not found');
|
|
}
|
|
|
|
console.log('Current document loaded');
|
|
console.log(`Current length: ${doc.content_markdown.length} characters\n`);
|
|
|
|
// Find insertion point (after existing service definitions, before "## Integration" or similar)
|
|
let updated = doc.content_markdown;
|
|
|
|
// Try to find a good insertion point
|
|
const insertionPoints = [
|
|
'### Context Pressure',
|
|
'### Metacognitive Verification',
|
|
'## Integration',
|
|
'## Framework Components'
|
|
];
|
|
|
|
let insertionPoint = -1;
|
|
let foundSection = null;
|
|
|
|
for (const point of insertionPoints) {
|
|
const index = updated.indexOf(point);
|
|
if (index > -1) {
|
|
insertionPoint = index;
|
|
foundSection = point;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (insertionPoint === -1) {
|
|
// Fallback: insert before last section
|
|
insertionPoint = updated.lastIndexOf('##');
|
|
}
|
|
|
|
if (insertionPoint > -1) {
|
|
updated = updated.slice(0, insertionPoint) + NEW_TERMS + '\n\n' + updated.slice(insertionPoint);
|
|
console.log(`✓ Inserted Phase 5 terms before: ${foundSection || 'last section'}`);
|
|
} else {
|
|
// Fallback: append to end
|
|
updated = updated + '\n\n' + NEW_TERMS;
|
|
console.log('✓ Appended Phase 5 terms to end');
|
|
}
|
|
|
|
// Update version and date in header
|
|
updated = updated.replace('**Version:** 1.0', '**Version:** 1.1');
|
|
updated = updated.replace('**Last Updated:** 2025-10-07', '**Last Updated:** 2025-10-11');
|
|
|
|
console.log(`\nNew length: ${updated.length} characters`);
|
|
console.log(`Change: +${updated.length - doc.content_markdown.length} characters\n`);
|
|
|
|
// Regenerate HTML
|
|
const content_html = marked.parse(updated);
|
|
|
|
// Update document
|
|
const result = await collection.updateOne(
|
|
{ slug: 'tractatus-agentic-governance-system-glossary-of-terms' },
|
|
{
|
|
$set: {
|
|
content_markdown: updated,
|
|
content_html: content_html,
|
|
'metadata.date_updated': new Date(),
|
|
'metadata.version': '1.1'
|
|
}
|
|
}
|
|
);
|
|
|
|
if (result.modifiedCount > 0) {
|
|
console.log('✓ Glossary updated in MongoDB');
|
|
console.log('✓ Version updated to 1.1');
|
|
console.log('✓ Date updated to 2025-10-11');
|
|
console.log('\n=== Update Complete ===');
|
|
|
|
console.log('\nPhase 5 terms added:');
|
|
console.log(' - MemoryProxy');
|
|
console.log(' - API Memory');
|
|
console.log(' - Hybrid Architecture');
|
|
console.log(' - BlogCuration');
|
|
} else {
|
|
console.log('⚠ No changes made');
|
|
}
|
|
|
|
} catch (error) {
|
|
console.error('\n✗ Error:', error.message);
|
|
console.error(error.stack);
|
|
process.exit(1);
|
|
} finally {
|
|
if (client) await client.close();
|
|
}
|
|
}
|
|
|
|
if (require.main === module) {
|
|
main();
|
|
}
|
|
|
|
module.exports = { main };
|