[PR #3293] [CLOSED] feat(analysis-view): select HAR MIME types in capture previews #5708

Closed
opened 2026-10-31 01:08:49 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/3293
Author: @wunianze666-netizen
Created: 10/14/2026
Status: ❌ Closed

Base: main ← Head: codex/har-preview-content-type


📝 Commits (10+)

  • df3247c feat(analysis-view): select HAR MIME types in capture previews
  • 43e17a2 Merge branch 'main' into codex/har-preview-content-type
  • d870352 Merge branch 'main' into codex/har-preview-content-type
  • a208431 test(analysis-view): verify MIME omission and schema profiles
  • 3c1d724 fix(analysis-view): reconcile HAR preview schema with upstream
  • 9239cbf merge: retain HAR MIME preview tests with current upstream
  • db243a0 merge: integrate upstream CI baseline repairs for MIME preview
  • 0a97b61 merge: preserve MIME previews with source-specific headlines
  • 12cb9c3 test(mcp): pass held definition for MIME previews
  • 784b249 merge: keep schema profiles alongside input-admission controls

📊 Changes

6 files changed (+413 additions, -17 deletions)

View changed files

📝 .agents/skills/reverse-engineer-anything/references/evidence-workflows.md (+6 -0)
📝 docs/web-network-captures.md (+10 -0)
📝 src/domain/analysisView/webNetworkCaptureView.test.ts (+182 -0)
📝 src/domain/analysisView/webNetworkCaptureView.ts (+52 -3)
📝 tests/boundary/cli/analysisViewCli.test.ts (+57 -0)
📝 tests/boundary/mcp/analysisViewMcp.test.ts (+106 -14)

📄 Description

Parked by author reprioritization on 2026-10-29. This PR opened on 2026-10-14; initial review readiness was posted on 2026-10-23. The recorded peer-review points were addressed, but no maintainer review decision is recorded. The owner is prioritizing newer, bounded contributions, including #8020, after repeated upstream-conflict and baseline-CI maintenance. The branch and complete evidence are retained. This PR is closed unmerged; its feature is not declared technically invalid or adopted. The current CI failure and the existing upstream repair #8018 remain documented below.

Current revision — independent schema-profile and input-limit test options

Head 784b24944488d312fedc748d62699527fc7142c1 normally merges the specific conflicting upstream commit f60e42a9aece5119719e554715b012b5630735c0 (#7905) into 12cb9c36 (local tree 458bd1040689aea8767b31f73ad73a0213f50e4a). GitHub and an independent merge-tree confirmed a conflict only in the MCP test helper: its third positional argument meant a schema profile here and an input-element limit upstream.

The helper now accepts named options for its two services, schema profile and input-element limit. All affected call sites were migrated together. Full remains the default profile; the existing upstream per-test limits (524,288 and 8,192) are retained exactly. Both MIME profiles still pass the actual advertised definition through the SDK's toolDefinition option. No MIME production code, runtime setting, assertion or timeout was changed by this resolution; upstream's admission work belongs to its authors. The feature diff remains six files against the frozen upstream commit.

The complete MCP view and compact-schema files passed 46 tests, zero skips (32 + 14), including both MIME profiles and the upstream admission controls. check:fast passed typecheck and lint; targeted formatting and git diff --check passed. Runtime preparation passed three tasks, one cached. These are in-memory SDK boundary checks, not new provider or browser execution. The earlier 211-test, four-HAR/279-record and full-check results below were not rerun; the previously documented upstream architecture failure remains a validation gap, with #7967 still unmerged.

The preceding 12cb9c36 CI 40825576443 completed successfully (37 jobs: 17 successful, 20 skipped). Its inspected source job ran b5ca111e2e5acb79c7cdc66af30c641e76704132, parents ddefba83 + 12cb9c36, tree e2b059720e244d9bcabdd668677c2401d23171af, and passed 21,676 source tests with 16 skips. That tree differs from the earlier local tree and is historical qualification only. CI 40839167320 completed with failure (37 jobs: eight successful, three failed, six cancelled, 20 skipped). Source tests passed 21,764 tests with 16 skips; build, static, documentation and the Windows native build also succeeded. Shard 4/8 failed one unchanged bundleComparisonMcp.test.ts assertion expecting the former flattened field: message text; it reported 2,346 passed, one failed and 41 skipped. The inspected source and failing-shard logs both check out 3393153883c314d1598c3ec36cb8278add976946, parents 2b85a4a2 + 784b2494, tree 08984bb1fb73f080fc5061f0f74b9c81329c6cf2, different from the local tree. A clean checkout of that exact base 2b85a4a2bafc82e3d8c8b4024f00216e9f9e8ff7 independently reproduces the same assertion failure (one selected test failed, eight filtered tests unexecuted). The server now preserves separate field paths and messages, so the old string expectation is stale. @gensokyo-dev already owns the corresponding repair in open, unmerged #8018; it is not duplicated here. No gate, assertion or retry policy was weakened, and this CI remains red until a new revision is qualified. The resolved held-definition review and initial Author readiness remain unchanged.

Previous production revision — source-specific preview integration (0a97b61f)

Head 0a97b61f106ff172ca557831338d6bc7e172fef8 normally merges frozen main 429355ca4d1078579fca7d286de85c512bed0a96 into db243a02 (tree efff3c1fc71faeaa9fa8ca2939441b8ac07124d4). GitHub and an independent merge-tree confirmed a production conflict in webNetworkCaptureView.ts. The resolution retains upstream #7832's source-format headline tables and scalar-only selection, while preserving opt-in HAR MIME projection and its facet checks. The existing MIME regression now also supplies HAR name/type container extensions and verifies that they stay out of the selected preview. Upstream work remains attributed to its authors; the feature diff remains six files.

On this exact local tree, all 211 tests in six related files passed, with zero skips: capture views 62, application service 68, compiled CLI 26, SDK MCP 32, compact-profile/schema checks 14, and README consistency 9. The build's three tasks passed. Complete/preview production stdio workflows passed for the same four pinned public HAR files and their 279 original records (eight workflows, four unique inputs), using TraceDelta 0.5.1 and an independent oracle. Original source SHA/bytes, ordinals, unknowns, selection, coverage and each path's query-name provenance were checked. No recording, replay or performance comparison was performed.

The six static tasks passed, including typecheck, lint/module boundaries, format, Knip and metadata. Production reachability, typed lint and documentation checks also passed; the repeated nine README tests are not added again. The complete npm run check is not green: its architecture guard rejects the unchanged upstream electronCallPathBlockPrefixes.ts child walker. The clean frozen 429355ca baseline reproduces that same finding. @WenyuChiou's existing draft #7967 addresses it and remains unmerged; this PR does not duplicate or suppress that repair. The official 6.8 Windows native component passed the current PE/hash/N-API/ABI artifact verifier; broader Windows/provider execution is unverified.

CI 40815811295 completed successfully for 0a97b61f (37 jobs: 17 successful, 20 optional skips). Its inspected source job checked out 9b21b809f55a04e4bf9edddd9b932dd11d93229b, parents 429355ca + 0a97b61f, tree efff3c1fc71faeaa9fa8ca2939441b8ac07124d4, and passed 21,604 source tests with 16 skips, including the 62 capture-view tests. This run does not qualify the later test-only follow-up head. Older green CI and measurements below remain evidence only for their stated revisions. Initial Author readiness is preserved and is not a claim that the human owner reviewed every subsequent diff.

Summary

Select recorded HAR response MIME types in capture previews with optional include_response_content_type, keeping headers and bodies outside the selected output. No linked issue: this enhancement came from the TraceDelta consumer's need for MIME facts without complete body delivery.

Problem and expected behavior

Previously MIME facts required complete records even when an analyst only needed headlines. Opted-in HAR previews now retain exact string/null MIME facts; absent, redacted, descriptor-hidden or malformed fields are not invented. Default and explicit false preserve existing previews.

Change and scope

Selection belongs to the existing capture projector over parsed producer facts, with matching authored guide and boundary tests. This is within the existing analysis-view scope; no new provider or target-execution authority requiring a separate maintainer decision.

Contract and boundary impact

  • Semantic owner and earliest changed stage: webNetworkCaptureView selects parsed HAR facts; it does not reparse HTTP or payload bytes.
  • Contribution scope fit and linked maintainer decision: existing historical Evidence projection; separate scope decision not applicable.
  • CLI and MCP/tool-catalog contract: additive optional boolean for view.kind=capture, detail=preview on HAR. Complete pages and non-HAR formats reject the option. Example view: {kind:"capture",detail:"preview",include_response_content_type:true}.
  • Provider/bridge/format/platform compatibility: HAR only; full and compact advertised MCP profiles are exercised. No deep analysis provider is started.
  • Evidence/artifact/provenance contract: original record ordinals, parent Evidence and retained/page coverage survive; original MIME spelling is preserved.
  • Target selection/authority/cleanup: read selected historical facts; no new acquisition, mutation, replay or cleanup policy.
  • Generated metadata/package/install impact: canonical contract and authored skill reference updated; ignored catalogs/skills are generated by existing checks, not committed. No added package/install dependency.

Expected effects of the feature:

  • Read existing files or captured data.
  • Launch or attach to a process.
  • Inject instrumentation or run scripts/code.
  • Change process memory, registers, files, or configuration.
  • Contact network services.
  • Recover protected code or work around protections.
  • Documentation or usability only; no target interaction.
  • Not sure yet; investigation or maintainer guidance needed.

Evidence and regression coverage

  • Ordinary merge db243a02bb9d6144d17040585280d2670fffe045 integrates frozen main ad7d4c1f4dd9cbd93229ee330e66c7a522e723e6 on the original branch. Upstream #7349/#7479 now contain the previously reproduced CI fixture/static-check repairs. The merge is conflict-free; relative to this main the MIME feature still differs in its original six files. Those upstream repairs are credited to their authors.

  • Current local focused run: 214 passed, 0 failed, 0 skipped across nine files: the previous six MIME/CLI/full-MCP/compact-MCP/profile/docs files (148 controls), plus the three repaired source-fixture files (66 controls). The earlier four local timeouts were not observed in this run; their root cause was not isolated and no speed claim is made.

  • Full npm run check, docs:check and discovery passed. Ordinary knip's prior findings are absent on this tree; no ignore, assertion or timeout was relaxed. All 2,690 test files were discovered exactly once, not executed. The repeated docs9 are not added to214.

  • A later controlled consumer verification completed all four original public HARs /279 records through both complete delivery and explicit MIME preview, against the independent standalone oracle. Source SHA/bytes, original ordinals, unknowns, selection/coverage and each query-name provenance were checked; the preview path was asserted explicitly. It used the unchanged local db243a02/tree10240299 source6.8 build and a consumer using the SDK's supported selected-tool definition option with full selected-output validation and the same60-second request budget. No REA source or server budget was changed. The earlier timeout and bounded-fixture attempts are retained below; this does not establish one cause for every old timeout.

  • Current-head code CI40637017728 completed success, attempt1:37jobs comprise17success/20optional skips. Source tests passed21,067 with15skips; all eight built shards, build/static/docs, native build, selected Linux package and final gates passed. Skipped providers/deep/Windows capability checks remain unqualified.

  • Raw primary, all eight shard, native-build and Linux-package checkouts bind this CI to merge 111a5c2acde0356599babbe414944cba50455863, parents fbb0e79354d8cc138026d01de393652913f821bf + db243a02bb9d6144d17040585280d2670fffe045, tree 9a987ee3b1621aae5c2df56a64951ad4792e08c7. That differs from local tree 10240299cc74488d081524561749e621bc3d512a; local214 is not relabeled as remote execution. Remote capture61, CLI28, SDKMCP31 and compact14 are individually observed. CLI28 includes current upstream cases, unlike local26.

  • The previously locally unavailable Linux process-capture lifecycle control, “retains collected observations when completion and cleanup both fail”, passed in shard1 job122646622461 (the file passed24 controls). This is fresh remote evidence, not a Windows reproduction or complete platform claim. The old40459754439 failure remains below as history.

  • Genuine official6.8 native artifact passed current PE/hash/NAPI8/ABI1 checks. Full local repository, broad provider/Windows capability and performance/token/peak-process-family measurements remain outside this run.

  • Observed, derived, and inferred claims remain distinguishable.

  • Artifact identity, source provenance, and failed attempts remain preserved.

  • Unsupported, incomplete, unavailable, or uncertain outcomes remain visible.

Validation performed

Windows x64, pinned Node24.22.1/npm11.16.0 and current upstream locked dependencies; the feature does not change package/lock relative to frozen main. Builds and checks were serial.

  • node scripts/run-development-tests.mjs focused src/domain/analysisView/webNetworkCaptureView.test.ts tests/boundary/cli/analysisViewCli.test.ts tests/boundary/mcp/analysisViewMcp.test.ts tests/boundary/mcp/compactInputSchemaMcp.test.ts tests/conformance/contracts/mcpInputSchemaProfile.test.ts tests/conformance/readmeConsistency.test.ts src/domain/apple/appleApplication.test.ts src/windows/WindowsNativeLoader.test.ts tests/composition/analysis-sessions/providerBinding.test.ts — three build tasks and214 tests passed,0skip.
  • npm run check — passed, including type/lint/module boundaries, formatting, metadata, ordinary knip, architecture, production reachability and typed lint. npm run docs:check and verify:test-discovery passed; repeated docs9 are not added again.
  • Production stdio parity with the updated external consumer — four pinned original public HARs/279 records, complete and explicit MIME-preview delivery, eight fresh workflows, passed the independent oracle. Selected results retain real SDK output validation; no schema was stripped and no per-request timeout increased. This new local consumer verification does not add source CI, browser or broad platform/provider qualification.
  • node scripts/verify-windows-native-artifact.mjs — genuine official1173 source6.8 artifact accepted, without a fabricated manifest. This is component admission, not broad Windows execution qualification.
Earlier consumer verification attempts (historical)
  • The optional full four-original-HAR parity rerun hit the SDK's unchanged60-second RequestTimeout and did not complete. No fresh279-record corpus pass is claimed. A separate bounded two-record generated HAR passed complete/preview parity with the independent oracle, preserving source SHA/original ordinals/unknown/selection/coverage and each path's query-name provenance; the old9239 complete/preview279-record result remains historical.

  • Four fixed public HARs through the historical-data consumer — incomplete because one SDK call timed out at its existing60-second limit; no retry or larger timeout. A separate two-record generated HAR passed complete/preview comparison against the independent oracle. The first generated fixture omitted a HAR1.2-required MIME key and was rejected by the oracle before REA started; its corrected valid empty-string MIME control preserves unknown. That fixture error is retained separately and is not a product failure.

Previous-head evidence and failed attempts (historical)
  • Tests cover absent/null/empty/malformed MIME, redaction and byte descriptors, retained/inline parity, body/header omission, unchanged default/false, original ordinals, compiled CLI and actual full/compact SDK schemas.
  • Ordinary merge 9239cbffaa314f13996de5c53b5752050f4a13d5 integrates frozen main 0a9d92a54bfa8f13eeed76d3296b0a9bf3c0608b on the original branch. The independently reproduced conflict was one test insertion: every MIME case and upstream's updated subject-digest regression are retained. The MCP case uses the file-owned schema-validation cache. Relative to that main, the feature still differs in six files; upstream changes are not attributed to this PR.
  • Current local focused run: 144 passed, 4 timed out, 0 skipped (148 total) across capture61, compiled CLI26, SDK MCP31, compact MCP14, profile7 and docs9. All MIME-specific controls passed. The same four controls also timed out at the unchanged 30-second limit on an isolated, unmodified 0a9d92a5 worktree with the same locked dependencies/runtime. The cause remains unestablished; these are not counted as passes or a green baseline.
  • npm run check stopped at three knip unused-export findings (staticFileUrlPath, AndroidManifestComponentInventory, ObjcClassImportBindingCoverage). The identical three findings were reproduced on the isolated main worktree. No export, ignore rule or timeout was changed. Independently run typecheck, lint/module boundaries, architecture guards, production reachability, typed lint and docs passed; formatting and metadata checks also passed. All 2,659 test files were discovered exactly once; that is discovery, not execution of the full suite.
  • Production stdio MCP: four pinned public HARs / 279 original records matched the independent standalone oracle through complete and MIME-preview delivery. Source SHA, original ordinals, unknowns, selection, coverage and each path's distinct query-name provenance were preserved. This was offline historical-data analysis, with no new target capture or replay.
  • New-head code CI 40459754439 failed: 37 jobs comprise 6 success, 4 failure, 7 cancellation and 20 optional skips. Two test jobs failed; portable/required gates correctly retained the failure. Source tests reported 17 failures in three files; all 17 were independently reproduced on the unmodified actual CI base 365fb03e (66 selected source controls: 49 pass / 17 fail). Shard2 reported six boundary failures: five were reproduced on that same unmodified base after its own build; the process-capture control was unavailable on Windows10 and was not reproduced locally. No fixtures, admission checks or timeouts were weakened. These baseline comparisons do not make the PR CI green.
  • Primary jobs and all eight shard raw checkouts confirm actual merge 2a7623ef7c17a361e3d10c73872da9989b639b54, base 365fb03e73ffb23f4394b7fb82776f7dd2045301, tree 93a6301b9b61b05095df565c1469284aa5de3783. That tree differs from locally validated 08f7f28cad5c04bbf5a9459fe40ae59beb7535ec. Remote capture-view61 and SDK MCP31 passed; the latter file completed within a subsequently cancelled shard, so it does not qualify that whole shard. Build/static/docs, bundled Windows native build and the selected Linux package baseline passed. Deep static/provider/Windows capability skips do not qualify those checks. The older green CI39821674880 remains head3c1 history only.
  • Remaining gaps: the local focused run and full check remain red as described; no full local suite, complete provider/Windows capability run or new performance benchmark. The Linux process-capture failure remains unverified on this host; CI is blocked as recorded above. The genuine official6.8 native artifact passed the current shared PE/hash/ABI checker. Its C++ producer matches the frozen source, while build/checker integration changed upstream; the broader Windows functional verifier was not run.

Windows x64, Node24.22.1/npm11.16.0, with the explicit pinned node and npm-cli entry. Locked upstream6.8 dependencies were installed with ci --ignore-scripts --no-audit; package/lock are unchanged by the six-file feature relative to frozen main. Local builds/checks were serial.

  • node scripts/run-development-tests.mjs focused src/domain/analysisView/webNetworkCaptureView.test.ts tests/boundary/cli/analysisViewCli.test.ts tests/boundary/mcp/analysisViewMcp.test.ts tests/boundary/mcp/compactInputSchemaMcp.test.ts tests/conformance/contracts/mcpInputSchemaProfile.test.ts tests/conformance/readmeConsistency.test.ts — build: three tasks passed; tests: 144 pass / 4 timeouts / 0 skip.
  • Isolated unmodified-main comparison — the same four named controls failed with the same unchanged 30-second limit; 64 filtered controls were not executed. npm run knip reproduced the same three unused exports. Neither command is reported green.
  • Actual CI-base comparison: after verifying unchanged lock/Node requirements, isolated base365fb03e reproduced all 17 source failures; its separate three-task build then preceded the six selected boundary controls (five failures reproduced, one Windows capability skip, 32 filtered controls not executed). No complete main suite or Linux process-capture result is inferred.
  • npm run check — failed at knip. Separate npm run typecheck, lint, verify:architecture-guards, knip:production, lint:typed, docs:check and verify:test-discovery passed. Documentation's repeated nine controls are not added again to the 148.
  • node ../rea-analysis-20261014/verify-mime-public-corpus.mjs — four fixed public HAR inputs / 279 records, complete and preview, passed against independent standalone facts.
  • node scripts/verify-windows-native-artifact.mjs — genuine official6.8 artifact from source1173 accepted by current PE/hash/NAPI8/ABI1 checks; no fabricated manifest.

Earlier head3c1's 135 local checks, CI39821674880 and generated8MiB delivery control remain historical evidence, not current-head reruns. The original private API HARs remain unavailable.

Compatibility, safety, and release

  • Breaking changes/migration: none; opt-in additive projection. Omitted and false preserve defaults; true is rejected outside HAR preview.
  • Real provider/OS coverage: production stdio MCP over four pinned public HARvest inputs and converted full/compact SDK schema controls. No live Hopper/Ghidra/browser capture or complete platform qualification.
  • Package/release metadata: no feature dependency, installer or release change relative to frozen upstream.
  • Privacy/containment: MIME previews omit response bodies/headers; source provenance remains available. No new recording, replay, paid model call, release or deployment. No speed/token benefit is inferred from output bytes; an earlier preview was slower.

Author readiness

Human owner: @wunianze666-netizen

AI-assisted preparation. The human owner has completed the author readiness declaration.

  • I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • I declare this PR ready for initial maintainer review.

Before merge

  • This PR addresses a concrete problem or an agreed enhancement.
  • Material scope and authority questions are resolved within the existing boundary; no new execution/provider authority.
  • The PR has one focused outcome and a Conventional Commit title.
  • The reason for not linking an issue is stated above.
  • Tests cover changed observable behavior and meaningful failure paths.
  • Owning docs and contracts are updated where needed.
  • Representative CLI/MCP behavior or its non-applicability is described.
  • I checked the final diff for secrets, unrelated cleanup, and unsupported claims.

🔄 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/3293 **Author:** [@wunianze666-netizen](https://github.com/wunianze666-netizen) **Created:** 10/14/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `codex/har-preview-content-type` --- ### 📝 Commits (10+) - [`df3247c`](https://github.com/morluto/rea/commit/df3247c21ccdd9593df050fb7ee79aa213b2648e) feat(analysis-view): select HAR MIME types in capture previews - [`43e17a2`](https://github.com/morluto/rea/commit/43e17a23190dbf57e6a73e6a784417a3129dad8f) Merge branch 'main' into codex/har-preview-content-type - [`d870352`](https://github.com/morluto/rea/commit/d87035275a6ca33df55b2c403d3c2b2ff8d8deee) Merge branch 'main' into codex/har-preview-content-type - [`a208431`](https://github.com/morluto/rea/commit/a2084311cbdba64bba28c0a376ab5d19ab7f249a) test(analysis-view): verify MIME omission and schema profiles - [`3c1d724`](https://github.com/morluto/rea/commit/3c1d724b13d7c379c5b5dc85a31061f0455978f9) fix(analysis-view): reconcile HAR preview schema with upstream - [`9239cbf`](https://github.com/morluto/rea/commit/9239cbffaa314f13996de5c53b5752050f4a13d5) merge: retain HAR MIME preview tests with current upstream - [`db243a0`](https://github.com/morluto/rea/commit/db243a02bb9d6144d17040585280d2670fffe045) merge: integrate upstream CI baseline repairs for MIME preview - [`0a97b61`](https://github.com/morluto/rea/commit/0a97b61f106ff172ca557831338d6bc7e172fef8) merge: preserve MIME previews with source-specific headlines - [`12cb9c3`](https://github.com/morluto/rea/commit/12cb9c3619701625e72273e45716214e36084f79) test(mcp): pass held definition for MIME previews - [`784b249`](https://github.com/morluto/rea/commit/784b24944488d312fedc748d62699527fc7142c1) merge: keep schema profiles alongside input-admission controls ### 📊 Changes **6 files changed** (+413 additions, -17 deletions) <details> <summary>View changed files</summary> 📝 `.agents/skills/reverse-engineer-anything/references/evidence-workflows.md` (+6 -0) 📝 `docs/web-network-captures.md` (+10 -0) 📝 `src/domain/analysisView/webNetworkCaptureView.test.ts` (+182 -0) 📝 `src/domain/analysisView/webNetworkCaptureView.ts` (+52 -3) 📝 `tests/boundary/cli/analysisViewCli.test.ts` (+57 -0) 📝 `tests/boundary/mcp/analysisViewMcp.test.ts` (+106 -14) </details> ### 📄 Description > Parked by author reprioritization on 2026-10-29. This PR opened on 2026-10-14; initial review readiness was posted on 2026-10-23. The recorded peer-review points were addressed, but no maintainer review decision is recorded. The owner is prioritizing newer, bounded contributions, including #8020, after repeated upstream-conflict and baseline-CI maintenance. The branch and complete evidence are retained. This PR is closed unmerged; its feature is not declared technically invalid or adopted. The current CI failure and the existing upstream repair #8018 remain documented below. ## Current revision — independent schema-profile and input-limit test options Head `784b24944488d312fedc748d62699527fc7142c1` normally merges the specific conflicting upstream commit `f60e42a9aece5119719e554715b012b5630735c0` (#7905) into `12cb9c36` (local tree `458bd1040689aea8767b31f73ad73a0213f50e4a`). GitHub and an independent merge-tree confirmed a conflict only in the MCP test helper: its third positional argument meant a schema profile here and an input-element limit upstream. The helper now accepts named options for its two services, schema profile and input-element limit. All affected call sites were migrated together. Full remains the default profile; the existing upstream per-test limits (524,288 and 8,192) are retained exactly. Both MIME profiles still pass the actual advertised definition through the SDK's `toolDefinition` option. No MIME production code, runtime setting, assertion or timeout was changed by this resolution; upstream's admission work belongs to its authors. The feature diff remains six files against the frozen upstream commit. The complete MCP view and compact-schema files passed **46 tests, zero skips** (32 + 14), including both MIME profiles and the upstream admission controls. `check:fast` passed typecheck and lint; targeted formatting and `git diff --check` passed. Runtime preparation passed three tasks, one cached. These are in-memory SDK boundary checks, not new provider or browser execution. The earlier 211-test, four-HAR/279-record and full-check results below were not rerun; the previously documented upstream architecture failure remains a validation gap, with #7967 still unmerged. The preceding `12cb9c36` [CI 40825576443](https://github.com/morluto/rea/actions/runs/40825576443) completed successfully (37 jobs: 17 successful, 20 skipped). Its inspected source job ran `b5ca111e2e5acb79c7cdc66af30c641e76704132`, parents `ddefba83` + `12cb9c36`, tree `e2b059720e244d9bcabdd668677c2401d23171af`, and passed 21,676 source tests with 16 skips. That tree differs from the earlier local tree and is historical qualification only. [CI 40839167320](https://github.com/morluto/rea/actions/runs/40839167320) completed with failure (37 jobs: eight successful, three failed, six cancelled, 20 skipped). Source tests passed 21,764 tests with 16 skips; build, static, documentation and the Windows native build also succeeded. Shard 4/8 failed one unchanged `bundleComparisonMcp.test.ts` assertion expecting the former flattened `field: message` text; it reported 2,346 passed, one failed and 41 skipped. The inspected source and failing-shard logs both check out `3393153883c314d1598c3ec36cb8278add976946`, parents `2b85a4a2` + `784b2494`, tree `08984bb1fb73f080fc5061f0f74b9c81329c6cf2`, different from the local tree. A clean checkout of that exact base `2b85a4a2bafc82e3d8c8b4024f00216e9f9e8ff7` independently reproduces the same assertion failure (one selected test failed, eight filtered tests unexecuted). The server now preserves separate field paths and messages, so the old string expectation is stale. @gensokyo-dev already owns the corresponding repair in open, unmerged #8018; it is not duplicated here. No gate, assertion or retry policy was weakened, and this CI remains red until a new revision is qualified. The resolved held-definition review and initial Author readiness remain unchanged. ## Previous production revision — source-specific preview integration (0a97b61f) Head `0a97b61f106ff172ca557831338d6bc7e172fef8` normally merges frozen main `429355ca4d1078579fca7d286de85c512bed0a96` into `db243a02` (tree `efff3c1fc71faeaa9fa8ca2939441b8ac07124d4`). GitHub and an independent merge-tree confirmed a production conflict in `webNetworkCaptureView.ts`. The resolution retains upstream #7832's source-format headline tables and scalar-only selection, while preserving opt-in HAR MIME projection and its facet checks. The existing MIME regression now also supplies HAR `name`/`type` container extensions and verifies that they stay out of the selected preview. Upstream work remains attributed to its authors; the feature diff remains six files. On this exact local tree, all **211 tests in six related files passed, with zero skips**: capture views 62, application service 68, compiled CLI 26, SDK MCP 32, compact-profile/schema checks 14, and README consistency 9. The build's three tasks passed. Complete/preview production stdio workflows passed for the same four pinned public HAR files and their 279 original records (eight workflows, four unique inputs), using TraceDelta 0.5.1 and an independent oracle. Original source SHA/bytes, ordinals, unknowns, selection, coverage and each path's query-name provenance were checked. No recording, replay or performance comparison was performed. The six static tasks passed, including typecheck, lint/module boundaries, format, Knip and metadata. Production reachability, typed lint and documentation checks also passed; the repeated nine README tests are not added again. **The complete `npm run check` is not green**: its architecture guard rejects the unchanged upstream `electronCallPathBlockPrefixes.ts` child walker. The clean frozen `429355ca` baseline reproduces that same finding. @WenyuChiou's existing draft #7967 addresses it and remains unmerged; this PR does not duplicate or suppress that repair. The official 6.8 Windows native component passed the current PE/hash/N-API/ABI artifact verifier; broader Windows/provider execution is unverified. [CI 40815811295](https://github.com/morluto/rea/actions/runs/40815811295) completed successfully for `0a97b61f` (37 jobs: 17 successful, 20 optional skips). Its inspected source job checked out `9b21b809f55a04e4bf9edddd9b932dd11d93229b`, parents `429355ca` + `0a97b61f`, tree `efff3c1fc71faeaa9fa8ca2939441b8ac07124d4`, and passed 21,604 source tests with 16 skips, including the 62 capture-view tests. This run does not qualify the later test-only follow-up head. Older green CI and measurements below remain evidence only for their stated revisions. Initial Author readiness is preserved and is not a claim that the human owner reviewed every subsequent diff. ## Summary Select recorded HAR response MIME types in capture previews with optional `include_response_content_type`, keeping headers and bodies outside the selected output. No linked issue: this enhancement came from the TraceDelta consumer's need for MIME facts without complete body delivery. ## Problem and expected behavior Previously MIME facts required complete records even when an analyst only needed headlines. Opted-in HAR previews now retain exact string/null MIME facts; absent, redacted, descriptor-hidden or malformed fields are not invented. Default and explicit false preserve existing previews. ## Change and scope Selection belongs to the existing capture projector over parsed producer facts, with matching authored guide and boundary tests. This is within the [existing analysis-view scope](https://github.com/morluto/rea/blob/main/CONTRIBUTING.md#contribution-scope); no new provider or target-execution authority requiring a separate maintainer decision. ## Contract and boundary impact - Semantic owner and earliest changed stage: `webNetworkCaptureView` selects parsed HAR facts; it does not reparse HTTP or payload bytes. - Contribution scope fit and linked maintainer decision: existing historical Evidence projection; separate scope decision not applicable. - CLI and MCP/tool-catalog contract: additive optional boolean for `view.kind=capture, detail=preview` on HAR. Complete pages and non-HAR formats reject the option. Example view: `{kind:"capture",detail:"preview",include_response_content_type:true}`. - Provider/bridge/format/platform compatibility: HAR only; full and compact advertised MCP profiles are exercised. No deep analysis provider is started. - Evidence/artifact/provenance contract: original record ordinals, parent Evidence and retained/page coverage survive; original MIME spelling is preserved. - Target selection/authority/cleanup: read selected historical facts; no new acquisition, mutation, replay or cleanup policy. - Generated metadata/package/install impact: canonical contract and authored skill reference updated; ignored catalogs/skills are generated by existing checks, not committed. No added package/install dependency. Expected effects of the feature: - [x] Read existing files or captured data. - [ ] Launch or attach to a process. - [ ] Inject instrumentation or run scripts/code. - [ ] Change process memory, registers, files, or configuration. - [ ] Contact network services. - [ ] Recover protected code or work around protections. - [ ] Documentation or usability only; no target interaction. - [ ] Not sure yet; investigation or maintainer guidance needed. ## Evidence and regression coverage - Ordinary merge `db243a02bb9d6144d17040585280d2670fffe045` integrates frozen main `ad7d4c1f4dd9cbd93229ee330e66c7a522e723e6` on the original branch. Upstream #7349/#7479 now contain the previously reproduced CI fixture/static-check repairs. The merge is conflict-free; relative to this main the MIME feature still differs in its original six files. Those upstream repairs are credited to their authors. - Current local focused run: **214 passed, 0 failed, 0 skipped** across nine files: the previous six MIME/CLI/full-MCP/compact-MCP/profile/docs files (148 controls), plus the three repaired source-fixture files (66 controls). The earlier four local timeouts were not observed in this run; their root cause was not isolated and no speed claim is made. - Full `npm run check`, `docs:check` and discovery passed. Ordinary knip's prior findings are absent on this tree; no ignore, assertion or timeout was relaxed. All 2,690 test files were discovered exactly once, not executed. The repeated docs9 are not added to214. - A later controlled consumer verification completed all four original public HARs /279 records through both complete delivery and explicit MIME preview, against the independent standalone oracle. Source SHA/bytes, original ordinals, unknowns, selection/coverage and each query-name provenance were checked; the preview path was asserted explicitly. It used the unchanged local db243a02/tree10240299 source6.8 build and a consumer using the SDK's supported selected-tool definition option with full selected-output validation and the same60-second request budget. No REA source or server budget was changed. The earlier timeout and bounded-fixture attempts are retained below; this does not establish one cause for every old timeout. - Current-head [code CI40637017728](https://github.com/morluto/rea/actions/runs/40637017728) completed **success**, attempt1:37jobs comprise17success/20optional skips. Source tests passed21,067 with15skips; all eight built shards, build/static/docs, native build, selected Linux package and final gates passed. Skipped providers/deep/Windows capability checks remain unqualified. - Raw primary, all eight shard, native-build and Linux-package checkouts bind this CI to merge `111a5c2acde0356599babbe414944cba50455863`, parents `fbb0e79354d8cc138026d01de393652913f821bf` + `db243a02bb9d6144d17040585280d2670fffe045`, tree `9a987ee3b1621aae5c2df56a64951ad4792e08c7`. That differs from local tree `10240299cc74488d081524561749e621bc3d512a`; local214 is not relabeled as remote execution. Remote capture61, CLI28, SDKMCP31 and compact14 are individually observed. CLI28 includes current upstream cases, unlike local26. - The previously locally unavailable Linux process-capture lifecycle control, “retains collected observations when completion and cleanup both fail”, passed in shard1 job122646622461 (the file passed24 controls). This is fresh remote evidence, not a Windows reproduction or complete platform claim. The old40459754439 failure remains below as history. - Genuine official6.8 native artifact passed current PE/hash/NAPI8/ABI1 checks. Full local repository, broad provider/Windows capability and performance/token/peak-process-family measurements remain outside this run. - [x] Observed, derived, and inferred claims remain distinguishable. - [x] Artifact identity, source provenance, and failed attempts remain preserved. - [x] Unsupported, incomplete, unavailable, or uncertain outcomes remain visible. ## Validation performed Windows x64, pinned Node24.22.1/npm11.16.0 and current upstream locked dependencies; the feature does not change package/lock relative to frozen main. Builds and checks were serial. - `node scripts/run-development-tests.mjs focused src/domain/analysisView/webNetworkCaptureView.test.ts tests/boundary/cli/analysisViewCli.test.ts tests/boundary/mcp/analysisViewMcp.test.ts tests/boundary/mcp/compactInputSchemaMcp.test.ts tests/conformance/contracts/mcpInputSchemaProfile.test.ts tests/conformance/readmeConsistency.test.ts src/domain/apple/appleApplication.test.ts src/windows/WindowsNativeLoader.test.ts tests/composition/analysis-sessions/providerBinding.test.ts` — three build tasks and214 tests passed,0skip. - `npm run check` — passed, including type/lint/module boundaries, formatting, metadata, ordinary knip, architecture, production reachability and typed lint. `npm run docs:check` and `verify:test-discovery` passed; repeated docs9 are not added again. - Production stdio parity with the updated external consumer — four pinned original public HARs/279 records, complete and explicit MIME-preview delivery, eight fresh workflows, passed the independent oracle. Selected results retain real SDK output validation; no schema was stripped and no per-request timeout increased. This new local consumer verification does not add source CI, browser or broad platform/provider qualification. - `node scripts/verify-windows-native-artifact.mjs` — genuine official1173 source6.8 artifact accepted, without a fabricated manifest. This is component admission, not broad Windows execution qualification. <details> <summary>Earlier consumer verification attempts (historical)</summary> - The optional full four-original-HAR parity rerun hit the SDK's unchanged60-second RequestTimeout and did not complete. No fresh279-record corpus pass is claimed. A separate bounded two-record generated HAR passed complete/preview parity with the independent oracle, preserving source SHA/original ordinals/unknown/selection/coverage and each path's query-name provenance; the old9239 complete/preview279-record result remains historical. - Four fixed public HARs through the historical-data consumer — incomplete because one SDK call timed out at its existing60-second limit; no retry or larger timeout. A separate two-record generated HAR passed complete/preview comparison against the independent oracle. The first generated fixture omitted a HAR1.2-required MIME key and was rejected by the oracle before REA started; its corrected valid empty-string MIME control preserves unknown. That fixture error is retained separately and is not a product failure. </details> <details> <summary>Previous-head evidence and failed attempts (historical)</summary> - Tests cover absent/null/empty/malformed MIME, redaction and byte descriptors, retained/inline parity, body/header omission, unchanged default/false, original ordinals, compiled CLI and actual full/compact SDK schemas. - Ordinary merge `9239cbffaa314f13996de5c53b5752050f4a13d5` integrates frozen main `0a9d92a54bfa8f13eeed76d3296b0a9bf3c0608b` on the original branch. The independently reproduced conflict was one test insertion: every MIME case and upstream's updated subject-digest regression are retained. The MCP case uses the file-owned schema-validation cache. Relative to that main, the feature still differs in six files; upstream changes are not attributed to this PR. - Current local focused run: **144 passed, 4 timed out, 0 skipped (148 total)** across capture61, compiled CLI26, SDK MCP31, compact MCP14, profile7 and docs9. All MIME-specific controls passed. The same four controls also timed out at the unchanged 30-second limit on an isolated, unmodified `0a9d92a5` worktree with the same locked dependencies/runtime. The cause remains unestablished; these are not counted as passes or a green baseline. - `npm run check` stopped at three knip unused-export findings (`staticFileUrlPath`, `AndroidManifestComponentInventory`, `ObjcClassImportBindingCoverage`). The identical three findings were reproduced on the isolated main worktree. No export, ignore rule or timeout was changed. Independently run typecheck, lint/module boundaries, architecture guards, production reachability, typed lint and docs passed; formatting and metadata checks also passed. All 2,659 test files were discovered exactly once; that is discovery, not execution of the full suite. - Production stdio MCP: four pinned public HARs / 279 original records matched the independent standalone oracle through complete and MIME-preview delivery. Source SHA, original ordinals, unknowns, selection, coverage and each path's distinct query-name provenance were preserved. This was offline historical-data analysis, with no new target capture or replay. - New-head [code CI 40459754439](https://github.com/morluto/rea/actions/runs/40459754439) **failed**: 37 jobs comprise 6 success, 4 failure, 7 cancellation and 20 optional skips. Two test jobs failed; portable/required gates correctly retained the failure. Source tests reported 17 failures in three files; all 17 were independently reproduced on the unmodified actual CI base `365fb03e` (66 selected source controls: 49 pass / 17 fail). Shard2 reported six boundary failures: five were reproduced on that same unmodified base after its own build; the process-capture control was unavailable on Windows10 and was not reproduced locally. No fixtures, admission checks or timeouts were weakened. These baseline comparisons do not make the PR CI green. - Primary jobs and all eight shard raw checkouts confirm actual merge `2a7623ef7c17a361e3d10c73872da9989b639b54`, base `365fb03e73ffb23f4394b7fb82776f7dd2045301`, tree `93a6301b9b61b05095df565c1469284aa5de3783`. That tree differs from locally validated `08f7f28cad5c04bbf5a9459fe40ae59beb7535ec`. Remote capture-view61 and SDK MCP31 passed; the latter file completed within a subsequently cancelled shard, so it does not qualify that whole shard. Build/static/docs, bundled Windows native build and the selected Linux package baseline passed. Deep static/provider/Windows capability skips do not qualify those checks. The older green CI39821674880 remains head3c1 history only. - Remaining gaps: the local focused run and full `check` remain red as described; no full local suite, complete provider/Windows capability run or new performance benchmark. The Linux process-capture failure remains unverified on this host; CI is blocked as recorded above. The genuine official6.8 native artifact passed the current shared PE/hash/ABI checker. Its C++ producer matches the frozen source, while build/checker integration changed upstream; the broader Windows functional verifier was not run. Windows x64, Node24.22.1/npm11.16.0, with the explicit pinned node and npm-cli entry. Locked upstream6.8 dependencies were installed with `ci --ignore-scripts --no-audit`; package/lock are unchanged by the six-file feature relative to frozen main. Local builds/checks were serial. - `node scripts/run-development-tests.mjs focused src/domain/analysisView/webNetworkCaptureView.test.ts tests/boundary/cli/analysisViewCli.test.ts tests/boundary/mcp/analysisViewMcp.test.ts tests/boundary/mcp/compactInputSchemaMcp.test.ts tests/conformance/contracts/mcpInputSchemaProfile.test.ts tests/conformance/readmeConsistency.test.ts` — build: three tasks passed; tests: 144 pass / 4 timeouts / 0 skip. - Isolated unmodified-main comparison — the same four named controls failed with the same unchanged 30-second limit; 64 filtered controls were not executed. `npm run knip` reproduced the same three unused exports. Neither command is reported green. - Actual CI-base comparison: after verifying unchanged lock/Node requirements, isolated base365fb03e reproduced all 17 source failures; its separate three-task build then preceded the six selected boundary controls (five failures reproduced, one Windows capability skip, 32 filtered controls not executed). No complete main suite or Linux process-capture result is inferred. - `npm run check` — failed at knip. Separate `npm run typecheck`, `lint`, `verify:architecture-guards`, `knip:production`, `lint:typed`, `docs:check` and `verify:test-discovery` passed. Documentation's repeated nine controls are not added again to the 148. - `node ../rea-analysis-20261014/verify-mime-public-corpus.mjs` — four fixed public HAR inputs / 279 records, complete and preview, passed against independent standalone facts. - `node scripts/verify-windows-native-artifact.mjs` — genuine official6.8 artifact from source1173 accepted by current PE/hash/NAPI8/ABI1 checks; no fabricated manifest. Earlier head3c1's 135 local checks, CI39821674880 and generated8MiB delivery control remain historical evidence, not current-head reruns. The original private API HARs remain unavailable. </details> ## Compatibility, safety, and release - Breaking changes/migration: none; opt-in additive projection. Omitted and false preserve defaults; true is rejected outside HAR preview. - Real provider/OS coverage: production stdio MCP over four pinned public HARvest inputs and converted full/compact SDK schema controls. No live Hopper/Ghidra/browser capture or complete platform qualification. - Package/release metadata: no feature dependency, installer or release change relative to frozen upstream. - Privacy/containment: MIME previews omit response bodies/headers; source provenance remains available. No new recording, replay, paid model call, release or deployment. No speed/token benefit is inferred from output bytes; an earlier preview was slower. ## Author readiness Human owner: @wunianze666-netizen AI-assisted preparation. The human owner has completed the author readiness declaration. - [x] I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work. - [x] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps. - [x] I declare this PR ready for initial maintainer review. ## Before merge - [x] This PR addresses a concrete problem or an agreed enhancement. - [x] Material scope and authority questions are resolved within the existing boundary; no new execution/provider authority. - [x] The PR has one focused outcome and a Conventional Commit title. - [x] The reason for not linking an issue is stated above. - [x] Tests cover changed observable behavior and meaningful failure paths. - [x] Owning docs and contracts are updated where needed. - [x] Representative CLI/MCP behavior or its non-applicability is described. - [x] I checked the final diff for secrets, unrelated cleanup, and unsupported claims. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:08:49 +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#5708
No description provided.