[PR #1328] [CLOSED] fix(javascript): preserve semantic evidence through satisfies #2804

Closed
opened 2026-10-17 21:10:26 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/1328
Author: @rudycelekli
Created: 10/9/2026
Status: ❌ Closed

Base: main ← Head: fix/javascript-satisfies-values


📝 Commits (1)

  • f3f1cdb fix(javascript): preserve semantic evidence through satisfies

📊 Changes

5 files changed (+88 additions, -3 deletions)

View changed files

➕ src/application/javascript/JavaScriptApplicationSatisfies.test.ts (+57 -0)
➕ src/domain/javascript/javascriptSemanticAnalysis.type_wrapped_origins.test.ts (+17 -0)
📝 src/domain/javascript/javascriptSemanticCallResolution.ts (+2 -1)
📝 src/domain/javascript/javascriptSemanticReturns.ts (+2 -1)
📝 src/domain/javascript/javascriptSemanticValues.ts (+10 -1)

📄 Description

TypeScript satisfies has no runtime effect, but three semantic consumers omit it from their existing transparent-wrapper handling. An exported constant such as "ready" satisfies string loses literal evidence; a wrapped arrow callable also loses its exported callable link and exact local-call target. Unwrap this type-only expression consistently in value evaluation, callable export linking, and call resolution.

Validation: five public analysis/semantic regressions fail on the exact baseline. The fixed affected suites pass 143 tests across seven files, including mutation uncertainty and existing call handling. npm run check succeeds across six tasks with existing warnings and no errors; whitespace checks pass. Tests use inert source and temporary fixtures; no provider or full repository suite claim. Prepared with AI assistance.

Adjacent provenance boundary: wrapped namespace members (as, non-null, and satisfies) were also falsely reported local. Three regressions fail on the original published head, pass after matching provenance unwrapping, and all 183 affected tests across eight suites pass. Static checks again succeed across six tasks.


🔄 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/1328 **Author:** [@rudycelekli](https://github.com/rudycelekli) **Created:** 10/9/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `fix/javascript-satisfies-values` --- ### 📝 Commits (1) - [`f3f1cdb`](https://github.com/morluto/rea/commit/f3f1cdb8b210e1363c09e3fbe1088283cd526455) fix(javascript): preserve semantic evidence through satisfies ### 📊 Changes **5 files changed** (+88 additions, -3 deletions) <details> <summary>View changed files</summary> ➕ `src/application/javascript/JavaScriptApplicationSatisfies.test.ts` (+57 -0) ➕ `src/domain/javascript/javascriptSemanticAnalysis.type_wrapped_origins.test.ts` (+17 -0) 📝 `src/domain/javascript/javascriptSemanticCallResolution.ts` (+2 -1) 📝 `src/domain/javascript/javascriptSemanticReturns.ts` (+2 -1) 📝 `src/domain/javascript/javascriptSemanticValues.ts` (+10 -1) </details> ### 📄 Description TypeScript `satisfies` has no runtime effect, but three semantic consumers omit it from their existing transparent-wrapper handling. An exported constant such as `"ready" satisfies string` loses literal evidence; a wrapped arrow callable also loses its exported callable link and exact local-call target. Unwrap this type-only expression consistently in value evaluation, callable export linking, and call resolution. Validation: five public analysis/semantic regressions fail on the exact baseline. The fixed affected suites pass 143 tests across seven files, including mutation uncertainty and existing call handling. `npm run check` succeeds across six tasks with existing warnings and no errors; whitespace checks pass. Tests use inert source and temporary fixtures; no provider or full repository suite claim. Prepared with AI assistance. Adjacent provenance boundary: wrapped namespace members (`as`, non-null, and `satisfies`) were also falsely reported local. Three regressions fail on the original published head, pass after matching provenance unwrapping, and all 183 affected tests across eight suites pass. Static checks again succeed across six tasks. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-17 21:10:26 +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#2804
No description provided.