<!-- swain-model-hint: sonnet, effort: medium -- Release <!-- session-check: SPEC-121 -- Before proceeding with any state-changing operation, check for an active session: If the JSON output has other than , inform the operator: "No active session — start one with ?" Proceed if they dismiss. Cut a release by detecting the project's versioning context, generating a changelog, bumping versions, and tagging. Works across any repo by reading context from git history and project structure rather than hardcoding assumptions. Override file Before starting, read if it exists. This is a freeform markdo…