[PR #412] [MERGED] build: separate cached local and PR checks #1962

Closed
opened 2026-10-16 21:12:54 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/412
Author: @morluto
Created: 7/22/2026
Status: ✅ Merged
Merged: 7/22/2026
Merged by: @morluto

Base: main ← Head: codex/turbo-checks


📝 Commits (1)

  • f236b95 build: separate cached local and PR checks

📊 Changes

2157 files changed (+209 additions, -110732 deletions)

View changed files

📝 .github/workflows/ci.yml (+6 -0)
📝 .gitignore (+2 -0)
📝 .husky/pre-commit (+1 -2)
➕ .husky/pre-push (+1 -0)
📝 AGENTS.md (+9 -4)
📝 CONTRIBUTING.md (+16 -10)
📝 README.md (+2 -2)
➖ docs/api/.nojekyll (+0 -1)
➖ docs/api/assets/hierarchy.js (+0 -1)
➖ docs/api/assets/highlight.css (+0 -22)
➖ docs/api/assets/icons.js (+0 -18)
➖ docs/api/assets/icons.svg (+0 -1)
➖ docs/api/assets/main.js (+0 -60)
➖ docs/api/assets/navigation.js (+0 -1)
➖ docs/api/assets/search.js (+0 -1)
➖ docs/api/assets/style.css (+0 -1648)
➖ docs/api/classes/application_AnalysisProviderRegistry.AnalysisProviderRegistry.html (+0 -162)
➖ docs/api/classes/application_AnalysisSnapshotCache.AnalysisSnapshotCache.html (+0 -212)
➖ docs/api/classes/application_BinarySession.BinarySession.html (+0 -640)
➖ docs/api/classes/application_BinarySessionRecords.BinarySessionRecords.html (+0 -423)

...and 80 more files

📄 Description

Description

Local commits and pushes repeatedly rebuilt the project and rendered a 2,142-file TypeDoc tree. npm ci also compiled through prepare in every CI job.

This change adds Turborepo for deterministic build and static-analysis tasks, then separates the development gates:

  • commits run staged formatting and linting;
  • pushes and npm run check run cached typecheck, lint, format, and Knip checks;
  • npm run check:test adds the uncached test suite;
  • npm run check:pr adds PR-only documentation validation;
  • package and real-provider verifiers remain explicit, uncached workflows.

TypeDoc now renders to ignored build/api-docs, and PR CI uploads the render as an artifact. The generated HTML tree is no longer versioned. Package metadata generation is explicit, while builds fail when committed metadata is stale instead of rewriting source.

Review order:

  1. turbo.json, package scripts, and Husky hooks
  2. TypeDoc and CI workflow changes
  3. Documentation and lifecycle tests
  4. Mechanical removal of docs/api

Type of Change

  • Bug fix
  • New feature
  • Documentation update
  • Performance improvement
  • Refactoring (no functional change)
  • Tool contract change (MCP schema modification)

Testing Performed

  • Unit tests added or updated
  • TypeScript typecheck passes (npm run typecheck)
  • Linting passes (npm run lint)
  • Full test suite passes (npm test)
  • Real Hopper verification performed (npm run verify:hopper) — not applicable; provider behavior is unchanged
  • Linux real Hopper verification performed (npm run verify:hopper:linux) — not applicable; provider behavior is unchanged
  • Real browser verification performed (npm run verify:browser) — not applicable; provider behavior is unchanged
  • Package verification performed (npm run verify:package)

Additional validation:

  • npm run check:pr — 181 test files, 1,226 tests, and TypeDoc render passed
  • npm pack --dry-run --json
  • repeated npm run check and npm run build:cached confirmed local Turbo cache hits

Tool Contract Impact

None. MCP schemas, inventory, and provider behavior are unchanged.

None.


🔄 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/412 **Author:** [@morluto](https://github.com/morluto) **Created:** 7/22/2026 **Status:** ✅ Merged **Merged:** 7/22/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `codex/turbo-checks` --- ### 📝 Commits (1) - [`f236b95`](https://github.com/morluto/rea/commit/f236b953162a75183b0fc6f470cb452dccb222fc) build: separate cached local and PR checks ### 📊 Changes **2157 files changed** (+209 additions, -110732 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/ci.yml` (+6 -0) 📝 `.gitignore` (+2 -0) 📝 `.husky/pre-commit` (+1 -2) ➕ `.husky/pre-push` (+1 -0) 📝 `AGENTS.md` (+9 -4) 📝 `CONTRIBUTING.md` (+16 -10) 📝 `README.md` (+2 -2) ➖ `docs/api/.nojekyll` (+0 -1) ➖ `docs/api/assets/hierarchy.js` (+0 -1) ➖ `docs/api/assets/highlight.css` (+0 -22) ➖ `docs/api/assets/icons.js` (+0 -18) ➖ `docs/api/assets/icons.svg` (+0 -1) ➖ `docs/api/assets/main.js` (+0 -60) ➖ `docs/api/assets/navigation.js` (+0 -1) ➖ `docs/api/assets/search.js` (+0 -1) ➖ `docs/api/assets/style.css` (+0 -1648) ➖ `docs/api/classes/application_AnalysisProviderRegistry.AnalysisProviderRegistry.html` (+0 -162) ➖ `docs/api/classes/application_AnalysisSnapshotCache.AnalysisSnapshotCache.html` (+0 -212) ➖ `docs/api/classes/application_BinarySession.BinarySession.html` (+0 -640) ➖ `docs/api/classes/application_BinarySessionRecords.BinarySessionRecords.html` (+0 -423) _...and 80 more files_ </details> ### 📄 Description ## Description Local commits and pushes repeatedly rebuilt the project and rendered a 2,142-file TypeDoc tree. `npm ci` also compiled through `prepare` in every CI job. This change adds Turborepo for deterministic build and static-analysis tasks, then separates the development gates: - commits run staged formatting and linting; - pushes and `npm run check` run cached typecheck, lint, format, and Knip checks; - `npm run check:test` adds the uncached test suite; - `npm run check:pr` adds PR-only documentation validation; - package and real-provider verifiers remain explicit, uncached workflows. TypeDoc now renders to ignored `build/api-docs`, and PR CI uploads the render as an artifact. The generated HTML tree is no longer versioned. Package metadata generation is explicit, while builds fail when committed metadata is stale instead of rewriting source. Review order: 1. `turbo.json`, package scripts, and Husky hooks 2. TypeDoc and CI workflow changes 3. Documentation and lifecycle tests 4. Mechanical removal of `docs/api` ## Type of Change - [ ] Bug fix - [ ] New feature - [x] Documentation update - [x] Performance improvement - [x] Refactoring (no functional change) - [ ] Tool contract change (MCP schema modification) ## Testing Performed - [x] Unit tests added or updated - [x] TypeScript typecheck passes (`npm run typecheck`) - [x] Linting passes (`npm run lint`) - [x] Full test suite passes (`npm test`) - [ ] Real Hopper verification performed (`npm run verify:hopper`) — not applicable; provider behavior is unchanged - [ ] Linux real Hopper verification performed (`npm run verify:hopper:linux`) — not applicable; provider behavior is unchanged - [ ] Real browser verification performed (`npm run verify:browser`) — not applicable; provider behavior is unchanged - [x] Package verification performed (`npm run verify:package`) Additional validation: - `npm run check:pr` — 181 test files, 1,226 tests, and TypeDoc render passed - `npm pack --dry-run --json` - repeated `npm run check` and `npm run build:cached` confirmed local Turbo cache hits ## Tool Contract Impact None. MCP schemas, inventory, and provider behavior are unchanged. ## Related Issues None. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-16 21:12:54 +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#1962
No description provided.