GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — v0.0.15-beta.4 by Obed0101 · Pull Request #149 · MendCode/MendCode

Conversation

@Obed0101

@Obed0101 Obed0101 commented Nov 11, 2026 •
edited by blacksmith-sh Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Fix for an unhandled EPIPE the CI of #146 hit in the code graph scan host (pre-existing, also in v0.0.14).

Fixed

  • When the code graph's scan process cannot start, the graph is built in MendCode's own process without a broken-pipe error escaping.

Weight: two promise handlers on a path that runs only when a first build hosts its scan; nothing at start-up, per turn or per frame.


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@Obed0101
code graph: a scan host that exits before reading its request no long…
e0f9944
…er leaves an unhandled EPIPE; release v0.0.15-beta.4
@Obed0101

Obed0101 commented Nov 11, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor Author

MendCode: @Obed0101's MendCode worked on this pull request on one of its devices; released 2026-11-11 10:06 UTC.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

Obed0101
Obed0101 commented Nov 11, 2026
View reviewed changes

@Obed0101 Obed0101 left a comment

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MendCode review

No findings · nothing in this change was confirmed as a problem
head e0f99448d3b5

Merge risk: 🟢 Low · The production change is confined to stdin error handling during hosted scans; scanner behavior, graph construction, cache formats, and fallback logic are untouched. A regression would primarily affect completion of graph builds using a failed helper.
Change: Bug fix · Review effort: 1/5, about 5 minutes

This change handles synchronous errors and promise rejections while sending requests to the code-graph scan helper, allowing the existing read-failure path to trigger in-process scanning when the helper exits early. No introduced defects were found in the supplied stacked diff; risk is low because the change is localized to helper request submission. Review was read-only, so tests were inspected but not executed.
Readers: 3 code files no reader could read went to the review pass whole (the diff is small: one reader call costs more than the readers' share of this review's cap, so the review pass reads it).
Stacked on #146: only this pull request's own commits since #146's head c300179.

Walkthrough

The scan host now catches synchronous request-write errors and handles rejections from stdin write and end operations, preventing an early helper exit from producing an unhandled EPIPE. The existing stdout reader and indexer fallback remain unchanged: premature output termination rejects the read, and the indexer scans the remaining files locally. A regression test exercises a large request sent to an immediately exiting helper, and the changelog records the beta release fix.

Changes

Layer / files Summary
Scan-helper error handling
packages/codegraph/src/scan-host.ts
Handles errors from submitting and ending the helper's stdin request without changing the scan protocol, helper selection, or existing indexer fallback.
Regression coverage
packages/codegraph/test/scan-host.test.ts
Adds repeated large-request attempts against an immediately exiting helper, checking that reads reject without unhandled promise rejections.
Release notes
CHANGELOG.md
Documents the v0.0.15-beta.4 broken-pipe fix and updates the stable release's code-equivalence note.
Pre-merge checks: ⚠️ 2 warning · ✅ 1 passed
Check Status Explanation
Title ⚠️ Warning The title identifies the release version but does not describe the scan-helper error-handling fix.
Description ⚠️ Warning The description explains the EPIPE failure, its CI context, and the intended fallback behavior, but does not state how the fix was tested or give test results.
Out of scope ✅ Passed The implementation, regression test, and release notes all support the described scan-helper fix; no unrelated changes appear in this pull request's supplied diff.
Review details
  • Files reviewed: 3 · 39 changed lines · estimated review effort 1/5, about 5 minutes
  • Profile: normal · at most 8 inline comments
  • Verification: the review pass raised no candidate findings, so no separate pass was needed
  • Cost: 113,308 tokens in (94,336 from the provider's cache) · 1,226 out
  • Readers: 3 code files no reader could read went to the review pass whole (the diff is small: one reader call costs more than the readers' share of this review's cap, so the review pass reads it).
  • Stacked on #146: only this pull request's own commits since #146's head c300179.

Performance (perf-attrib, base 8981456 against head e0f9944)

perf-attrib: igual: nothing above the measured noise

base 8981456b339cb6675c57fecf0580548e27c3a28e (8981456b) vs cand e0f99448d3b510bc0eaad8cdacb727e1df7974ff (e0f99448), median of 2 faux-engine session(s) per side; flagged = beyond the noise measured on 18 base-vs-base runs (x1.5).

metric base cand diff
tui.after.fp_mb 56.7 56.6 -0.1
tui.after.peak_mb 73.2 72.9 -0.3
tui.ready.fp_mb 54.9 54.8 -0.1
tui.ready.peak_mb 73.2 72.9 -0.3
tui.rest.fp_mb 56.3 56.3 0
tui.rest.peak_mb 73.2 72.9 -0.3
tui.after.rss_mb 136 135.5 -0.5
tui.ready.rss_mb 114.1 113.9 -0.2
tui.rest.rss_mb 136.3 135.8 -0.5
tui.after.heap.extra_b 7397980 7078192 -319788
tui.after.heap.objects 243020 242173 -847
tui.after.heap.protected 20 20 0
tui.after.heap.size_b 25237868 24828384 -409484
tui.ready.heap.extra_b 2894877 2894869 -8
tui.ready.heap.objects 217222 217224 +2
tui.ready.heap.protected 18 18 0
tui.ready.heap.size_b 19331261 19331461 +200
tui.rest.heap.extra_b 4629302 4669632 +40330
tui.rest.heap.objects 238457 238469 +12
tui.rest.heap.protected 18 18 0
tui.rest.heap.size_b 22082230 22122882 +40652
tui.rest.js_code_b 5845113 5885209 +40096
tui.rest.js_live_b 19293190 19293327 +137
tui.cpu_ms.after 5527 5521 -6
tui.cpu_ms.ready 340 340 0
tui.cpu_ms.rest 478 484 +6
binary.bytes 72306944 72306944 0
disk.bytes 4074 4087 +13
disk.bytes_per_session 2037 2044 +7

JS heap bytes by constructor that rose:

  • tui.rest.ctor.native:Blob.bytes: 1744090 -> 1744363 (+273)

Modules loaded at start: 230 -> 230, 4633738 -> 4633738 bytes of chunks (chunk names are hashes: the list says which changed in size, not by what name)

Reference (skill, 2026-11-03, real model): footprint 64 ready / 66 after / peak 80 MB, 2.6 KB per session. This run (faux engine, whole process tree): 54.8 / 56.6 / peak 72.9 MB, 2044 B per session.

Files (3)
  • CHANGELOG.md
  • packages/codegraph/src/scan-host.ts
  • packages/codegraph/test/scan-host.test.ts

Comment @mendcode review to review again · @mendcode pause / resume · reply to a finding with explain, fix or learn · settings in .mendcode/review.yaml

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@Obed0101
Obed0101 merged commit 22e5754 into beta Nov 11, 2026
6 checks passed

Uh oh!

There was an error while loading. Please reload this page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@Obed0101
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.