- 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>
41 lines
860 B
Desktop File
41 lines
860 B
Desktop File
[Unit]
|
|
Description=Tractatus AI Safety Framework (Development)
|
|
Documentation=https://tractatus.sydigital.co.nz
|
|
After=network.target mongod.service
|
|
Wants=mongod.service
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=theflow
|
|
Group=theflow
|
|
WorkingDirectory=/home/theflow/projects/tractatus
|
|
|
|
# Environment
|
|
Environment=NODE_ENV=development
|
|
Environment=PORT=9000
|
|
EnvironmentFile=/home/theflow/projects/tractatus/.env
|
|
|
|
# Execution
|
|
ExecStart=/usr/bin/node src/server.js
|
|
Restart=always
|
|
RestartSec=10
|
|
|
|
# Security hardening
|
|
NoNewPrivileges=true
|
|
PrivateTmp=true
|
|
ProtectSystem=strict
|
|
ProtectHome=read-only
|
|
ReadWritePaths=/home/theflow/projects/tractatus/logs
|
|
ReadWritePaths=/home/theflow/projects/tractatus/uploads
|
|
|
|
# Logging
|
|
StandardOutput=journal
|
|
StandardError=journal
|
|
SyslogIdentifier=tractatus-dev
|
|
|
|
# Resource limits
|
|
LimitNOFILE=65536
|
|
MemoryLimit=1G
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|