[PR #1092] [MERGED] fix(javascript): preserve HTML carriage return source ranges #2640

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

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/1092
Author: @rudycelekli
Created: 10/8/2026
Status: ✅ Merged
Merged: 10/8/2026
Merged by: @N0zoM1z0

Base: main ← Head: validation/html-script-source-coordinates-20261008


📝 Commits (3)

  • 9fc8ba4 test(javascript): reproduce HTML carriage return source coordinates
  • 82e912d fix(javascript): preserve HTML carriage return source ranges
  • 065cf5f Merge branch 'main' into validation/html-script-source-coordinates-20261008

📊 Changes

4 files changed (+152 additions, -1 deletions)

View changed files

📝 docs/javascript-artifact-reconstruction.md (+2 -0)
📝 src/application/javascript/JavaScriptArtifactAnalysis.ts (+1 -1)
📝 tests/boundary/cli/javascriptApplicationProgress.test.ts (+43 -0)
📝 tests/boundary/filesystem/javascriptHtmlEntrypoints.test.ts (+106 -0)

📄 Description

HTML script references after bare carriage returns retain incorrect source line/column evidence in artifact graphs and both public CLI analysis commands. Recognize LF, CRLF and bare CR when converting actual HTML parser opening-tag offsets to source ranges; preserve UTF-16 columns. Document the coordinate contract.

Validation on the isolated contributor fork:

  • Tests-only before head 9fc8ba43e0c5092dd08c9204ae20bb3e5f556a47 reproduced exactly five failures: bare CR, mixed CRLF/CR, CR inside an opening tag, and both built public CLI commands. All five controls passed: LF, CRLF, CRLF inside a tag, astral UTF-16 columns and literal U+2028. Before CI.
  • All ten frozen regression/control owners pass individually at fix head 82e912d1e2feb38c3a187d89459a033b54c25a62. The eight real directory graph cases check retained raw digests and both resolved loads and unresolved observations against direct parse5 opening-tag ranges; two cases invoke the built CLI. No owning assertions changed in the production fix.
  • All 22 unchanged CI jobs passed at that exact signed head, including static/docs checks, four coverage shards and aggregate, Windows capability/package, Apple artifact, native Linux/macOS package baselines and real Node Inspector observation. Full deterministic aggregate: 4,962 passed, zero failed, 47 skipped (5,009 total). Historical fix qualification.

Current integration context: the earlier newer-main baseline independently reproduced two productCatalog and three setupSkill failures from missing generated shard inputs. Attribution control. Separately owned #1091 is now merged as 5f93b4b125e78f088a2349a178e60f8c0af3e1a2. This branch includes that accepted main through GitHub verified merge head 065cf5fd153e190bbfcc0021e837b64b9f3bf959, preserving the original signed fix and all frozen owners. Current exact-head upstream CI is pending. The historical green run above does not imply this new integration is green.

The fixtures are synthetic and analysis remains inert. No private input or credentials are included. Workflows and dependencies are unchanged. Real Hopper/Ghidra verification was not performed; their providers are unaffected. Both commits are GitHub verified and carry Signed-off-by trailers.

The CLI test file also has an independent EOF append in #1087; if either merges first, preserve both regression groups when resolving that append conflict without duplicating the other production fix.


🔄 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/1092 **Author:** [@rudycelekli](https://github.com/rudycelekli) **Created:** 10/8/2026 **Status:** ✅ Merged **Merged:** 10/8/2026 **Merged by:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Base:** `main` ← **Head:** `validation/html-script-source-coordinates-20261008` --- ### 📝 Commits (3) - [`9fc8ba4`](https://github.com/morluto/rea/commit/9fc8ba43e0c5092dd08c9204ae20bb3e5f556a47) test(javascript): reproduce HTML carriage return source coordinates - [`82e912d`](https://github.com/morluto/rea/commit/82e912d1e2feb38c3a187d89459a033b54c25a62) fix(javascript): preserve HTML carriage return source ranges - [`065cf5f`](https://github.com/morluto/rea/commit/065cf5fd153e190bbfcc0021e837b64b9f3bf959) Merge branch 'main' into validation/html-script-source-coordinates-20261008 ### 📊 Changes **4 files changed** (+152 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `docs/javascript-artifact-reconstruction.md` (+2 -0) 📝 `src/application/javascript/JavaScriptArtifactAnalysis.ts` (+1 -1) 📝 `tests/boundary/cli/javascriptApplicationProgress.test.ts` (+43 -0) 📝 `tests/boundary/filesystem/javascriptHtmlEntrypoints.test.ts` (+106 -0) </details> ### 📄 Description HTML script references after bare carriage returns retain incorrect source line/column evidence in artifact graphs and both public CLI analysis commands. Recognize LF, CRLF and bare CR when converting actual HTML parser opening-tag offsets to source ranges; preserve UTF-16 columns. Document the coordinate contract. Validation on the isolated contributor fork: - Tests-only before head `9fc8ba43e0c5092dd08c9204ae20bb3e5f556a47` reproduced exactly five failures: bare CR, mixed CRLF/CR, CR inside an opening tag, and both built public CLI commands. All five controls passed: LF, CRLF, CRLF inside a tag, astral UTF-16 columns and literal U+2028. [Before CI](https://github.com/rudycelekli/rea/actions/runs/37793172192). - All ten frozen regression/control owners pass individually at fix head `82e912d1e2feb38c3a187d89459a033b54c25a62`. The eight real directory graph cases check retained raw digests and both resolved loads and unresolved observations against direct parse5 opening-tag ranges; two cases invoke the built CLI. No owning assertions changed in the production fix. - All 22 unchanged CI jobs passed at that exact signed head, including static/docs checks, four coverage shards and aggregate, Windows capability/package, Apple artifact, native Linux/macOS package baselines and real Node Inspector observation. Full deterministic aggregate: 4,962 passed, zero failed, 47 skipped (5,009 total). [Historical fix qualification](https://github.com/rudycelekli/rea/actions/runs/37794104374). Current integration context: the earlier newer-main baseline independently reproduced two productCatalog and three setupSkill failures from missing generated shard inputs. [Attribution control](https://github.com/rudycelekli/rea/actions/runs/37795715138). Separately owned #1091 is now merged as `5f93b4b125e78f088a2349a178e60f8c0af3e1a2`. This branch includes that accepted main through GitHub verified merge head `065cf5fd153e190bbfcc0021e837b64b9f3bf959`, preserving the original signed fix and all frozen owners. [Current exact-head upstream CI](https://github.com/morluto/rea/actions/runs/37801172218) is pending. The historical green run above does not imply this new integration is green. The fixtures are synthetic and analysis remains inert. No private input or credentials are included. Workflows and dependencies are unchanged. Real Hopper/Ghidra verification was not performed; their providers are unaffected. Both commits are GitHub verified and carry Signed-off-by trailers. The CLI test file also has an independent EOF append in #1087; if either merges first, preserve both regression groups when resolving that append conflict without duplicating the other production fix. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-17 21:08:32 +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#2640
No description provided.