[PR #443] [MERGED] fix(catalog): digest provider projections #1990

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

📋 Pull Request Information

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

Base: main ← Head: codex/provider-catalog-digest


📝 Commits (2)

  • c4cd033 fix(catalog): digest provider projections
  • ba31518 Merge branch 'main' into codex/provider-catalog-digest

📊 Changes

5 files changed (+43 additions, -4 deletions)

View changed files

📝 docs/product-catalog.json (+2 -1)
📝 scripts/lib/catalog-core.mjs (+11 -0)
📝 scripts/lib/product-catalog.d.mts (+3 -0)
📝 scripts/lib/product-catalog.mjs (+10 -3)
📝 tests/productCatalog.test.ts (+17 -0)

📄 Description

Description

The canonical product catalog already derives provider identities and capabilities, but runtime_catalog.digests covered only tools, prompts, and resources. A provider identity or capability change could therefore alter the provider projection without changing any recorded catalog digest.

This adds a canonical JSON SHA-256 digest for the source-derived provider projection as providers_sha256. The committed product catalog is regenerated, and the catalog tests verify both stable projection identity and sensitivity to provider fact drift.

This is a build and verification projection change only. MCP tools, schemas, provider behavior, and runtime selection are unchanged.

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)
  • 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)

Commands run:

  • npx vitest run tests/productCatalog.test.ts — 8 tests passed.
  • npm run check:pr — 216 test files and 1,503 tests passed; static, formatting, metadata, generated-document, and catalog checks passed.
  • npm run verify:package — packaged CLI/MCP, setup, skill, and catalog checks passed.
  • npm pack --dry-run — package boundary passed.
  • git diff --check — passed.

The existing createServer max-lines lint warning remains unchanged and is outside this diff.

Tool Contract Impact

None. No MCP tool, schema, name, provider capability, or runtime behavior changes.

Related to #238, which introduced the canonical product catalog and documentation drift checks.


🔄 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/443 **Author:** [@morluto](https://github.com/morluto) **Created:** 7/26/2026 **Status:** ✅ Merged **Merged:** 7/26/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `codex/provider-catalog-digest` --- ### 📝 Commits (2) - [`c4cd033`](https://github.com/morluto/rea/commit/c4cd0330e00eeb8e272abbf6ecc6ce961e72f317) fix(catalog): digest provider projections - [`ba31518`](https://github.com/morluto/rea/commit/ba3151891e9ce8cee3424600175d9849609f5607) Merge branch 'main' into codex/provider-catalog-digest ### 📊 Changes **5 files changed** (+43 additions, -4 deletions) <details> <summary>View changed files</summary> 📝 `docs/product-catalog.json` (+2 -1) 📝 `scripts/lib/catalog-core.mjs` (+11 -0) 📝 `scripts/lib/product-catalog.d.mts` (+3 -0) 📝 `scripts/lib/product-catalog.mjs` (+10 -3) 📝 `tests/productCatalog.test.ts` (+17 -0) </details> ### 📄 Description ## Description The canonical product catalog already derives provider identities and capabilities, but `runtime_catalog.digests` covered only tools, prompts, and resources. A provider identity or capability change could therefore alter the provider projection without changing any recorded catalog digest. This adds a canonical JSON SHA-256 digest for the source-derived provider projection as `providers_sha256`. The committed product catalog is regenerated, and the catalog tests verify both stable projection identity and sensitivity to provider fact drift. This is a build and verification projection change only. MCP tools, schemas, provider behavior, and runtime selection are unchanged. ## Type of Change - [ ] Bug fix - [ ] New feature - [ ] Documentation update - [ ] 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`) - [ ] 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`) Commands run: - `npx vitest run tests/productCatalog.test.ts` — 8 tests passed. - `npm run check:pr` — 216 test files and 1,503 tests passed; static, formatting, metadata, generated-document, and catalog checks passed. - `npm run verify:package` — packaged CLI/MCP, setup, skill, and catalog checks passed. - `npm pack --dry-run` — package boundary passed. - `git diff --check` — passed. The existing `createServer` max-lines lint warning remains unchanged and is outside this diff. ## Tool Contract Impact None. No MCP tool, schema, name, provider capability, or runtime behavior changes. ## Related Issues Related to #238, which introduced the canonical product catalog and documentation drift checks. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-16 21:13:09 +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#1990
No description provided.