[PR #2122] [MERGED] feat(analysis): add opt-in retained inventory and WASM views #5044

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

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/2122
Author: @N0zoM1z0
Created: 10/12/2026
Status: ✅ Merged
Merged: 10/12/2026
Merged by: @N0zoM1z0

Base: main ← Head: feat/compatibility-first-analysis-20261012


📝 Commits (10+)

  • 16338af test(perf): measure public analysis costs and pin real artifacts
  • dc8a19c feat(artifacts): project typed retained inventory views
  • f110618 feat(artifacts): offer retained summary delivery without changing defaults
  • dd2a259 test(perf): verify Obsidian inventory fact conservation in paired runs
  • 01d7814 test(perf): validate task-scoped analyzer tradeoffs with real Ghidra
  • b56c7f5 fix(perf): grade equivalent inventory path representations accurately
  • 0002caa refactor(wasm): pilot static module ownership and typed retained views
  • 301300d test(perf): verify real artifact compatibility after the WASM pilot
  • fc65e36 docs(mcp): spell out retained WASM summary requests
  • 259e99d test(perf): retain model trial target identity and delivered result sizes

📊 Changes

55 files changed (+4317 additions, -230 deletions)

View changed files

📝 .agents/skills/reverse-engineer-anything/references/evidence-workflows.md (+13 -0)
📝 .agents/skills/reverse-engineer-anything/references/native-and-artifacts.md (+10 -0)
📝 .gitignore (+1 -0)
📝 docs/architecture.mermaid (+5 -1)
📝 docs/mcp-contracts.md (+36 -1)
➕ experiments/analysis-efficiency/README.md (+540 -0)
➕ experiments/analysis-efficiency/agent-trial.py (+278 -0)
➕ experiments/analysis-efficiency/compare.mjs (+157 -0)
➕ experiments/analysis-efficiency/corpus.json (+120 -0)
➕ experiments/analysis-efficiency/measure.mjs (+754 -0)
➕ experiments/analysis-efficiency/probe-analyzers.mjs (+116 -0)
➕ experiments/analysis-efficiency/probe-browser.mjs (+85 -0)
➕ experiments/analysis-efficiency/provider-environment.json (+10 -0)
➕ experiments/analysis-efficiency/questions/android.txt (+3 -0)
➕ experiments/analysis-efficiency/questions/browser.txt (+1 -0)
➕ experiments/analysis-efficiency/questions/electron-inventory.txt (+1 -0)
➕ experiments/analysis-efficiency/questions/evm.txt (+1 -0)
➕ experiments/analysis-efficiency/questions/firmware.txt (+1 -0)
➕ experiments/analysis-efficiency/questions/javascript-selected.txt (+1 -0)
➕ experiments/analysis-efficiency/questions/managed-nonempty.txt (+1 -0)

...and 35 more files

📄 Description

Summary

Let agents read the facts needed for an investigation from retained inventory and WASM Evidence while keeping existing complete CLI/MCP requests usable. Add precise known nested inventory output, explicit summary/path/page delivery, and a small internal static WASM descriptor. Refs #2016.

Problem and expected behavior

A manifest/path question previously delivered the entire inventory. A completed SQLite WASM result can exceed the MCP frame even when the question needs only counts and a few exports. Callers should be able to select those facts without repeating analysis, losing the original Evidence, or changing existing default output.

The post-integration public Obsidian comparison delivers 937,404 compact JSON bytes through the unchanged complete workflow versus 16,322 bytes through explicit summary plus exact path views (about 98.3% less). Selected facts and atomic source identity agree. These are delivery bytes, not exact token counts or a general engine speedup.

Change and scope

  • Specialize current inventory output using its owning schemas while preserving the generic historical Evidence input parser.
  • Add explicit inspect_artifact summary delivery and retained/portable inventory views with exact path selection. Retain complete inspection and atomic source records; delivery selection does not reach the producer.
  • Add typed WASM summaries/facets and Unicode-safe text pages from existing Evidence. Validate decoded WAT digest at its model boundary. Views perform no WABT rerun, WASM execution or implicit fetch.
  • Bind the existing named WASM contract, command, factory and retryable cleanup through one internal static descriptor. Preserve legacy construction and service injection.
  • Preserve current main's HAR API-surface views, capture admission and exact layout/JavaScript summary contracts after integration with c22111eca.
  • Include reproducible cost/model drivers, source-owned artifact inputs and concise Markdown findings. Detailed generated JSON receipts are archived outside the checkout and removed from the final PR tree; historical checkpoint commits remain intact. Token consumption and time to a correct answer are primary objectives; memory/CPU are measured and controlled. The Ghidra experiment found lost callee facts under reduced analysis, so the production default stays unchanged. External plugin SDK/loading and engine-database caching are deferred.

Contract and boundary impact

  • Semantic owner and earliest changed stage: domain inventory/WASM models and pure selected-view projection; MCP artifact delivery owns the explicit summary option.
  • CLI and MCP/tool catalog: existing names, argument meanings and complete defaults remain. Schemas add precise nested output and optional view alternatives; the catalog digest changes intentionally. New capabilities against old servers require schema discovery and supported equivalents; no universal automatic fallback is implemented.
  • Provider/format/platform: caller-selected providers remain; no analyzer-default or engine-protocol change. Real coverage is scoped below.
  • Evidence/provenance: complete source identity and original values remain; derived views have their own IDs and parent links. Source completeness, page coverage, uncertainty and limitations remain distinct. Existing close/retention semantics remain.
  • Process/cleanup: the descriptor shares the existing service owner and retains failed cleanup for retry. No new target execution or mutation authority.
  • Generated/package/install: authored skill references and architecture/contract docs are updated and regenerated. Build outputs, binaries, raw producer tables, credentials and local profiles are excluded. Package version, dependency lock and installer behavior are unchanged relative to main.

Representative opt-in MCP flow:

{"name":"inspect_artifact","arguments":{"detail":"summary"}}

Use its normalized_result.parent_evidence_id as the exact source reference:

{
  "name":"inspect_analysis_view",
  "arguments":{
    "source":{"kind":"retained-evidence","evidence_id":"<parent_evidence_id from receipt>"},
    "view":{"kind":"inventory","collection":"occurrences","logical_paths":["package.json","main.js"],"offset":0,"limit":32}
  }
}

Omitting detail retains the original complete inspection.

Evidence and regression coverage

  • Tests: public SDK-converted schemas, complete/summary delivery, exact/empty path selection, partial-source coverage, portable views after source deletion, authenticated import/export, oversized-response continuation, Unicode paging, invalid digest and cleanup retry.

  • Executed baseline evidence: frozen 42b0ed12 and explicitly recorded candidate runtimes; unchanged target SHA-256, source identities and selected facts. Genuine old SQLite/Obsidian records are imported or passed inline to the integrated runtime with WABT unavailable, then viewed/exported without another producer run; the entire original WASM record is deeply equal.

  • Real artifacts/models: shipped jq, NewPipe, ShareX assemblies, OpenWrt, Obsidian and SQLite; published historical WETH bytecode; owned Excalidraw/Chromium capture. Earlier real Codex CLI trials keep their original revision/configuration fingerprints. One same-question SQLite pair changes calls from 42 to 3 and reported input tokens from 304,698 to 74,387 after exact summary guidance; this is one stochastic pair, not a statistical/general causal claim.

  • Remaining gaps: native PE, DOS, other OS/engine lanes and deeper runtime/firmware questions remain progressive work. JavaScript model output omits full coverage provenance; browser model output loses accessibility metadata to client context clipping. These are incomplete answers, not full model passes. WETH deployment authenticity is unverified.

  • Observed, derived and inferred claims remain distinguishable.

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

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

Validation performed

Post-main-integration verification is pinned independently from the earlier experiments:

  • npm run build:cached, npm run docs:generate, npm run check, npm run docs:check — passed.
  • npm run test:focused -- ten relevant domain/service/parser/MCP/cleanup files — 112/112 passed.
  • npm run test:focused -- tests/boundary/cli/analysisViewCli.test.ts — 10/10 passed.
  • npm run test:focused -- tests/boundary/mcp/contractPresentation.test.ts — 1/1 passed, unchanged deadline, isolated. The earlier pinned combined run's timeout remains recorded.
  • npm run verify:wasm:package — 42 real WABT 1.0.42 CLI/MCP cases passed after actual package creation and private-prefix installation.
  • verify-migration.mjs and a fresh baseline/integrated Obsidian SDK cohort — original records/IDs, default complete output and selected summary/path facts preserved.
  • The two description-related stale text checks are synchronized without production changes; 11/11 focused assertions passed.
  • Formatting/diff checks and final cached pre-push type/lint gate — passed.

Post-integration verification, CI attribution and measured findings. The archived JSON files are byte-verified and indexed locally; reproduction does not depend on local outputs.

CI attribution and current review checkpoint

The first PR run exposed two description-related test mismatches; 00d51e0fc
updated only those expectations. Historical prompt-completion and Darwin package
failures also occurred in main at c22111eca,
with byte-identical affected source/fixtures. Those failures were left for the
team as requested. Main subsequently repaired provider-readiness fixtures in
621cee192 and fe4b94a66; this PR is rebased onto main 60259a91d.

Current head 534a6271e571b925341c93397e8e5f118ca43676 is pushed; required CI is
pending/queued, so the current complete remote gate is not yet verified green.
The maintainer authorized a verified merge. Earlier exact-head merging was
rejected by the required coverage/timing gate; repository protection is unchanged
and auto-merge is disabled. No release or deployment is authorized or performed.

Six substantive review findings have been reproduced and addressed: atomic and
outer inventory subject/digest/format identity, exact WASM source path/digest,
undeclared inherited provider controls, effective provider PATH comparability, and unknown final resource counters.
Missing final counters now remain unverified rather than grading as zero. Related parser/short-command probes and existing-model regrading cover this driver-only correction; unrelated checks were not repeated. Earlier resource receipts retain last-sampled observations and do not prove final counters. Original records and valid source identities remain unchanged. Actual public SDK
before/after probes use original shipped Obsidian and published VS Code grammar
producer data. Boundary assertions cover summary and collection projections.
Fresh differing-PATH Obsidian replays preserve facts but correctly fail settings
comparability. Missing PATH fingerprints also cannot certify equal settings.

The latest three inventory MCP workflows, runtime build, fast static gate and
generated docs pass. An initial negative-case placement exceeded the existing
large ZIP test deadline; checks were moved to the small real format workflow,
retaining the original capacity/retention coverage and deadline. The final scope
records one soft memory-high event, no hard/task-limit abort and no OOM/OOM-kill;
this is static/test verification, not a valid performance trial. Earlier recorded
focused/package/model results keep their original runtime scope.

Compatibility, safety and release

  • Migration: existing users need no new pack, request rewrite or configuration change to retain these capabilities. New delivery is opt-in. This evidence covers the recorded baseline/workflows; it is not an unconditional guarantee for every historical client/platform.
  • Catalog cost: integrated complete catalog JSON is 2,359,082 bytes versus frozen baseline 2,326,609 (about 1.4% larger); this includes intervening main changes. Retained delivery saves context without claiming less upstream analysis or automatic savings on old complete requests.
  • Host/provider scope: Linux x64, real Ghidra native experiment, installed WABT and owned Chromium. IDA/Hopper, Windows/macOS, Harmony and device-backed behavior are not established by recording-port tests.
  • Containment: heavy lanes run serially with one CPU, 4 GiB hard memory, 3 GiB early stop and no swap. Integration scopes have no OOM/OOM-kill or hard-limit abort. The full static scope records three memory.high events and the subsequent cold pre-push scope records 37; neither reaches the hard limit or OOM; the earlier 192-task browser abort and qualified 256-task retry remain recorded. Disposable model profiles/authentication copies are removed; ambient environment is not persisted.
  • Review/release: no version bump, publication or deployment. Full local check:pr and the complete generic package verifier were not run; CI and reviewers own the broader gate. Newly discovered out-of-scope REA findings remain in the separate local team-handoff document rather than being repaired in this change.

Review checklist

  • Concrete agreed enhancement and one focused outcome: on-demand retained Evidence delivery.
  • Conventional Commit title and related issue.
  • Changed observable behavior and meaningful failure paths tested.
  • Owning contracts/docs and generated projections updated.
  • Representative CLI/MCP behavior and output measurements included.
  • Final diff checked for credentials, unrelated cleanup and unsupported claims.

Substantive review fixes and latest-main integration

Three real findings are addressed: atomic inventory views validate the authenticated subject/digest/format; WASM views validate exact original subject path/digest through the same identity rule as the producer; experiment drivers reject undeclared inherited provider controls before server/profile creation. Generic historical Evidence input parsing and valid original records/IDs remain unchanged.

The identity issues have actual public-SDK before/after reproductions with shipped Obsidian data and the published VS Code INI grammar. The related runs pass 37 inventory/view and 26 WASM/service/parser assertions. Genuine baseline SQLite/Obsidian import/view/export still preserves whole original records and source/view identities; fresh Obsidian summary delivery remains 16,322 bytes with identical selected facts. Both contaminated-environment probes reject before output/profile creation without logging values.

Rebased onto main 60259a91d and verified unchanged reviewed code through the three integration resolutions. Upstream provider-readiness tests, managed CLI selection, binary-plist recognition and WABT leading-BOM preservation are retained. Post-rebase build, type/lint, docs and five focused files pass (42 assertions). The previous completion CI failures have since been repaired on main by the team; the earlier red-run attribution stays historical. Current-head CI is running and is not claimed green before completion.

The maintainer authorized a verified merge; no publication/version/deployment is authorized. First-call WASM summary is a separate follow-up branch, with this reviewed runtime as its frozen control. Generated detailed receipts remain outside the final PR tree.


🔄 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/2122 **Author:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Created:** 10/12/2026 **Status:** ✅ Merged **Merged:** 10/12/2026 **Merged by:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Base:** `main` ← **Head:** `feat/compatibility-first-analysis-20261012` --- ### 📝 Commits (10+) - [`16338af`](https://github.com/morluto/rea/commit/16338af50d6a9036f7af4f4da2927cb34ac26aac) test(perf): measure public analysis costs and pin real artifacts - [`dc8a19c`](https://github.com/morluto/rea/commit/dc8a19cec80ea53e3f3b7b50588c3f7ad82c3772) feat(artifacts): project typed retained inventory views - [`f110618`](https://github.com/morluto/rea/commit/f110618184e99f89fa776bc5e59703a61baa7c57) feat(artifacts): offer retained summary delivery without changing defaults - [`dd2a259`](https://github.com/morluto/rea/commit/dd2a2598bd6591a75959cea61710eb6104fb1a5e) test(perf): verify Obsidian inventory fact conservation in paired runs - [`01d7814`](https://github.com/morluto/rea/commit/01d7814fc07bffc9e5b08b61e64f389598ecd21e) test(perf): validate task-scoped analyzer tradeoffs with real Ghidra - [`b56c7f5`](https://github.com/morluto/rea/commit/b56c7f544fd05c39aab108f59a9b777bef3849d4) fix(perf): grade equivalent inventory path representations accurately - [`0002caa`](https://github.com/morluto/rea/commit/0002caa07ffd7319672a21ce901dbfbc55e21aac) refactor(wasm): pilot static module ownership and typed retained views - [`301300d`](https://github.com/morluto/rea/commit/301300d48822061bf79cdcfce84a15f612e3a9fa) test(perf): verify real artifact compatibility after the WASM pilot - [`fc65e36`](https://github.com/morluto/rea/commit/fc65e3644c01bc98ef7a6347ec6f406a052e8439) docs(mcp): spell out retained WASM summary requests - [`259e99d`](https://github.com/morluto/rea/commit/259e99dd906290189217cf0fb1a19769bcf87101) test(perf): retain model trial target identity and delivered result sizes ### 📊 Changes **55 files changed** (+4317 additions, -230 deletions) <details> <summary>View changed files</summary> 📝 `.agents/skills/reverse-engineer-anything/references/evidence-workflows.md` (+13 -0) 📝 `.agents/skills/reverse-engineer-anything/references/native-and-artifacts.md` (+10 -0) 📝 `.gitignore` (+1 -0) 📝 `docs/architecture.mermaid` (+5 -1) 📝 `docs/mcp-contracts.md` (+36 -1) ➕ `experiments/analysis-efficiency/README.md` (+540 -0) ➕ `experiments/analysis-efficiency/agent-trial.py` (+278 -0) ➕ `experiments/analysis-efficiency/compare.mjs` (+157 -0) ➕ `experiments/analysis-efficiency/corpus.json` (+120 -0) ➕ `experiments/analysis-efficiency/measure.mjs` (+754 -0) ➕ `experiments/analysis-efficiency/probe-analyzers.mjs` (+116 -0) ➕ `experiments/analysis-efficiency/probe-browser.mjs` (+85 -0) ➕ `experiments/analysis-efficiency/provider-environment.json` (+10 -0) ➕ `experiments/analysis-efficiency/questions/android.txt` (+3 -0) ➕ `experiments/analysis-efficiency/questions/browser.txt` (+1 -0) ➕ `experiments/analysis-efficiency/questions/electron-inventory.txt` (+1 -0) ➕ `experiments/analysis-efficiency/questions/evm.txt` (+1 -0) ➕ `experiments/analysis-efficiency/questions/firmware.txt` (+1 -0) ➕ `experiments/analysis-efficiency/questions/javascript-selected.txt` (+1 -0) ➕ `experiments/analysis-efficiency/questions/managed-nonempty.txt` (+1 -0) _...and 35 more files_ </details> ### 📄 Description ## Summary Let agents read the facts needed for an investigation from retained inventory and WASM Evidence while keeping existing complete CLI/MCP requests usable. Add precise known nested inventory output, explicit summary/path/page delivery, and a small internal static WASM descriptor. Refs #2016. ## Problem and expected behavior A manifest/path question previously delivered the entire inventory. A completed SQLite WASM result can exceed the MCP frame even when the question needs only counts and a few exports. Callers should be able to select those facts without repeating analysis, losing the original Evidence, or changing existing default output. The post-integration public Obsidian comparison delivers **937,404 compact JSON bytes** through the unchanged complete workflow versus **16,322 bytes** through explicit summary plus exact path views (about 98.3% less). Selected facts and atomic source identity agree. These are delivery bytes, not exact token counts or a general engine speedup. ## Change and scope - Specialize current inventory output using its owning schemas while preserving the generic historical Evidence input parser. - Add explicit `inspect_artifact` summary delivery and retained/portable inventory views with exact path selection. Retain complete inspection and atomic source records; delivery selection does not reach the producer. - Add typed WASM summaries/facets and Unicode-safe text pages from existing Evidence. Validate decoded WAT digest at its model boundary. Views perform no WABT rerun, WASM execution or implicit fetch. - Bind the existing named WASM contract, command, factory and retryable cleanup through one internal static descriptor. Preserve legacy construction and service injection. - Preserve current main's HAR API-surface views, capture admission and exact layout/JavaScript summary contracts after integration with `c22111eca`. - Include reproducible cost/model drivers, source-owned artifact inputs and concise Markdown findings. Detailed generated JSON receipts are archived outside the checkout and removed from the final PR tree; historical checkpoint commits remain intact. Token consumption and time to a correct answer are primary objectives; memory/CPU are measured and controlled. The Ghidra experiment found lost callee facts under reduced analysis, so the production default stays unchanged. External plugin SDK/loading and engine-database caching are deferred. ## Contract and boundary impact - **Semantic owner and earliest changed stage:** domain inventory/WASM models and pure selected-view projection; MCP artifact delivery owns the explicit summary option. - **CLI and MCP/tool catalog:** existing names, argument meanings and complete defaults remain. Schemas add precise nested output and optional view alternatives; the catalog digest changes intentionally. New capabilities against old servers require schema discovery and supported equivalents; no universal automatic fallback is implemented. - **Provider/format/platform:** caller-selected providers remain; no analyzer-default or engine-protocol change. Real coverage is scoped below. - **Evidence/provenance:** complete source identity and original values remain; derived views have their own IDs and parent links. Source completeness, page coverage, uncertainty and limitations remain distinct. Existing close/retention semantics remain. - **Process/cleanup:** the descriptor shares the existing service owner and retains failed cleanup for retry. No new target execution or mutation authority. - **Generated/package/install:** authored skill references and architecture/contract docs are updated and regenerated. Build outputs, binaries, raw producer tables, credentials and local profiles are excluded. Package version, dependency lock and installer behavior are unchanged relative to main. Representative opt-in MCP flow: ```json {"name":"inspect_artifact","arguments":{"detail":"summary"}} ``` Use its `normalized_result.parent_evidence_id` as the exact source reference: ```json { "name":"inspect_analysis_view", "arguments":{ "source":{"kind":"retained-evidence","evidence_id":"<parent_evidence_id from receipt>"}, "view":{"kind":"inventory","collection":"occurrences","logical_paths":["package.json","main.js"],"offset":0,"limit":32} } } ``` Omitting `detail` retains the original complete inspection. ## Evidence and regression coverage - **Tests:** public SDK-converted schemas, complete/summary delivery, exact/empty path selection, partial-source coverage, portable views after source deletion, authenticated import/export, oversized-response continuation, Unicode paging, invalid digest and cleanup retry. - **Executed baseline evidence:** frozen `42b0ed12` and explicitly recorded candidate runtimes; unchanged target SHA-256, source identities and selected facts. Genuine old SQLite/Obsidian records are imported or passed inline to the integrated runtime with WABT unavailable, then viewed/exported without another producer run; the entire original WASM record is deeply equal. - **Real artifacts/models:** shipped jq, NewPipe, ShareX assemblies, OpenWrt, Obsidian and SQLite; published historical WETH bytecode; owned Excalidraw/Chromium capture. Earlier real Codex CLI trials keep their original revision/configuration fingerprints. One same-question SQLite pair changes calls from 42 to 3 and reported input tokens from 304,698 to 74,387 after exact summary guidance; this is one stochastic pair, not a statistical/general causal claim. - **Remaining gaps:** native PE, DOS, other OS/engine lanes and deeper runtime/firmware questions remain progressive work. JavaScript model output omits full coverage provenance; browser model output loses accessibility metadata to client context clipping. These are incomplete answers, not full model passes. WETH deployment authenticity is unverified. - [x] Observed, derived and inferred claims remain distinguishable. - [x] Artifact identity, source provenance and failed attempts remain preserved. - [x] Unsupported, incomplete, unavailable and uncertain outcomes remain visible. ## Validation performed Post-main-integration verification is pinned independently from the earlier experiments: - `npm run build:cached`, `npm run docs:generate`, `npm run check`, `npm run docs:check` — passed. - `npm run test:focused --` ten relevant domain/service/parser/MCP/cleanup files — **112/112 passed**. - `npm run test:focused -- tests/boundary/cli/analysisViewCli.test.ts` — **10/10 passed**. - `npm run test:focused -- tests/boundary/mcp/contractPresentation.test.ts` — **1/1 passed**, unchanged deadline, isolated. The earlier pinned combined run's timeout remains recorded. - `npm run verify:wasm:package` — **42 real WABT 1.0.42 CLI/MCP cases passed** after actual package creation and private-prefix installation. - `verify-migration.mjs` and a fresh baseline/integrated Obsidian SDK cohort — original records/IDs, default complete output and selected summary/path facts preserved. - The two description-related stale text checks are synchronized without production changes; **11/11 focused assertions passed**. - Formatting/diff checks and final cached pre-push type/lint gate — passed. [Post-integration verification, CI attribution and measured findings](https://github.com/morluto/rea/blob/534a6271e571b925341c93397e8e5f118ca43676/experiments/analysis-efficiency/README.md#pr-integration-verification). The archived JSON files are byte-verified and indexed locally; reproduction does not depend on local outputs. ## CI attribution and current review checkpoint The first PR run exposed two description-related test mismatches; `00d51e0fc` updated only those expectations. Historical prompt-completion and Darwin package failures also occurred in [main at `c22111eca`](https://github.com/morluto/rea/actions/runs/38224038323), with byte-identical affected source/fixtures. Those failures were left for the team as requested. Main subsequently repaired provider-readiness fixtures in `621cee192` and `fe4b94a66`; this PR is rebased onto main `60259a91d`. Current head `534a6271e571b925341c93397e8e5f118ca43676` is pushed; required CI is pending/queued, so the current complete remote gate is **not yet verified green**. The maintainer authorized a verified merge. Earlier exact-head merging was rejected by the required coverage/timing gate; repository protection is unchanged and auto-merge is disabled. No release or deployment is authorized or performed. Six substantive review findings have been reproduced and addressed: atomic and outer inventory subject/digest/format identity, exact WASM source path/digest, undeclared inherited provider controls, effective provider PATH comparability, and unknown final resource counters. Missing final counters now remain unverified rather than grading as zero. Related parser/short-command probes and existing-model regrading cover this driver-only correction; unrelated checks were not repeated. Earlier resource receipts retain last-sampled observations and do not prove final counters. Original records and valid source identities remain unchanged. Actual public SDK before/after probes use original shipped Obsidian and published VS Code grammar producer data. Boundary assertions cover summary and collection projections. Fresh differing-PATH Obsidian replays preserve facts but correctly fail settings comparability. Missing PATH fingerprints also cannot certify equal settings. The latest three inventory MCP workflows, runtime build, fast static gate and generated docs pass. An initial negative-case placement exceeded the existing large ZIP test deadline; checks were moved to the small real format workflow, retaining the original capacity/retention coverage and deadline. The final scope records one soft memory-high event, no hard/task-limit abort and no OOM/OOM-kill; this is static/test verification, not a valid performance trial. Earlier recorded focused/package/model results keep their original runtime scope. ## Compatibility, safety and release - **Migration:** existing users need no new pack, request rewrite or configuration change to retain these capabilities. New delivery is opt-in. This evidence covers the recorded baseline/workflows; it is not an unconditional guarantee for every historical client/platform. - **Catalog cost:** integrated complete catalog JSON is 2,359,082 bytes versus frozen baseline 2,326,609 (about 1.4% larger); this includes intervening main changes. Retained delivery saves context without claiming less upstream analysis or automatic savings on old complete requests. - **Host/provider scope:** Linux x64, real Ghidra native experiment, installed WABT and owned Chromium. IDA/Hopper, Windows/macOS, Harmony and device-backed behavior are not established by recording-port tests. - **Containment:** heavy lanes run serially with one CPU, 4 GiB hard memory, 3 GiB early stop and no swap. Integration scopes have no OOM/OOM-kill or hard-limit abort. The full static scope records three `memory.high` events and the subsequent cold pre-push scope records 37; neither reaches the hard limit or OOM; the earlier 192-task browser abort and qualified 256-task retry remain recorded. Disposable model profiles/authentication copies are removed; ambient environment is not persisted. - **Review/release:** no version bump, publication or deployment. Full local `check:pr` and the complete generic package verifier were not run; CI and reviewers own the broader gate. Newly discovered out-of-scope REA findings remain in the separate local team-handoff document rather than being repaired in this change. ## Review checklist - [x] Concrete agreed enhancement and one focused outcome: on-demand retained Evidence delivery. - [x] Conventional Commit title and related issue. - [x] Changed observable behavior and meaningful failure paths tested. - [x] Owning contracts/docs and generated projections updated. - [x] Representative CLI/MCP behavior and output measurements included. - [x] Final diff checked for credentials, unrelated cleanup and unsupported claims. ## Substantive review fixes and latest-main integration Three real findings are addressed: atomic inventory views validate the authenticated subject/digest/format; WASM views validate exact original subject path/digest through the same identity rule as the producer; experiment drivers reject undeclared inherited provider controls before server/profile creation. Generic historical Evidence input parsing and valid original records/IDs remain unchanged. The identity issues have actual public-SDK before/after reproductions with shipped Obsidian data and the published VS Code INI grammar. The related runs pass 37 inventory/view and 26 WASM/service/parser assertions. Genuine baseline SQLite/Obsidian import/view/export still preserves whole original records and source/view identities; fresh Obsidian summary delivery remains 16,322 bytes with identical selected facts. Both contaminated-environment probes reject before output/profile creation without logging values. Rebased onto main `60259a91d` and verified unchanged reviewed code through the three integration resolutions. Upstream provider-readiness tests, managed CLI selection, binary-plist recognition and WABT leading-BOM preservation are retained. Post-rebase build, type/lint, docs and five focused files pass (42 assertions). The previous completion CI failures have since been repaired on main by the team; the earlier red-run attribution stays historical. Current-head CI is running and is not claimed green before completion. The maintainer authorized a verified merge; no publication/version/deployment is authorized. First-call WASM summary is a separate follow-up branch, with this reviewed runtime as its frozen control. Generated detailed receipts remain outside the final PR tree. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:00:24 +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#5044
No description provided.