tractatus/scripts
TheFlow 8217f3cb8c feat(governance): extend framework checks to all external communications
Problem:
- Blog publishing has governance checks (inst_016/017/018/079)
- Media responses and templates had NO checks
- Inconsistent: same risks, different enforcement

Solution - Unified Framework Enforcement:
1. Created ContentGovernanceChecker.service.js (shared service)
2. Enforced in media responses (blocks at API level)
3. Enforced in response templates (scans on create)
4. Scanner for existing templates

Impact:
 Blog posts: Framework checks (existing)
 Media inquiry responses: Framework checks (NEW)
 Response templates: Framework checks (NEW)
 Future: Newsletter content ready for checks

Files Changed:

1. src/services/ContentGovernanceChecker.service.js (NEW)
   - Unified content scanner for all external communications
   - Checks: inst_016 (stats), inst_017 (guarantees), inst_018 (claims), inst_079 (dark patterns)
   - Returns detailed violation reports with context

2. src/controllers/media.controller.js
   - Added governance check in respondToInquiry()
   - Blocks responses with violations (400 error)
   - Logs violations with media outlet context

3. src/models/ResponseTemplate.model.js
   - Added governance check in create()
   - Stores check results in template record
   - Prevents violating templates from being created

4. scripts/scan-response-templates.js (NEW)
   - Scans all existing templates for violations
   - Displays detailed violation reports
   - --fix flag to mark violating templates as inactive

Testing:
 ContentGovernanceChecker: All pattern tests pass
 Clean content: Passes validation
 Fabricated stats: Detected (inst_016)
 Absolute guarantees: Detected (inst_017)
 Dark patterns: Detected (inst_079)
 Template scanner: Works (0 templates in DB)

Enforcement Points:
- Blog posts: publishPost() → blocked at API
- Media responses: respondToInquiry() → blocked at API
- Templates: create() → checked before insertion
- Newsletter: ready for future implementation

Architectural Consistency:
If blog needs governance, ALL external communications need governance.

