GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — (3/9) Memory graph groups each category with dotted threads by Obed0101 · Pull Request #130 · MendCode/MendCode Conversation
|
|
MendCode: @Obed0101's MendCode worked on this pull request on one of its devices; released 2026-11-10 19:25 UTC. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
No findings · nothing in this change was confirmed as a problem
head 70715e3b44a2
Merge risk: 🟢 Low · The change is confined to bounded memory-graph presentation and its shared navigation layout; it does not alter persistence, protocol schemas, or link mutations. Regressions would primarily appear as unexpected grouping, visibility, or selection movement in whole-graph mode.
Change: Feature · Review effort: 2/5, about 15 minutes
This change adds temporary, category-colored dotted threads to the whole-memory graph while leaving saved links and the ego view unchanged. No verified defects were found in this pull request's own diff; risk is low and limited primarily to graph presentation and navigation. Review was read-only: tests were inspected but not run.
Readers: 5 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 #129: only this pull request's own commits since #129's head 1052236.
The whole-memory graph now connects otherwise disconnected memories within each named category using display-only dotted edges. Existing connectivity is checked before adding threads, and uncategorized memories are excluded. The layout used by rendering and keyboard navigation receives the same additional edges, while health counts, link actions, and memory details continue to use saved links.
Changes
| Layer / files | Summary |
|---|---|
Graph presentation apps/cli/src/view/memory-graph-view.ts |
Adds category-thread construction, includes threads only in whole-graph layouts, and labels them in the legend. |
Regression tests apps/cli/test/memory-graph-view.test.ts |
Tests thread endpoints and styles, whole-graph integration, ego-view exclusion, legend text, and preservation of saved links. |
Documentation CHANGELOG.md, docs/memory.md |
Documents category grouping and clarifies that the additional edges are visual only and never saved. |
Generated metadata packages/daemon/cards/cards.generated.json |
Updates the generated card revision without changing card contents. |
Sequence diagram
sequenceDiagram
participant Page as Memory page
participant View as Graph rendering / navigation
participant Threads as categoryThreads
participant Layout as layoutGraph
Page->>View: Report, graph state, canvas size
View->>View: memoryGraphLayout
opt Whole-graph mode
View->>Threads: Report and category colors
Threads-->>View: Display-only dotted edges
end
View->>Layout: Nodes, saved edges, category threads
Layout-->>View: Shared visible layout
View-->>Page: Rendered rows or navigation result
| Check | Status | Explanation |
|---|---|---|
| Title | ✅ Passed | The title accurately describes category grouping through dotted threads in the memory graph. |
| Description | ✅ Passed | The description explains the visual change and its purpose, and reports a clean head typecheck plus a full-suite run at the top of the stack. Those execution results were not independently verified in this read-only review. |
| Out of scope | ✅ Passed | Implementation, regression tests, and documentation are aligned with the stated change. The remaining generated-file change updates only its revision. |
Performance (perf-attrib, base 1052236 against head 70715e3)
perf-attrib: igual: nothing above the measured noise
base 10522364eda5d9ff971a71e1f92a8c38dc72d406 (10522364) vs cand 70715e3b44a2307d2ecff33aad1703cfaee435c3 (70715e3b, cached build), 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 | 57.2 | 57.6 | +0.4 |
| tui.after.peak_mb | 73.5 | 72.9 | -0.6 |
| tui.ready.fp_mb | 55 | 54.8 | -0.2 |
| tui.ready.peak_mb | 73.5 | 72.9 | -0.6 |
| tui.rest.fp_mb | 56.6 | 57.1 | +0.5 |
| tui.rest.peak_mb | 73.5 | 72.9 | -0.6 |
| tui.after.rss_mb | 135.8 | 136.8 | +1 |
| tui.ready.rss_mb | 114.2 | 114 | -0.2 |
| tui.rest.rss_mb | 135.8 | 122 | -13.8 down |
| tui.after.heap.extra_b | 6714435 | 6753850 | +39415 |
| tui.after.heap.objects | 240579 | 240773 | +194 |
| tui.after.heap.protected | 19 | 19 | 0 |
| tui.after.heap.size_b | 24357539 | 24414058 | +56519 |
| tui.ready.heap.extra_b | 2894500 | 2895010 | +510 |
| tui.ready.heap.objects | 216470 | 216464 | -6 |
| tui.ready.heap.protected | 18 | 18 | 0 |
| tui.ready.heap.size_b | 19273764 | 19273678 | -86 |
| tui.rest.heap.extra_b | 4666402 | 4626922 | -39480 |
| tui.rest.heap.objects | 237656 | 237700 | +44 |
| tui.rest.heap.protected | 18 | 18 | 0 |
| tui.rest.heap.size_b | 22057570 | 22020154 | -37416 |
| tui.rest.js_code_b | 5876928 | 5838419 | -38509 |
| tui.rest.js_live_b | 19238600 | 19239928 | +1328 |
| tui.cpu_ms.after | 5880 | 6034 | +154 |
| tui.cpu_ms.ready | 380 | 370 | -10 |
| tui.cpu_ms.rest | 535 | 525 | -10 |
| binary.bytes | 72290528 | 72290528 | 0 |
| disk.bytes | 4109 | 4112 | +3 |
| disk.bytes_per_session | 2055 | 2056 | +1 |
JS heap bytes by constructor that rose:
Modules loaded at start: 230 -> 230, 4630739 -> 4630739 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 / 57.6 / peak 72.9 MB, 2056 B per session.
CHANGELOG.mdapps/cli/src/view/memory-graph-view.tsapps/cli/test/memory-graph-view.test.tsdocs/memory.mdpackages/daemon/cards/cards.generated.jsonComment @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.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.