chore(ci,lint): silence Node 20 deprecations + clear ESLint annotations#92
Merged
Conversation
- CI workflow: set FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 so dorny/paths-filter@v3 and andresz1/size-limit-action@v1 stop emitting deprecation warnings until upstream tags Node 24 builds. - size-limit-action: drop unsupported `script` / `package_manager` inputs in favour of `build_script: build`. - API docs job: keep typedoc as a wiring/coverage check but remove the upload-artifact step (the `docs/api/` bundle is regeneratable on demand and never consumed in CI). - Lint cleanup: replace the remaining non-null assertions in MockLlmProvider, TfjsSnapshot.encodeWeights, and the seeded shuffle in TfjsReasoner; extract budget/usage helpers in MockLlmProvider and a data-driven trait table in personaBias to drop both functions back under the cyclomatic-complexity cap of 15. No public-API changes — pure CI hygiene + internal refactor.
size-limit report 📦
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 94368bd083
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Codex review on PR #92 flagged that `FORCE_JAVASCRIPT_ACTIONS_TO_NODE24` does not actually clear the Node 20 deprecation annotation — the runner records the warning before applying the override (actions/runner#4295). Verified in the previous run log: warning text changed from "running on Node 20" to "are being forced to run on Node 24" but the annotation still emits on every CI run. Real fix is to stop using Node 20 actions: - Drop the `FORCE_JAVASCRIPT_ACTIONS_TO_NODE24` workflow env (no-op for the goal). - Replace `dorny/paths-filter@v3` with an inline shell step that calls `gh api repos/.../pulls/<n>/files` and matches against the same path pattern set the action used. For non-PR events (push to main/develop/ demo) we short-circuit to code=true so the full gate still runs. - Add a comment on the remaining `andresz1/size-limit-action@v1` step acknowledging it is the one residual Node 20 action; no Node 24 fork exists and the sticky-comment delta UX is worth keeping until upstream cuts a Node 24 release. Net effect: one Node 20 deprecation warning remaining instead of two.
3 tasks
Luis85
added a commit
that referenced
this pull request
Apr 26, 2026
## Summary
Doc-audit pass over `docs/plans` + `docs/specs`. Three things land
together:
- **`docs/archive/{plans,specs}/`** — new home for plans whose roadmap
rows have all shipped (or whose goals were folded into a successor)
and specs whose design is now reflected in code. Includes a
`README.md` explaining the policy; `CLAUDE.md` documents the
convention.
- **`git mv` 23 plans + 3 specs into the archive.** The active live
set is now the comprehensive polish-and-harden plan plus three
specs (post-tfjs improvements, mvp-demo, vision), each with a
refreshed status banner.
- **Refresh the live comprehensive plan** against current `develop`:
- PR column updated for rows 16/19/20/3/4/22 (now shipped via
PRs #91 / #98 / #104 / #110 / #113 / #111).
- New "Post-roadmap follow-ups" section covers PRs #92 → #125
(review-bot infra, tracker findings, demo + tfjs hotfixes,
tooling).
- Stale prose-baked counts dropped (size budgets now reference
`package.json#size-limit` only).
- Coverage-thresholds section gains a pointer to the sticky PR
comment shipped in PR #124.
## Other doc fixes
- `README.md`: drop the unverifiable "Phase A milestones (M0–M15) are
all green" claim — the milestones don't exist as documented IDs
anywhere; replace with a pointer to the live polish plan.
- `vision.md`: refresh cadence note (was pinned to 2026-04-19 + "next
review at 1.0").
- `2026-04-24-post-tfjs-improvements.md`: mark recommended-order items
that have shipped (PRs #61, #76, #77, #83, #84, #91, #94, #96,
#104, #113), link the active roadmap as the heir.
- `mvp-demo.md`: status banner explaining where active polish work is
now tracked.
## Mechanical
- Update inline cross-refs in `CLAUDE.md`, `eslint.config.js`,
`src/agent/{Agent,AgentModule}.ts`, `tests/unit/exports.test.ts`,
and `docs/daily-reviews/2026-04-25.md` to point at the new
`docs/archive/` paths so links keep resolving.
No code change beyond comment-path updates.
## Test plan
- [x] `npm run verify` green (`format:check` + `lint` + `typecheck` +
`test` + `build` + `docs`). 523 tests pass; the 2 lint warnings
are pre-existing (`CognitionPipeline.invokeSkillAction` complexity
+ `scoreFailure` param count) and on the ratchet menu.
- [x] `git ls-files docs/archive/` shows the moved files; renames are
preserved (`git log --follow` works for any moved file).
- [ ] Codex review: clean, no blockers.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Luis Mendez <hallo@luis-mendez.de>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24so the two third-party JS actions still pinned to Node 20 (dorny/paths-filter@v3,andresz1/size-limit-action@v1) stop emitting GitHub deprecation annotations on every CI run.script/package_managerinputs onsize-limit-actionwith the documentedbuild_script: build— clears the "Unexpected input(s)" warning.actions/upload-artifact@v4step (thedocs/api/bundle is regeneratable on demand and never consumed in CI). Removes the third Node 20 deprecation source.!non-null assertions inMockLlmProvider,TfjsSnapshot.encodeWeights, and the seeded shuffle inTfjsReasoner.enforceBudget/buildUsagehelpers inMockLlmProviderand a data-drivenTRAIT_RULEStable inpersonaBiasto drop both back under the cyclomatic-complexity cap of 15.No public-API changes — pure CI hygiene + internal refactor. No changeset.
Test plan
npm run verifygreen locally (format + lint + typecheck + 483 tests + build + docs).🤖 Generated with Claude Code