[PR #1466] [CLOSED] docs(process): clarify normalized terminal row geometry #2905

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

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/1466
Author: @N0zoM1z0
Created: 10/10/2026
Status: ❌ Closed

Base: main ← Head: docs/normalized-terminal-geometry-1450


📝 Commits (1)

  • 44f69e6 docs(process): clarify normalized terminal row geometry

📊 Changes

3 files changed (+10 additions, -8 deletions)

View changed files

📝 docs/process-capture.md (+7 -5)
📝 src/process/capture/TerminalRenderer.test.ts (+1 -1)
📝 src/process/capture/TerminalRenderer.ts (+2 -2)

📄 Description

After #1450, the guide claimed that padding a normalized rendered line to columns reconstructs the earlier padded row. Production normalization can expand or shorten text, so the geometry does not determine that old padding. Clarify that the lines contain trimmed normalized display text and serialized_state contains normalized terminal serialization; qualify the source/test comments accordingly. Runtime behavior and contracts are unchanged.

A real installed xterm producer probe with production normalizeProcessText, ports enabled and a 20-column terminal observed port:80:

  • previous normalized row: 24 code units (port:<port> plus 13 spaces);
  • trimmed row: 11 code units;
  • padding it to 20 columns: 20 code units, which differs from the previous row.

The normalized serialized state is identical before/after #1450, and the normalized visible content is retained exactly after trimming trailing U+0020. The byte savings remain useful; this corrects the recovery claim rather than changing capture semantics.

Validation: installed xterm/production-normalizer probe; 7 existing terminal-renderer/normalizer tests; 3 actual owned-process boundary captures; a real public stdio MCP capture preserving raw port:80 alongside port:<port>, normalized terminal serialization, text/structured parity and successful cleanup; npm run docs:check and the complete serial pre-push static gate. No native analysis provider changes; real Hopper/Ghidra verification was not performed.

Refs #1450, #723 and #1065.


🔄 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/1466 **Author:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Created:** 10/10/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `docs/normalized-terminal-geometry-1450` --- ### 📝 Commits (1) - [`44f69e6`](https://github.com/morluto/rea/commit/44f69e655c1a3f50bd469d0f006069a104f5ad98) docs(process): clarify normalized terminal row geometry ### 📊 Changes **3 files changed** (+10 additions, -8 deletions) <details> <summary>View changed files</summary> 📝 `docs/process-capture.md` (+7 -5) 📝 `src/process/capture/TerminalRenderer.test.ts` (+1 -1) 📝 `src/process/capture/TerminalRenderer.ts` (+2 -2) </details> ### 📄 Description After #1450, the guide claimed that padding a normalized rendered line to `columns` reconstructs the earlier padded row. Production normalization can expand or shorten text, so the geometry does not determine that old padding. Clarify that the lines contain trimmed normalized display text and `serialized_state` contains normalized terminal serialization; qualify the source/test comments accordingly. Runtime behavior and contracts are unchanged. A real installed xterm producer probe with production `normalizeProcessText`, ports enabled and a 20-column terminal observed `port:80`: - previous normalized row: 24 code units (`port:<port>` plus 13 spaces); - trimmed row: 11 code units; - padding it to 20 columns: 20 code units, which differs from the previous row. The normalized serialized state is identical before/after #1450, and the normalized visible content is retained exactly after trimming trailing U+0020. The byte savings remain useful; this corrects the recovery claim rather than changing capture semantics. Validation: installed xterm/production-normalizer probe; 7 existing terminal-renderer/normalizer tests; 3 actual owned-process boundary captures; a real public stdio MCP capture preserving raw `port:80` alongside `port:<port>`, normalized terminal serialization, text/structured parity and successful cleanup; `npm run docs:check` and the complete serial pre-push static gate. No native analysis provider changes; real Hopper/Ghidra verification was not performed. Refs #1450, #723 and #1065. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-17 21:11:40 +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#2905
No description provided.