const { MongoClient } = require('mongodb'); // The 34 public documents by slug const PUBLIC_SLUGS = [ // Getting Started 'introduction', 'architectural-safeguards-against-llm-hierarchical-dominance-prose', 'core-concepts', 'tractatus-ai-safety-framework-core-values-and-principles', // Technical Reference 'technical-architecture', 'implementation-guide', 'implementation-roadmap-24-month-deployment-plan', 'GLOSSARY', 'comparison-matrix', 'implementation-guide-v1.1', 'api-reference-complete', 'api-javascript-examples', 'api-python-examples', 'openapi-specification', // Theory & Research 'executive-summary-tractatus-inflection-point', 'architectural-overview-and-research-status', 'organizational-theory-foundations', 'pluralistic-values-research-foundations', // Advanced Topics 'value-pluralism-faq', 'pluralistic-values-deliberation-plan-v2', // Case Studies 'the-27027-incident-a-case-study-in-pattern-recognition-bias', 'when-frameworks-fail-and-why-thats-ok', 'our-framework-in-action-detecting-and-correcting-ai-fabrications', 'real-world-ai-governance-a-case-study-in-framework-failure-and-recovery', 'case-studies-real-world-llm-failure-modes', // Business & Leadership 'business-case-tractatus-framework', // Archives 'llm-integration-feasibility-research-scope', 'case-studies-real-world-llm-failure-modes-appendix', 'implementation-guide-python-examples', 'tractatus-framework-enforcement-claude-code', 'research-topic-concurrent-session-architecture', 'research-topic-rule-proliferation-transactional-overhead', 'phase-5-poc-session-1-summary', 'phase-5-poc-session-2-summary' ]; async function checkCardViewStatus() { const client = new MongoClient('mongodb://localhost:27017'); try { await client.connect(); const db = client.db('tractatus_dev'); const collection = db.collection('documents'); console.log(`\n=== CHECKING CARD VIEW STATUS FOR 34 PUBLIC DOCUMENTS ===\n`); const documents = await collection.find({ slug: { $in: PUBLIC_SLUGS } }).toArray(); console.log(`Found ${documents.length} / ${PUBLIC_SLUGS.length} documents in database\n`); const withCards = []; const withoutCards = []; const notFound = []; PUBLIC_SLUGS.forEach(slug => { const doc = documents.find(d => d.slug === slug); if (!doc) { notFound.push(slug); } else if (doc.sections && doc.sections.length > 0) { withCards.push({ slug: doc.slug, title: doc.title, sections: doc.sections.length, category: doc.category || 'none', order: doc.order || 999 }); } else { withoutCards.push({ slug: doc.slug, title: doc.title, category: doc.category || 'none', order: doc.order || 999 }); } }); console.log(`✅ WITH CARD VIEW (${withCards.length} docs):`); withCards.forEach(doc => { console.log(` [order:${doc.order}] ${doc.title}`); console.log(` slug: ${doc.slug} | sections: ${doc.sections} | category: ${doc.category}`); }); console.log(`\n❌ WITHOUT CARD VIEW (${withoutCards.length} docs):`); withoutCards.forEach(doc => { console.log(` [order:${doc.order}] ${doc.title}`); console.log(` slug: ${doc.slug} | category: ${doc.category}`); }); if (notFound.length > 0) { console.log(`\n⚠️ NOT FOUND IN DATABASE (${notFound.length} slugs):`); notFound.forEach(slug => console.log(` ${slug}`)); } } finally { await client.close(); } } checkCardViewStatus().catch(console.error);