[GH-ISSUE #2914] [Feature] Compare API surfaces from historical web network captures #1025

Open
opened 2026-10-15 18:30:27 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @zhangguiping-xydt on GitHub (Oct 13, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/2914

Problem

An analyst comparing two recorded sessions currently has to aggregate and match HTTP endpoints manually. compare_web_captures accepts page inspections or recorded browser scenarios, not historical inspect_web_network_capture Evidence. api-surface summarizes only one historical capture.

Desired outcome and success criteria

Provide a shared CLI/MCP comparison of two caller-selected historical API surfaces, reusing the existing grouping rules and admitted capture formats.

  • Report endpoint groups observed in both inputs or only one input, plus differences in recorded statuses and content types.
  • Preserve both source Evidence identities, artifact identities, original record references and grouping inference.
  • Distinguish differences in selected observations from server additions/removals or behavioral equivalence. A missing or partial capture is not evidence that an endpoint does not exist.
  • Preserve selected-record and projection coverage; unavailable response facts must remain unknown.
  • Match exact method/origin/path-template identity, including the distinction between literal placeholder text and inferred templates. Do not guess cross-origin deployment mappings.
  • Operate on retained or portable evidence, without reopening archives, decoding again, replaying requests or contacting targets.
  • Bound comparison state/output before allocation and verify compiled CLI/MCP parity.

Expected interaction with targets

Read existing captured data. No new provider, target execution, network access or mutation authority is requested.

Verification available so far

Source inspection of main 1b6c899: browser comparison dispatcher and input schema admit browser page/scenario results; the API view has one parent only.

Proposed checks: independently recorded before/after captures through compiled CLI and production stdio MCP, unchanged and changed groups, one-sided observations, incomplete/selected records, unavailable response facts, inferred-vs-literal path identity, sensitive declarations, source authentication and representation limits.

Alternatives considered

The browser scenario comparator provides a richer but different input/coverage contract. Exporting every capture record and comparing outside REA loses shared grouping, integrity checks and source references.

Implementation available

Implementation: github.com/zhangguiping-xydt/rea@1120966f5d

The branch has passed focused tests, static checks, documentation checks and exact-commit compiled CLI / production stdio MCP verification using real locally recorded traffic. Original working capture files were removed before retained-Evidence projection/comparison; provenance and paging were checked.

Originally created by @zhangguiping-xydt on GitHub (Oct 13, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/2914 ## Problem An analyst comparing two recorded sessions currently has to aggregate and match HTTP endpoints manually. `compare_web_captures` accepts page inspections or recorded browser scenarios, not historical `inspect_web_network_capture` Evidence. `api-surface` summarizes only one historical capture. ## Desired outcome and success criteria Provide a shared CLI/MCP comparison of two caller-selected historical API surfaces, reusing the existing grouping rules and admitted capture formats. - Report endpoint groups observed in both inputs or only one input, plus differences in recorded statuses and content types. - Preserve both source Evidence identities, artifact identities, original record references and grouping inference. - Distinguish differences in selected observations from server additions/removals or behavioral equivalence. A missing or partial capture is not evidence that an endpoint does not exist. - Preserve selected-record and projection coverage; unavailable response facts must remain unknown. - Match exact method/origin/path-template identity, including the distinction between literal placeholder text and inferred templates. Do not guess cross-origin deployment mappings. - Operate on retained or portable evidence, without reopening archives, decoding again, replaying requests or contacting targets. - Bound comparison state/output before allocation and verify compiled CLI/MCP parity. ## Expected interaction with targets Read existing captured data. No new provider, target execution, network access or mutation authority is requested. ## Verification available so far Source inspection of main `1b6c899`: [browser comparison dispatcher](https://github.com/morluto/rea/blob/1b6c899b031421dcf2d725a63e67d99375028d6e/src/domain/browserCaptureComparison.ts) and [input schema](https://github.com/morluto/rea/blob/1b6c899b031421dcf2d725a63e67d99375028d6e/src/domain/webCaptureDiffSchemas.ts#L7) admit browser page/scenario results; the [API view](https://github.com/morluto/rea/blob/1b6c899b031421dcf2d725a63e67d99375028d6e/src/domain/analysisView/webNetworkApiSurfaceView.ts) has one parent only. Proposed checks: independently recorded before/after captures through compiled CLI and production stdio MCP, unchanged and changed groups, one-sided observations, incomplete/selected records, unavailable response facts, inferred-vs-literal path identity, sensitive declarations, source authentication and representation limits. ## Alternatives considered The browser scenario comparator provides a richer but different input/coverage contract. Exporting every capture record and comparing outside REA loses shared grouping, integrity checks and source references. ### Implementation available Implementation: https://github.com/zhangguiping-xydt/rea/commit/1120966f5d27f6ab1d6504dcdd5e079380361312 The branch has passed focused tests, static checks, documentation checks and exact-commit compiled CLI / production stdio MCP verification using real locally recorded traffic. Original working capture files were removed before retained-Evidence projection/comparison; provenance and paging were checked.
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#1025
No description provided.