Upgrade to current Node LTS
Move the project to the current Node LTS across .nvmrc, CI config, Dockerfiles, and engines, fixing deprecations until everything is green on the new runtime.
/goal the project runs on the current Node LTS — update .nvmrc, the engines field, CI workflow files, and any Dockerfile base images to the LTS version, then run install, build, lint, and the full test suite on it, fixing deprecation warnings and breakages one at a time; stop when all are green or after 15 turns
claude-code · codex · cursor
Implementation note
The sneaky failures are usually native modules and CI images, which is why the goal names every file class explicitly. Do it on a branch and let CI confirm.
More maintenance loops
Weekly tech debt report
Every Friday, compile a trend report of debt signals — TODO count, lint suppressions, type coverage, largest files — so the team sees drift before it compounds.
/schedule every Friday at 4pm, measure TODO/FIXME count, eslint-disable and ts-ignore counts, type coverage, and the five largest source files; append the numbers with week-over-week deltas to reports/tech-debt.md and call out the single worst trend in one paragraph
maintenancelow risk
Keep memory pins under control
Audit and prune pinned memory contexts to stay under 7, replacing competing invariants atomically and checking load count before each pin.
/goal that must load every session (it is then surfaced deterministically by load pinned ). Pin sparingly — keep a context at ≤7 pinned (prune at 10; the pinned load cap of 100 is a safety net, not the budget). Decisions/patterns/status are NOT pin material. Before pinning, call load pinned to check the count; when an invariant supersedes an old one, unpin the old in the same step ( update memory(memory id=<old , delivery mode="on recall") ) so two competing invariants are never both pinned
maintenancemedium risk
Chase a refund until it lands
Open the claim, watch replies and deadlines, and keep the case moving until the money actually arrives.
Get my refund for [company and charge info]. Start the claim now through an approved support channel, then keep following up on replies, promises, and deadlines until the refund arrives. Keep a short case note so each follow-up has context. Stop only when the refund is received or you are genuinely blocked and need me.
maintenancemedium risk