Flips the "how to add a License section" template block from Apache 2.0
wording to the project's current EUPL-1.2 licence. Now that hygiene commit
db788548 cleared inst_069/070 and inst_084 on both Maintenance_Guide
copies, this licence swap lands atomically on a clean base.
Applied identically to both CLAUDE_Tractatus_Maintenance_Guide.md copies
(root + For Claude Web bundle); 4 edits per file:
L788 prose: "Complete Apache 2.0 license section at end:"
-> "Complete EUPL-1.2 licence section at end:"
L790 heading: "## License" -> "## Licence"
(British spelling matches EUPL official style)
L794 template: "Licensed under the Apache License, Version 2.0
(the \"License\")..."
-> "Licensed under the European Union Public Licence,
Version 1.2 (the \"Licence\")..."
L795 template: "[Full Apache 2.0 text with additional terms]"
-> "[Full EUPL-1.2 text with additional terms]"
Commit 2/5 in the revised sequence for the out-of-scope hygiene + licence
sweep. Plan: community repo
docs/plans/PLAN_TRACTATUS_OUT_OF_SCOPE_HYGIENE_LICENCE_20260420.md
Phase A precedent: c85f310f (LICENSE + README relicense)
Phase B precedent: d600f6ed (source-file header flips)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bundles the plan's commits 1 + 2 into one atomic commit. Pre-commit hook
scans whole file content, so a credential-only commit cannot pass inst_084
while port exposures remain unflipped on the same file. Sibling-concern
bundling matches precedent 4ddc54a0 (README hygiene follow-on to c85f310f).
Applied identically to both CLAUDE_Tractatus_Maintenance_Guide.md copies
(root + For Claude Web bundle):
inst_069/070 — credential-scan false-positive:
L1101 "Password location" -> "Credential reference"
(describes WHERE creds live, not any credential value)
inst_084 — port redactions, 9 distinct line positions per file, using
generic descriptors so the "port \d{4,5}" regex no longer matches:
L40, L63 Port 27017 (MongoDB) -> default MongoDB port / default port
L64 on port 9000 -> on the project HTTP port
L65 Port 9001 (WebSocket) -> the project WebSocket port
L103 "Check port 27027" -> verify a non-default MongoDB port
L104 Used port 27017 -> used the standard default MongoDB port
L1324/1260, L1325/1261 -> (default port) / (project HTTP port)
L1437/1373 summary line -> default port / HTTP port descriptors
Intentionally preserved (non-triggering):
L99 section title "What is a '27027 Failure?'" (bare digits, no "port"
prefix, regex doesn't match)
L41 "Separate application port: 9000" (colon breaks "port\s+\d" regex)
All code-block port refs (exempted by removeExemptedSections())
Revised sequence: commit 1/5 (plan originally 1/6, merged 1+2).
Plan: community repo docs/plans/PLAN_TRACTATUS_OUT_OF_SCOPE_HYGIENE_LICENCE_20260420.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- 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>