[PR #3522] [MERGED] fix(ci): invalidate GitHub entrypoint and package-scope caches #5799

Closed
opened 2026-10-31 01:09:31 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/3522
Author: @N0zoM1z0
Created: 10/14/2026
Status: ✅ Merged
Merged: 10/14/2026
Merged by: @N0zoM1z0

Base: main ← Head: fix/3510-github-checker-cache-inputs


📝 Commits (3)

  • c892fb2 fix(ci): invalidate GitHub entrypoint and package-scope caches
  • a70a27e chore: integrate latest main for cache regression validation
  • 80c55e6 chore: validate cache inputs with current performance fixtures

📊 Changes

2 files changed (+149 additions, -1 deletions)

View changed files

📝 tests/boundary/filesystem/staticTaskCache.test.ts (+144 -0)
📝 turbo.json (+5 -1)

📄 Description

Summary

Fixes #3510. Static checks could reuse a previous pass after GitHub package scopes or Knip's workflow/action entrypoints changed. Complete the cache input ownership while preserving main's action-code fix (c0aa2e32b):

  • Typecheck tracks GitHub typed sources, declarations and package scopes. Its actual compiler inventory consumes the declaration, so JS-only implementation edits do not need to invalidate it.
  • Knip tracks package scopes and the exact workflow/action manifests its GitHub Actions plugin reads, alongside module contents.
  • Real cold/warm regressions reject changed inputs and preserve reuse for unrelated notes. Existing whole-lint-inventory and report-restoration coverage remains intact.

Two files, 149 additions / 1 deletion. No application runtime, CLI/MCP contract, provider authority, global invalidation, cache disabling or live-test caching changes. Ordinary CI correction within existing boundaries; no new capability scope decision is required.

Validation

Latest integrated main: ca1b2f8608c52ed721d3576ba5eeb1d66717b08c; head: 80c55e64254df0f6f18dadaaf944749be88677e4. Linux, Node 24.18.0, npm 11.16.0, Turbo 2.11.7, Vitest 5.0.3.

  • Baseline control on 6060de329: 3 failed / 2 passed. The package-scope and two manifest cases reproduce stale success; source/declaration cases already fixed upstream pass. Independently omitting Knip module or manifest ownership also makes the corresponding regressions fail.
  • Final cache/report families: 23 passed. Latest main's sigrok evaluation families plus cache/report regressions: 4 files / 35 passed, 28.66 s. The preceding Ghidra integration was checked across 8 files / 165 passed / 2 skipped, 30.35 s. Earlier integration also exercised release recovery and the controlled installed-tarball MCP canary.
  • Actual repository cold/warm/error controls verify that missing inputs can return cached success while real lint, TypeScript and Knip reject injected faults. Corrected keys invalidate, intended faults fail, healthy warm caches hit, and all injected bytes are restored.
  • Current-head check:ci: 8 tasks passed, architecture guards passed across 1,398 source files; normal pre-push compiler/lint and diff checks passed.
  • Current-head hosted CI: all 35 jobs succeeded. Downloaded and parsed artifact 11905109208: 1,284 unique test files / 14,650 passed / 125 skipped / zero failures / no duplicates. Previous-head results are not substituted for this run; the intermediate superseded CI was cancelled after main advanced.
  • Current-head Greptile review: 5/5, no inline findings. This is source review, separate from executed tests above.

The three-checker cold/warm/fault experiment took 75.87 s wall, 276.20 s user / 33.84 s system CPU, and 4,195 MiB sampled summed process-family RSS (200 ms interval). It includes cold builds and deliberate errors on a shared host; it is not ordinary healthy CI latency or an equivalent-workload speedup comparison. Summed RSS double-counts shared pages and may miss short-lived/detached peaks. Agent token costs were not measured. Explicit skipped tests and controlled fixtures do not establish installed provider/platform behavior.

Author readiness

Human owner: @N0zoM1z0

Prepared with AI assistance. The human owner explicitly confirmed all three initial review declarations after reviewing this PR and its validation evidence.

  • I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • I declare this PR ready for initial maintainer review.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/3522 **Author:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Created:** 10/14/2026 **Status:** ✅ Merged **Merged:** 10/14/2026 **Merged by:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Base:** `main` ← **Head:** `fix/3510-github-checker-cache-inputs` --- ### 📝 Commits (3) - [`c892fb2`](https://github.com/morluto/rea/commit/c892fb223028628cde4b302a30c013936b757e32) fix(ci): invalidate GitHub entrypoint and package-scope caches - [`a70a27e`](https://github.com/morluto/rea/commit/a70a27e2f8b2b048f2ffc3aced26529927a4c935) chore: integrate latest main for cache regression validation - [`80c55e6`](https://github.com/morluto/rea/commit/80c55e64254df0f6f18dadaaf944749be88677e4) chore: validate cache inputs with current performance fixtures ### 📊 Changes **2 files changed** (+149 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `tests/boundary/filesystem/staticTaskCache.test.ts` (+144 -0) 📝 `turbo.json` (+5 -1) </details> ### 📄 Description ## Summary Fixes #3510. Static checks could reuse a previous pass after GitHub package scopes or Knip's workflow/action entrypoints changed. Complete the cache input ownership while preserving main's action-code fix (`c0aa2e32b`): - Typecheck tracks GitHub typed sources, declarations and package scopes. Its actual compiler inventory consumes the declaration, so JS-only implementation edits do not need to invalidate it. - Knip tracks package scopes and the exact workflow/action manifests its GitHub Actions plugin reads, alongside module contents. - Real cold/warm regressions reject changed inputs and preserve reuse for unrelated notes. Existing whole-lint-inventory and report-restoration coverage remains intact. Two files, 149 additions / 1 deletion. No application runtime, CLI/MCP contract, provider authority, global invalidation, cache disabling or live-test caching changes. Ordinary CI correction within existing boundaries; no new capability scope decision is required. ## Validation Latest integrated main: `ca1b2f8608c52ed721d3576ba5eeb1d66717b08c`; head: `80c55e64254df0f6f18dadaaf944749be88677e4`. Linux, Node 24.18.0, npm 11.16.0, Turbo 2.11.7, Vitest 5.0.3. - Baseline control on `6060de329`: **3 failed / 2 passed**. The package-scope and two manifest cases reproduce stale success; source/declaration cases already fixed upstream pass. Independently omitting Knip module or manifest ownership also makes the corresponding regressions fail. - Final cache/report families: **23 passed**. Latest main's sigrok evaluation families plus cache/report regressions: **4 files / 35 passed**, 28.66 s. The preceding Ghidra integration was checked across **8 files / 165 passed / 2 skipped**, 30.35 s. Earlier integration also exercised release recovery and the controlled installed-tarball MCP canary. - Actual repository cold/warm/error controls verify that missing inputs can return cached success while real lint, TypeScript and Knip reject injected faults. Corrected keys invalidate, intended faults fail, healthy warm caches hit, and all injected bytes are restored. - Current-head `check:ci`: **8 tasks passed**, architecture guards passed across **1,398 source files**; normal pre-push compiler/lint and diff checks passed. - [Current-head hosted CI](https://github.com/morluto/rea/actions/runs/38585311071): **all 35 jobs succeeded**. Downloaded and parsed artifact `11905109208`: **1,284 unique test files / 14,650 passed / 125 skipped / zero failures / no duplicates**. Previous-head results are not substituted for this run; the intermediate superseded CI was cancelled after main advanced. - [Current-head Greptile review](https://github.com/morluto/rea/pull/3522#issuecomment-6170492782): **5/5**, no inline findings. This is source review, separate from executed tests above. The three-checker cold/warm/fault experiment took 75.87 s wall, 276.20 s user / 33.84 s system CPU, and 4,195 MiB sampled summed process-family RSS (200 ms interval). It includes cold builds and deliberate errors on a shared host; it is not ordinary healthy CI latency or an equivalent-workload speedup comparison. Summed RSS double-counts shared pages and may miss short-lived/detached peaks. Agent token costs were not measured. Explicit skipped tests and controlled fixtures do not establish installed provider/platform behavior. ## Author readiness Human owner: @N0zoM1z0 Prepared with AI assistance. The human owner explicitly confirmed all three initial review declarations after reviewing this PR and its validation evidence. - [x] I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work. - [x] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps. - [x] I declare this PR ready for initial maintainer review. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:09:31 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#5799
No description provided.