Skip to content

chore(ci,lint): silence Node 20 deprecations + clear ESLint annotations#92

Merged
Luis85 merged 2 commits into
developfrom
chore/ci-pipeline-improvements
Apr 25, 2026
Merged

chore(ci,lint): silence Node 20 deprecations + clear ESLint annotations#92
Luis85 merged 2 commits into
developfrom
chore/ci-pipeline-improvements

Conversation

@Luis85
Copy link
Copy Markdown
Owner

@Luis85 Luis85 commented Apr 25, 2026

Summary

  • Set workflow-level FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 so 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.
  • Replace the unsupported script / package_manager inputs on size-limit-action with the documented build_script: build — clears the "Unexpected input(s)" warning.
  • Keep typedoc as a wiring/coverage check but drop the actions/upload-artifact@v4 step (the docs/api/ bundle is regeneratable on demand and never consumed in CI). Removes the third Node 20 deprecation source.
  • Lint cleanup so CI annotations are empty:
    • Replace remaining ! non-null assertions in MockLlmProvider, TfjsSnapshot.encodeWeights, and the seeded shuffle in TfjsReasoner.
    • Extract enforceBudget / buildUsage helpers in MockLlmProvider and a data-driven TRAIT_RULES table in personaBias to 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 verify green locally (format + lint + typecheck + 483 tests + build + docs).
  • CI passes on the PR with the deprecation + ESLint annotations gone.

🤖 Generated with Claude Code

- 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.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 25, 2026

size-limit report 📦

Path Size
dist/index.js (gzip) 36.62 KB (+0.24% 🔺)
dist/integrations/excalibur/index.js (gzip) 1.4 KB (0%)
dist/cognition/adapters/mistreevous/index.js (gzip) 1.14 KB (0%)
dist/cognition/adapters/js-son/index.js (gzip) 1.36 KB (0%)
dist/cognition/adapters/tfjs/index.js (gzip) 5.88 KB (+0.04% 🔺)

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread .github/workflows/ci.yml Outdated
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.
@Luis85 Luis85 merged commit a73fa86 into develop Apr 25, 2026
14 checks passed
@Luis85 Luis85 deleted the chore/ci-pipeline-improvements branch April 25, 2026 12:11
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants