[PR #417] [MERGED] build: shorten local validation loops #1967

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

📋 Pull Request Information

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

Base: main ← Head: codex/local-dx-fast-paths


📝 Commits (1)

  • 3ee1a59 build: shorten local validation loops

📊 Changes

8 files changed (+89 additions, -22 deletions)

View changed files

📝 .husky/pre-push (+1 -1)
📝 AGENTS.md (+3 -1)
📝 CONTRIBUTING.md (+6 -5)
📝 package.json (+10 -6)
📝 scripts/scan-todos.mjs (+2 -2)
📝 tests/identity.test.ts (+4 -4)
➕ tests/scanTodos.test.ts (+33 -0)
📝 turbo.json (+30 -3)

📄 Description

Description

Follow-up to #412, #413, and #416. This keeps broad validation available while reducing repeated local work:

  • pre-push runs dependency validation plus cached typecheck and lint; formatting, Knip, metadata, duplicate-code, debt-marker, tests, and generated-document checks remain in the broader local and CI gates
  • TypeDoc is a deterministic Turbo task with declared inputs and build/api-docs/** output, so docs generation can restore it while freshness checks still run uncached
  • staged JS/TS files run Prettier before Oxlint and include the repository JS/TS declaration variants
  • Turbo inputs are narrowed only for tasks with explicit source scope; tools that discover files through ignore/config/workflow inputs keep the default whole-package hash
  • the publish lifecycle relies on prepack, which already builds and checks skill metadata, instead of repeating those checks in prepublishOnly
  • scan:todos now fails when it finds a marker and scans script declaration files; an isolated regression proves clean and failing behavior

Suggested review order:

  1. package.json and .husky/pre-push for local/publish lifecycle.
  2. turbo.json for cache ownership and invalidation.
  3. scripts/scan-todos.mjs and its behavioral test.

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; 185 files, 1,282 tests)
  • Real Hopper verification performed (npm run verify:hopper)
  • Linux real Hopper verification performed (npm run verify:hopper:linux) or unavailability explained
  • Real browser verification performed (npm run verify:browser) or unavailability explained
  • Package verification performed (npm run verify:package)

Additional checks:

  • npm run check:ci
  • npm run docs:check (0 TypeDoc errors)
  • npm pack --dry-run --json
  • Turbo invalidation checks for .gitignore-sensitive tasks
  • cold and warm npm run docs:api:cached

Tool Contract Impact

None. CLI and MCP contracts are unchanged.

Follow-up to #412, #413, and #416.


🔄 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/417 **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/local-dx-fast-paths` --- ### 📝 Commits (1) - [`3ee1a59`](https://github.com/morluto/rea/commit/3ee1a59a3c103c3b800fdcd0c3fbcf84bff4a715) build: shorten local validation loops ### 📊 Changes **8 files changed** (+89 additions, -22 deletions) <details> <summary>View changed files</summary> 📝 `.husky/pre-push` (+1 -1) 📝 `AGENTS.md` (+3 -1) 📝 `CONTRIBUTING.md` (+6 -5) 📝 `package.json` (+10 -6) 📝 `scripts/scan-todos.mjs` (+2 -2) 📝 `tests/identity.test.ts` (+4 -4) ➕ `tests/scanTodos.test.ts` (+33 -0) 📝 `turbo.json` (+30 -3) </details> ### 📄 Description ## Description Follow-up to #412, #413, and #416. This keeps broad validation available while reducing repeated local work: - pre-push runs dependency validation plus cached typecheck and lint; formatting, Knip, metadata, duplicate-code, debt-marker, tests, and generated-document checks remain in the broader local and CI gates - TypeDoc is a deterministic Turbo task with declared inputs and `build/api-docs/**` output, so docs generation can restore it while freshness checks still run uncached - staged JS/TS files run Prettier before Oxlint and include the repository JS/TS declaration variants - Turbo inputs are narrowed only for tasks with explicit source scope; tools that discover files through ignore/config/workflow inputs keep the default whole-package hash - the publish lifecycle relies on `prepack`, which already builds and checks skill metadata, instead of repeating those checks in `prepublishOnly` - `scan:todos` now fails when it finds a marker and scans script declaration files; an isolated regression proves clean and failing behavior Suggested review order: 1. `package.json` and `.husky/pre-push` for local/publish lifecycle. 2. `turbo.json` for cache ownership and invalidation. 3. `scripts/scan-todos.mjs` and its behavioral test. ## Type of Change - [x] 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`; 185 files, 1,282 tests) - [ ] Real Hopper verification performed (`npm run verify:hopper`) - [ ] Linux real Hopper verification performed (`npm run verify:hopper:linux`) or unavailability explained - [ ] Real browser verification performed (`npm run verify:browser`) or unavailability explained - [x] Package verification performed (`npm run verify:package`) Additional checks: - `npm run check:ci` - `npm run docs:check` (0 TypeDoc errors) - `npm pack --dry-run --json` - Turbo invalidation checks for `.gitignore`-sensitive tasks - cold and warm `npm run docs:api:cached` ## Tool Contract Impact None. CLI and MCP contracts are unchanged. ## Related Issues Follow-up to #412, #413, and #416. --- <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:56 +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#1967
No description provided.