From abc4f47683e8e077239c890958072c8fafc275da Mon Sep 17 00:00:00 2001 From: morluto <76467478+morluto@users.noreply.github.com> Date: Fri, 9 Oct 2026 19:55:09 +0800 Subject: [PATCH] build: separate runtime artifacts and supervise command ownership --- .github/workflows/ci.yml | 2 +- .gitignore | 5 +- AGENTS.md | 8 +- CONTRIBUTING.md | 30 ++- README.md | 2 +- docs/testing.md | 11 + package.json | 64 +++-- scripts/clean-build-output.mjs | 5 +- scripts/generate-mcp-tool-catalog.mjs | 112 +------- scripts/lib/catalog-builders.mjs | 10 +- scripts/lib/catalog-core.mjs | 5 +- scripts/lib/development-tests.d.mts | 3 +- scripts/lib/development-tests.mjs | 19 +- scripts/lib/module-boundaries.mjs | 13 - scripts/rea.mjs | 9 +- scripts/run-development-tests.mjs | 25 +- scripts/run-exclusive-command.mjs | 119 +++++++++ scripts/run-exclusive.mjs | 177 +++---------- scripts/verify-package-pack.mjs | 8 +- tests/acceptance/contractPresentation.test.ts | 63 ----- .../boundary/mcp/contractPresentation.test.ts | 56 ++++ tests/boundary/mcp/toolSchemaValidity.test.ts | 26 +- .../mcp/wireInputSchemaLimits.test.ts | 240 ----------------- .../providers/auxiliaryDeclarations.test.ts | 52 ---- tests/evaluation/developmentTestPlan.test.ts | 19 ++ tests/evaluation/moduleBoundaries.test.ts | 10 - tests/fixtures/contractPresentation.mjs | 3 +- tests/fixtures/mcpToolCatalog.ts | 65 +++++ .../process-global/runnerCancellation.test.ts | 248 +++++++++++++++--- tsconfig.build.json | 3 - tsconfig.json | 2 - turbo.json | 167 ++++++++++-- 32 files changed, 795 insertions(+), 786 deletions(-) create mode 100644 scripts/run-exclusive-command.mjs delete mode 100644 tests/acceptance/contractPresentation.test.ts create mode 100644 tests/boundary/mcp/contractPresentation.test.ts delete mode 100644 tests/boundary/mcp/wireInputSchemaLimits.test.ts create mode 100644 tests/fixtures/mcpToolCatalog.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 14f8f42c5..a4aeeebed 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -102,7 +102,7 @@ jobs: with: name: rea-dist path: dist - - name: Restore generated outputs from downloaded build + - name: Generate test artifacts from the downloaded runtime run: | node scripts/generate-mcp-tool-catalog.mjs node scripts/generate-skill-metadata.mjs diff --git a/.gitignore b/.gitignore index daca8832e..c0d65e4e7 100644 --- a/.gitignore +++ b/.gitignore @@ -58,11 +58,8 @@ Thumbs.db !/website/.dev.vars.example !/website/.env*.example -# Build-generated MCP tool catalog (regenerated by `npm run build`; never commit) -src/generatedMcpToolCatalog.ts - # Derived catalogs, portable conformance projections, and packaged skill bundles -# (regenerated from this checkout by `npm run build:cached`; never commit) +# (regenerated by `npm run docs:generate`; never commit) /skills/ /docs/public/product-catalog.json /docs/verification/managed-conformance-manifest.json diff --git a/AGENTS.md b/AGENTS.md index 965c2f23a..764989986 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -24,15 +24,15 @@ REA is a layered ESM TypeScript application. Dependencies flow inward from pure - `src/application/` composes shared CLI/MCP workflows, including Evidence provenance, unknowns, and eligible snapshot