References:
- inst_016: No fabricated statistics
- inst_017: No absolute guarantees
- inst_018: No unverified production claims
- inst_079: No dark patterns/manipulative urgency
- inst_063: External communications consistency

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-25 09:53:09 +13:00
..
framework-components fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
hook-validators feat(blog): integrate Tractatus framework governance into blog publishing 2025-10-25 08:47:31 +13:00
migrations fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
monitoring fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
add-ai-pm-task.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
add-api-docs.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
add-architectural-overview-doc.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
add-blog-categories.js feat(blog): add scripts for date fixes, categories, and governance banners 2025-10-23 10:55:50 +13:00
add-cache-enforcement-instruction.js feat(cache): enforce mandatory cache version updates for JS changes 2025-10-24 09:43:20 +13:00
add-checkpoint-instruction.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
add-event-delegation.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
add-governance-banners-to-blogs.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
add-governance-rules.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
add-inst-042-user-hypothesis.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
add-inst-073-bash-bypass-prevention.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
add-inst-077-closedown-script.js feat(blog): integrate Tractatus framework governance into blog publishing 2025-10-25 08:47:31 +13:00
add-inst-078-ff-trigger.js feat(blog): integrate Tractatus framework governance into blog publishing 2025-10-25 08:47:31 +13:00
add-inst-079-081-values-rules.js feat(blog): integrate Tractatus framework governance into blog publishing 2025-10-25 08:47:31 +13:00
add-inst-082-ffs-trigger.js feat(framework): add "ffs" trigger for framework statistics display 2025-10-25 08:58:32 +13:00
add-progress-bar-helpers.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
add-sections-from-db-markdown.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
add-sections-to-17-docs.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
add-sections-to-documents.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
add-security-rules-2025-10-21.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
add-vetting-notice-to-architectural-boundaries.js feat(blog): add scripts for date fixes, categories, and governance banners 2025-10-23 10:55:50 +13:00
analyze-instruction-database.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
analyze-instruction-violations.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
analyze-violations.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
apply-governance-audit-2025-10-21.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
archive-all-internal-documents.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
archive-final-2.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
archive-outdated-documents.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
audit-accessibility.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
check-article-structure.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
check-card-view-status.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
check-color-contrast.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
check-csp-violations.js feat(blog): integrate Tractatus framework governance into blog publishing 2025-10-25 08:47:31 +13:00
check-missing-pdfs.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
check-pending-articles.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
check-sections.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
check-session-pressure.js feat(content): add About page with research focus and Te Tiriti acknowledgment 2025-10-24 01:19:28 +13:00
check-stripe-bank-account.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
check-submissions.js feat(cache): enforce mandatory cache version updates for JS changes 2025-10-24 09:43:20 +13:00
check-token-checkpoint.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
clean-test-db.js fix: add Jest test infrastructure and reduce test failures from 29 to 13 2025-10-09 20:37:45 +13:00
cleanup-database.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
compare-databases.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
create-admin-noninteractive.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
create-economist-package.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
create-live-prices.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
create-live-stripe-prices.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
deploy-blogs-to-production.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
deploy-frontend.sh feat(deployment): add unified deployment script with auto-commit cache versioning 2025-10-25 09:20:05 +13:00
deploy-full-project-SAFE.sh feat(cache): enforce mandatory cache version updates for JS changes 2025-10-24 09:43:20 +13:00
deploy-governance-files.sh fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
deploy-koha-to-production.sh fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
deploy-security-middleware.sh fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
deploy.sh feat(deployment): add unified deployment script with auto-commit cache versioning 2025-10-25 09:20:05 +13:00
fix-admin-csp-violations.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
fix-admin-event-handlers.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
fix-admin-user.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
fix-architectural-boundaries-blog.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
fix-blog-dates.js feat(blog): add scripts for date fixes, categories, and governance banners 2025-10-23 10:55:50 +13:00
fix-category-mismatches.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
fix-csp-html-violations.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
fix-csp-major-html.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
fix-csp-violations.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
fix-imported-articles.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
fix-remaining-index-gradients.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
framework-audit-response.js feat(blog): integrate Tractatus framework governance into blog publishing 2025-10-25 08:47:31 +13:00
framework-check-blog-content.js feat(blog): integrate Tractatus framework governance into blog publishing 2025-10-25 08:47:31 +13:00
framework-health-metrics.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
framework-stats.js feat(ffs): add pressure monitoring and auto-compact tracking 2025-10-25 09:05:46 +13:00
generate-architectural-safeguards-pdf.py fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
generate-card-sections.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
generate-markdown-pdfs.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
generate-missing-pdfs.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
generate-pdf-commissioners.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
generate-pdf-custom-footer.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
generate-pdfs.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
generate-presentation.py fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
generate-research-pdfs.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
generate-single-pdf.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
generate-test-token.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
get-credentials.sh fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
import-5-archives.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
import-coding-rules.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
import-outreach-articles.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
import-technical-docs.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
init-db.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
init-koha.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
install-gitleaks-hook.sh fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
install-mongodb-service.sh fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
install-systemd.sh fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
list-all-articles.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
list-blog-posts.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
list-imported-articles.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
list-junk-docs.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
load-governance-rules.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
load-inst-035.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
load-lemonde-package.js feat(submissions): add multilingual document storage for publication packages 2025-10-24 02:18:18 +13:00
manage-pending-articles.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
migrate-appendix-documents.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
migrate-doc-categories.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
migrate-document-categorization.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
migrate-documents.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
migrate-public-to-visibility.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
migrate-to-memory-proxy.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
migrate-to-mongodb.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
migrate-value-pluralism-docs.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
minify-theme-css.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
mobile-audit.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
mongodb-tractatus.service fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
open-credential-vault.sh fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
optimize-instruction-database.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
parse-and-update-safeguards-document.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
performance-audit.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
plan-reminder.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
query-all-documents.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
query-archives-direct.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
recategorize-safeguards-sections.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
record-auto-compact.js feat(content): add About page with research focus and Te Tiriti acknowledgment 2025-10-24 01:19:28 +13:00
remove-duplicate-documents.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
reorganize-docs-sidebar.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
scan-response-templates.js feat(governance): extend framework checks to all external communications 2025-10-25 09:53:09 +13:00
security-audit.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
seed-admin.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
seed-architectural-safeguards-document.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
seed-calendar-tasks.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
seed-first-blog-post.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
seed-projects.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
seed-scaling-blog-post.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
session-closedown.js feat(blog): integrate Tractatus framework governance into blog publishing 2025-10-25 08:47:31 +13:00
session-init.js feat(blog): integrate Tractatus framework governance into blog publishing 2025-10-25 08:47:31 +13:00
setup-stripe-products.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
stripe-webhook-setup.sh fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
sync-instructions-to-db.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
sync-to-public.sh fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
test-audit-endpoint.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
test-calendar-endpoint.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
test-claude-connection.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
test-deliberation-session.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
test-framework-enforcement.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
test-framework-invocations.js feat(blog): integrate Tractatus framework governance into blog publishing 2025-10-25 08:47:31 +13:00
test-mongodb-connection.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
test-production-deployment.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
test-session1-integration.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
test-session2-integration.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
test-stripe-connection.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
test-stripe-integration.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
test-sync-health.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
track-action-patterns.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
track-user-suggestions.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
update-cache-version.js feat(cache): enforce mandatory cache version updates for JS changes 2025-10-24 09:43:20 +13:00
update-core-concepts.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
update-document-metadata.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
update-document-ordering.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
update-five-component-banner.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
update-glossary.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
upload-document.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
validate-deployment.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
validate-document-security.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
verify-34-documents.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
verify-all-34.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
verify-rules-implementation.js feat(governance): comprehensive governance rules audit and consolidation 2025-10-22 00:30:24 +13:00
verify-stripe-portal.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00