tractatus/docs/framework-incidents/ARCHITECTURAL_ENFORCEMENT_2025-10-20.md
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

1.6 KiB

Architectural Enforcement Implementation - Complete Summary

Date: 2025-10-20
Trigger: inst_025 violation (4th occurrence)
Solution: Made framework governance active through hooks

What Was Built

1. Bash Command Validator Hook

  • File: scripts/hook-validators/validate-bash-command.js
  • Enforces: inst_025 (deployment structure), inst_022 (permissions), inst_038 (pre-action-check)
  • Integration: PreToolUse hook in .claude/settings.local.json

2. CrossReferenceValidator Module

  • File: scripts/framework-components/CrossReferenceValidator.js
  • Status change: PASSIVE → ACTIVE
  • Auto-invoked by all three validators (Bash, Edit, Write)

3. Pre-Action-Check Enforcement

  • Added to Edit and Write validators
  • Checks recency (warns if >10 actions ago)
  • Implements inst_038 requirement

Test Results

BLOCKED: Directory flattening (inst_025) - exact violation from earlier BLOCKED: Missing chmod flag (inst_022)
PASSED: Valid single-file rsync command

Architectural Principle

"A framework for AI safety through architecture must itself use architectural enforcement, not aspirational documentation."

Before: Components "READY" but never used (voluntary compliance)
After: Components "ACTIVE" via hooks (architectural enforcement)

Files Modified

  • NEW: validate-bash-command.js
  • NEW: CrossReferenceValidator.js
  • NEW: FRAMEWORK_VIOLATION_2025-10-20_INST_025_DEPLOYMENT.md
  • MODIFIED: validate-file-edit.js
  • MODIFIED: validate-file-write.js
  • MODIFIED: .claude/settings.local.json

Result: Pattern override bias violations now architecturally impossible.