memorydetective 1.11.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,55 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.13.0] - 2026-05-14
10
+
11
+ Trace-depth synthesis differentiator. v1.11 added `inspectTrace` (discovery), v1.12 added cross-schema correlation inside `analyzeHangs`. v1.13 ties everything together: one call returns a cross-schema summary card tuned for direct presentation to the user, instead of chaining 5-6 analyzers manually and reasoning over the JSON.
12
+
13
+ ### Added
14
+
15
+ - **`summarizeTrace` MCP tool (36th tool, `[mg.synthesize]`).** Single call that:
16
+ 1. Inspects the TOC via the existing inspectTrace path.
17
+ 2. Chains `analyzeHangs` (with `includeStackClassification: true` to auto-classify main-thread violations), `analyzeAnimationHitches` (with Apple's 100ms perceptible threshold), `analyzeTimeProfile`, `analyzeAllocations`, `analyzeAppLaunch` in parallel via Promise.all guards.
18
+ 3. Builds cross-area correlations (Phase 2: hangs+hitches timestamp overlap detection with HIGH/MEDIUM/LOW confidence tiers).
19
+ 4. Returns BOTH a structured per-area result AND a pre-rendered compact markdown card (< 10 KB at default settings, validated by a card-size guard in the unit tests).
20
+
21
+ The card layout: H1 title, device/OS/template metadata, headline (1-2 sentences naming the biggest user-impact finding ranked by hang>=250ms > launch>1s > perceptible hitches > short hang), per-area sub-sections (suppressed when empty to reduce noise), cross-correlations section with confidence badges, suggested next calls from inspectTrace.
22
+
23
+ Optional inputs: `focus: "hangs" | "hitches" | "allocations" | "launch" | "all"` to bias the summary toward one area; `verbose: true` to expand each section's top-N from 5 to 15+ and surface low-confidence correlations inline.
24
+
25
+ Failed analyzers (e.g. xctrace SIGSEGV on time-profile) surface their workaround notice inline; other sections unaffected. Empty schemas don't fail the call.
26
+
27
+ - **`correlateHangsAndHitches()` pure cross-correlation helper.** Detects hangs whose time windows overlap with animation hitches. When a user sees a hang AND a hitch in the same window, they almost certainly perceived the impact (main-thread block delayed render commits). Confidence tiers: `high` when both events >= 250ms AND overlap span >= 100ms; `medium` when at least one event >= 250ms; `low` when both sub-250ms but touching. Results sorted by `atSec` ascending so the markdown card lists correlations in trace order. Allocation-based correlations (hangs+allocations, hitches+allocations) are deferred to v1.14+ because the existing `analyzeAllocations` doesn't expose per-timestamp allocation rows.
28
+
29
+ - **`/summarize-trace` MCP prompt (6th prompt).** Counterpart to the `summarizeTrace` tool. Unlike the existing 5 prompts (which wrap multi-step playbooks), `/summarize-trace` wraps a single tool call. The brief tells the agent to (1) call `summarizeTrace`, (2) present `result.markdown` verbatim instead of paraphrasing, (3) offer drill-ins via `suggestedNextCalls`. Surfaces the "present the result; don't re-summarize" pattern that agents often get wrong with structured data.
30
+
31
+ ### Changed
32
+
33
+ - `package.json` + `server.json`: 1.12.0 → 1.13.0.
34
+
35
+ ### Test count
36
+
37
+ 523 → 546 (+23): 14 buildHeadline/buildMarkdownCard tests in Phase 1, 9 correlation tests in Phase 2, +0 in Phase 3 (the prompts test was updated, not extended).
38
+
39
+ ## [1.12.0] - 2026-05-14
40
+
41
+ Four-phase patch completing the v1.10 retro §7.2 propagation (`countAlive`, `findRetainers`, `verifyFix` reference-tree integrations) and internalizing the v1.9 cross-schema correlation (`analyzeHangs` auto-classification). The agent chain `analyzeAbandonedMemory` → `findRetainers` → `countAlive` → `verifyFix` no longer falls off a cliff after the first call.
42
+
43
+ ### Added
44
+
45
+ - **`countAlive` reference-tree integration.** New `includeReferenceTree: boolean` input flag (default false preserves v1.11 behavior). When true, spawns `leaks --referenceTree --groupByType --noContent` in parallel with the existing cycle pass, merges counts by class name, and surfaces a new `actionableCounts[]` field filtered via `isFrameworkNoise`. For `countAlive({ className: "AVPlayerItem", includeReferenceTree: true })` on the notelet pre-fix memgraph, returns `instanceCount: 685` (substring match captures both AVPlayerItem 342 + AVPlayerItemInternal 343); for the topN path, surfaces AVCMNotificationDispatcher / __NSObserver / AVPlayerItem instead of NSMutableDictionary / CFString noise. New per-class `byCycle` + `byReferenceTree` breakdown fields when the flag is on. 3 new schema validation tests.
46
+
47
+ - **`verifyFix` abandoned-memory verdict fallback.** v1.11 returned `overallVerdict: "PASS"` with empty `patternResolution[]` on the notelet pair (both `leakCount: 0`); v1.12 chains internally into `analyzeAbandonedMemory` when no cycle patterns fire on either side. New `verdictSource: "cycle-pattern" | "abandoned-memory"`, `freedClasses[]`, `regressionClasses[]` fields. Magnitude-dominance heuristic resolves verdict to PASS / PARTIAL / FAIL by comparing the sum of `|freed delta|` to `|growth delta|` at a 2x ratio. Notelet pair now returns `verdict: PASS` with diagnosis "Fix verified via abandoned-memory shrinkage: 10,386 instances freed dominates the residual 4,531-instance growth (typically Swift runtime / font cache / ObjC class table)." `isFrameworkNoise` extended to flag `N bytes into <X 0xADDR> [size]` heap-offset entries so the magnitude check doesn't get fooled by partial-allocation noise. 1 new reference-tree filter test.
48
+
49
+ - **`findRetainers` reference-tree chains.** New `includeReferenceTree: boolean` input flag (default false). When true, spawns `leaks --debug=stacks --debug='<className>$'` and parses the per-instance allocation stack output via a new `src/parsers/leaksDebugStacks.ts` parser. Instances sharing the same call-stack fingerprint aggregate into one chain with `instanceCount`. Each chain exposes `callStack[]` (ordered frames from dyld root to allocation site), `retainers[]` (unique retainer classes with aggregate counts), `exampleAddress` (one representative instance), and `userFrame` (the deepest non-system frame, surfacing the actual line a developer would inspect). New 11-test parser file. leaks's `--debug=` predicate restriction documented in the schema description: `^` is rejected by leaks, only trailing `$` works. MallocStackLogging caveat documented: Xcode-exported memgraphs may surface fewer chains than the total instance count because `leaks --debug=stacks` only emits blocks for instances whose allocation stack was recorded.
50
+
51
+ - **`analyzeHangs` cross-schema correlation.** v1.9 added `mainThreadViolations[]` enrichment via the caller-supplied `topFramesByHangStartNs` map; v1.12 internalizes it. New `includeStackClassification: boolean` input flag (default false preserves v1.9 behavior). When true, exports the `time-profile` schema in parallel with `potential-hangs`, correlates samples to hang windows by timestamp (sample in `[hang.startNs, hang.startNs + hang.durationNs]`), picks the dominant top frame per hang by aggregate weight, and runs `classifyHangFrame()` on it. New pure `correlateTimeProfileToHangs()` helper. Caller-supplied maps still take precedence over the auto-correlation. 8 new pure correlation tests covering empty inputs both sides, in/out-of-window, weight tiebreaker, backtrace fallback, multi-hang independence, default-weight handling.
52
+
53
+ ### Changed
54
+
55
+ - `package.json` + `server.json`: 1.11.0 → 1.12.0.
56
+ - `compareTracesByPattern` call sites of `analyzeHangs` now pass `includeStackClassification: false` explicitly to satisfy the inferred `analyzeHangs` input type (cosmetic; no behavioral change).
57
+
9
58
  ## [1.11.0] - 2026-05-14
10
59
 
11
60
  Three-fix patch driven by the v1.10 validation pass on the global npm binary. The v1.10 retro §7 surfaced gaps that v1.11 closes: CLI human-output ignored the new abandoned-memory data, `diffMemgraphs` had the same reference-tree blind spot v1.10 fixed only in `analyzeMemgraph` + `analyzeAbandonedMemory`, and there was no orientation tool for `.trace` bundles.
@@ -429,7 +478,9 @@ When called with no arguments it starts the MCP server over stdio.
429
478
  - **`captureMemgraph`** does not work on physical iOS devices — `leaks(1)` only attaches to processes on the local Mac (which includes iOS simulators). Memory Graph capture from a physical device still requires Xcode.
430
479
  - **`detectLeaksInXCUITest`** is flagged experimental: orchestration logic is implemented but not yet validated against a wide set of production XCUITest runs.
431
480
 
432
- [Unreleased]: https://github.com/carloshpdoc/memorydetective/compare/v1.11.0...HEAD
481
+ [Unreleased]: https://github.com/carloshpdoc/memorydetective/compare/v1.13.0...HEAD
482
+ [1.13.0]: https://github.com/carloshpdoc/memorydetective/compare/v1.12.0...v1.13.0
483
+ [1.12.0]: https://github.com/carloshpdoc/memorydetective/compare/v1.11.0...v1.12.0
433
484
  [1.11.0]: https://github.com/carloshpdoc/memorydetective/compare/v1.10.0...v1.11.0
434
485
  [1.10.0]: https://github.com/carloshpdoc/memorydetective/compare/v1.9.0...v1.10.0
435
486
  [1.9.0]: https://github.com/carloshpdoc/memorydetective/compare/v1.8.1...v1.9.0
package/README.md CHANGED
@@ -17,9 +17,9 @@
17
17
  - **MCP-native.** Plugs into Claude Code, Claude Desktop, Cursor, Cline, and any other MCP client. The agent drives the full investigate → classify → suggest-fix loop without you opening Instruments.
18
18
  - **Honest about its limits.** No mocked outputs, no over-promises. Hangs analysis works clean from `xctrace`; sample-level Time Profile is parsed when `xctrace` symbolicates the trace and returns a structured workaround notice when it can't (the underlying `xctrace` SIGSEGV on heavy unsymbolicated traces is an Apple-side limitation we surface explicitly). Memory Graph capture works on Mac apps and iOS simulator; physical iOS devices still need Xcode.
19
19
 
20
- > **What's new in v1.11** (2026-05-14): three-fix patch driven by the v1.10 validation pass. (1) New `inspectTrace` MCP tool: single-call orientation for `.trace` bundles that returns schemas + row counts + device + template + `suggestedNextCalls[]` mapping each populated known schema to its analyzer. Closes the discovery gap vs alternative trace MCPs. (2) `diffMemgraphs` now reads the reference tree alongside the cycle output: new `actionableReferenceTreeChanges[]` field surfaces the AVPlayerItem 342 to 0 delta that v1.10 left invisible to this tool. (3) CLI human-output `analyze` now renders a top-5 abandoned-memory suspects mini-table by default, plus `classify` adds a tip pointing at `analyze` when no cycles fire. Terminal users no longer walk away from real bugs. 487500 tests, 34 → 35 MCP tools.
20
+ > **What's new in v1.13** (2026-05-14): trace-depth synthesis differentiator. New `summarizeTrace` MCP tool (36th tool) takes a `.trace` and returns BOTH structured per-area data AND a pre-rendered compact markdown card (<10 KB) in a single call. Chains inspectTrace + the 5 analyzers in parallel, builds cross-area correlations (hangs overlapping with hitches "main-thread block likely caused the dropped frames"), surfaces a 1-sentence headline ranked by user-impact, and suppresses empty sections to reduce noise. Counterpart `/summarize-trace` MCP prompt tells the agent to present the markdown verbatim instead of paraphrasing structured output. The "trace-to-summary-card-in-one-call" play vs trace MCPs that go deep on single-schema access. 523546 tests.
21
21
  >
22
- > **Also recent**: v1.10 (same day) closed the notelet retro feedback loop with the abandoned-memory parser fixes + classifier guards + `verify-fix-table` output. v1.9 shipped `analyzeAbandonedMemory` + `detectLeaksInXCTest` + `cleanupTraces` + `mainThreadViolations` + security env flags. v1.8 (2026-05-06) shipped the macOS 26.x `task_for_pid` workaround chain + verify-fix loop. Full notes in [CHANGELOG](./CHANGELOG.md).
22
+ > **Also recent**: v1.12 completed the reference-tree propagation across countAlive / findRetainers / verifyFix and added auto cross-schema correlation in analyzeHangs. v1.11 added inspectTrace, diffMemgraphs reference-tree, and CLI abandoned-memory mini-table. v1.10 closed the notelet retro feedback loop. v1.9 shipped analyzeAbandonedMemory, detectLeaksInXCTest, cleanupTraces, mainThreadViolations. Full notes in [CHANGELOG](./CHANGELOG.md).
23
23
 
24
24
  > **Heads up for macOS 26.x users:** Apple shipped a `task_for_pid` kernel regression on macOS 26.x that blocks `leaks --outputGraph`, `heap`, AND `xctrace --template Allocations` against iOS simulator processes regardless of `MallocStackLogging`. Even Xcode's "View Memory Graph Hierarchy" hits it unless `Malloc Stack Logging` is enabled in the scheme's Diagnostics tab. memorydetective surfaces this as a proactive `platformAdvisory` on the first capture-class tool call, plus a `workaroundNotice` with `issue: "macos-26-task-for-pid-broken"` if `leaks` is invoked. **The most reliable workaround today is to target an iOS 18 simulator runtime** (install via Xcode > Settings > Platforms > +iOS 18.x). Empirically validated in the [notelet investigation](https://github.com/carloshpdoc/memorydetective/blob/main/CHANGELOG.md#unreleased) 2026-05-12 where three independent CLI memory-introspection paths all failed before iOS 18 was identified as the working escape hatch. Set `MEMORYDETECTIVE_SUPPRESS_PLATFORM_ADVISORY=1` to silence the notice once you have settled on a workaround.
25
25
 
@@ -295,7 +295,7 @@ Copilot's MCP integration moves fast. If this snippet is stale, see the [VS Code
295
295
 
296
296
  ## API
297
297
 
298
- **35 MCP tools + 34 Resources + 5 Prompts**, grouped by purpose. Tool descriptions are tagged with a category prefix (`[mg.memory]`, `[mg.trace]`, `[mg.build]`, `[mg.scenario]`, `[mg.code]`, `[mg.log]`, `[mg.render]`, `[mg.ci]`, `[mg.discover]`, `[ops]`, `[meta]`) so related tools are visible at a glance.
298
+ **36 MCP tools + 34 Resources + 6 Prompts**, grouped by purpose. Tool descriptions are tagged with a category prefix (`[mg.memory]`, `[mg.trace]`, `[mg.build]`, `[mg.scenario]`, `[mg.code]`, `[mg.log]`, `[mg.render]`, `[mg.ci]`, `[mg.discover]`, `[ops]`, `[meta]`) so related tools are visible at a glance.
299
299
 
300
300
  Many tools include a `suggestedNextCalls` field in their response. A typed list of `{ tool, args, why }` entries pre-populated from the current result, so the orchestrating LLM can chain calls without re-reasoning. Start with `getInvestigationPlaybook(kind)` for the canonical sequence. Or just type `/investigate-leak` (one of the [Prompts](#prompts-5)) in any client that exposes MCP slash commands.
301
301
 
@@ -352,6 +352,12 @@ These three tools combine into a single deterministic verify-fix loop: launch th
352
352
  | `listTraceTemplates` | Parse `xcrun xctrace list templates` (standard + custom). |
353
353
  | `inspectTrace` | Orientation tool for `.trace` bundles. Returns schemas present + row counts + device/OS/template metadata + `suggestedNextCalls[]` mapping each populated known schema to its analyzer. Use this as the FIRST call on any `.trace`. New in v1.11. |
354
354
 
355
+ ### Synthesize (1)
356
+
357
+ | Tool | What |
358
+ |---|---|
359
+ | `summarizeTrace` | Single call that chains `inspectTrace` + the 5 analyzers in parallel + cross-correlates findings (hangs overlapping with hitches, etc.) + pre-renders a compact (<10 KB) markdown summary card with a 1-sentence headline, per-area sub-sections, and suggestedNextCalls. The "trace-to-summary-card-in-one-call" play. Use this when you want one synthesis pass instead of chaining 5-6 analyzers manually. New in v1.13. |
360
+
355
361
  ### Render (1)
356
362
 
357
363
  | Tool | What |
@@ -490,7 +496,7 @@ The `tool` subcommand dispatches to any registered MCP tool by name, reading inp
490
496
  git clone https://github.com/carloshpdoc/memorydetective
491
497
  cd memorydetective
492
498
  npm install
493
- npm test # 500 unit tests
499
+ npm test # 546 unit tests
494
500
  npm run build # build → dist/
495
501
  npm run dev # tsx, stdio mode (dev mode)
496
502
  ./scripts/demo.sh # full demo against a real .memgraph (set MEMGRAPH=path)
@@ -501,7 +507,7 @@ npm run dev # tsx, stdio mode (dev mode)
501
507
  Contributions are welcome. Bug reports, feature requests, new cycle patterns, all of it.
502
508
 
503
509
  - **Bugs / feature requests**: [open an issue](https://github.com/carloshpdoc/memorydetective/issues).
504
- - **PRs**: fork → branch → `npm install` → make changes → `npm test` (500 tests must stay green) → open a PR with a concise description of what changed and why.
510
+ - **PRs**: fork → branch → `npm install` → make changes → `npm test` (546 tests must stay green) → open a PR with a concise description of what changed and why.
505
511
 
506
512
  ### Adding a cycle pattern to `classifyCycle`
507
513
 
package/dist/index.js CHANGED
@@ -13,6 +13,7 @@ import { analyzeTimeProfile, analyzeTimeProfileSchema, } from "./tools/analyzeTi
13
13
  import { listTraceDevices, listTraceDevicesSchema, } from "./tools/listTraceDevices.js";
14
14
  import { listTraceTemplates, listTraceTemplatesSchema, } from "./tools/listTraceTemplates.js";
15
15
  import { inspectTrace, inspectTraceSchema, } from "./tools/inspectTrace.js";
16
+ import { summarizeTrace, summarizeTraceSchema, } from "./tools/summarizeTrace.js";
16
17
  import { recordTimeProfile, recordTimeProfileShape, } from "./tools/recordTimeProfile.js";
17
18
  import { captureMemgraph, captureMemgraphShape, } from "./tools/captureMemgraph.js";
18
19
  import { bootAndLaunchForLeakInvestigation, bootAndLaunchForLeakInvestigationShape, } from "./tools/bootAndLaunchForLeakInvestigation.js";
@@ -165,6 +166,16 @@ server.registerTool("inspectTrace", {
165
166
  content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
166
167
  };
167
168
  });
169
+ server.registerTool("summarizeTrace", {
170
+ title: "Single-call cross-schema summary card for a .trace bundle",
171
+ description: "[mg.synthesize] The trace-to-summary-card-in-one-call play. Chains `inspectTrace` + the matching `analyze*` tools (potential-hangs, animation-hitches, time-profile, allocations, app-launch) and returns BOTH a structured per-area result AND a pre-rendered compact markdown card (< 10 KB at default settings). Use this as the FIRST call when handed a `.trace` if you want one synthesis pass instead of chaining 5-6 analyzers manually. The markdown card carries a 1-sentence headline naming the biggest user-impact finding, then per-area sub-sections, then `suggestedNextCalls[]` for drilling in. Empty schemas are suppressed from the card to reduce noise. Failed analyzers (e.g. xctrace SIGSEGV on time-profile) surface inline with their workaround notice. Pass `verbose: true` to expand each section's top-N from 5 to 15+. Pass `focus: \"hangs\" | \"hitches\" | \"allocations\" | \"launch\"` to bias the summary toward a specific area.",
172
+ inputSchema: summarizeTraceSchema.shape,
173
+ }, async (input) => {
174
+ const result = await summarizeTrace(input);
175
+ return {
176
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
177
+ };
178
+ });
168
179
  server.registerTool("recordTimeProfile", {
169
180
  title: "Record a Time Profiler trace",
170
181
  description: "[mg.trace] Wrapper around `xcrun xctrace record`. Capture a `.trace` bundle from a running app on a device or simulator. Required: exactly 1 of `deviceId`/`simulatorId`, exactly 1 of `attachAppName`/`attachPid`/`launchBundleId`, an `output` path ending in `.trace`. Defaults: template = \"Time Profiler\", durationSec = 90.",
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Parser for `leaks --debug=stacks --debug='<ClassName>$'` output.
3
+ *
4
+ * This is the canonical way to get the allocation stack + retainer list for
5
+ * a specific class without it being part of a strict cycle. The notelet
6
+ * investigation's `342 to 0 AVPlayerItem` count came from running this
7
+ * command directly + grepping `_objc_rootAllocWithZone | wc -l`. v1.12
8
+ * automates the parse + aggregates by call-stack fingerprint so the
9
+ * response is a small structured list instead of 342 verbose blocks.
10
+ *
11
+ * Output shape (per SCANNING block):
12
+ *
13
+ * ```text
14
+ * SCANNING <AVPlayerItem 0xADDR> [size]
15
+ * Call stack: 0xADDR (dyld) start | 0xADDR (...) ??? | ...
16
+ * REFERENCES TO THIS: N STRONG: X CONSERVATIVE: Y WEAK UU etc: Z
17
+ * <retainer-class 0xADDR> [size] +offset: edge-name 0xADDR
18
+ * ...
19
+ * CONTENTS:
20
+ * +offset: field-name 0xADDR --> <target-class 0xADDR> [size]
21
+ * ...
22
+ * ```
23
+ *
24
+ * Multiple SCANNING blocks (one per instance) are aggregated by
25
+ * call-stack fingerprint. Identical stacks count as one chain with
26
+ * `instanceCount: N` instead of N duplicates.
27
+ */
28
+ export interface AllocationFrame {
29
+ /** Hex address of the frame, e.g. "0x100e97da4". */
30
+ address: string;
31
+ /** Image/binary name in parentheses, e.g. "(dyld)" or "(NoteletDemo.debug.dylib)". */
32
+ image: string;
33
+ /** Symbol name when symbolicated, e.g. "_objc_rootAllocWithZone" or "MediaNoteItemVideoView.prepareVideo". `???` when stripped. */
34
+ symbol: string;
35
+ }
36
+ export interface ReferenceTreeChain {
37
+ /** How many instances share this exact call-stack fingerprint. */
38
+ instanceCount: number;
39
+ /**
40
+ * Call-stack frames from outer (root, dyld start) to inner (allocation site).
41
+ * The leaks output emits them in dyld-first order; we preserve that.
42
+ */
43
+ callStack: AllocationFrame[];
44
+ /** A representative instance address for the user to chain into via `leaks <addr>`. */
45
+ exampleAddress: string;
46
+ /** Unique retainer classes referenced from THIS instance with how often each appeared across the aggregation group. */
47
+ retainers: Array<{
48
+ className: string;
49
+ count: number;
50
+ }>;
51
+ /** The "user-actionable" frame: the deepest frame whose image isn't system (dyld, libobjc, libsystem, libdispatch, SwiftUI core runtime). Surfaces the line a developer would inspect. */
52
+ userFrame?: AllocationFrame;
53
+ }
54
+ /**
55
+ * Pure: parse a single `Call stack: ...` line into an ordered list of frames.
56
+ * Frames are pipe-separated; each frame is `<hex-addr> (<image>) <symbol>`.
57
+ */
58
+ export declare function parseCallStackLine(line: string): AllocationFrame[];
59
+ /**
60
+ * Heuristic: pick the user-actionable frame from a call stack. The deepest
61
+ * (closest to allocation) frame whose image is NOT a system runtime. For
62
+ * notelet, this resolves to `MediaNoteItemVideoView.prepareVideo` -- the
63
+ * line in the library that called `AVPlayerItem.init`.
64
+ */
65
+ export declare function pickUserFrame(frames: AllocationFrame[]): AllocationFrame | undefined;
66
+ /** Pure: parse the full `leaks --debug=stacks` output for a class. */
67
+ export declare function parseLeaksDebugStacks(output: string): ReferenceTreeChain[];
@@ -0,0 +1,187 @@
1
+ /**
2
+ * Parser for `leaks --debug=stacks --debug='<ClassName>$'` output.
3
+ *
4
+ * This is the canonical way to get the allocation stack + retainer list for
5
+ * a specific class without it being part of a strict cycle. The notelet
6
+ * investigation's `342 to 0 AVPlayerItem` count came from running this
7
+ * command directly + grepping `_objc_rootAllocWithZone | wc -l`. v1.12
8
+ * automates the parse + aggregates by call-stack fingerprint so the
9
+ * response is a small structured list instead of 342 verbose blocks.
10
+ *
11
+ * Output shape (per SCANNING block):
12
+ *
13
+ * ```text
14
+ * SCANNING <AVPlayerItem 0xADDR> [size]
15
+ * Call stack: 0xADDR (dyld) start | 0xADDR (...) ??? | ...
16
+ * REFERENCES TO THIS: N STRONG: X CONSERVATIVE: Y WEAK UU etc: Z
17
+ * <retainer-class 0xADDR> [size] +offset: edge-name 0xADDR
18
+ * ...
19
+ * CONTENTS:
20
+ * +offset: field-name 0xADDR --> <target-class 0xADDR> [size]
21
+ * ...
22
+ * ```
23
+ *
24
+ * Multiple SCANNING blocks (one per instance) are aggregated by
25
+ * call-stack fingerprint. Identical stacks count as one chain with
26
+ * `instanceCount: N` instead of N duplicates.
27
+ */
28
+ /** Image names we treat as "system runtime" when scanning for the user-actionable frame. */
29
+ const SYSTEM_IMAGES = new Set([
30
+ "dyld",
31
+ "dyld_sim",
32
+ "libobjc.A.dylib",
33
+ "libsystem_malloc.dylib",
34
+ "libsystem_pthread.dylib",
35
+ "libsystem_c.dylib",
36
+ "libdispatch.dylib",
37
+ "libswift_Concurrency.dylib",
38
+ "libswiftCore.dylib",
39
+ "libswiftFoundation.dylib",
40
+ "com.apple.Foundation",
41
+ "com.apple.CoreFoundation",
42
+ "com.apple.SwiftUI",
43
+ "com.apple.UIKitCore",
44
+ "com.apple.GraphicsServices",
45
+ ]);
46
+ /**
47
+ * Pure: parse a single `Call stack: ...` line into an ordered list of frames.
48
+ * Frames are pipe-separated; each frame is `<hex-addr> (<image>) <symbol>`.
49
+ */
50
+ export function parseCallStackLine(line) {
51
+ // Strip the leading "Call stack:" prefix and split by " | " separator.
52
+ const m = /Call stack:\s*(.*)$/.exec(line.trim());
53
+ if (!m)
54
+ return [];
55
+ const raw = m[1];
56
+ const frames = [];
57
+ for (const part of raw.split("|").map((s) => s.trim())) {
58
+ if (!part)
59
+ continue;
60
+ // `0xADDR (image) symbol`
61
+ const fm = /^(0x[0-9a-fA-F]+)\s*\(([^)]+)\)\s*(.*)$/.exec(part);
62
+ if (!fm)
63
+ continue;
64
+ frames.push({
65
+ address: fm[1],
66
+ image: fm[2],
67
+ symbol: fm[3].trim() || "???",
68
+ });
69
+ }
70
+ return frames;
71
+ }
72
+ /**
73
+ * Heuristic: pick the user-actionable frame from a call stack. The deepest
74
+ * (closest to allocation) frame whose image is NOT a system runtime. For
75
+ * notelet, this resolves to `MediaNoteItemVideoView.prepareVideo` -- the
76
+ * line in the library that called `AVPlayerItem.init`.
77
+ */
78
+ export function pickUserFrame(frames) {
79
+ // Walk from innermost (end of array) to outermost (start) looking for
80
+ // the first non-system image. Skip frames whose symbol is `???`.
81
+ for (let i = frames.length - 1; i >= 0; i--) {
82
+ const f = frames[i];
83
+ if (SYSTEM_IMAGES.has(f.image))
84
+ continue;
85
+ if (f.symbol === "???")
86
+ continue;
87
+ return f;
88
+ }
89
+ return undefined;
90
+ }
91
+ /**
92
+ * Fingerprint a call stack for aggregation. Strips addresses (which differ
93
+ * per instance even when the call site is the same), keeps image + symbol.
94
+ */
95
+ function fingerprintCallStack(frames) {
96
+ return frames.map((f) => `${f.image}::${f.symbol}`).join("|");
97
+ }
98
+ /** Pure: parse the full `leaks --debug=stacks` output for a class. */
99
+ export function parseLeaksDebugStacks(output) {
100
+ const blocks = output.split(/^SCANNING\s+/m).slice(1);
101
+ const buckets = new Map();
102
+ for (const block of blocks) {
103
+ // Block header: `<ClassName 0xADDR> [size]\n` followed by indented lines.
104
+ const headerMatch = /^<[^>]+\s+(0x[0-9a-fA-F]+)>\s*\[\d+\]/.exec(block);
105
+ if (!headerMatch)
106
+ continue;
107
+ const exampleAddress = headerMatch[1];
108
+ const lines = block.split(/\r?\n/);
109
+ let callStack = [];
110
+ const retainers = new Set();
111
+ let inRetainerSection = false;
112
+ let inContentsSection = false;
113
+ for (const line of lines) {
114
+ if (line.includes("Call stack:")) {
115
+ callStack = parseCallStackLine(line);
116
+ continue;
117
+ }
118
+ if (/^REFERENCES TO THIS:/.test(line.trim())) {
119
+ inRetainerSection = true;
120
+ inContentsSection = false;
121
+ continue;
122
+ }
123
+ if (/^CONTENTS:/.test(line.trim())) {
124
+ inRetainerSection = false;
125
+ inContentsSection = true;
126
+ continue;
127
+ }
128
+ if (inRetainerSection) {
129
+ // Lines look like:
130
+ // ` <retainer-class 0xADDR> [size] +N: edge 0xADDR`
131
+ // ` <NSMutableSet (Storage) 0xADDR> [size] +N: __strong 0xADDR`
132
+ // The class name can contain spaces and parens (Foundation storage
133
+ // variants); capture everything between the leading `<` and the
134
+ // ` 0xADDR>` suffix. Greedy until the last space-then-hex pattern.
135
+ const rm = /<\s*(.+?)\s+0x[0-9a-fA-F]+\s*>/.exec(line);
136
+ if (rm) {
137
+ const name = rm[1].trim();
138
+ if (name.length > 0)
139
+ retainers.add(name);
140
+ }
141
+ }
142
+ // We don't currently capture CONTENTS (outgoing edges). Could be
143
+ // surfaced later as a separate field if useful.
144
+ void inContentsSection;
145
+ }
146
+ if (callStack.length === 0)
147
+ continue;
148
+ const fp = fingerprintCallStack(callStack);
149
+ const existing = buckets.get(fp);
150
+ if (existing) {
151
+ existing.instanceCount += 1;
152
+ for (const r of retainers) {
153
+ existing.retainerCounts.set(r, (existing.retainerCounts.get(r) ?? 0) + 1);
154
+ }
155
+ }
156
+ else {
157
+ const retainerCounts = new Map();
158
+ for (const r of retainers)
159
+ retainerCounts.set(r, 1);
160
+ buckets.set(fp, {
161
+ instanceCount: 1,
162
+ callStack,
163
+ exampleAddress,
164
+ retainerCounts,
165
+ });
166
+ }
167
+ }
168
+ const chains = [];
169
+ for (const b of buckets.values()) {
170
+ const retainers = Array.from(b.retainerCounts.entries())
171
+ .map(([className, count]) => ({ className, count }))
172
+ .sort((x, y) => y.count - x.count);
173
+ const chain = {
174
+ instanceCount: b.instanceCount,
175
+ callStack: b.callStack,
176
+ exampleAddress: b.exampleAddress,
177
+ retainers,
178
+ };
179
+ const uf = pickUserFrame(b.callStack);
180
+ if (uf)
181
+ chain.userFrame = uf;
182
+ chains.push(chain);
183
+ }
184
+ chains.sort((a, b) => b.instanceCount - a.instanceCount);
185
+ return chains;
186
+ }
187
+ //# sourceMappingURL=leaksDebugStacks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leaksDebugStacks.js","sourceRoot":"","sources":["../../src/parsers/leaksDebugStacks.ts"],"names":[],"mappings":"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"}
@@ -267,6 +267,11 @@ export function isFrameworkNoise(className) {
267
267
  // missed them, e.g. closures with no class name).
268
268
  if (/^<[^>]*0x[0-9a-fA-F]+>/.test(className))
269
269
  return true;
270
+ // "N bytes into <SomeClass 0xADDR> [size]" form. These are heap offsets,
271
+ // not class instances; they represent partial allocations and scale with
272
+ // app activity (Swift runtime growing, ObjC class table loading, etc.).
273
+ if (/^\d+ bytes into\b/.test(className))
274
+ return true;
270
275
  // Foundation observer registry internals (these grow with KVO activity but
271
276
  // are not the actionable site; the user's class is what to fix).
272
277
  if (className === "CFXNotificationRegistrar")
@@ -1 +1 @@
1
- {"version":3,"file":"referenceTree.js","sourceRoot":"","sources":["../../src/parsers/referenceTree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"referenceTree.js","sourceRoot":"","sources":["../../src/parsers/referenceTree.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,19 @@ export const PROMPTS = [
65
65
  ],
66
66
  render: ({ tracePath }) => renderPlaybookPrompt(PLAYBOOKS["app-launch-slow"], { tracePath }),
67
67
  },
68
+ {
69
+ name: "summarize-trace",
70
+ title: "Single-call cross-schema summary card for a .trace",
71
+ description: "Call `summarizeTrace` on the user-supplied .trace and present the markdown card. Surfaces hangs, hitches, time-profile hotspots, allocations, app launch, and cross-correlations in one pass. Use this as the FIRST step on any new .trace.",
72
+ arguments: [
73
+ {
74
+ name: "tracePath",
75
+ description: "Absolute path to the .trace bundle",
76
+ required: true,
77
+ },
78
+ ],
79
+ render: ({ tracePath }) => renderSummarizeTracePrompt(tracePath),
80
+ },
68
81
  {
69
82
  name: "verify-cycle-fix",
70
83
  title: "Verify a fix closed a known cycle",
@@ -87,6 +100,42 @@ export const PROMPTS = [
87
100
  export function findPrompt(name) {
88
101
  return PROMPTS.find((p) => p.name === name);
89
102
  }
103
+ /**
104
+ * v1.13: summarize-trace prompt. Unlike the other prompts (which render
105
+ * multi-step playbooks), this one wraps a single tool call. The brief
106
+ * tells the agent to (1) call `summarizeTrace`, (2) present the
107
+ * pre-rendered markdown card to the user verbatim, (3) offer to drill
108
+ * in via the response's `suggestedNextCalls[]`.
109
+ */
110
+ function renderSummarizeTracePrompt(tracePath) {
111
+ return [
112
+ `Run the **trace-summary** flow on \`${tracePath}\`.`,
113
+ "",
114
+ "## Step 1: `summarizeTrace`",
115
+ "",
116
+ "Call this tool first:",
117
+ "",
118
+ "```json",
119
+ `{ "tracePath": "${tracePath}" }`,
120
+ "```",
121
+ "",
122
+ "The response carries a structured per-area summary PLUS a pre-rendered markdown card (`result.markdown`).",
123
+ "",
124
+ "## Step 2: present the markdown card",
125
+ "",
126
+ "Show the user the `markdown` field verbatim. Do NOT re-summarize what it already says. It's been tuned for direct presentation.",
127
+ "",
128
+ "## Step 3: offer to drill in",
129
+ "",
130
+ "Each populated area carries `result.areas.<area>.result.suggestedNextCalls[]` (when present) plus `result.inspection.suggestedNextCalls[]` for the analyzer level. Surface these as concrete follow-up offers (e.g. \"Want me to run `analyzeTimeProfile` to see the top 30 symbols instead of just 15?\").",
131
+ "",
132
+ "## Do NOT",
133
+ "",
134
+ "- Propose architectural changes before the user has seen the summary.",
135
+ "- Re-call `summarizeTrace` to refine; pass `verbose: true` to expand or `focus: \"hangs\"` to bias instead.",
136
+ "- Re-call individual analyzers if the summary already answered the question.",
137
+ ].join("\n");
138
+ }
90
139
  /**
91
140
  * Substitutes user-provided values into a playbook's argsTemplate slots and
92
141
  * renders a markdown brief the agent can act on directly.