From 160d821ac9a0310afcb8d1fc427862dd6508add5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 25 Oct 2026 16:35:15 +0800 Subject: [PATCH] chore(main): release rea-agents 6.8.0 (#5004) * chore(main): release rea-agents 6.8.0 * docs(release): finalize contributor-aware 6.8.0 notes * docs(release): pin the JSON Lines migration guide * docs(release): cover the remaining reviewed user-facing fixes * docs(release): refresh the reviewed contribution snapshot * docs(release): correct migration references and gateway scope Preserve the concurrent 6.8.0 editorial draft and verified credits. Cite the actual keyed-archive UID migration, move CLI version and superclass-classification references to their matching entries, retain unknown-date plist behavior, and avoid implying live gateway acceptance. Existing author readiness declarations remain unchanged. * docs(release): include nine newly merged changes in 6.8.0 * docs(release): include recorded write views in 6.8.0 --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: morluto <76467478+morluto@users.noreply.github.com> --- .release-please-manifest.json | 2 +- CHANGELOG.md | 102 + docs/installation.md | 10 +- docs/releases/6.8.0.contributions.json | 43758 +++++++++++++++++++++++ package-lock.json | 4 +- package.json | 2 +- server.json | 4 +- src/generatedPackageMetadata.ts | 2 +- 8 files changed, 43872 insertions(+), 12 deletions(-) create mode 100644 docs/releases/6.8.0.contributions.json diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 5c63699c14..e85ec109fd 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "6.7.0" + ".": "6.8.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 77a6eac63e..fbe141f768 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,107 @@ # Changelog +## [6.8.0](https://github.com/morluto/rea/compare/rea-agents-6.7.0...rea-agents-6.8.0) (2026-10-25) + +### Highlights + +- Build local agent environments from network captures, browser scenarios, or a prompt, then serve derived reads and evidence-gated writes and compare them with fresh application captures. +- Inspect more shipped formats, including GPU code objects, BEAM, Python bytecode, Unity IL2CPP metadata, Godot PCK, PyInstaller, Node.js SEA, devicetree, and additional PE/ELF tables. +- Keep large investigations focused with retained summaries, selected fact queries, configurable recovery limits, and row-oriented CLI exports. Complete Evidence remains available. + +### ⚠ BREAKING CHANGES + +- **Function analysis:** `analyze_function` now defaults to a retained summary. Set `detail: "complete"` for the previous inline dossier; the CLI retains its complete default and requires `--evidence_output` when selecting a summary. [#5660](https://github.com/morluto/rea/pull/5660). Thanks @CryptoJones, @gensokyo-dev, @RishTheFish21. +- **Accessibility:** Accept JSON numbers and booleans in node `value`, alongside strings and null. Update consumers that previously assumed text-only values. [cc90771](https://github.com/morluto/rea/commit/cc90771af14f045538651615147d8bf86b576549), [#6759](https://github.com/morluto/rea/pull/6759), [#6467](https://github.com/morluto/rea/issues/6467). Thanks @coygeek, @gensokyo-dev, @mvanhorn. +- **JSON Lines:** `--format jsonl` now emits object-collection rows followed by a `$rea: "jsonl/v1"`, `type: "metadata"` record; scalar selections and unsupported reports are refused. Parse control records separately, select a single supported collection when necessary, and use `--format json` for the previous whole-document output. See [JSON Lines framing](https://github.com/morluto/rea/blob/rea-agents-6.8.0/docs/cli.md#json-lines-record-output). [#5629](https://github.com/morluto/rea/pull/5629), [#5487](https://github.com/morluto/rea/issues/5487). Thanks @gensokyo-dev, @jayykernel, @vijaykiran06. +- **Interface Builder:** Keyed-archive graph identities use decimal table UIDs instead of authored `objectID`/`object-id`. Treat authored IDs as attributes and update persisted graph lookups; ibtool and native NIBArchive identities keep their source semantics. [6fbe67d](https://github.com/morluto/rea/commit/6fbe67d66e3d716db69929503a3a232a7ada0860). +- **Frida:** `instrument-with-frida` JSON returns the canonical Evidence directly. Read `normalized_result.cleanup_error` instead of the former top-level wrapper field. [48f700e](https://github.com/morluto/rea/commit/48f700ee35e0988ed973e5486dc9db33f2a5d944). +- **Reconstruction proof:** ID-array proof records no longer establish verified or ready ledgers. Supply implementation/revision bindings and individual claim outcomes; handle inapplicable, unavailable, and failed proof diagnostics. [f8b65e7](https://github.com/morluto/rea/commit/f8b65e78723b1e2169f94dd1226198ea3139707e). +- **Mach-O imports:** Handle a null import `name` when identity is ambiguous; use `raw_name` and `name_status` to distinguish observed expressions from exact symbols. [5d0d243](https://github.com/morluto/rea/commit/5d0d243a45c9132e1aff75d454ab53d86a74cc31), [169512a](https://github.com/morluto/rea/commit/169512a35bb015ff209168fb8bc1c9b31a2c678b). +- **Node.js:** Use a runtime satisfying `^22.23.4 || ^24.22.1 || >=26.12.1`; Node 23 and 25 are unsupported. Upgrade Node before installing or updating REA; the installer does not upgrade it. [#6315](https://github.com/morluto/rea/pull/6315), [#6283](https://github.com/morluto/rea/issues/6283). Thanks @GamerDubz, @gensokyo-dev, @ShikamaruNaaraa. +- **Browser storage:** Historical hashed storage remains readable, but comparisons stay unknown until both captures are recaptured in the new representation. [#6341](https://github.com/morluto/rea/pull/6341), [#6289](https://github.com/morluto/rea/issues/6289). Thanks @coygeek, @gongfpp. +- **Environment serving:** `environment-serve` serves derived state by default, including write tools whose effects are confirmed by recorded evidence. Use `--replay-only` for stateless replay of manifest tools. Read stop-summary `state` instead of `state_evidence_id`. [#5351](https://github.com/morluto/rea/pull/5351), [#6158](https://github.com/morluto/rea/pull/6158). Thanks @earakely-scale, @gensokyo-dev, @kaoru0822-kitauji. +- **MCP schemas:** Input advertisements default to compact. Set `REA_MCP_INPUT_SCHEMA_PROFILE=full` for complete advertised guidance and nested constraints. [#5975](https://github.com/morluto/rea/pull/5975). Thanks @gensokyo-dev. +- **Browser console arguments:** Accept null `argument_types` and `text_capture.status: "unavailable"` when the protocol argument inventory is omitted or malformed; preserve that uncertainty. [#6016](https://github.com/morluto/rea/pull/6016), [#5934](https://github.com/morluto/rea/issues/5934). Thanks @coygeek, @kaoru0822-kitauji. +- **Reconstruction summaries:** `summary.by_evidence_authority` is keyed by Evidence authority; read the former source-state counts from required `summary.by_source_state`. Regenerate ledgers whose closure digests depended on the old projection. [#5875](https://github.com/morluto/rea/pull/5875), [#5838](https://github.com/morluto/rea/issues/5838). Thanks @coygeek, @kaoru0822-kitauji. +- **Swift bindings:** Conformance `type_name` and `protocol_name` may be null; consume typed `type_binding`/`protocol_binding` evidence. Replace the former Objective-C-specific import-binding type/schema with `MachoImportBinding`. [d0067ba](https://github.com/morluto/rea/commit/d0067ba34a39ea47dd7e11bb2e6169bc0938cc3f). +- **WebSocket frames:** Accept null opcodes and preserve unknown frame facts; numeric opcodes are restricted to the four-bit protocol range. [0bc2b42](https://github.com/morluto/rea/commit/0bc2b42001f684beffcf47b70e507443b1a5d320). +- **Resource-only inspection:** Evidence subjects and executable digests may be null. Use `resource_root` and each resource's reported provenance instead of requiring an executable target. [6a6adf7](https://github.com/morluto/rea/commit/6a6adf703fa44100643947d20fbc670f86260b1b). +- **Browser timestamps:** Console and session-timeline timestamps may be null when the protocol supplies no finite/comparable time. Keep unknown time explicit in sorting and comparisons. [690fc51](https://github.com/morluto/rea/commit/690fc518540bae982038a74f47ef7781201785aa), [2a0410f](https://github.com/morluto/rea/commit/2a0410f1717b3126e8a95063d77dea66a597010a). +- **Reference sources:** Read failed root enumeration from `rootFailure` rather than a synthetic failed child at `"."`; preserve the top-level source-graph limitation. [6296fdf](https://github.com/morluto/rea/commit/6296fdf560f1ac4aa55985558edaa98300aacdbc). +- **Filesystem capture:** Accept `entry_unavailable` and `identity_changed` enumeration omission reasons in addition to the previous reason literals. [c85b44e](https://github.com/morluto/rea/commit/c85b44e1b14851c54e65327a4807f79ad5cd5a61). Thanks @rudrakshagarwal4200-ai. +- **APK locales:** Replace numeric legacy selectors such as `es-r419` with `es-419` or `b+es+419`. Two-letter regions remain supported. [29910d1](https://github.com/morluto/rea/commit/29910d16b98fe4b607a7aa15928789a73614b0b9). Thanks @mertkayacs. +- **XML plist scalars:** Recognize `$plist_type: "unknown"` and read `element`, `literal`, and `reason`; unresolved XML scalars use this wrapper instead of the former real/null unknown marker or malformed scalar prefixes. Supported extended UTC years preserve their timestamp. [3537e58](https://github.com/morluto/rea/commit/3537e58c1ab29309f06eabf50bc52adba9817a0c). + +### Changes + +- **Binary layouts:** Inspect ELF32 i386, little-endian ARM, and little- or big-endian MIPS `EXEC`/`DYN`/`REL` layouts on Linux x64 using a caller-supplied pwntools environment. [#7052](https://github.com/morluto/rea/pull/7052), [#6934](https://github.com/morluto/rea/issues/6934). Thanks @roblennon, @salmanalmutairi1. +- **Agent environments:** Project network captures and Evidence files into manifests, preserve template path pairs and positions, export AgentEnv bundles, and serve manifests as replay environments. [#4954](https://github.com/morluto/rea/pull/4954), [#5293](https://github.com/morluto/rea/pull/5293), [#5664](https://github.com/morluto/rea/pull/5664), [#4999](https://github.com/morluto/rea/pull/4999), [#4975](https://github.com/morluto/rea/pull/4975). Thanks @earakely-scale, @gensokyo-dev, @kaoru0822-kitauji. +- **Capture to environment:** Build environments from browser scenarios or a prompt, extract the initial observed state, and compare the environment with application probe captures. [#5182](https://github.com/morluto/rea/pull/5182), [#6946](https://github.com/morluto/rea/pull/6946), [#5319](https://github.com/morluto/rea/pull/5319), [#5699](https://github.com/morluto/rea/pull/5699). Thanks @earakely-scale, @gensokyo-dev, @kaoru0822-kitauji. +- **State-backed tools:** Render read filters, search, sorting and paging from state; apply confirmed write effects with broader state targets and recording-based write admission. [#5352](https://github.com/morluto/rea/pull/5352), [293832b](https://github.com/morluto/rea/commit/293832bafc9a054914ec514fe906dd4936c7a372), [#5800](https://github.com/morluto/rea/pull/5800), [#5787](https://github.com/morluto/rea/pull/5787), [#5600](https://github.com/morluto/rea/pull/5600), [5375ff0](https://github.com/morluto/rea/commit/5375ff0f9aadb4fd0d46333815aa0431e3df1010), [#6169](https://github.com/morluto/rea/pull/6169), [#6385](https://github.com/morluto/rea/pull/6385), [#6897](https://github.com/morluto/rea/pull/6897). Thanks @earakely-scale, @gensokyo-dev, @kaoru0822-kitauji. +- **State learning:** Model application-assigned values, preserve view-specific clock spellings, learn write clocks from scenario timing, derive fields, and learn creates across sorted arrays and referenced entities. [7ec9b6e](https://github.com/morluto/rea/commit/7ec9b6e56e1b3762285dca881db6d900a389ab9c), [#6136](https://github.com/morluto/rea/pull/6136), [957bcfa](https://github.com/morluto/rea/commit/957bcfa149c1a0593bb0aa2466cc56d1d4f62e7d), [#6138](https://github.com/morluto/rea/pull/6138), [#6967](https://github.com/morluto/rea/pull/6967), [#7025](https://github.com/morluto/rea/pull/7025), [#7034](https://github.com/morluto/rea/pull/7034). Thanks @earakely-scale. +- **Recorded writes:** Serve creates whose compatible read-backs add omitted fields or express timestamps at a different precision, and whole-object updates that regenerate observed slugs or modification times. Conflicting observations still withhold writes. State views and bundles carrying the new read-back data need REA 6.8.0 or later to serve. [#7080](https://github.com/morluto/rea/pull/7080). Thanks @earakely-scale. +- **Native investigations:** Page native inventory summaries, match functions across builds, export pseudocode to resumable directories, and select objdump disassembly by symbol. [#5378](https://github.com/morluto/rea/pull/5378), [#5390](https://github.com/morluto/rea/pull/5390), [#6170](https://github.com/morluto/rea/pull/6170), [#5171](https://github.com/morluto/rea/pull/5171), [#4249](https://github.com/morluto/rea/issues/4249), [#5343](https://github.com/morluto/rea/issues/5343), [#5159](https://github.com/morluto/rea/issues/5159). Thanks @coygeek, @CryptoJones, @gensokyo-dev, @kaoru0822-kitauji. +- **Engine workflows:** Bound a single Ghidra decompilation without closing its session, analyze GameCube/Wii DOL executables, and inspect static CUDA/HIP code objects. [#5662](https://github.com/morluto/rea/pull/5662), [#6240](https://github.com/morluto/rea/pull/6240), [#5813](https://github.com/morluto/rea/pull/5813), [#5340](https://github.com/morluto/rea/issues/5340), [#5345](https://github.com/morluto/rea/issues/5345). Thanks @arielfikru, @coygeek, @gensokyo-dev, @RishTheFish21. +- **PE/ELF:** Inspect export tables without an engine, PE imports/delay-loads, Authenticode certificates, TLS callbacks/load configuration, ELF notes, Linux kernel module metadata, and Zstandard section-name tables. [#6278](https://github.com/morluto/rea/pull/6278), [#6509](https://github.com/morluto/rea/pull/6509), [#4830](https://github.com/morluto/rea/pull/4830), [#7008](https://github.com/morluto/rea/pull/7008), [#4837](https://github.com/morluto/rea/pull/4837), [#7010](https://github.com/morluto/rea/pull/7010), [#6987](https://github.com/morluto/rea/pull/6987), [#4057](https://github.com/morluto/rea/issues/4057). Thanks @gensokyo-dev, @kaoru0822-kitauji, @mvanhorn, @Rinkia, @ShuaixinHuang. +- **Apple/native metadata:** Inspect IPS crash reports, decode Swift nominal declarations, and select universal Mach-O slices in Go/Rust metadata readers. [#6511](https://github.com/morluto/rea/pull/6511), [#6257](https://github.com/morluto/rea/pull/6257), [#6219](https://github.com/morluto/rea/pull/6219), [#5341](https://github.com/morluto/rea/issues/5341), [#4102](https://github.com/morluto/rea/issues/4102). Thanks @coygeek, @gensokyo-dev, @kaoru0822-kitauji, @mvanhorn, @Rinkia. +- **Packaged applications:** Triage desktop installation directories and inspect/extract Godot PCK, PyInstaller archives, and Node.js single-executable application blobs. [#5207](https://github.com/morluto/rea/pull/5207), [#3634](https://github.com/morluto/rea/pull/3634), [afa5da7](https://github.com/morluto/rea/commit/afa5da745e0b139e68029a96b776ae30e48ea2b2), [#2433](https://github.com/morluto/rea/pull/2433), [#7000](https://github.com/morluto/rea/pull/7000), [#4399](https://github.com/morluto/rea/issues/4399). Thanks @0xthearchitect, @coygeek, @gensokyo-dev, @mvanhorn. +- **Unity and managed code:** Inventory IL2CPP images/types/methods and metadata versions 24/27; read member names and literals, link native methods and generic instances, and export Ghidra seeds. Project managed call/field-access edges and page managed member summaries. [#3807](https://github.com/morluto/rea/pull/3807), [#5326](https://github.com/morluto/rea/pull/5326), [52d1a72](https://github.com/morluto/rea/commit/52d1a72af047a73b787b8935b032786a34966036), [#5327](https://github.com/morluto/rea/pull/5327), [#5785](https://github.com/morluto/rea/pull/5785), [#6260](https://github.com/morluto/rea/pull/6260), [#5167](https://github.com/morluto/rea/pull/5167), [#3784](https://github.com/morluto/rea/issues/3784), [#5112](https://github.com/morluto/rea/issues/5112), [#4056](https://github.com/morluto/rea/issues/4056), [#5148](https://github.com/morluto/rea/issues/5148). Thanks @8rulerstar, @alexlanghart, @elricfd, @gensokyo-dev, @jaelliot, @kaoru0822-kitauji, @Rinkia. +- **Android:** Inspect APK signing declarations and structured manifest components; report static-final DEX field values. [e93e3b1](https://github.com/morluto/rea/commit/e93e3b1e7d6e7e4f49c2de24b92452ec29e853f8), [#4158](https://github.com/morluto/rea/pull/4158), [#5025](https://github.com/morluto/rea/pull/5025), [#6981](https://github.com/morluto/rea/pull/6981), [#4537](https://github.com/morluto/rea/issues/4537), [#6397](https://github.com/morluto/rea/issues/6397). Thanks @Abelo9996, @BaaRai, @FerroLx, @gensokyo-dev, @sserrgo12. +- **Bytecode and firmware:** Inspect and query CPython pyc and BEAM facts, inspect flattened devicetrees, and attribute MMIO peripheral regions in native disassembly. [#4826](https://github.com/morluto/rea/pull/4826), [#6928](https://github.com/morluto/rea/pull/6928), [#4833](https://github.com/morluto/rea/pull/4833), [#6943](https://github.com/morluto/rea/pull/6943), [#7009](https://github.com/morluto/rea/pull/7009), [#5348](https://github.com/morluto/rea/pull/5348), [#6922](https://github.com/morluto/rea/issues/6922), [#6938](https://github.com/morluto/rea/issues/6938). Thanks @gensokyo-dev, @liziye627-design, @mvanhorn. +- **JavaScript:** Retain queryable static route inventories, link assignment values to writes, and accept source selections as a JSON array or file. [#6019](https://github.com/morluto/rea/pull/6019), [#6206](https://github.com/morluto/rea/pull/6206), [#5029](https://github.com/morluto/rea/pull/5029), [#4772](https://github.com/morluto/rea/issues/4772), [#6193](https://github.com/morluto/rea/issues/6193). Thanks @gensokyo-dev, @IvenKooLab, @jacobmalibiran, @JoshOsullivan-au, @kaoru0822-kitauji, @KJLavender. +- **Data inspection:** Decode selected protobuf/gRPC bodies, inspect GGUF/safetensors declarations, and produce byte-entropy profiles. [#5031](https://github.com/morluto/rea/pull/5031), [#5603](https://github.com/morluto/rea/pull/5603), [#2331](https://github.com/morluto/rea/pull/2331), [#4986](https://github.com/morluto/rea/issues/4986), [#3323](https://github.com/morluto/rea/issues/3323). Thanks @AayushJB03, @gensokyo-dev, @kaoru0822-kitauji, @KJLavender, @michaelkillgta, @mvanhorn. +- **CLI input/output:** Accept structured request documents on stdin and expose version/runtime output formats. Row-oriented JSONL exports use the migration above. [#7040](https://github.com/morluto/rea/pull/7040), [#5486](https://github.com/morluto/rea/issues/5486), [#6530](https://github.com/morluto/rea/pull/6530), [169512a](https://github.com/morluto/rea/commit/169512a35bb015ff209168fb8bc1c9b31a2c678b), [#5483](https://github.com/morluto/rea/issues/5483). Thanks @Abelo9996, @ahmed-husssain, @CassieFox23, @DeryFerd, @eco-null, @ezrabrilliant, @GamerDubz, @gensokyo-dev, @gongfpp, @hifzabuildsai, @jayykernel, @mhamzasakhi, @pablodiazjorge, @Plastic-time, @raidnouredden-ux, @SandstromPL, @ShuaixinHuang, @Sriram-PR, @XiaoBinGan. +- **MCP and setup:** Add opt-in Streamable HTTP and FreeBuff setup registration. FreeBuff support first appears in 6.8.0; installed native FreeBuff loading and skill discovery remain unverified. [#4955](https://github.com/morluto/rea/pull/4955), [#2736](https://github.com/morluto/rea/pull/2736), [#3243](https://github.com/morluto/rea/issues/3243). Thanks @0xLLVEL, @codebuff-team, @earakely-scale, @gensokyo-dev, @kaoru0822-kitauji. +- **Recovery controls:** Adjust per-call WASM/SQLite/firmware deadlines, MCP startup budgets, regex matching deadlines/worker heap, capture decoder heap, ASAR header admission, Apple dispatch input, and the bridge request ceiling. MCP runtime limit recovery reports actionable settings. [#5798](https://github.com/morluto/rea/pull/5798), [#5818](https://github.com/morluto/rea/pull/5818), [aa53c06](https://github.com/morluto/rea/commit/aa53c065387c58b4189d82c47f1f3445fc505e30), [#5863](https://github.com/morluto/rea/pull/5863), [#6304](https://github.com/morluto/rea/pull/6304), [#6267](https://github.com/morluto/rea/pull/6267), [#6301](https://github.com/morluto/rea/pull/6301), [#6299](https://github.com/morluto/rea/pull/6299), [#6209](https://github.com/morluto/rea/pull/6209), [#6233](https://github.com/morluto/rea/pull/6233), [#6376](https://github.com/morluto/rea/pull/6376), [#7049](https://github.com/morluto/rea/pull/7049), [#5797](https://github.com/morluto/rea/issues/5797), [#5812](https://github.com/morluto/rea/issues/5812), [#5851](https://github.com/morluto/rea/issues/5851), [#6176](https://github.com/morluto/rea/issues/6176), [#3917](https://github.com/morluto/rea/issues/3917). Thanks @gensokyo-dev, @jaychou813, @kaoru0822-kitauji. +- **APK output:** Set `string_tables_only` or CLI `--string-tables-only` to omit duplicate primary strings and avoid their output-capacity charge. [7c458f0](https://github.com/morluto/rea/commit/7c458f04b9155707c8ba406f8b455b10016f1b99), [#4990](https://github.com/morluto/rea/pull/4990), [#4982](https://github.com/morluto/rea/issues/4982). Thanks @gensokyo-dev, @kaoru0822-kitauji, @N0zoM1z0. +- **Retained analysis:** Reuse successful validation of authenticated immutable native/imported-JavaScript parents and captures. Query retained Go build identity, Rust dependencies, JavaScript source-to-bundle mappings, and native export facts without repeating full output. [8f7d12e](https://github.com/morluto/rea/commit/8f7d12e30d63f3d3b4cfe2a90336362841438f56), [#4962](https://github.com/morluto/rea/pull/4962), [#5349](https://github.com/morluto/rea/pull/5349), [#5524](https://github.com/morluto/rea/pull/5524), [#5815](https://github.com/morluto/rea/pull/5815), [#6128](https://github.com/morluto/rea/pull/6128), [#6907](https://github.com/morluto/rea/pull/6907), [#4810](https://github.com/morluto/rea/issues/4810), [#5499](https://github.com/morluto/rea/issues/5499), [#5802](https://github.com/morluto/rea/issues/5802), [#6112](https://github.com/morluto/rea/issues/6112), [#6900](https://github.com/morluto/rea/issues/6900). Thanks @gensokyo-dev, @kaoru0822-kitauji, @N0zoM1z0. +- **Compact results:** Use retained Frida/GDB/objdump summaries, omit redundant Ghidra raw results, and defer the analysis runtime during MCP catalog discovery. [#5661](https://github.com/morluto/rea/pull/5661), [#5614](https://github.com/morluto/rea/pull/5614), [#5355](https://github.com/morluto/rea/pull/5355), [#4424](https://github.com/morluto/rea/pull/4424), [#5640](https://github.com/morluto/rea/issues/5640), [#5584](https://github.com/morluto/rea/issues/5584), [#5337](https://github.com/morluto/rea/issues/5337). Thanks @coygeek, @gensokyo-dev, @kaoru0822-kitauji, @leeguooooo. +- **Analysis work:** Reuse Hopper literal-string records, JavaScript workers and captured prefix selections, Interface Builder validation and plist scalar schemas; bound stable reads to one snapshot buffer and avoid decoding omitted GGUF strings. [#5017](https://github.com/morluto/rea/pull/5017), [#5819](https://github.com/morluto/rea/pull/5819), [31de177](https://github.com/morluto/rea/commit/31de177404461d122761d8243abe4fd24564f4da), [#5885](https://github.com/morluto/rea/pull/5885), [85e38ac](https://github.com/morluto/rea/commit/85e38ac199dff15e8c43343d9170db7e0e46d284), [#6966](https://github.com/morluto/rea/pull/6966), [#5781](https://github.com/morluto/rea/pull/5781), [#5010](https://github.com/morluto/rea/issues/5010), [#5855](https://github.com/morluto/rea/issues/5855), [#6954](https://github.com/morluto/rea/issues/6954), [#5774](https://github.com/morluto/rea/issues/5774). Thanks @gensokyo-dev, @kaoru0822-kitauji. +- **Native scheduling:** Batch modern IDA callee lookups, schedule decompilation reads on demand, index NativeAOT type closure, and retain call-path ancestry once per visited node. [0c6fed9](https://github.com/morluto/rea/commit/0c6fed90b74c75a9fd23d1ec1b510a7274f85887), [06fe7ee](https://github.com/morluto/rea/commit/06fe7eecbc8c387414b4c1aa0d88ad6314f54f0c), [ce61680](https://github.com/morluto/rea/commit/ce61680c04c95a9cdfad5335632a99542af26d37), [5e4ec0f](https://github.com/morluto/rea/commit/5e4ec0fa1b678aa3bf20704ec9110224ba8c1676). +- **Selected processing:** Prepare CLI positional schemas only for the selected command, separate entropy reads from report resolution, prune typed-array reference escapes, index state-write cutoffs, decode only selected replay query values, and skip payload text during WAT framing. [315b234](https://github.com/morluto/rea/commit/315b23403f0819967878cee418c3f9cb4b1a69d9), [#6950](https://github.com/morluto/rea/pull/6950), [#5139](https://github.com/morluto/rea/pull/5139), [#5350](https://github.com/morluto/rea/pull/5350), [96ea32b](https://github.com/morluto/rea/commit/96ea32b7e4e28d3c9cd79a1de4b8e1ba3b4244e9), [70835d3](https://github.com/morluto/rea/commit/70835d3d5f030deadf606e1c79c70a60883e50c9), [#5766](https://github.com/morluto/rea/pull/5766), [#6947](https://github.com/morluto/rea/issues/6947), [#5760](https://github.com/morluto/rea/issues/5760). Thanks @galleonli, @gensokyo-dev, @kaoru0822-kitauji. + +### Fixes + +- **IPS report fields:** Preserve the recorded terminating process and PID, termination flags, parent PID, and build/platform metadata. [#7079](https://github.com/morluto/rea/pull/7079), [#7078](https://github.com/morluto/rea/issues/7078). Thanks @rodricksz4h5. +- **Ghidra language selection:** Accept stock language IDs containing `LEBE` or slash-separated processor names, and report conflicting DOL language overrides as configuration errors naming `REA_GHIDRA_LANGUAGE_ID`. [#7070](https://github.com/morluto/rea/pull/7070), [#7072](https://github.com/morluto/rea/issues/7072), [#7081](https://github.com/morluto/rea/pull/7081), [#7082](https://github.com/morluto/rea/issues/7082). Thanks @Adolanium. +- **Setup and Hopper:** Preserve the Linux embedding runtime, supported x86_64 host restriction, readiness-based provider choices, orderly demo-helper shutdown, and installed apt dependency versions. Keep cleanup and skill publication ownership through retries. [#5041](https://github.com/morluto/rea/pull/5041), [#3422](https://github.com/morluto/rea/pull/3422), [f5d1012](https://github.com/morluto/rea/commit/f5d1012fabfe99af82523c3078ce9d93eb3780c1), [#4966](https://github.com/morluto/rea/pull/4966), [#6974](https://github.com/morluto/rea/pull/6974), [211e353](https://github.com/morluto/rea/commit/211e3533b34f81ae0910ad4f53f2a3d3c8587d3e), [#6920](https://github.com/morluto/rea/pull/6920), [#5015](https://github.com/morluto/rea/issues/5015), [#3419](https://github.com/morluto/rea/issues/3419), [#4921](https://github.com/morluto/rea/issues/4921), [#6975](https://github.com/morluto/rea/issues/6975). Thanks @Abel-I-Akhigbe, @Adolanium, @DavidFB-creator, @DeryFerd, @gensokyo-dev, @kaoru0822-kitauji, @sx4im. +- **Client setup:** Treat empty APPDATA as unset, distinguish MSIX Claude Desktop process views, preserve aliased Hermes server tables, reuse client dialect/alias bindings, and materialize the pinned package-runner cache before the first start. [#5126](https://github.com/morluto/rea/pull/5126), [#4903](https://github.com/morluto/rea/pull/4903), [#3785](https://github.com/morluto/rea/pull/3785), [b7eeded](https://github.com/morluto/rea/commit/b7eededf5af5061a834f93f57f2c888acf870344), [#7032](https://github.com/morluto/rea/pull/7032), [#5104](https://github.com/morluto/rea/issues/5104), [#4278](https://github.com/morluto/rea/issues/4278), [#3320](https://github.com/morluto/rea/issues/3320), [#7027](https://github.com/morluto/rea/issues/7027). Thanks @CmsChase, @coygeek, @myso-kr, @pablodiazjorge, @vaidehi-snk, @wxj006007. +- **Target admission:** Preserve thin arm64_32 Mach-O support, distinguish JVM identity before FAT admission, validate FAT format/CPU identity, preserve original DOS header padding, and reject NULs in local objdump/rizin paths. [#5788](https://github.com/morluto/rea/pull/5788), [6843dbe](https://github.com/morluto/rea/commit/6843dbea9bce4709ee2e8bf46c38f0bbf640716b), [497037e](https://github.com/morluto/rea/commit/497037e6e3975cbb37cfd89ea0ad300faa2a4769), [#7013](https://github.com/morluto/rea/pull/7013), [#3600](https://github.com/morluto/rea/pull/3600), [#5713](https://github.com/morluto/rea/issues/5713), [#6510](https://github.com/morluto/rea/issues/6510). Thanks @coygeek, @dhruvac29, @kaoru0822-kitauji, @Lew1sWong, @qorvr. +- **Mach-O and dylibs:** Preserve container framing, facts when dyld rejects a missing UUID, verified-signature snapshot identity, unsigned diagnostics, absolute paths inside the selected root, legacy platform rules, lazy-load payloads, and reasons for rejecting present dylibs. [cf3288d](https://github.com/morluto/rea/commit/cf3288d8cf7a09685acf89103b36c32359be56fa), [2b263a7](https://github.com/morluto/rea/commit/2b263a7fe9e9d4c185c7d6af6b4e67b21a73af30), [eb7acc7](https://github.com/morluto/rea/commit/eb7acc70bf06f119e8639e30a78081d5ba82b0bf), [1502cfb](https://github.com/morluto/rea/commit/1502cfbc8ca0d1d1d86eebf334018dfb418bbac0), [90062c0](https://github.com/morluto/rea/commit/90062c092228dea9d33fadc0d7e1b968105b8b2c), [#5650](https://github.com/morluto/rea/pull/5650), [3b67b36](https://github.com/morluto/rea/commit/3b67b362aa2cd79eac5af57d0965e81a7d0b8c2b), [#5551](https://github.com/morluto/rea/issues/5551). Thanks @coygeek. +- **Native facts:** Admit direct dispatch-metadata providers; preserve record-local Objective-C omissions, snapshot profiles, class-import binding identity, stripped class labels, version-like names, and qualified Swift protocol identities. [50b6975](https://github.com/morluto/rea/commit/50b6975d861069e2c6cfa202780621449f863802), [9eec57b](https://github.com/morluto/rea/commit/9eec57b469087fe9bff3d29dcc02f47074159e91), [0ba4d6f](https://github.com/morluto/rea/commit/0ba4d6f43ad610dacc861a1548be1a5c4712cd61), [4d7de00](https://github.com/morluto/rea/commit/4d7de00d4cc9a95ec2b7a3123b04e01db2daafa0), [22c84ce](https://github.com/morluto/rea/commit/22c84ce64aa6c7601aa81af86d4117b5a4c2feac), [4852c83](https://github.com/morluto/rea/commit/4852c830af1e3b9df437235b7a8fa8970a6d1c59), [aa9043f](https://github.com/morluto/rea/commit/aa9043f6b61c453e4735795cfe6a559bf6b6cc16). +- **Apple resources:** Preserve independent plist scalars, processing instructions, nonstandard table widths, unsupported NIB connector coverage, and strict IPS JSON surrogate validation; classify Interface Builder objects by their declared superclass chains. [fd728f2](https://github.com/morluto/rea/commit/fd728f271e7de7bcfa63890b573715720d5f948c), [#5806](https://github.com/morluto/rea/pull/5806), [4526862](https://github.com/morluto/rea/commit/4526862728af01f1135714079c0d8a8c754eb364), [14cd78c](https://github.com/morluto/rea/commit/14cd78c3224edcf79fca152915077112f547b9ed), [#6990](https://github.com/morluto/rea/pull/6990), [#5805](https://github.com/morluto/rea/issues/5805), [#5228](https://github.com/morluto/rea/pull/5228), [#5218](https://github.com/morluto/rea/issues/5218). Thanks @coygeek, @DeryFerd, @kaoru0822-kitauji, @Mangolycheematcha, @mhamzasakhi, @Shreyash021104. +- **Archives and files:** Complete positional ZIP reads, preserve bounded ASAR signatures, report stable symlink loops as resolution failures, retain target applicability, and report unknown traversal coverage. Retain reported integrity contradictions for members present in only one compared artifact. [#4414](https://github.com/morluto/rea/pull/4414), [e8da7e1](https://github.com/morluto/rea/commit/e8da7e1edd075feec0e6beedec93d5645fed8125), [#5571](https://github.com/morluto/rea/pull/5571), [#5763](https://github.com/morluto/rea/pull/5763), [#5867](https://github.com/morluto/rea/pull/5867), [#5521](https://github.com/morluto/rea/issues/5521), [#5731](https://github.com/morluto/rea/issues/5731), [#5837](https://github.com/morluto/rea/issues/5837), [#7076](https://github.com/morluto/rea/pull/7076). Thanks @Afloat16, @coygeek, @jdotc1, @kaoru0822-kitauji, @WenyuChiou. +- **Extraction and file ownership:** Restrict destination-case recovery to owned collisions, retain physical-read failures through late cancellation/cleanup, preserve cleanup capabilities for retry, and retain independent firmware extraction failures. [932fbb7](https://github.com/morluto/rea/commit/932fbb7d84a9a995b9aee3c1be7da05a8c4d7bbb), [9499667](https://github.com/morluto/rea/commit/949966712e68d8857a50a165ecddf04c2d7e6d3b), [56679dd](https://github.com/morluto/rea/commit/56679dd2ae31dda58e181f8bf99775014f7bb82b), [b3c912a](https://github.com/morluto/rea/commit/b3c912ab79ad147a37b6cfbe1552a1a5eecec629), [7298bd0](https://github.com/morluto/rea/commit/7298bd08d134860b84b4073f6703021916a5a4c5). +- **Processes and cancellation:** Retain partial samples and shutdown gaps, unresolved descendants and caller abort reasons; bind cleanup errors to their owners, propagate comparison contradictions, and report no normal exit code for signalled targets. [ba866a2](https://github.com/morluto/rea/commit/ba866a26ecbe179a717e746cbc0d1605ae616ad5), [#5270](https://github.com/morluto/rea/pull/5270), [#6144](https://github.com/morluto/rea/pull/6144), [a721c42](https://github.com/morluto/rea/commit/a721c42c07dc674c32ab939627355b8a1bee97a5), [#6298](https://github.com/morluto/rea/pull/6298), [#6486](https://github.com/morluto/rea/pull/6486), [#5935](https://github.com/morluto/rea/issues/5935), [#5944](https://github.com/morluto/rea/issues/5944), [#6100](https://github.com/morluto/rea/issues/6100), [#6101](https://github.com/morluto/rea/issues/6101), [#6110](https://github.com/morluto/rea/issues/6110), [#6113](https://github.com/morluto/rea/issues/6113), [#6121](https://github.com/morluto/rea/issues/6121), [#6131](https://github.com/morluto/rea/issues/6131), [#6132](https://github.com/morluto/rea/issues/6132), [#6218](https://github.com/morluto/rea/issues/6218), [#6445](https://github.com/morluto/rea/issues/6445). Thanks @agorevski, @coygeek, @gongfpp, @kwakhyun, @mhamzasakhi. +- **Provider cleanup:** Preserve Windows native handles until close is confirmed, native/Inspector/Electron cleanup ownership, Kuna probe identity and cleanup, IDA registration configuration, and Hopper preparation ownership. [#5772](https://github.com/morluto/rea/pull/5772), [87ab054](https://github.com/morluto/rea/commit/87ab054ea384b3fcbae2998b1f94685edcd5f624), [ff78165](https://github.com/morluto/rea/commit/ff78165978de9dbcf9fa16c2acf74bf85a69dc44), [04ae07a](https://github.com/morluto/rea/commit/04ae07ab8c9ae1a6697b6ad15489bbde515da8b5), [dd0015a](https://github.com/morluto/rea/commit/dd0015aaf156c5701ef9598bcc6c885e6b8da803), [b231c28](https://github.com/morluto/rea/commit/b231c28cf64c2f799ada99343f8f21e0e6acb15e), [#4505](https://github.com/morluto/rea/issues/4505), [#5616](https://github.com/morluto/rea/issues/5616). +- **Provider diagnostics:** Give Ghidra restart recovery, stable Homebrew aliases, unsupported-host results for Linux-only integrations, correct IDA regex/readiness handling, and clear diagnostics when Windows refuses a verified native addon. [#5356](https://github.com/morluto/rea/pull/5356), [7c6142e](https://github.com/morluto/rea/commit/7c6142efdc19a42c148d0e8c96b69d18e63c7f87), [#5793](https://github.com/morluto/rea/pull/5793), [#4862](https://github.com/morluto/rea/pull/4862), [99ccfb6](https://github.com/morluto/rea/commit/99ccfb6e709ac4bc0afe176315280abde9ebcb9f), [#6832](https://github.com/morluto/rea/pull/6832), [#5730](https://github.com/morluto/rea/issues/5730), [#4860](https://github.com/morluto/rea/issues/4860), [#5723](https://github.com/morluto/rea/issues/5723). Thanks @coygeek, @dark13b, @gensokyo-dev, @jgt87, @jpmorris41488, @Lew1sWong. +- **MCP results:** Preserve protocol envelopes on oversized errors, enforce and advertise absolute Evidence paths, retain typed output-filter errors and selected JSON paths, and give client/provider timeout recovery. Compact advertisements now normalize reported enum and union shapes for strict gateway translation. [562dab0](https://github.com/morluto/rea/commit/562dab00c5cbf76a9b2695bad93792eccdc9a49d), [3cf6206](https://github.com/morluto/rea/commit/3cf6206614e65b5ebb6284a5709090dfb8f9aaee), [0e83d92](https://github.com/morluto/rea/commit/0e83d92c583ae36afe00b2c23dd2a0f1d025cbca), [4714c7e](https://github.com/morluto/rea/commit/4714c7eaa3d1d8b6a5df0aff586e844b9d9ab06d), [1bfa60a](https://github.com/morluto/rea/commit/1bfa60ac20e1a344bcf3132c08d15b6860b05c61), [#5608](https://github.com/morluto/rea/pull/5608), [#3806](https://github.com/morluto/rea/pull/3806), [#5598](https://github.com/morluto/rea/issues/5598), [#3800](https://github.com/morluto/rea/issues/3800). Thanks @gensokyo-dev, @Hahaa909, @wang1xiang. +- **Browser lifecycles:** Retain historical outcomes through cleanup, stop late navigation before session release, stop expired work, observe aborted fetch settlement, and mark later scenario actions skipped after failure or cancellation. [2e5171e](https://github.com/morluto/rea/commit/2e5171e391b83f8a467d0861fd452c1f78621fd8), [599fdac](https://github.com/morluto/rea/commit/599fdac029912f96c511f859660483405d2de26f), [b2fad36](https://github.com/morluto/rea/commit/b2fad362f2b37f81dc9a6f784f4521e4ca24d41e), [13a8640](https://github.com/morluto/rea/commit/13a864020414577006dce58d7fdaa877ddd0cb52), [#6023](https://github.com/morluto/rea/pull/6023), [#5943](https://github.com/morluto/rea/issues/5943). Thanks @coygeek, @kaoru0822-kitauji. +- **Browser comparisons:** Preserve frame identity, default origin scope, unknown body/shape coverage, correspondence and uncertainty, and independent retained-observation budgets. [#4040](https://github.com/morluto/rea/pull/4040), [#4413](https://github.com/morluto/rea/pull/4413), [#4476](https://github.com/morluto/rea/pull/4476), [a0c22ff](https://github.com/morluto/rea/commit/a0c22ff0125b8af7612db54d3708413e2bfecb25), [a0fcc60](https://github.com/morluto/rea/commit/a0fcc60d89eb0cc09b08181eb9f961acfd07d8e9), [#3878](https://github.com/morluto/rea/issues/3878), [#3910](https://github.com/morluto/rea/issues/3910), [#3941](https://github.com/morluto/rea/issues/3941), [#4385](https://github.com/morluto/rea/issues/4385), [#4477](https://github.com/morluto/rea/issues/4477). Thanks @Adolanium, @coygeek, @eco-null, @gensokyo-dev, @kaoru0822-kitauji, @XY-code1. +- **Electron observations:** Preserve listener callback ownership and count registrations by source callsite; block trash calls in the active hook, retain window handles through cancelled selection, and preserve cancellation during finalization. [dfe8378](https://github.com/morluto/rea/commit/dfe8378cf5a727e3d93d47a5986233175c6ef898), [5064007](https://github.com/morluto/rea/commit/506400748eb1d6c674f0cf51330073929c45f939), [816a9dc](https://github.com/morluto/rea/commit/816a9dc98886e6d824cd8ae88b68731b161d5dda), [1707d17](https://github.com/morluto/rea/commit/1707d171d750955bf6387e028e378183b360ffe3), [4e2a566](https://github.com/morluto/rea/commit/4e2a566d6c7e053ecbbee1b684311ed31ea163bf). +- **JavaScript source maps:** Keep unmapped and missing mappings unknown, preserve partial indexed-map facts and section paths, propagate preparation capability errors, and retain observed worker failures through cancellation. [a4dbb36](https://github.com/morluto/rea/commit/a4dbb36d8ea83e9f94dd289ac1a2d220d2c72c9b), [2b2e362](https://github.com/morluto/rea/commit/2b2e362a00fc5ba2f93fa6c62e2d8780072d1b4b), [498a667](https://github.com/morluto/rea/commit/498a667234b0140c1cfa43c819b35454ab11d14e), [#6149](https://github.com/morluto/rea/pull/6149), [#6214](https://github.com/morluto/rea/pull/6214), [f01dcca](https://github.com/morluto/rea/commit/f01dccab77f712fb4ac936d0a6e92a70d12f0789), [#6082](https://github.com/morluto/rea/issues/6082), [#6061](https://github.com/morluto/rea/issues/6061). Thanks @coygeek, @diyasharma05, @kaoru0822-kitauji. +- **JavaScript semantics:** Preserve overflowing timer uncertainty, unavailable-scope comparisons, directory-form URL/ESM path intent, and artifact confinement. Replaced globals lose built-in effects; erased imports no longer become runtime bindings. Treat a known truthy `fork()` `silent` option as piped stdio unless a string/array `stdio` override takes precedence; unresolved options stay dynamic. [#3456](https://github.com/morluto/rea/pull/3456), [8d198d6](https://github.com/morluto/rea/commit/8d198d6ec707402d75276f516e0090d71767b7e4), [#4646](https://github.com/morluto/rea/pull/4646), [#2700](https://github.com/morluto/rea/pull/2700), [#4565](https://github.com/morluto/rea/pull/4565), [#6994](https://github.com/morluto/rea/pull/6994), [#3400](https://github.com/morluto/rea/issues/3400), [#3882](https://github.com/morluto/rea/issues/3882), [#3367](https://github.com/morluto/rea/issues/3367), [#7083](https://github.com/morluto/rea/pull/7083), [#7084](https://github.com/morluto/rea/issues/7084). Thanks @Adolanium, @amyanger, @coygeek, @gensokyo-dev, @HawkForge, @rohitg00, @viniciusdsandrade. +- **JavaScript routes and imports:** Treat path data as route candidates, preserve route flag and lexical RPC identities, package-main trailing-slash selection, catch aliases, and factory parameter ownership. [#6360](https://github.com/morluto/rea/pull/6360), [38ecc02](https://github.com/morluto/rea/commit/38ecc0248e1993d25a2f7dd350024484cce797bb), [#4219](https://github.com/morluto/rea/pull/4219), [21097b1](https://github.com/morluto/rea/commit/21097b192b1ab94647e3446b1a2a4dd00e924d5e), [f774dc4](https://github.com/morluto/rea/commit/f774dc420b3befe2b8e68971b4116da2d62fc800), [#6349](https://github.com/morluto/rea/issues/6349), [#4189](https://github.com/morluto/rea/issues/4189). Thanks @coygeek, @hemv-857, @kaoru0822-kitauji, @Nikhi00718. +- **Managed/IL2CPP:** Preserve extension-only scope uncertainty and type discovery after member limits, nested names, ReadyToRun/declaration facts, selected type scope, valid shared-suffix strings, and truncated IL2CPP metadata prefixes. [#5674](https://github.com/morluto/rea/pull/5674), [#5312](https://github.com/morluto/rea/pull/5312), [87fa1b6](https://github.com/morluto/rea/commit/87fa1b613d2b6bda1722855a00f1390f27731b64), [bc2d494](https://github.com/morluto/rea/commit/bc2d494030efd1ccabaeaa0bd49226aa87c378a2), [1f0eb22](https://github.com/morluto/rea/commit/1f0eb228e50908ee2a2aaa72d329178ae1a2cdbd), [4c5fae5](https://github.com/morluto/rea/commit/4c5fae5179dd54c4a0d427cd2a115b9c887e3841), [b3aadaf](https://github.com/morluto/rea/commit/b3aadaf474e59b33e5ff465236008a67eccefb87), [#5467](https://github.com/morluto/rea/issues/5467), [#5146](https://github.com/morluto/rea/issues/5146). Thanks @coygeek, @eco-null, @elricfd, @umi008. +- **Format boundaries:** Preserve independent facts across malformed inputs in model, GPU, WASM, Rust, Android, and SQLite inspection; report optional metadata warnings without discarding core results. [eb41f35](https://github.com/morluto/rea/commit/eb41f358cf83d5626f09de68332f9718f9aa6482), [#5789](https://github.com/morluto/rea/pull/5789), [00a9e95](https://github.com/morluto/rea/commit/00a9e95de91a4bd4d2a41f8aee704a53fa575750), [fc63fe8](https://github.com/morluto/rea/commit/fc63fe8682654086261540dcf3c59afc36c7d58f), [39a91d4](https://github.com/morluto/rea/commit/39a91d4db96ca13224c25936330ea84fe78970e5), [6c6e2ad](https://github.com/morluto/rea/commit/6c6e2ad62b20f810b54f5a567e66fc55241514b2), [929a0a7](https://github.com/morluto/rea/commit/929a0a76c870d9991e015dde58308fd9df0280b8), [d137a4c](https://github.com/morluto/rea/commit/d137a4cdde0049de967f1d5cd429ed9e1f7d0a10), [ef475fc](https://github.com/morluto/rea/commit/ef475fcf8b0601c61052b7091568ba574546417d), [#5749](https://github.com/morluto/rea/issues/5749). Thanks @coygeek, @gensokyo-dev. +- **Capture decoding:** Preserve malformed protobuf trailer facts and wire/schema identity, HTTP/2 URI and UTF-8 failure facts, WebMCP property coverage, and offline capture availability without a browser provider. Report invalid record ordinals as selection errors with actual bounds where available, and trim surrounding SP/HTAB from gRPC-web trailer values while preserving internal whitespace. [9cf7a7c](https://github.com/morluto/rea/commit/9cf7a7cb0d3c72a1121fde280cb11bf911af8055), [b3c3b21](https://github.com/morluto/rea/commit/b3c3b21e43cab4e71b460d08829d8c6e4e9b9c21), [4cb1f1d](https://github.com/morluto/rea/commit/4cb1f1d820df4498ee464bcf72a5f47d40cf8dab), [51e5938](https://github.com/morluto/rea/commit/51e593877642ab42fb5bf25812f4a4110ee7ac26), [d23be5c](https://github.com/morluto/rea/commit/d23be5c0898c39c9f0c54e2e0b43ee746d92d316), [#6725](https://github.com/morluto/rea/pull/6725), [#3947](https://github.com/morluto/rea/issues/3947), [#7067](https://github.com/morluto/rea/pull/7067), [#7068](https://github.com/morluto/rea/issues/7068), [#7069](https://github.com/morluto/rea/pull/7069), [#7071](https://github.com/morluto/rea/issues/7071). Thanks @Adolanium, @coygeek, @Sriram-PR. +- **Evidence and errors:** Authenticate ledger Evidence before committing; preserve parent-schema diagnostics, canonical correction details and owned cleanup outcomes; identify the rejected function-Evidence side/kind. Fixed allowances now name their actual limits. [0407bbf](https://github.com/morluto/rea/commit/0407bbfbe65e8fa475e8bb0c78c30170e2c2f55e), [#6361](https://github.com/morluto/rea/pull/6361), [1629266](https://github.com/morluto/rea/commit/1629266e3c08c90fed6bba5383528af7986a12b7), [#6969](https://github.com/morluto/rea/pull/6969), [#5860](https://github.com/morluto/rea/pull/5860), [#6034](https://github.com/morluto/rea/issues/6034), [#5932](https://github.com/morluto/rea/issues/5932), [#5847](https://github.com/morluto/rea/issues/5847). Thanks @AyoubElleuch, @coygeek, @dhruvac29, @kaoru0822-kitauji. +- **ADB and firmware recovery:** Report an unparsed push checksum as unverified, normalize absent installer-package sentinels, describe extraction-relative Unblob links, and avoid recommending a budget increase at its fixed ceiling. [#6010](https://github.com/morluto/rea/pull/6010), [#4073](https://github.com/morluto/rea/pull/4073), [#4573](https://github.com/morluto/rea/pull/4573), [#6971](https://github.com/morluto/rea/pull/6971), [#5924](https://github.com/morluto/rea/issues/5924), [#4175](https://github.com/morluto/rea/issues/4175). Thanks @coygeek, @Ganesh2325, @kaoru0822-kitauji, @Rinkia, @XiaoBinGan, @yankikucuk. +- **CLI formatting:** Share Markdown report formatting, exclude inherited row values, and preserve arrays of empty objects as JSON. Render Markdown table headers and cells literally while keeping intraword underscores readable. [b784912](https://github.com/morluto/rea/commit/b784912811fd10ac9dc425696dc0e9af632afa34), [#6984](https://github.com/morluto/rea/pull/6984), [#7058](https://github.com/morluto/rea/pull/7058), [#7057](https://github.com/morluto/rea/issues/7057), [#7073](https://github.com/morluto/rea/pull/7073). Thanks @Plastic-time, @ShuaixinHuang, @viniciusdsandrade. +- **Format identity:** Preserve Python marshal scalar/decode limits, empty optional BEAM chunks, PE resource branch identities and certificate alignment, unsupported compressed ELF notes, and codec-framed GPU bundle extents. [0603223](https://github.com/morluto/rea/commit/06032237c6755e3dd5f9a8db732c89958b238cc7), [c46064c](https://github.com/morluto/rea/commit/c46064c3f6eaba121c5de7b17390bfdecdd132ef), [66671e8](https://github.com/morluto/rea/commit/66671e874888e98f7e2b27e68a7c6fb320bbb827), [03077d5](https://github.com/morluto/rea/commit/03077d54afc49613db4e38f70c506bc60f5223aa), [#6721](https://github.com/morluto/rea/pull/6721), [9fb8c11](https://github.com/morluto/rea/commit/9fb8c114a03ad60e57c11586967c6df845a3f97e), [f6a1e2c](https://github.com/morluto/rea/commit/f6a1e2c892dc23c7583c3d03af9edb01632ff5a5), [#6694](https://github.com/morluto/rea/issues/6694). Thanks @coygeek, @Deepak-Kambala. +- **WASM and APK metadata:** Preserve ambiguous WASM identity and partial facts, glue URL query/fragment text across line terminators, APK signer identity, and raw issuer identity when comparison rules are unknown. [af8f0ba](https://github.com/morluto/rea/commit/af8f0badf64fd3546392b6aa4625777904b2f051), [#6802](https://github.com/morluto/rea/pull/6802), [f783f0f](https://github.com/morluto/rea/commit/f783f0f1e82472cdddd4de2156d974f729e332a6), [115a78f](https://github.com/morluto/rea/commit/115a78fe241276c34917b496621954c5f29bfc15), [#6639](https://github.com/morluto/rea/issues/6639). Thanks @coygeek, @gensokyo-dev, @gongfpp. +- **Source identity:** Preserve Next route spelling, module grammar and loader request identity, directory package-main behavior, accessor effects, exact source targets, and resolver-discovery versus module-loading distinctions. [ddd7ac7](https://github.com/morluto/rea/commit/ddd7ac7b846b48191ead1f7dcd0e3bd735468fa8), [9974512](https://github.com/morluto/rea/commit/99745126009b15060d71c38809418858a07d5afa), [f2e5fd1](https://github.com/morluto/rea/commit/f2e5fd148a85fa737302dd194a33172c4561093e), [baf1678](https://github.com/morluto/rea/commit/baf16784af3592534687052431c145daef55cfd1), [6e324b2](https://github.com/morluto/rea/commit/6e324b224405f2befd953234f6dc210cf72ad50a), [75daf0c](https://github.com/morluto/rea/commit/75daf0c7df108f04ab41f34aec1a31d4a7ceb322), [f91b7f8](https://github.com/morluto/rea/commit/f91b7f8009c9af27a5e0148e3b07d20bfe3b7a2a). +- **Graphs and selected facts:** Preserve JavaScript graph omissions/version facts, Electron native-loader facts, web JSON identity/coverage, module-path selection, feature-trace qualifications, selected native paths, endpoint context, and mixed Swift demangler outcomes. [30db499](https://github.com/morluto/rea/commit/30db499db310f073d9bf3d3acfd77985e1cb7e2e), [5a7bddb](https://github.com/morluto/rea/commit/5a7bddb3aeb0345854e76b79d529aed1c40e2054), [79805f2](https://github.com/morluto/rea/commit/79805f244a1ec0850f3109929168a9c8ebb1b908), [f719dc4](https://github.com/morluto/rea/commit/f719dc46c51a55b3926eec9659d06e7dfb95132b), [7784fdb](https://github.com/morluto/rea/commit/7784fdbad78f8b384d513f0e7dae8e983cd48ef8), [76500f1](https://github.com/morluto/rea/commit/76500f12b54e07b1ea700a403b2593890d63b42a), [676d29f](https://github.com/morluto/rea/commit/676d29f9eef794cea668f5f09f0ff510c848a513), [edf7b3d](https://github.com/morluto/rea/commit/edf7b3d32c3248f221e27f7ce5a3d34e8590285b), [93de7bc](https://github.com/morluto/rea/commit/93de7bc7e324a761162a31625b838ba0d4e3824d). +- **Managed boundaries:** Honor native platform symbol lookup, consume resolved IL2CPP ELF declarations, and attribute malformed comparison inputs to the supplied argument. [64fa1db](https://github.com/morluto/rea/commit/64fa1db1309218283df19f3ee4dba61f5fbd2a67), [87745af](https://github.com/morluto/rea/commit/87745af52ab0ccd3a172c2534c516d41b0095035), [96ad94f](https://github.com/morluto/rea/commit/96ad94f69eda5d68c7335ff775b6927b1376fd2b). +- **Provider and worker recovery:** Preserve output loss after successful command exit, physical refusal diagnostics, bounded worker control framing, JavaScript worker-phase/budget attribution, admitted ambiguity choices, and selected EVM limiter availability. Scope objdump debug-link limitations to DWARF requests and keep process-capture preparation nonexecuting. [e639edf](https://github.com/morluto/rea/commit/e639edf6204c05285d96840478926592daf95876), [171b33b](https://github.com/morluto/rea/commit/171b33b2c4defc6cbea49545bedf4272b72d1ea2), [34563fc](https://github.com/morluto/rea/commit/34563fcc9bd92af30668820dcac5635e27181094), [3f9357b](https://github.com/morluto/rea/commit/3f9357b5990d166a38440f56f439452266650093), [cec8f1e](https://github.com/morluto/rea/commit/cec8f1e8f305d6332272457a6ee419d3c5fb6359), [a74d859](https://github.com/morluto/rea/commit/a74d859a19122fb8f1282b3632d320997b1caae0), [c284168](https://github.com/morluto/rea/commit/c284168c4b1cd214ce7f504d43da28528d82d603), [4fb936f](https://github.com/morluto/rea/commit/4fb936fe86bb7a07f94f819ae8510301f2ef69c9). +- **Setup and limits:** Retain unknown environment-budget facts, selected-skill/maintenance uncertainty, Hopper URL admission and bookmark verification, and listener failure recovery that matches the system cause. [a718037](https://github.com/morluto/rea/commit/a7180370332350bc0f998fbd643888221759570e), [d1fbebb](https://github.com/morluto/rea/commit/d1fbebb578538dc94fd5e376e6e1959218efa835), [60accad](https://github.com/morluto/rea/commit/60accad2de8f2862fe91901502fe26cc5390fb36), [fd7da77](https://github.com/morluto/rea/commit/fd7da77fc02dcfaf7d1bc9f2fb240d71cdd27c59), [0c440bf](https://github.com/morluto/rea/commit/0c440bfc07f3cb343e2e836d27cccaed539cfe9c). +- **State and Evidence:** Retain export tarball ownership and SQLite primary outcomes through cleanup retry, count emitted SQLite schema names across encodings, scope display refresh to matching snapshot bindings, and report retained-result validation failures consistently. Reconstruction uses one effective completion scope and kind-based labels when names are blank. [ab58edc](https://github.com/morluto/rea/commit/ab58edcdf50b4bd687900ee2dc362ecc5c3dce15), [1006714](https://github.com/morluto/rea/commit/100671427105791a5c5913a918b63a394f6bc83e), [a47788a](https://github.com/morluto/rea/commit/a47788a6a4abb067273f954275a9d0a269adf1e7), [8aa40e9](https://github.com/morluto/rea/commit/8aa40e9a61155cff8b6f3c138c601bf805b20653), [b8c1b45](https://github.com/morluto/rea/commit/b8c1b45316882beeab4a9de49381d94e131fab0f), [a35b933](https://github.com/morluto/rea/commit/a35b9335a0124674ee5e3abe8c075f1fff6b4fa6), [#6137](https://github.com/morluto/rea/pull/6137), [#6126](https://github.com/morluto/rea/issues/6126). Thanks @carlogiovannineri-rgb, @mohithhhh. +- **Capture coverage:** Name browser bundle budgets and deadline recovery, separate domain readiness from worker attribution, attribute rendered-frame omissions to their producing stage, share offline-capture host admission with discovery, preserve selected signal-file semantics, and retain short Flutter GNU build IDs. [#6036](https://github.com/morluto/rea/pull/6036), [ba78133](https://github.com/morluto/rea/commit/ba781330d6d28b22d15498e63c144fb40e086156), [5934387](https://github.com/morluto/rea/commit/5934387f4185129efe9dc8b7338d8bc3fa5b25bd), [ad629b2](https://github.com/morluto/rea/commit/ad629b2e31c3a9495b27179360b508fa021fe86a), [928ba76](https://github.com/morluto/rea/commit/928ba76882bfd216dde8ed79118789b2c3aad4f9), [678c4cf](https://github.com/morluto/rea/commit/678c4cfa68e2fee12f620075e12dc87d9b1195b0). +- **Additional boundary facts:** Retain parser format/query occurrence identity and independent malformed-input facts, unresolved nested Swift identifiers, and completed signing-capture coverage; describe crash documents without assuming a provider. [5f702dd](https://github.com/morluto/rea/commit/5f702dd6ccd9e8e505e224854b91678439c3b41f), [99d2d7a](https://github.com/morluto/rea/commit/99d2d7ad22bcbd780919760008aba6a88e7d1077), [90e433d](https://github.com/morluto/rea/commit/90e433df06b3f83417176b8db1b0a905f9df1d3a), [#5548](https://github.com/morluto/rea/pull/5548), [ee12d51](https://github.com/morluto/rea/commit/ee12d517a25d34853d40e31fc039c7d1576c60e1), [#5538](https://github.com/morluto/rea/issues/5538). Thanks @coygeek, @ShuaixinHuang. +- **Documentation:** Add the Romanian README. [#7026](https://github.com/morluto/rea/pull/7026). Thanks @An3treiu. + +Full contribution record: [1740 commits and 497 merged PRs](https://github.com/morluto/rea/blob/rea-agents-6.8.0/docs/releases/6.8.0.contributions.json). + ## [6.7.0](https://github.com/morluto/rea/compare/rea-agents-6.6.0...rea-agents-6.7.0) (2026-10-18) ### Highlights diff --git a/docs/installation.md b/docs/installation.md index a8ff50e74c..1f1cc286ee 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -319,14 +319,14 @@ Register with the variable unset: ```bash -claude mcp add --scope local rea -- npx -y rea-agents@6.7.0 mcp +claude mcp add --scope local rea -- npx -y rea-agents@6.8.0 mcp ``` On native Windows, use the same project directory and wrap the package-runner shim so the stdio client can launch it: ```powershell -claude mcp add --scope local rea -- cmd.exe /d /c npx -y rea-agents@6.7.0 mcp +claude mcp add --scope local rea -- cmd.exe /d /c npx -y rea-agents@6.8.0 mcp ``` @@ -620,8 +620,8 @@ hosted connector; see [its configuration](client-configuration.md#other-client-s `droid`, `dsh`, `kimi`, `qoder`, `trae`, `workbuddy`, and `zcode` require `rea-agents@6.5.0` or later. The 6.4.0 registry check above does not cover them. -`freebuff` is not in a release yet - `6.7.0` is the latest - so it also needs a -release containing it. +`freebuff` requires `rea-agents@6.8.0` or later. Older releases reject +`rea setup --client freebuff` as an unsupported client. See [client configuration and troubleshooting](client-configuration.md) for configuration paths, profiles, trust policies, and schema-limit workarounds. @@ -1471,7 +1471,7 @@ For a client that requires manual configuration, use: "mcpServers": { "rea": { "command": "npx", - "args": ["-y", "rea-agents@6.7.0", "mcp"] + "args": ["-y", "rea-agents@6.8.0", "mcp"] } } } diff --git a/docs/releases/6.8.0.contributions.json b/docs/releases/6.8.0.contributions.json new file mode 100644 index 0000000000..990f2aec6c --- /dev/null +++ b/docs/releases/6.8.0.contributions.json @@ -0,0 +1,43758 @@ +{ + "schemaVersion": 1, + "repository": "morluto/rea", + "version": "6.8.0", + "base": "27dc42d10249f0410904a75c0997842eb03b931c", + "target": "113679c9a6a1af4c77c1b546e466f4d490dc1095", + "commits": [ + { + "sha": "8f7d12e30d63f3d3b4cfe2a90336362841438f56", + "subject": "perf(analysis-view): reuse validated immutable parents", + "body": "perf(analysis-view): reuse validated immutable parents\n\nReuse successful format validation for exact authenticated immutable native and imported JavaScript results. Preserve schema normalization and alias topology before borrowing source data; owned JavaScript graph wrappers retain their existing metadata-normalization path.\n\nValidated with 130 source tests, 36 compiled CLI/MCP boundary tests, 27 default-deadline integration tests, full checks/docs/build, and paired real retained-Evidence tasks. The report preserves cold costs, previous negative results, incomplete resource-stopped runs, and the limits of offline token estimates.\n\nFixes #4810\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["b83b9caf4a5f0241a5fd370792f1aed1bffbb2cf"], + "authors": [ + { + "name": "Ysopwnable", + "email": "161784452+N0zoM1z0@users.noreply.github.com", + "user": { + "login": "N0zoM1z0", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [4962] + }, + { + "sha": "7c458f04b9155707c8ba406f8b455b10016f1b99", + "subject": "perf(apktool): avoid duplicated primary strings on request", + "body": "perf(apktool): avoid duplicated primary strings on request\n\nAdd opt-in string_tables_only and CLI --string-tables-only to keep selected\nstrings once in typed table facts. Preserve existing defaults and legacy replies;\ncharge aggregate output capacity for the copies actually requested.\n\nValidate shared CLI/MCP behavior with independent XML oracles, three real APKs,\n94 source tests, nine compiled boundary tests, 36 completed MCP tasks and three\nCLI parity tasks. Preserve full task estimates, negative timings, resource\nadmission refusal and verification limitations in the measured report.\n\nFixes #4982\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["8f7d12e30d63f3d3b4cfe2a90336362841438f56"], + "authors": [ + { + "name": "Ysopwnable", + "email": "161784452+N0zoM1z0@users.noreply.github.com", + "user": { + "login": "N0zoM1z0", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [4990] + }, + { + "sha": "a25eb5fbb424197cb8e699e15a82a6ff869658aa", + "subject": "chore(release): sync 6.7.0 checkpoint", + "body": "chore(release): sync 6.7.0 checkpoint\n\nPreserve the immutable 6.7.0 tag ancestry and synchronize version metadata after verified npm publication. Keep newer main performance changes and the full 6.6.0 changelog.\n", + "parents": [ + "7c458f04b9155707c8ba406f8b455b10016f1b99", + "27dc42d10249f0410904a75c0997842eb03b931c" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96", + "subject": "docs(jeb): qualify Linux CE native workflows (#5002)", + "body": "docs(jeb): qualify Linux CE native workflows (#5002)\n\nQualify the official Linux CE headless launcher and engine-native item references.\nRecord real native CLI/MCP qualification, costs, failures and integration controls.\n\nCloses #4996\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["a25eb5fbb424197cb8e699e15a82a6ff869658aa"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [5002] + }, + { + "sha": "63c970812b8b5c6664400c9360e22c427844820c", + "subject": "perf(hopper): reuse decoded records for literal string matches (#5017)", + "body": "perf(hopper): reuse decoded records for literal string matches (#5017)\n\nKeep complete decoded string records in Hopper's existing search inventory\nand directly project literal matches, removing the redundant full record\nprojection and superseded value-only representation.\n\nRecord real Linux CLI/MCP correctness and Evidence checks, shorter warm\nqueries, negative whole-task costs, native coverage gaps and resource stops.\n\nFixes #5010.\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [5017] + }, + { + "sha": "093ce695f0a7c3407c7fde520ed8b20c0981b408", + "subject": "fix(tests): preserve temporary fixture ownership", + "body": "fix(tests): preserve temporary fixture ownership\n\nNormalize shared test fixture prefixes using the hygiene verifier ownership rule. Preserve caller labels, existing owned names, and third-party caches; cover retained fixtures and exact cleanup through subprocess regressions.", + "parents": ["63c970812b8b5c6664400c9360e22c427844820c"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5018] + }, + { + "sha": "23f984b1a884baefc3c44e4ab697f6eff61dffb6", + "subject": "fix(tests): restore Android prerequisite verification", + "body": "fix(tests): restore Android prerequisite verification\n\nSupply a real retained resource owner to every Android verifier prerequisite\ncheck, sharing the existing Ghidra verifier cleanup scope. Match recovery\nchecks to typed Java or archive failures and applicable remediation, preserving\nexact close retry authority and primary failures.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)", + "parents": ["093ce695f0a7c3407c7fde520ed8b20c0981b408"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5021] + }, + { + "sha": "b0b485abff802b79d238dd24a9fa4abd0713d3ee", + "subject": "fix(hopper): verify and repair the Linux embedding runtime (#5041)", + "body": "fix(hopper): verify and repair the Linux embedding runtime (#5041)\n\nVerify the distribution Python embedding library during approved Linux Hopper\nsetup, conditionally repair the matching Ubuntu dependency, and confirm that\nthe library loads. Share fresh bounded observations with doctor, preserve\nunknown configuration and caller cancellation, and join probe exit through\nthe existing process supervisor.\n\nValidate clean Ubuntu installation, normal-user real Hopper CLI/MCP workflows,\nindependent ELF/SQLite oracles, cancellation and cleanup regressions, 154\nfocused checks and all 40 current-head CI checks. Preserve measured artifact\nidentity, failed attempts and local host-memory guard limitations.\n\nCloses #5015.\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["23f984b1a884baefc3c44e4ab697f6eff61dffb6"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [5041] + }, + { + "sha": "fd728f271e7de7bcfa63890b573715720d5f948c", + "subject": "fix(plist): ignore processing instructions between container members", + "body": "fix(plist): ignore processing instructions between container members\n\nExclude processing-instruction nodes at the shared container-member owner\nbefore dispatching plist tags. Keep strict syntax validation and scalar\ncontent rules, with app-resolution and CLI/MCP evidence regressions.\n\nAdapted from Mangolycheematcha's PR #4965, including its boundary controls.\nAdded built CLI/MCP coverage and verified container fixtures with plutil.\n\nFixes #4964\n\nCo-authored-by: Mangolycheematcha <288892596+Mangolycheematcha@users.noreply.github.com>\n", + "parents": ["b0b485abff802b79d238dd24a9fa4abd0713d3ee"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Mangolycheematcha", + "email": "288892596+Mangolycheematcha@users.noreply.github.com", + "user": { + "login": "Mangolycheematcha", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8307ea3717b9bbc6b5cf83d96a0f73d47708e586", + "subject": "fix(adb): preserve command failure target identities", + "body": "fix(adb): preserve command failure target identities\n\nKeep the selected device, addressed file and actual host operand distinct\nat the command owner. Parse known device and file diagnostics before\nprojection, including AOSP host write/read failures and exact snapshots.\nClassify complete captured stderr before shortening display text, and\nscan leading notices without expanding the capture into a line array.\n\nAdapt Xinglan233's PR #4655 and extend its source-shaped host controls.\nAdd built CLI/MCP identity, long-path, recovery and input-preservation\ncoverage. Real platform-tools and Android devices remain unverified.\n\nFixes #4641\nFixes #4643\nFixes #5051\n\nCo-authored-by: 星闌 \n", + "parents": ["fd728f271e7de7bcfa63890b573715720d5f948c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "星闌", + "email": "xinglan233@163.com", + "user": { + "login": "Xinglan233", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9e259f87c8be3d22a0b96f12ed7838830869c987", + "subject": "fix(native): retain signature roots until descriptor cleanup completes", + "body": "fix(native): retain signature roots until descriptor cleanup completes\n\nGive each signature snapshot a private child-resource scope. Its composite\nroot lease closes those children before removing the directory and retains\nboth stages across failed retries. Bind local cleanup failures to their\nexact owner so child release cannot clear a failed root removal.\n\nReplace the mixed-outcome regression that expected premature root removal.\nCover real descriptor denial, primary/cancellation preservation, MCP close\nand same-connection recovery. Expose underlying real codesign test errors\nbefore asserting result fields.\n\nFixes #5052\n", + "parents": ["8307ea3717b9bbc6b5cf83d96a0f73d47708e586"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7201e8a4439b3ece4a5470014525ea2e13e4c183", + "subject": "fix(native): validate LLDB readback encoding before reporting facts", + "body": "fix(native): validate LLDB readback encoding before reporting facts\n\nDecode completed journal rows strictly while retaining valid neighbors and torn-tail semantics. Preserve structured result read, decoding, JSON and schema failures through the typed fallback.\n\nFixes #5055\n", + "parents": ["9e259f87c8be3d22a0b96f12ed7838830869c987"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "36d156ff05f48f9f0b4c4abb8f7c899249a49ebf", + "subject": "fix(native): retain UI interruption source through final cleanup", + "body": "fix(native): retain UI interruption source through final cleanup\n\nRecord caller cancellation versus the owned deadline once and share that provenance through helper execution, scenario waits and finalization. Preserve independent failures and partial reports, consolidate scenario failure handling and dispose listeners on every exit.\n\nFixes #5056\n", + "parents": ["7201e8a4439b3ece4a5470014525ea2e13e4c183"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "292e7bef27c983853841894f56984a6566319972", + "subject": "fix(native): bound LLDB PID reads before validation", + "body": "fix(native): bound LLDB PID reads before validation\n\nDerive the read limit from the accepted safe decimal PID plus a tolerated CRLF and overflow sentinel. Retain short-read handling, cached valid facts and existing descriptor ownership and handshake semantics.\n\nFixes #5057\n", + "parents": ["36d156ff05f48f9f0b4c4abb8f7c899249a49ebf"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d4e233946a39574e36a0d927b13eb77528ad5dc5", + "subject": "fix(errors): retain secondary failures without replacing primary causes", + "body": "fix(errors): retain secondary failures without replacing primary causes\n\nGive the typed error owner a separate retained secondary-failure collection. Preserve exact direct causes, including caller cancellation reasons and absent causes, while keeping existing diagnostic and live cleanup ownership projections.\n\nFixes #5059\n", + "parents": ["292e7bef27c983853841894f56984a6566319972"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "eb2c3b589eeb2884761b30d5b0402aa2d9337b49", + "subject": "fix(native): retain LLDB evidence prefixes after read failures", + "body": "fix(native): retain LLDB evidence prefixes after read failures\n\nReturn byte prefixes with tagged read outcomes and exact causes. Share those facts across partial journals and captures, preserve typed primary failures and successful siblings, and keep zero-byte failures unavailable. Retain failed descriptor and root owners through retry.\n\nFixes #5058\n", + "parents": ["d4e233946a39574e36a0d927b13eb77528ad5dc5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cee95b2ae6a19122de95103b2d23bc6f8c9c4428", + "subject": "fix(plist): preserve source semantics in XML data decoding", + "body": "fix(plist): preserve source semantics in XML data decoding\n\nAdapt the completed-quartet decoder from PR #4981 at 4cf6cac14. Bind raw source spans to validated DOM nodes before entity and line-ending interpretation can change data bytes. Preserve depth preflight, reject invalid data forms and allocate exact decoded output through one shared quartet grammar.\n\nFixes #4978\n\nCo-authored-by: Avichal Pandey \n", + "parents": ["eb2c3b589eeb2884761b30d5b0402aa2d9337b49"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Avichal Pandey", + "email": "avichal2018lko@gmail.com", + "user": { + "login": "avichal-08", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3537e58c1ab29309f06eabf50bc52adba9817a0c", + "subject": "fix(plist)!: preserve unknown XML scalar identities", + "body": "fix(plist)!: preserve unknown XML scalar identities\n\nInterpret complete scalar source at the XML owner instead of accepting numeric prefixes, permissive date strings or nonempty booleans. Retain malformed content as explicit unknown scalars with original literals and reasons, while preserving the surrounding archive and independent numeric facts.\n\nShare the representation across plist, keyed archive, Interface Builder and entitlement projection; remove the superseded numeric fallback and helpers. Parse date fields as UTC, retain real entity/CDATA semantics, and distinguish native integer/real whitespace without ambiguous whitespace backtracking.\n\nValidation: 276 source tests and 60 compiled/public tests passed, with updated scalar regressions rerun; static, architecture and docs checks passed. Native macOS plutil controls and CLI/MCP source-hash/time-zone controls executed. No Linux/Windows or deep-provider qualification. Tiny completed CLI task costs recorded; no performance improvement claimed.\n\nBREAKING CHANGE: Unresolved XML scalar values now use $plist_type unknown wrappers with element, literal and reason. This replaces the former real/null unknown marker and malformed scalar prefix fallback. Supported extended UTC years now preserve their timestamp.\n\nFixes #4852\n", + "parents": ["cee95b2ae6a19122de95103b2d23bc6f8c9c4428"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1d5bf5ff084b49c1c630a312520c59d6b08c6ade", + "subject": "fix(session): align call relationship discovery with traversal modes", + "body": "fix(session): align call relationship discovery with traversal modes\n\nDeclare the missing trace composition and correct call graph prerequisites to require address resolution plus the selected relationship direction. Report forward/backward modes and the actual default independently, preserving missing operations, owner failure reasons and direct partial outcomes.\n\nShare the direction-to-provider mapping across runtime and discovery, reuse the mode evaluator, select defaults by name, and check composition coverage against every canonical enhanced contract. Keep same-endpoint traces callable without relationship reads.\n\nAdapt the missing trace-composition correction proposed in PR #4729 and complete the directly related ownership/refactoring and sibling graph correction.\n\nValidation: 75 source tests and 76 public MCP/schema tests passed; full static/architecture checks, docs and test discovery passed. Controlled SDK/provider workflows verified unchanged catalogs and normalized traces. Small whole-session costs were recorded, with no speedup claim. No native-engine, CLI, Linux/Windows or model tool-selection qualification.\n\nFixes #4687\nFixes #5068\nCo-authored-by: AHMED \n", + "parents": ["3537e58c1ab29309f06eabf50bc52adba9817a0c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "AHMED", + "email": "aptech356@gmail.com", + "user": { + "login": "ahmed-husssain", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "50b6975d861069e2c6cfa202780621449f863802", + "subject": "fix(session): admit direct native dispatch metadata providers", + "body": "fix(session): admit direct native dispatch metadata providers\n\nShare named metadata source operations between execution and capability discovery. Preserve symbol fallback and typed runtime failure behavior, and cover availability through public MCP workflows.\n\nFixes #5070\n", + "parents": ["1d5bf5ff084b49c1c630a312520c59d6b08c6ade"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "29910d16b98fe4b607a7aa15928789a73614b0b9", + "subject": "fix(apktool)!: select numeric regions using Android b+ qualifiers", + "body": "fix(apktool)!: select numeric regions using Android b+ qualifiers\n\nNormalize three-digit region aliases at the shared locale owner, preserving\ncaller labels and physical-table reuse. Reject malformed legacy qualifiers\nthrough the same CLI/MCP contract and table classifier.\n\nAdapt the owner correction and regressions from PR #4918 after checking Android\nand supported Apktool qualifier sources. Add public MCP validation and preserve\nexisting two-letter regional selectors.\n\nFixes #4916\n\nBREAKING CHANGE: Numeric legacy locale selectors such as es-r419 are rejected.\nUse es-419 or b+es+419. Two-letter region selectors remain supported.\n\nCo-authored-by: Mert Kaya <47145541+mertkayacs@users.noreply.github.com>\n", + "parents": ["50b6975d861069e2c6cfa202780621449f863802"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Mert Kaya", + "email": "47145541+mertkayacs@users.noreply.github.com", + "user": { + "login": "mertkayacs", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "32f0e5120966be59d17a1e092353816c76a9c5e2", + "subject": "fix(session): describe native UI trace source routes", + "body": "fix(session): describe native UI trace source routes\n\nShare source operations with execution owners and derive availability and missing prerequisites from one evaluation. Distinguish authored UI dispatch from native-seed call tracing without inventing a default request mode. Preserve target gates, typed failures and partial results.\n\nFixes #5071\n", + "parents": ["29910d16b98fe4b607a7aa15928789a73614b0b9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d1adc607952472b6db87d1fe5af4ba241f759f6e", + "subject": "test(contracts): align plist and UI finalization regressions", + "body": "test(contracts): align plist and UI finalization regressions\n\nUpdate public-boundary expectations after the explicit XML unknown-scalar\nand native UI deadline provenance changes. Retain raw malformed literals,\nindependent exact integers, expanded-year ISO dates, and partial UI reports.\nAssert successful cleanup releases its lease and failed cleanup retains it\nuntil close retries. Keep malformed-input and true date-range coverage.\n\nThe shared number fixture owns CLI/filesystem/MCP expectations. Native\nplutil controls confirm integer entities are invalid plist literals, even\nthough they are valid XML. No runtime behavior or CI gates change.\n\nValidation: 187 source cases, 138 focused public cases, final 97-case\nrerun after fixture typing/group changes, full static/architecture checks,\nand test discovery (1591 files).\n", + "parents": ["32f0e5120966be59d17a1e092353816c76a9c5e2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "22ddd820143b0ce455756b24acf60ed251286622", + "subject": "fix(uninstall): preflight repeated registration ownership", + "body": "fix(uninstall): preflight repeated registration ownership\n\nRead shadowed registrations from the effective JSONC syntax tree before\nany client is changed. Share the same typed ownership decision with the\nreread before removal, including foreign OpenCode V1 fallbacks. Remove\nall admitted duplicates using one member/separator planner and grant\nserializer authority only for exact admitted paths.\n\nSetup may remove its explicitly superseded OpenCode V1 path. Preserve\ninactive repeated parents, unrelated entries, comments and source backups.\nUse the pinned JSONC scanner instead of handwritten string decoding.\n\nValidation: final 86 focused cases and 9 setup acceptance cases passed;\n104 additional filesystem consumer cases passed. Static/architecture,\ndocs and discovery checks passed. A broader 186-case run had one OMP\ntimeout; its isolated 9-case rerun passed, with timeout cause unverified.\nControlled compiled CLI comparisons verify removal/refusal and backups;\nreal developer-client execution remains unverified.\n\nAdapted from #4977 at 4cd22d4ec2f6ec9e6c8ebf98bf97e1d9d7f8ac23.\nCloses #4976\n\nCo-authored-by: Nikhil Bhagat \nCo-authored-by: Claude Opus 5.5 \n", + "parents": ["d1adc607952472b6db87d1fe5af4ba241f759f6e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Nikhil Bhagat", + "email": "knewboy.nykhil@gmail.com", + "user": { + "login": "NikeGunn", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "65884350ff3373f2adc7337c1945eeb54334693f", + "subject": "fix(native): retain partial call routes and omitted sites", + "body": "fix(native): retain partial call routes and omitted sites\n\nSeparate enumeration outcome from retained facts in the native call-route\nowner. Keep every available typed call with its source provider and site,\nsupplement incomplete kinds with inferred fallback targets, and retain\nknown routes when fallback fails. Per-reference unknowns take precedence\nover aggregate availability; cancellation remains terminal.\n\nProject partial routes before enumeration failures, preserve each omitted\nroute's relation, and include its call site in the omitted-edge identity\nso distinct observations to one target cannot overwrite each other.\nRemove the superseded success-only provider/result representation.\n\nValidation: 69 focused cases plus final 30-case rerun, including nine\npublic SDK MCP regressions; full static/architecture, docs and discovery\nchecks pass. Controlled-provider source REDs reproduce both route loss\nand omitted-site collisions. Real native providers remain unverified.\n\nCloses #5073\nCloses #3922\nCloses #5128\n", + "parents": ["22ddd820143b0ce455756b24acf60ed251286622"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "291059adb4dabc768f91d9da0ba93007d7ab6822", + "subject": "feat(analysis-view): project an environment manifest from web network captures (#4954)", + "body": "feat(analysis-view): project an environment manifest from web network captures (#4954)\n\n* feat(analysis-view): project an environment manifest from web network captures\n\nAdd the environment-manifest view kind to inspect_analysis_view for retained\nHAR Evidence: the primary origin's recorded request lines become a\ndeterministic tool surface (names, path templates, parameters with their\nrule and basis, observed query names, value-free body shapes, record\npointers), with excluded groups, three fixed unknowns and the shared\nprojection budget. The four format rules always apply; after-uid-literal,\nopaque-token and sibling-variance are opt-in and labelled, and literal\nfold-in never touches a format-rule parameter. The api-surface accumulator\nmoves onto shared route, media-type and budget helpers without behaviour\nchange.\n\nRefs morluto/rea#4933\n\nCo-Authored-By: Claude Fable 5.1 \n\n* test(web-network): check the manifest refusal text like the api-surface refusal\n\nThe real-capture verifier stringified the whole MCP result for the\nenvironment-manifest refusal, so a declared \"[\" literal matched the result\nenvelope itself; compare the parsed refusal as the api-surface branch does.\n\nRefs morluto/rea#4933\n\nCo-Authored-By: Claude Fable 5.1 \n\n* docs(specs): record the hosted web-network lane run for the manifest view\n\nRefs morluto/rea#4933\n\nCo-Authored-By: Claude Fable 5.1 \n\n* docs(specs): reconcile the manifest view verification scope note with the hosted run\n\nRefs morluto/rea#4933\n\nCo-Authored-By: Claude Fable 5.1 \n\n* fix(analysis-view): bound body, route and name work in the environment manifest\n\nAddresses the automated review findings on the PR: read request bodies at the\ntop level only instead of walking nested values; admit every literal route\npart before materializing it; compare at most 32 segments in sibling-variance\nand say so; keep stop words literal after a uid literal; keep the next\ncollision suffix per tool-name base; preserve a templated exclusion when two\ngroups print the same row.\n\nCo-Authored-By: Claude Fable 5.1 \n\n* fix(analysis-view): keep manifest folding, naming and media-type reads linear\n\nAddresses the second automated review round: fold literal siblings through\nset membership, key collision suffixes by the truncated name they share, and\ncharge a request media type before it is scanned.\n\nCo-Authored-By: Claude Fable 5.1 \n\n* fix(analysis-view): charge the manifest group key before building it\n\nAddresses the third automated review round: the composite key copies the\nmethod, origin, template and rules, so that copy is reserved before the key\nis stringified.\n\nCo-Authored-By: Claude Fable 5.1 \n\n* fix(analysis-view): accept a +json suffix only on application media types\n\nAddresses the fourth automated review round: `image/example+json` or\n`text/example+json` no longer counts as JSON for origin selection, exclusion\nor body shapes, matching the documented `application/json` and\n`application/*+json` contract.\n\nCo-Authored-By: Claude Fable 5.1 \n\n* fix(analysis-view): require the capture parent's exact subject for a manifest\n\nAddresses the fifth automated review round: the manifest cites the report\npath and digest, so a parent whose subject is absent or names another path or\nSHA-256 is refused at admission, as the capture view already does; the\napi-surface view keeps its existing admission.\n\nCo-Authored-By: Claude Fable 5.1 \n\n* fix(analysis-view): share truncated suffix allocation work\n\nTrack suffix progress by the actual truncated prefix and suffix width. Distinct full names can collide only after suffix truncation; sharing that progress prevents quadratic rescanning while preserving shorter free names and existing allocation order.\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\n\n* fix(analysis-view): merge only identifier-like siblings under sibling-variance\n\nAddresses the sixth automated review finding: a bucket merged whenever one\nliteral carried a digit, folding plain words such as `mine` into the\nparameter. The rule now partitions the bucket, merges the identifier-like\nsiblings and leaves the other literals as their own tools.\n\nCo-Authored-By: Claude Fable 5.1 \n\n* fix(analysis-view): combine qualifying sibling cohorts\n\nKeep coded identifiers and a qualifying plural hyphenated cohort in one eligibility Set before checking the minimum merge size. Read each literal once and reuse the same membership at the consumer, preserving non-identifier routes and the three-hyphen minimum.\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\n\n* docs(analysis-view): clarify opt-in sibling folding\n\nState the additional sibling-variance selection in the guide, acceptance specification and MCP parameter description. Preserve the existing single-rule behavior and caller-selected inference rules.\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Claude Fable 5.1 \nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["65884350ff3373f2adc7337c1945eeb54334693f"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Claude Fable 5.1", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [4954] + }, + { + "sha": "fdaffe21cc03ed9a46c69ba057b1d89947b72b83", + "subject": "docs(manifest): align plan with top-level body parsing", + "body": "docs(manifest): align plan with top-level body parsing\n", + "parents": ["291059adb4dabc768f91d9da0ba93007d7ab6822"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a80575c73652d8b43d7340654a48bd20a4eb966d", + "subject": "fix(native): preserve partial call reference evidence", + "body": "fix(native): preserve partial call reference evidence\n\nRetain provider-reported call sites and raw classification independently of generic reference flags. Keep all endpoint evidence when containing-procedure routes merge, and include relation in edge identity to avoid order-dependent labels.\n\nCloses #5130\n", + "parents": ["fdaffe21cc03ed9a46c69ba057b1d89947b72b83"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "559af3d3ff4b0236d468e80788c82d5a85b102da", + "subject": "fix(uninstall): retain per-file partial outcomes", + "body": "fix(uninstall): retain per-file partial outcomes\n\nPreserve configuration paths and constituent actions independently of aggregate status. Derive summaries from all leaf outcomes, including after final cleanup reporting, so a later failure cannot hide an earlier removal.\n\nCloses #5079\n", + "parents": ["a80575c73652d8b43d7340654a48bd20a4eb966d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "92dadf93344296516b960487d2f49c0f67e246fa", + "subject": "fix(domain): preserve partial reference comparison facts", + "body": "fix(domain): preserve partial reference comparison facts\n\nOwn endpoint identity and per-edge kind knowledge in one parsed reference\nrepresentation. Preserve exact same-artifact coordinates and cross-artifact\nname uncertainty, including generated and nonunique procedure labels.\n\nUse exact multiplicity-preserving sparse compatibility flow instead of\npositional/greedy pairing or a quadratic adjacency matrix. Share the native\ncoordinate parser with call paths and remove the superseded projections.\n\nValidate public MCP comparison/reconstruction outcomes, independent tiny\npermutation oracles, dense matching and advertised JSON Schemas.\n\nFixes #4210\nFixes #5131\n\nCo-authored-by: Henglie \n", + "parents": ["559af3d3ff4b0236d468e80788c82d5a85b102da"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Henglie", + "email": "ebhenglie@gmail.com", + "user": { + "login": "Henglie", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "95c8f57aa2eafab4c8d7d43482b33ceefaf96b16", + "subject": "fix(investigation): scope automatic unknowns to result Evidence", + "body": "fix(investigation): scope automatic unknowns to result Evidence\n\nConstruct automatic unknown identity once at the application boundary.\nValidate the original question before adding immutable Evidence scope, and\npreserve each result's supporting link through CLI and MCP producers.\n\nApply the shared policy to derived investigations, managed comparisons and\nverification, composed workflow residuals, and process-capture residuals.\nThis prevents registry conflicts and silent loss of later result links.\nKeep explicit creation/update semantics and exact Evidence replays intact.\n\nCover all affected producer families with public MCP regressions, preserve\nsnapshot provenance distinctions, and retain blank-question/error handling.\nRemove the superseded single-result call-path test.\n\nFixes #3333\n\nCo-authored-by: Dragolone <160818051+Dragolone@users.noreply.github.com>\n", + "parents": ["92dadf93344296516b960487d2f49c0f67e246fa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Dragolone", + "email": "160818051+Dragolone@users.noreply.github.com", + "user": { + "login": "Dragolone", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c85b44e1b14851c54e65327a4807f79ad5cd5a61", + "subject": "fix(process)!: retain partial filesystem snapshot observations", + "body": "fix(process)!: retain partial filesystem snapshot observations\n\nKeep expected readlink and follow-up lstat failures as typed entry omissions,\nincluding the observed path and errno. Retain directory metadata and sibling\nobservations, distinguish known identity replacements, and keep cancellation\nand unexpected I/O failures terminal. Reuse admitted root metadata and test\ncancellation by descriptor state rather than a count of named lookups.\n\nAdapt the symlink race handling proposed in #4587 at fae4e25539969671c82a4d56cfb0b50761b833a3.\n\nCloses #4575\n\nBREAKING CHANGE: Filesystem enumeration omission reasons now also include\nentry_unavailable and identity_changed. Clients validating the old literal\nreason must accept the expanded capture schema.\n\nCo-authored-by: rudrakshagarwal4200-ai \n", + "parents": ["95c8f57aa2eafab4c8d7d43482b33ceefaf96b16"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "rudrakshagarwal4200-ai", + "email": "rudrakshagarwal4200@gmail.com", + "user": { + "login": "rudrakshagarwal4200-ai", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6296fdf560f1ac4aa55985558edaa98300aacdbc", + "subject": "fix(reference)!: preserve symlink races and root failure facts", + "body": "fix(reference)!: preserve symlink races and root failure facts\n\nClassify replacement EINVAL at the readlink syscall so the reader and importer\nretain sibling observations. Give an admitted root's enumeration failure its\nown typed field, use it for unresolved symlink coverage, and project it as a\ngraph limitation instead of an invalid dot-path child entry. Keep admission,\ncancellation and cleanup failures distinct.\n\nCloses #5135\nCloses #5136\n\nBREAKING CHANGE: Partial reference-source reader results report failed root\nenumeration in rootFailure instead of a failed directory child at path \".\".\nHistorical source graphs preserve the root failure as a top-level limitation.\n", + "parents": ["c85b44e1b14851c54e65327a4807f79ad5cd5a61"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "273bb662763406662b4c061887397e9e5f27aa4d", + "subject": "fix(setup): treat empty APPDATA as unset for VS Code, Trae and Devin (#5126)", + "body": "fix(setup): treat empty APPDATA as unset for VS Code, Trae and Devin (#5126)", + "parents": ["6296fdf560f1ac4aa55985558edaa98300aacdbc"], + "authors": [ + { + "name": "Vaidehi Kakad", + "email": "vaidehi27sept@gmail.com", + "user": { + "login": "vaidehi-snk", + "__typename": "User" + } + } + ], + "pullRequests": [5126] + }, + { + "sha": "d3627b10382b0f28b12cad1543634e165470b29a", + "subject": "fix(mcp): preserve procedure aliases and complete name ambiguity", + "body": "fix(mcp): preserve procedure aliases and complete name ambiguity\n\nDerive address suggestions separately from name uniqueness across every\nvalidated inventory row. Keep the sole exact address or an explicit ambiguous\nstate per name, without retaining a set of all name/address pairs. Reuse the\ncanonical address/value leaf contract for completion's parsed facts.\n\nCover order independence, same-address duplicates, later ambiguity and alias\nrows beyond the MCP reply limit through the public SDK. Preserve provider\nspelling, document context, cold-session admission and cancellation behavior.\n\nAdapted from #4648 at 5b019e1179dce76f432c0f5700161de5727b8a96.\n\nCloses #4623\n\nCo-authored-by: shreyansh1729 \n", + "parents": ["273bb662763406662b4c061887397e9e5f27aa4d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "shreyansh1729", + "email": "shreyanshiitian1729@gmail.com", + "user": { + "login": "Shreyansh1729", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d6ca7b3f20a273823c50d6253f0b6f34f3876f53", + "subject": "fix(process): gate launch and retain cancellation provenance", + "body": "fix(process): gate launch and retain cancellation provenance\n\nCheck cancellation at the PTY execution boundary after executable sampling\nand descriptor cleanup settle. Completed file observations cannot authorize\nlaunch for a cancelled request. Preserve exact caller reasons in the shared\ncapture cancellation constructor and its admission, exit and finalization\nconsumers instead of reconstructing them downstream.\n\nExercise real executable reads and closes through the capture API with a\nthrowing PTY sentinel at five schedules. Retain a real completed Node capture\nand its cleanup facts when the final progress callback cancels the request.\nStrengthen existing metadata and baseline cancellation controls.\n\nAdapted after review of #4836 at 014afa38929d46d58067b617c707759cd753cf8d.\nRaw snapshot/sampler descriptor cleanup ownership remains tracked in #5140;\nthis execution-admission change does not claim to solve failed close recovery.\n\nCloses #4512\nCloses #5142\n\nCo-authored-by: DeryFerd \n", + "parents": ["d3627b10382b0f28b12cad1543634e165470b29a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "DeryFerd", + "email": "deryferdikao125@gmail.com", + "user": { + "login": "DeryFerd", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dfe8378cf5a727e3d93d47a5986233175c6ef898", + "subject": "fix(electron): preserve callback ownership through listener removal", + "body": "fix(electron): preserve callback ownership through listener removal\n\nKeep canonical callback ownership independent of writable raw-listener\nmetadata. Resolve the native removal argument in current registration order,\nthen let EventEmitter own mutation, getter timing and removal meta-events.\n\nLeave registrations unwrapped with explicit observation gaps when methods\nor receivers do not support that ownership model. Preserve per-callback\nEvidence for supported registrations and document the remaining limits.\n\nFixes #4513\n", + "parents": ["d6ca7b3f20a273823c50d6253f0b6f34f3876f53"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "974487f00f2d68912c7c2c9e033a2760a343a82e", + "subject": "fix(process): preserve cleanup ownership through retries and close", + "body": "fix(process): preserve cleanup ownership through retries and close\n\nCarry historical cleanup reports with the exact lease that can confirm\nrelease. Bind originating capture errors and typed retry aggregates to\nthose owners while preserving primary failures and completed observations.\n\nKeep those bindings through MCP close and compose mixed session/process\ncleanup failures. Start both close operations even when a child throws a\ntyped failure synchronously.\n\nFixes #5144\nFixes #5163\nFixes #5166\n", + "parents": ["dfe8378cf5a727e3d93d47a5986233175c6ef898"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9af0b6113c81803f88ec7d242e8fabaaa5d7f1f3", + "subject": "fix(process): retain snapshot handles and partial read outcomes", + "body": "fix(process): retain snapshot handles and partial read outcomes\n", + "parents": ["974487f00f2d68912c7c2c9e033a2760a343a82e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e4c3d72396bf925a45724ce8b18b238b0d23d787", + "subject": "fix(javascript): converge cyclic aliases with explicit projection widening", + "body": "fix(javascript): converge cyclic aliases with explicit projection widening\n\nReplace initializer-history and full-path enumeration with a finite projection\njoin at each source read. Retain conservative local returned-reference effects\nand disclose precision loss through static, semantic and captured-web results.\nClose full-binding callback cycles while preserving narrowed read semantics.\n\nFixes #4348\nFixes #5138\nRefs #4349\nRefs #4364\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: Fuxuan-CN <3072252442@qq.com>\n", + "parents": ["9af0b6113c81803f88ec7d242e8fabaaa5d7f1f3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "Fuxuan-CN", + "email": "3072252442@qq.com", + "user": { + "login": "Patchouli-CN", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "715d93e954f238e009d9a425b6c430ce131eb51b", + "subject": "refactor(process): share ownership for isolated analysis workers", + "body": "refactor(process): share ownership for isolated analysis workers\n\nSeparate child and private-root ownership from JavaScript analysis protocols. Retain exact cleanup lifetimes across retries, late handshakes and runtime reuse; observe request-stream errors and preserve per-job file cleanup during worker reuse.\n", + "parents": ["e4c3d72396bf925a45724ce8b18b238b0d23d787"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9aca543f46085f502dbc5445002e129e5d2974e9", + "subject": "fix(browser): isolate web bundle analysis with bounded partial results", + "body": "fix(browser): isolate web bundle analysis with bounded partial results\n\nRun inert captured-script analysis in owned children with per-script and aggregate deadlines, bounded source/result transfer and explicit per-script coverage. Preserve completed facts and exact cleanup authority across cancellation, mixed descriptor/process failures and cross-consumer retry.\n\nShare aggregate source admission across page and Electron capture, expose CLI/MCP resource controls and retain selected parameters in Evidence. Verified with controlled CDP public workflows, real owned Node failure controls and the reporter-matching ReactDOM UMD artifact; real Chrome/Electron and Windows/Bun remain unqualified.\n", + "parents": ["715d93e954f238e009d9a425b6c430ce131eb51b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7f4e7d5577adf2f4ea6edf869cbb35a43469b8d3", + "subject": "fix(browser): preserve caller cancellation through CDP observations", + "body": "fix(browser): preserve caller cancellation through CDP observations\n", + "parents": ["9aca543f46085f502dbc5445002e129e5d2974e9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "87ab054ea384b3fcbae2998b1f94685edcd5f624", + "subject": "fix(runtime): retain Inspector and Electron cleanup ownership", + "body": "fix(runtime): retain Inspector and Electron cleanup ownership\n", + "parents": ["7f4e7d5577adf2f4ea6edf869cbb35a43469b8d3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2e5171e391b83f8a467d0861fd452c1f78621fd8", + "subject": "fix(browser): retain historical capture outcomes through cleanup", + "body": "fix(browser): retain historical capture outcomes through cleanup\n", + "parents": ["87ab054ea384b3fcbae2998b1f94685edcd5f624"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e8da7e1edd075feec0e6beedec93d5645fed8125", + "subject": "fix(artifacts): share bounded ASAR signature observations", + "body": "fix(artifacts): share bounded ASAR signature observations\n\nParse Pickle extents once at the ASAR boundary and carry finalized signature\nfacts through root and nested classification. Scan JSON whitespace within its\ndeclared extent and decode budget without retaining the whitespace prefix.\nKeep prefix storage bounded independently of stream chunk ownership.\n\nFill fixed ASAR prefixes and DMG trailers across short reads, preserve\ncancellation through admission and stream EOF, and retain existing cleanup\nownership. Cover public CLI/MCP selection, root/nested inventory, malformed\nJSON whitespace and padding, limits, native/XML consumers and descriptor faults.\n\nValidation: 24 focused files / 170 tests; full check; docs check; test discovery.\nOfficial inert ASAR fixtures and controlled descriptor faults were exercised;\nreal Electron execution, Windows and natural OS short-read frequency remain\nunverified. Equivalent compact CLI tasks returned identical results and reply\ntoken estimates; repeated timings do not establish a speedup.\n\nFixes #3574\nFixes #5188\n", + "parents": ["2e5171e391b83f8a467d0861fd452c1f78621fd8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ba866a26ecbe179a717e746cbc0d1605ae616ad5", + "subject": "fix(process): preserve partial sampling observations and shutdown gaps", + "body": "fix(process): preserve partial sampling observations and shutdown gaps\n\nKeep procfs absence separate from denied and failed reads. Carry successful\nrows, thread children and bounded diagnostics together so one failed sibling\ncannot erase readable peers. Retain root initialization failures and validate\nps-discovered Linux candidates through stable procfs identity brackets.\n\nAwait issued reads during shutdown, retain completed rows and report an\nunfinished pass through the existing sampling failure/diagnostic contract.\nDerive partial coverage at its owner and preserve actual read errors when\nshutdown also interrupts observation. Keep the public capture schema unchanged\nand verify it with the previous strict capture reader.\n\nUpdate directly affected coverage consumers and regression fixtures, including\nidentity contradictions, mixed outcomes, late failures, cleanup, cancellation,\nprocess-only comparison unknowns and converted MCP schemas.\n\nValidation: 12 focused files / 123 tests; full check; docs check (5 tests);\ntest discovery (1,635 files). Real macOS CLI/MCP controls exercised source-owned\nPTY targets. Linux permission behavior uses deterministic boundary fixtures;\nreal Linux and Windows qualification remain unavailable. Completed CLI cost\ncomparisons do not establish a speedup.\n\nFixes #5081\nFixes #5194\n", + "parents": ["e8da7e1edd075feec0e6beedec93d5645fed8125"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ca71e91d23672646af917ede8ae82c7fea395341", + "subject": "fix(process): await owned observation commands through finalization", + "body": "fix(process): await owned observation commands through finalization\n\nSupervise sampler and ownership-query commands through physical exit on\ncancellation. Share Darwin helper command ownership, reject new commands\nafter close starts, and drain admitted commands before removing the root.\nKeep failed root cleanup retryable without rerunning completed queries.\n\nFixes #5199\nFixes #5202\n", + "parents": ["ba866a26ecbe179a717e746cbc0d1605ae616ad5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "39275420ea18ad803eccfcc2702865b98ed36e44", + "subject": "fix(process): preserve cancellation through liveness rechecks", + "body": "fix(process): preserve cancellation through liveness rechecks\n\nForward the accepted observation signal into per-member process-table\nrechecks and preserve its exact cancellation reason. Keep uncancelled\ninspection failures unverifiable and guard successful late completions.\n\nFixes #5205\n", + "parents": ["ca71e91d23672646af917ede8ae82c7fea395341"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "048d70755ea9ca1d0d159ac78285d62a7ae00b21", + "subject": "fix(frida): preserve script evidence through cancellation and decoding", + "body": "fix(frida): preserve script evidence through cancellation and decoding\n\nKeep per-script messages and truncation in one owned capture through native\nload completion and awaited cleanup. Return cancelled partial observations\nwhen cancellation is observed at native completion, including native rejection;\nretain failed cleanup for retry and preserve earlier failures during cleanup.\nReport missing creation handles without claiming the engine did no work.\n\nHash original script-file bytes and retain replacement-decoding provenance\nwithout changing normalized CLI/MCP result schemas or accepted file behavior.\nShare this projection across persistent and one-shot Evidence.\n\nValidation: 103 focused tests, final 38 manager source tests, npm run check,\nand npm run docs:check pass. Controlled public CLI/MCP workflows and fake\nFrida bindings only; no real target injection or device verification.\n\nFixes #3979\nFixes #3396\n", + "parents": ["39275420ea18ad803eccfcc2702865b98ed36e44"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "91884c374385182726a93d56059720d5e78a0e42", + "subject": "fix(ghidra): own operation-scoped JVM failure evidence", + "body": "fix(ghidra): own operation-scoped JVM failure evidence\n\nScan provider output before retention and keep bounded confirmed token facts\nthrough output completion. Exclude identifier prefixes, pre-checkpoint context,\nand unconfirmed tails; preserve invalid UTF-8 and directional truncation facts.\n\nMake confirmed OOME observations authoritative for projection. Retained raw\nprefixes cannot establish an OOME, and unrelated output cannot supply its\nresource kind or recovery advice. Incomplete no-OOME output preserves the\nprimary error and explains uncertainty. Current checkpoint coverage remains\nseparate from historical budget loss.\n\nAdapt the retention approach from #4774 with independently reproduced scanner\nand projection counterexamples corrected before integration.\n\nValidation: 268 focused tests, npm run check, npm run docs:check, and test\ndiscovery (1639 files exactly once) pass. Controlled Node pipes/socket and fake\nGhidra JVM only; real Ghidra and native Linux/Windows behavior are unverified.\n\nFixes #4682\nFixes #5220\n\nCo-authored-by: reason-machines[bot] <293529679+reason-machines[bot]@users.noreply.github.com>\nCo-authored-by: Saim Shafique \n", + "parents": ["048d70755ea9ca1d0d159ac78285d62a7ae00b21"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "reason-machines[bot]", + "email": "293529679+reason-machines[bot]@users.noreply.github.com", + "user": { + "login": "reason-machines[bot]", + "__typename": "User" + } + }, + { + "name": "Saim Shafique", + "email": "msaimshafique4664@gmail.com", + "user": { + "login": "sx4im", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4cbcead46cb16b18c9467498e5b4a6778e4b7aa0", + "subject": "fix(frida): share canonical discovery results across adapters", + "body": "fix(frida): share canonical discovery results across adapters\n\nOwn device and process discovery projection in the application workflow,\nbound to each named output contract. CLI and MCP now consume that result\ndirectly, including retained observations when final CLI cleanup fails.\n\nRemove the duplicate adapter projections and preserve provider failures,\ncaller-selected identifiers, process records and cleanup diagnostics.\n\nValidated with 103 focused tests, npm run check and docs:check. Real local\nFrida 17.23.2 discovery on macOS arm64 returned the same three devices\nthrough the compiled CLI and production stdio MCP; both now pass the\nadvertised schema. Remote endpoints and native Linux/Windows unverified.\n\nFixes #4637\n\nCo-authored-by: shreyansh1729 \nCo-authored-by: Kaushalendra-Marcus \n", + "parents": ["91884c374385182726a93d56059720d5e78a0e42"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "shreyansh1729", + "email": "shreyanshiitian1729@gmail.com", + "user": { + "login": "Shreyansh1729", + "__typename": "User" + } + }, + { + "name": "Kaushalendra-Marcus", + "email": "yadavkausha4a5@gmail.com", + "user": { + "login": "Kaushalendra-Marcus", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "435efe7afcc6a286a9b450dbef682df67252ebf5", + "subject": "fix(frida): share exact JSON string byte accounting", + "body": "fix(frida): share exact JSON string byte accounting\n\nCount the serialized JSON representation at its owner, including escaped\nlone UTF-16 surrogates. Frida now retains the correct bounded prefix and\nreports truncation in script results and subsequent session Evidence.\n\nMove the existing exact managed string counter into the domain layer and\nuse it for Frida, managed projections and Ghidra inline PDB caveats. Remove\nthe superseded counters while keeping Ghidra's bounded length guards and\nNativeAOT's distinct raw-byte admission before string allocation.\n\nValidated with 296 focused tests, check, docs and exact test discovery.\nThe Unicode oracle checks every UTF-16 code unit and adjacent fragments\nagainst native JSON encoding. Frida execution uses simulated native handles\nthrough the real MCP handlers/client; real target instrumentation is unverified.\n\nFixes #5097\n\nCo-authored-by: Prabhuram Karki \n", + "parents": ["4cbcead46cb16b18c9467498e5b4a6778e4b7aa0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Prabhuram Karki", + "email": "prabhuramkarki07@gmail.com", + "user": { + "login": "prabhuramkarki", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "00dd959b82bb6675e01f54ade1180e345c826fee", + "subject": "fix(mcp): derive shared provider cleanup from loaded ports", + "body": "fix(mcp): derive shared provider cleanup from loaded ports\n\nSeparate load-failure metadata from the typed optional observation ports\nand derive the process cleanup inventory from those ports. This includes\nthe JavaScript runtime owner and removes the separate four-provider list.\n\nPreserve all load failures in server injection and keep shared providers\ncaller-owned across individual server closure. Retain failed close hooks\nfor retry while removing peers whose cleanup completed.\n\nValidated with 19 focused lifecycle/isolation checks and a final rerun of\nthe new boundary regression, check, docs and exact test discovery. The\nrunner test uses real idle providers with controlled SDK/shutdown handles\nand a close rejection; active Inspector resource consequences, native\nLinux/Windows and end-to-end stdio shutdown remain unverified.\n\nFixes #5222\n", + "parents": ["435efe7afcc6a286a9b450dbef682df67252ebf5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "69fe86c5c7c31082d1846842b3afd00343499d75", + "subject": "fix(frida): separate attachment from target resume observations", + "body": "fix(frida): separate attachment from target resume observations\n", + "parents": ["00dd959b82bb6675e01f54ade1180e345c826fee"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "44b6ec97ee65dba280e0d177545bcd63881287fd", + "subject": "fix(frida): retain cancellation through final session cleanup", + "body": "fix(frida): retain cancellation through final session cleanup\n", + "parents": ["69fe86c5c7c31082d1846842b3afd00343499d75"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2ec602b191d3b36dd17733e3e183457c57651c60", + "subject": "fix(frida): clarify device selection and cleanup contracts", + "body": "fix(frida): clarify device selection and cleanup contracts\n", + "parents": ["44b6ec97ee65dba280e0d177545bcd63881287fd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "69aa5465cd77c5cf9ff435e7a5a322d90c1db12c", + "subject": "fix(frida): preserve resume failures across caller cancellation", + "body": "fix(frida): preserve resume failures across caller cancellation\n", + "parents": ["2ec602b191d3b36dd17733e3e183457c57651c60"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "64abd4aefb23317dd4f787094456d1b19de47c77", + "subject": "fix(flutter): select reported ABI labels through shared contracts", + "body": "fix(flutter): select reported ABI labels through shared contracts\n\nReuse canonical CLI fields and preserve literal archive labels through exact selection. Keep UTF-8 path budgets at inventory while advertising the same bounded Unicode selector that runtime admission enforces.\n\nCo-authored-by: Yi-111-a <153097222+Yi-111-a@users.noreply.github.com>\n", + "parents": ["69aa5465cd77c5cf9ff435e7a5a322d90c1db12c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Yi-111-a", + "email": "153097222+Yi-111-a@users.noreply.github.com", + "user": { + "login": "Yi-111-a", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a0edd145d31ffeb9f022c25ec9e9131083f563d5", + "subject": "fix(analysis): preserve input diagnostics and reuse JEB contracts", + "body": "fix(analysis): preserve input diagnostics and reuse JEB contracts\n", + "parents": ["64abd4aefb23317dd4f787094456d1b19de47c77"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b999e724767587bc5a2f0589579e0f836774b0e3", + "subject": "fix(ci): repair capture ownership and portable ABI validation (#5224)", + "body": "fix(ci): repair capture ownership and portable ABI validation (#5224)\n\n* fix(tests): restore reliable snapshot and container CI checks\n\nKeep exact cancellation causes and partial snapshot facts in regression oracles. Match fault injection to real directory handles and isolated MCP module ownership; await terminal cleanup progress within the existing test deadline. Reuse the valid ASAR Pickle fixture and preserve truncated-container rejection.\n\n* fix(tests): isolate runtime faults and own CLI subprocesses\n\nKeep the runtime provider mock in the isolated project after reused CLI graphs exposed lost fault injection. Use the existing owned CLI fixture for Inspector parity and update command checks, retain caller environment choices, and require the removed alias to fail with COMMAND_NOT_FOUND. Keep current test deadlines and production behavior.\n\n* fix(process): retain executable handles through read cancellation\n\nUse the existing borrowed descriptor reader so stream cancellation cannot invalidate a handle owned by capture. Preserve the exact cancellation and permit immediate scope reuse after cleanup. Reproduce the native-stream failure with actual file IO and retain completed/failed-close controls.\n\nSynchronize runtime cancellation and backwards-clock injection with observed running progress. The corrected clock oracle now rejects a Date.now-based deadline under controlled rollback; keep test deadlines and narrow host cleanup checks unchanged.\n\n* test(process): observe prelaunch cancellation at descriptor reads\n\n* fix(process): retain read failures alongside observed cancellation\n\n* fix(flutter): advertise portable Unicode ABI selectors", + "parents": ["a0edd145d31ffeb9f022c25ec9e9131083f563d5"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5224] + }, + { + "sha": "0fc8462be15b55d828b276861853b5491bff1646", + "subject": "fix(tests): complete independent agent evaluation cleanup", + "body": "fix(tests): complete independent agent evaluation cleanup\n\nAttempt independent auth and run-tree cleanup even after permission denial,\nretaining the primary verification failure alongside cleanup errors. Exercise\nboth retention modes through the verifier entrypoint, preserve startup\ndiagnostics, and retain cooperative coverage for root.\n\nFixes #5095\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)", + "parents": ["b999e724767587bc5a2f0589579e0f836774b0e3"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5154] + }, + { + "sha": "49e67aa1d963bda337c261f4813ecb7128e2a50c", + "subject": "fix(process): retain native ownership evidence through cleanup", + "body": "fix(process): retain native ownership evidence through cleanup\n\nKeep a run-scoped evidence owner from acquisition through settlement and\ncleanup retry. Bind token observations to native generations and retain\nrelated generations and unresolved identity lookups across table omissions,\nreparenting and process-group changes without treating PID hints as authority.\n\nUse native effective UID facts for withholding decisions, corroborate Linux\nprocfs absence, and share the Linux stat parser with sampling and debugger\nidentity checks. Signal only after current token and group revalidation.\nComplete swept cleanup across all groups with one bounded final family check;\nretain unresolved owners and successful-peer completion across retries.\n\nValidation: npm run check, docs:check and test discovery passed. Focused\nownership/consumer coverage totals 513 passed and 1 skipped across 35 files,\nincluding the corrected Electron cancellation test rerun independently. Darwin helper compilation, real\nowned Node child cleanup, CLI/MCP capture and retained cleanup retries ran.\nReal Electron applications, native Linux races/PID reuse and Windows cleanup\nwere not qualified. The original Linux reports remain open for that work.\n\nFixes #5238\nRefs #4322, #5206\n", + "parents": ["0fc8462be15b55d828b276861853b5491bff1646"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dc936f433cf305ec9dbf9df70842303f89fab03f", + "subject": "test(process): distinguish native preparation from capture allocation", + "body": "test(process): distinguish native preparation from capture allocation\n\nA missing temporary path stops Darwin native-inspector preparation before\ncapture allocation can account for resources. Keep its progress coverage\nunknown; Linux reaches the capture root allocation and reports not-required\nresources. Assert the public typed failure preserves the selected temp path.\n\nThe combined Electron/progress focused rerun passed 33 tests on macOS arm64\nwith Node 24.18.0. The seven progress cases passed; native Linux was not run.\nStatic checks, docs checks and test discovery also passed on the final tree.\n", + "parents": ["49e67aa1d963bda337c261f4813ecb7128e2a50c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3ea0d9489e52500ed76555926f1b78419f71c3cb", + "subject": "feat(objdump): select native disassembly by symbol (#5171)", + "body": "feat(objdump): select native disassembly by symbol (#5171)\n\nPush optional native symbol selection into GNU objdump before collecting Evidence. Preserve native matching, raw output, artifact identity, scoped limitations and the existing full-disassembly default through the shared CLI/MCP workflow.\n\nFixes #5159\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["dc936f433cf305ec9dbf9df70842303f89fab03f"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [5171] + }, + { + "sha": "49b4edfe7788495ba548e423c9c3b82dc14cca03", + "subject": "fix(browser): validate large base64 without regexp stack overflow", + "body": "fix(browser): validate large base64 without regexp stack overflow\n\nShare padded decoding across CDP response shapes and cache fingerprints,\nand count binary WebSocket bytes without allocating a decoded buffer.\nPreserve HAR canonical pad bits and validate before allocation.\n\nReplace repeated alphabet quartets in canonical schemas with separate\nalphabet, padding and fixed-width length assertions. Cover near-32MiB\nencodings under ordinary, Unicode and Unicode-set modes, plus complete\n4MiB CLI and MCP retained-evidence export workflows.\n\nFixes #5253\n", + "parents": ["3ea0d9489e52500ed76555926f1b78419f71c3cb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "255d906e15a141b0f4acee60dc73976f03adc94c", + "subject": "fix(native): scan byte-pattern inputs without regexp stack growth", + "body": "fix(native): scan byte-pattern inputs without regexp stack growth\n\nKeep exact wildcard, whitespace and aligned-mask validation in the shared\ndomain refinement. Advertise descriptive string inputs instead of repeating\nregexes, and remove discarded byte/mask array materialization.\n\nPreserve caller spelling and error precedence; cover large public stdio\nqueries, provider-boundary parsing and connection recovery.\n\nFixes #5257\n", + "parents": ["49b4edfe7788495ba548e423c9c3b82dc14cca03"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "60bd646478dcfab6c296b7e4765254eea787ffa9", + "subject": "feat(mcp): add opt-in streamable HTTP transport (#4955)", + "body": "feat(mcp): add opt-in streamable HTTP transport (#4955)\n\nAdd an explicit Streamable HTTP entry for environment/gateway hosts while keeping stdio registrations and default behavior. Preserve the shared provider/session owner across DELETE and replacement; fence and drain tool/completion work before handover or teardown.\n\nBound HTTP input and plain-response admission, cancel refused bodies, join whole exchanges and asynchronous response cleanup before provider hooks, gate startup readiness, and reject queued HTTP/1.1 pipelining while retaining sequential keep-alive.\n\nValidation: 8 static/build tasks, 83 adapter tests and registry metadata pass. A real installed gh binary produces seven equivalent CLI/stdio/HTTP reports with DELETE/replacement and clean signal shutdown. Broader local native-provider/ownership failures reproduce on clean main and are documented with limitations in the PR.\n\nCo-authored-by: Edgar Arakelyan \nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["255d906e15a141b0f4acee60dc73976f03adc94c"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [4955] + }, + { + "sha": "4af71a45f9c740b292b0b454ba11bcc0494874b8", + "subject": "fix(process): reconcile native lifetime and selective Linux UID facts", + "body": "fix(process): reconcile native lifetime and selective Linux UID facts\n\nSettle absent and zombie candidates before retaining baseline or token-read failures. Preserve fail-closed behavior for live and unknown generations, and stop retrying exited candidates.\n\nBind Linux effective UID to stat-bracketed status reads only for unreadable-token candidates, preserving partial identity facts and avoiding full-table UID enrichment.\n", + "parents": ["60bd646478dcfab6c296b7e4765254eea787ffa9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0949313d8fa222dfd48d33828e19924d55775981", + "subject": "fix(schema): compose portable stack-safe base64 constraints", + "body": "fix(schema): compose portable stack-safe base64 constraints\n\nReplace the lookahead-based pattern with separate allOf/not JSON Schema rules for quartet length, alphabet, padding and canonical pad bits. Share the runtime predicates with HAR and padded base64 parsing.\n\nValidate converted advertised leaves with the MCP SDK validator, preserve permissive versus canonical semantics, and exercise every pattern near the 32 MiB encoded-input budget in all JavaScript modes.\n", + "parents": ["4af71a45f9c740b292b0b454ba11bcc0494874b8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "aacf740a047078e79c71d528e8e188afe2ba1aff", + "subject": "fix(ci): correlate ownership trace threads and preserve setup failures", + "body": "fix(ci): correlate ownership trace threads and preserve setup failures\n\nFollow CLONE_THREAD edges across strace -ff files when excluding the ownership process's stat/status reads. Keep provider child processes outside the allowance and document the same-process attribution limit.\n\nValidate setup result array shapes and preserve the original failed-plan JSON instead of masking it with a diagnostic TypeError.\n", + "parents": ["0949313d8fa222dfd48d33828e19924d55775981"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c4aaf813e05a503b79b059ee9f6933701117f915", + "subject": "fix(javascript): retain selected application paths in Evidence", + "body": "fix(javascript): retain selected application paths in Evidence\n\nRecord the admitted selected path separately from canonical artifact identity in successful and partial Evidence. Anchor relative inputs consistently across both CLI routes using the existing caller-path owner.\n\nAdapt shared client verifier assertions and boundary coverage from PR #5261, and the dedicated-route anchoring correction proposed in PR #5265. Historical parsing remains independent of live paths, including legacy records without the parameter.\n\nValidation: 118 focused tests in eight files, static and docs checks, discovery, and installed Gemini CLI 0.29.5 loopback verification of 207 schemas/241 examples passed. Synthetic static-analysis fixtures; no live Google API or native target execution.\n\nFixes #5258\n\nCo-authored-by: kwakhyun \nCo-authored-by: vishal-tambi \n", + "parents": ["aacf740a047078e79c71d528e8e188afe2ba1aff"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "kwakhyun", + "email": "khyun2348@naver.com", + "user": { + "login": "kwakhyun", + "__typename": "User" + } + }, + { + "name": "vishal-tambi", + "email": "tambivishal3@gmail.com", + "user": { + "login": "vishal-tambi", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5199c672ff2ea0d104dd569dad7d79e8dc9b9595", + "subject": "fix(process): keep lifecycle waits independent of application timers", + "body": "fix(process): keep lifecycle waits independent of application timers\n\nUse Node promise timers consistently for ownership retries, final verification and capture-journal quiet settlement. Preserve the existing elapsed-time budgets, ownership checks, cancellation and trailing-callback drain.\n\nAdapt the ownership timer correction from gensokyo-dev's PR #5249 and complete the same fix in the adjacent capture-journal owner. Three new controlled regressions fail before the fix; 93 source tests and 94 CLI/MCP/process boundary tests pass afterward, with static checks passing. Global performance replacement and ordinary native Jadx incidence remain unverified.\n\nFixes #5267\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>\n", + "parents": ["c4aaf813e05a503b79b059ee9f6933701117f915"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0e62094b69b4b36c8855a8255558b4a9f65fdb95", + "subject": "test(setup): isolate registration checks from installed providers", + "body": "test(setup): isolate registration checks from installed providers\n\nSelect absent Hopper, Ghidra and Java locations consistently across registration environment acceptance fixtures. Host PATH Java was executing during IDA budget checks and exposing those checks to unrelated provider cleanup failures. Keep the process ownership failure policy and all registration assertions intact.\n", + "parents": ["5199c672ff2ea0d104dd569dad7d79e8dc9b9595"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2dd5effe2a641e354ad273138d0906a759fab9c3", + "subject": "fix(rizin): default one-shot output to plain presentation (#5269)", + "body": "fix(rizin): default one-shot output to plain presentation (#5269)\n\nDefault native one-shot Rizin presentation to plain text before collection while preserving caller colour overrides, literal output, recorded argv and shared CLI/MCP Evidence.\n\nFixes #4488\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["0e62094b69b4b36c8855a8255558b4a9f65fdb95"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [5269] + }, + { + "sha": "b44cb5bd306de5b20466cf7b35f56247492dd41d", + "subject": "test(javascript): distinguish selected paths from artifact identity", + "body": "test(javascript): distinguish selected paths from artifact identity\n\nCheck CLI parity against the admitted absolute selection and verify that MCP retains relative selections separately. Equal canonical artifact results do not imply equal Evidence IDs when caller-selected paths differ.\n", + "parents": ["2dd5effe2a641e354ad273138d0906a759fab9c3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1b3ac94242882e0fbf9c717806646c729abd8b91", + "subject": "fix(rizin): bound recent history frames by UTF-8 byte budget (#5246)", + "body": "fix(rizin): bound recent history frames by UTF-8 byte budget (#5246)\n\nBound recent decoded history to complete UTF-8 prefixes and reuse the bounded capture implementation without changing command Evidence or wire queue accounting. Add deterministic Unicode and invalid-byte coverage, and document history retention.\n\nFixes #5091\nFixes #5242\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["b44cb5bd306de5b20466cf7b35f56247492dd41d"], + "authors": [ + { + "name": "NoThing", + "email": "sarthakpandey5667@gmail.com", + "user": { + "login": "Sarthak-Pandey", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [5246] + }, + { + "sha": "1c2c2f1e78a74cdf5e4909ab8e775b090998a51f", + "subject": "fix(process): settle native exit and repair ownership verification (#5249)", + "body": "fix(process): settle native exit and repair ownership verification (#5249)\n\n* fix(process): classify baseline cleanup with current ownership facts\n\nUse the pre-launch baseline only to select candidates for current native\nidentity/token validation. Preserve confirmed absence and verified foreign\ngenerations instead of carrying a premature baseline identity failure.\n\nExercise the real Linux enumeration/exit race and retain countercontrols for\nunknown identities and live token-owned processes.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)\n\n* fix(ci): distinguish process inventory from historical PID lookups\n\n* test(ci): verify decoded historical PID controls before tracing\n\n* fix(ci): trace historical PID handles and signal probes\n\n* fix(ci): resolve traced directory paths across pathname syscalls\n\nClassify producer-decoded FD/path pairs once instead of limiting failed relative\nlookup detection to openat on /proc. This preserves attempted readlinkat, statx\nand newfstatat accesses with no returned descriptor.\n\nThree regression cases fail against the previous policy and all 33 controls\npass with the shared pathname interpretation.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)\n\n* test(ci): declare unresolved legacy pathname coverage\n\nReport the historical-PID access surfaces actually checked and explicitly mark\nlegacy cwd-relative pathname calls unverified. The existing tracer does not\nprovide their cwd identity, and a blanket rejection also rejects legitimate\nGDB build-ID metadata queries.\n\nRetain every committed access guard and document the preexisting limit without\nclaiming absence from missing path evidence. The complete real 44-case CLI/MCP\nrecorded-crash qualification passes with the coverage declaration.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)\n\n* fix(ci): reject priority access to historical PIDs\n\n* fix(ci): preserve C-quoted components in traced path checks\n\nstrace renders non-ASCII pathname bytes as C octal escapes, not JSON strings.\nKeep those components opaque when resolving literal ASCII path separators and\nproc PID selectors, matching the existing absolute-path interpretation.\n\nTwo controls fail before the correction and all 35 pass afterward. An actual\nstrace observation independently reproduces the rejection of an unrelated\nChinese filename and verifies the corrected classification.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)\n\n* fix(ci): reject historical PID resource and scheduler calls\n\n* fix(schema): preserve portable large base64 validation\n\n* fix(ci): share explicit PID syscall contracts with tracing\n\nDerive tracer selection and reported coverage from the same named target\ncontracts used by the access checker. Cover resource limits, scheduler calls,\nprocess metadata, PID groups, capabilities and pidfd operations without mixing\nUIDs, policy enums, self selectors or output values with target PIDs.\n\nInterpret each target once and retain unresolved target facts as a distinct\nfailure. Emit the coverage catalog once per verifier result.\n\nThe previous oracle misses 28 new controls. All 83 controls pass after the\nchange; real native resource/scheduler probes capture 14 previously missed\ncalls with resource limits and affinity unchanged. All 35 selected syscall\nnames are accepted by the pinned local strace.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)\n\n* fix(ci): classify I/O priority and qualify PID trace coverage\n\n* fix(process): keep ownership retries on the native clock\n\n* fix(ci): retain process edges in ownership trace inventory\n\nKeep fork/vfork and resumed edges along with clone events so the shared attribution owner receives the complete process relation facts it consumes.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)\n\n* fix(process): type native exit predicates and ownership fixtures precisely\n\n* fix(ci): retain trace coverage limits after integration\n\nRestore explicit unverified symlink aliases and same-Node stat/status purpose in the shared coverage contract and guide. The native-exit and trace-attribution integration does not establish those properties. Preserve both limitations rather than silently broadening the reported qualification.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)", + "parents": ["1b3ac94242882e0fbf9c717806646c729abd8b91"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5249] + }, + { + "sha": "e84e17e30f7de41ad9ac801eda235574fa5d4dad", + "subject": "fix(rizin): accept proven inferior exit after detach (#5281)", + "body": "fix(rizin): accept proven inferior exit after detach (#5281)\n\nReuse the common Linux identity reader and retain the original PID/start-time pair throughout detach. After Rizin confirms no active descriptor, accept a proven end of that original process while preserving refusals for unresolved or live mismatched targets. Remove the duplicate proc parser and cover deterministic exit/live-redirect transitions with owned fixtures.\n\nFixes #5277\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["1c2c2f1e78a74cdf5e4909ab8e775b090998a51f"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [5281] + }, + { + "sha": "909b9f7b6be3fdaab9b7ccb401f48baa524c4312", + "subject": "fix(rizin): keep protocol failures outside exit recovery (#5290)", + "body": "fix(rizin): keep protocol failures outside exit recovery (#5290)\n\nSeparate debugger exit-policy readback from process descriptor checks. Require the final native readback before considering inferior-end proof, and regress an ambiguous reply delivered as the real owned inferior exits. Preserve debugger ownership on failure.\n\nFixes #5282\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["e84e17e30f7de41ad9ac801eda235574fa5d4dad"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [5290] + }, + { + "sha": "10f1994fe1a0bbddeb846ee8078a80a483a652f1", + "subject": "feat(environment): serve an environment manifest as a replay environment (#4975)", + "body": "feat(environment): serve an environment manifest as a replay environment (#4975)\n\nServe retained capture Evidence as a bounded MCP replay environment with discovery.\nPreserve default stdio, caller-selected facts and complete source Evidence.\n\nFix numeric fidelity, argument identity, startup cancellation and bounded discovery,\nquery/path matching and output metadata. Verify real recorded API data and public\nCLI/MCP workflows; preserve explicit gaps for Windows and third-party hosts.\n\nCo-authored-by: Edgar Arakelyan \nCo-authored-by: gensokyo-dev \nCo-authored-by: Claude Opus 5.5 ", + "parents": ["909b9f7b6be3fdaab9b7ccb401f48baa524c4312"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [4975] + }, + { + "sha": "71ae02c6efceb6b59e703c0c4e7367d7ea8c6c03", + "subject": "fix(process): retain child scope and bound native exit waits (#5280)", + "body": "fix(process): retain child scope and bound native exit waits (#5280)\n\nRetain original parent/child scope and prior native-generation proof across exit settlement and token retries. Keep historical scope separate from signal authority, count each supplied snapshot once, and share one existing native-exit deadline throughout cleanup.\n\nValidated 387 affected tests (one Darwin-only skip), five controls repeated three times, and 30 synced-main integration tests (one platform skip). Synced-head static, architecture, docs and discovery checks pass; real GDB qualification passes 44 CLI/MCP cases. Native-observer edge controls are simulated.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)\n\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["10f1994fe1a0bbddeb846ee8078a80a483a652f1"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5280] + }, + { + "sha": "b4938aed58737293a6987630476632619713f5cd", + "subject": "feat(artifacts): triage desktop installation directories (#5207)", + "body": "feat(artifacts): triage desktop installation directories (#5207)\n\n* feat(artifacts): triage desktop installation directories\n\n* fix(artifacts): retain completed probes through failed file cleanup\n\n* perf(artifacts): decode only assembly reference names for desktop triage\n\n* fix(artifacts): enforce exact signatures and responsive directory probes\n\n* fix(artifacts): recognize Unity bundles and bound FORM chunks\n\n* fix(artifacts): retain bounded desktop omission evidence\n\n* fix(artifacts): select ASAR targets before inventory probes\n\n* chore: preserve tested upstream HTTP owner during integration\n\n* fix(artifacts): reuse Mach-O signatures for FAT64 desktop probes\n\n* fix(artifacts): expose bounded desktop probe diagnostics\n\n* fix(artifacts): derive desktop snapshots from observed source identities\n\n* fix(artifacts): admit desktop facts before JSON expansion", + "parents": ["71ae02c6efceb6b59e703c0c4e7367d7ea8c6c03"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5207] + }, + { + "sha": "7a0c47bfa4259af859779000bf8bc8aaf16b35bd", + "subject": "feat(environment): export an environment manifest as an agent environment bundle (#4999)", + "body": "feat(environment): export an environment manifest as an agent environment bundle (#4999)\n\nExport an authenticated capture and environment manifest as a pinned agentenv bundle with provenance, a replay verifier and smoke task.\n\nFollowups preserve immutable input ownership, bounded discovery, caller paths and numeric values; bind bundle writes and package copying to retained filesystem owners; verify POSIX modes; retain cleanup authority; and verify framework/npm executable selection. Default MCP remains stdio.\n\nValidation: pinned Linux toolchain, typecheck/build/lint/format/docs/knip, 452 focused tests, ten product-catalog cases, real GitHub response replay in the generated non-root Docker image, and the real pinned agentenv framework smoke workflow. Platform and resource-measurement limits are recorded in the feature verification document.\n\nCo-authored-by: gensokyo-dev \nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: Claude Fable 5.1 ", + "parents": ["b4938aed58737293a6987630476632619713f5cd"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [4999] + }, + { + "sha": "bf1eeee94fd4677c793243a96542543b46c7c78e", + "subject": "feat(environment): build environments from browser scenario captures (#5182)", + "body": "feat(environment): build environments from browser scenario captures (#5182)\n\nBuild an agent environment directly from retained capture_browser_scenario Evidence through the existing manifest, serve and export commands. Preserve request ordinals, source pointers, redaction markers, unavailable bodies, provenance and the default stdio MCP transport.\n\nFollowups admit copied/transformed text before body validation or decoding, avoid request-text allocation in replay, normalize portable file inventories, select dependent CI lanes, retain the author's redaction/body-budget corrections, and count body coverage over represented requests.\n\nValidation: full pinned-toolchain static gate, source and public CLI/MCP regressions, canonical catalog checks, actual Chromium interactive and live GitHub API captures with exact HTTP replay and stdio parity, the generated non-root Docker image, and its smoke task through real agent-env 0.9.1334. Verification scopes, resource measurements and platform limits are recorded in the PR and feature verification document.\n\nCo-authored-by: gensokyo-dev \nCo-authored-by: Claude Opus 5.5 ", + "parents": ["7a0c47bfa4259af859779000bf8bc8aaf16b35bd"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5182] + }, + { + "sha": "82c76e2cbab28ef33a194b995e146bdea8f14001", + "subject": "fix(ci): validate unindexed readiness heads with live PR metadata (#5316)", + "body": "fix(ci): validate unindexed readiness heads with live PR metadata (#5316)", + "parents": ["bf1eeee94fd4677c793243a96542543b46c7c78e"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5316] + }, + { + "sha": "833136507dd79d959340b09862a53af344e4f1b3", + "subject": "feat(il2cpp): inventory Unity IL2CPP global-metadata images, types and methods (#3807)", + "body": "feat(il2cpp): inventory Unity IL2CPP global-metadata images, types and methods (#3807)\n\n* feat(il2cpp): inventory IL2CPP global-metadata images, types and methods\n\nAdd inspect_il2cpp_metadata (CLI inspect-il2cpp-metadata), a read-only\nin-process decoder for unencrypted Unity global-metadata.dat version 39.\nIt reports header sections, serialized index widths, images, type\ndefinitions (nesting from the nestedTypes section) and method names.\n\nUnrecognized magic and other versions are unsupported; damaged headers,\noverlapping sections, inconsistent record sizes, out-of-range indices and\ninvalid strings fail with a reason code and no partial success. MCP\ndetail summary retains the complete Evidence and pages rows through\ninspect_analysis_view kind il2cpp-metadata.\n\nAdds an opt-in verify:il2cpp:metadata -- --metadata PATH check.\n\n* feat(il2cpp): deliver metadata summaries by default over MCP\n\nA 112,232-method file produced a 10.5 MB complete response, above the\n10 MiB stdio budget. Default MCP delivery is now the retained summary;\ndetail complete stays available, and the one-shot CLI requests it.\n\n* fix(il2cpp): reject shifted strings, nesting cycles and method owner drift\n\nReview fuzzing showed that moving the strings section offset by one byte\nsilently renamed every image, type and method. Name indices must now start\na string, which also bounds total decoding by the section size.\n\nNesting cycles and methods whose declaring type disagrees with the owning\ntype range are rejected instead of returned. Adds service, shutdown and\nindex-width coverage, and moves environment-specific measurements out of\nthe public guide and tool description.\n\n* feat(il2cpp): decode global-metadata versions 29 and 31\n\nUnity 2022.3 writes version 29 or 31 metadata: a 256-byte header of\n(offset, size) pairs, fixed 4-byte indices, type records with\nelementTypeIndex, and method records that gained returnParameterToken in\nversion 31. Record counts come from section sizes and must be whole.\n\nSections report a null count for these versions and index widths report\nfixed-width-version. Image, type and method rows keep the same shape, and\nthe string, nesting and method-ownership checks apply to every version.\n\n* fix(il2cpp): bound report size before serializing and tighten coverage\n\nRows share decoded names, so a 130 KB file could expand into gigabytes of\nJSON before the 64 MiB budget check, ending in an internal RangeError. The\nprovider now refuses from a lower bound on the serialized rows first.\n\nThe decoder also rejects non-empty sections inside the header, methods\noutside their declaring type's range and overlapping image type ranges, and\nkeeps a leading byte order mark in names. Layouts now carry one indexing\nmode instead of two coupled flags, and the tool description explains\nnested_type_start.\n\n* fix(il2cpp): refuse oversized metadata before decoding rows\n\nAddress review findings on the IL2CPP metadata inventory:\n\n- check a lower bound from header row counts before any row object is\n allocated, so a large rejected file no longer builds every row first;\n- validate sealed parent Evidence and count its rows once per report\n instead of on every inspect_analysis_view page;\n- decode version 39 fixtures with 2- and 4-byte type-definition,\n generic-container and parameter indices.\n\n* docs(il2cpp): attach the decoder comment to readIl2cppMetadata\n\n* fix(il2cpp): deliver complete rows by default like the other inspection tools\n\ninspect_il2cpp_metadata defaulted to detail summary, the only inspection\ntool to do so. Omitted detail now returns every row inline, as\ninspect_artifact, decode_interface_builder and the capture tools do;\nsummary stays one argument away and the guide, CLI reference and skill\nreference say to select it first for large games, whose complete MCP\ndelivery is refused at the stdio budget with retained Evidence.\n\n* test(il2cpp): cover narrow-width -1 sentinels and fix the skill's default\n\nAn empty image stores its type start as the all-ones value of a one- or\ntwo-byte index; the decoder reads it as -1, but no fixture exercised it,\nso removing either conversion passed the suite. The fixture can now append\nan empty image, and both widths decode it. The skill still described a\nsummary default; it now says to select summary first, as the guide does.\n\n* docs(il2cpp): request summary explicitly in the summary example\n\n* chore(il2cpp): hash the verifier metadata through owned file resources\n\n* fix(il2cpp): count escaped name length without building the escaped string\n\n* fix(il2cpp): keep the verifier's check failure and small-table last page\n\n* feat(domain): count JSON string length without building the escaped string\n\n* fix(il2cpp): keep descriptor cleanup owners and share the JSON length count\n\n* test(domain): give the backslash case real backslashes\n\n* fix(il2cpp): select the CLI path and finish the command like the other tools\n\nFollow main's absoluteCallerPath (#4067) and pass the command signal to finishAnalysisCommand.\n\n* fix(il2cpp): select the verifier input path like the CLI\n\nUse absoluteCallerPath (#4067) so a path with a symlink followed by .. names the same file the CLI and MCP inspect.\n\n* feat(il2cpp): add compact composable metadata queries\n\nRetain source-indexed Evidence for filtered batch and field queries. Bound representation growth before serialization, yield decoding for cancellation, and share CLI Evidence publication with desktop inspection. Verify public Unity metadata against independent byte and managed-DLL oracles and exercise actual stdio SDK workflows.\n\n* fix(il2cpp): retain the validated metadata header magic\n\n* test(il2cpp): remove obsolete execution wording exception\n\n* fix(artifacts): preserve export selection and completed source facts\n\n---------\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["82c76e2cbab28ef33a194b995e146bdea8f14001"], + "authors": [ + { + "name": "JANG BYUNGKUN", + "email": "bkbkjang@gmail.com", + "user": { + "login": "8rulerstar", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [3807] + }, + { + "sha": "5fa4defcbc0e55ef1ec84c888b918abe945303fe", + "subject": "feat(artifacts): inspect and extract Godot PCK with retained facts (#3634)", + "body": "feat(artifacts): inspect and extract Godot PCK with retained facts (#3634)\n\n* feat(artifacts): read Godot PCK packs\n\nAdd a Godot Engine PCK artifact reader for standalone packs and packs\nembedded behind an executable trailer (formats 2 and 3). Members are\nuncompressed byte ranges verified against their declared MD5 on read.\n\nEncrypted directories, sparse bundles, patch removal entries, unknown\nflags and format 1 fail closed as unavailable; encrypted members are\nreported without being read. inspect-artifact and extract-artifact\nrecognize standalone packs by their GDPC magic.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(artifacts): bound Godot PCK metadata and own member streams\n\nCap member paths at 4096 bytes and the retained directory at 64 MiB\nbefore allocation. Read members with positional chunk reads through\npipeline so cancellation is typed, abandoned consumers release their\nsource, and the shared descriptor stays reader-owned. Retain the root\ndescriptor for godot-pck inventory, as for ZIP and universal Mach-O.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* feat(artifacts): complete Godot PCK facts, integrity and selected views\n\n* fix(artifacts): preserve atomic-root inventory Evidence\n\n* fix(artifacts): bound aggregate PCK member expansion\n\n---------\n\nCo-authored-by: Samucahub <151155051+Samucahub@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["833136507dd79d959340b09862a53af344e4f1b3"], + "authors": [ + { + "name": "TheArchitect", + "email": "151155051+0xthearchitect@users.noreply.github.com", + "user": { + "login": "0xthearchitect", + "__typename": "User" + } + }, + { + "name": "Samucahub", + "email": "151155051+Samucahub@users.noreply.github.com", + "user": { + "login": "0xthearchitect", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [3634] + }, + { + "sha": "f93a0335a8c1a60bbf6debdca16675ba303e4422", + "subject": "feat(analysis-view): project rich captures from Evidence files and template path pairs (#5293)", + "body": "feat(analysis-view): project rich captures from Evidence files and template path pairs (#5293)\n\nProject large local Evidence captures through the authenticated file-source boundary and add guarded opt-in sibling-pair path inference. Preserve request cancellation, resource ownership and file-relative validation diagnostics.\n\nValidated relevant source and compiled CLI/MCP/environment boundaries, static/build/docs/catalog gates, and a real isolated Gitea 28.2.0 capture through CLI, default stdio MCP and HTTP replay. Current-head automated review passed; unrelated long-running platform jobs may still be pending.\n\nCo-authored-by: Edgar Arakelyan \nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: gensokyo-dev ", + "parents": ["5fa4defcbc0e55ef1ec84c888b918abe945303fe"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5293] + }, + { + "sha": "d72021b0dabedcc6fbc7bc6e0286fd359c604271", + "subject": "fix(hopper): verify publisher before probing private display (#5346)", + "body": "fix(hopper): verify publisher before probing private display (#5346)\n\nReturn publisher refusal before unrelated private-display prerequisites can mask it. Retain display validation for admitted launchers, native launcher digest revalidation and owned cleanup.\n\nAdd a public CLI fault control using an unusable Python home, preserve the ordinary control and assert display selection for admitted versus refused launchers. Affected tests: 177 passes; 13 changed-file cases passed three additional repeats; full static checks pass.\n\nReal-Hopper owner-exit identity revalidation fails identically on unchanged main and the PR; complete real-provider qualification is not passing. This pre-existing failure remains outside this focused correction.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)\n\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["f93a0335a8c1a60bbf6debdca16675ba303e4422"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5346] + }, + { + "sha": "4e716b06078d725a53234503cbefbb340731e809", + "subject": "perf(analysis-view): reuse validated immutable captures (#5349)", + "body": "perf(analysis-view): reuse validated immutable captures (#5349)\n\nReuse the format owner's full validation for exact authenticated immutable captures across retained queries. Preserve ordinary mutable-input validation and per-request subject, coverage and budget checks.\n\nRefs #3133.\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["d72021b0dabedcc6fbc7bc6e0286fd359c604271"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [5349] + }, + { + "sha": "3fca2e0ca6e54ba700c286d9a85a9600dee6a19d", + "subject": "feat(environment): extract the initial state a capture's reads observed (#5319)", + "body": "feat(environment): extract the initial state a capture's reads observed (#5319)\n\n* feat(environment): extract the initial state a capture's reads observed\n\nAdd the environment-state analysis view. From the parents the environment\nmanifest accepts, it extracts the data the capture's reads observed before\nthe first related write: entity types with an identity field (proved by a\npath parameter or inferred from an identity name), entities with their\nrecorded values and provenance, documents for written non-entity paths, and\na render plan per read tool that is kept only when it reproduces the tool's\nlatest initial recordings from the state; every other read tool is a\nrecorded view with the reason. The Evidence is always inferred.\n\nResponse-body decoding moves to a domain owner shared with replay, exact\nJSON parsing moves to the owner of the exact-number policy, the manifest and\nstate views share parent admission and record grouping, and\nprojectAnalysisView takes its accumulators as one object.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): bound state at redacted writes; infer identity only from items\n\nA scenario write whose URL was redacted has no request line, so it was\ndropped and reads after it counted as initial state. Such a successful\nwrite now joins the timeline with an empty path, whose root relates to\nevery type, so it ends every type's state; a limitation counts them.\n\nA list whose recordings were all empty passed the \"every listed item\ncarries it\" check vacuously and published an identity field nothing\nshowed; it now needs at least one item, else the view stays recorded\nas no-identity.\n\nA value that differed between two request lines of one item tool, such\nas a query variant, was called volatile, and the gate then substituted\neach recording's own value; only repeats of one request line now show\nvolatility, so differing lines go through fields-differ.\n\nList membership is compared only while a list can still be the whole\ncollection, and merged entities are indexed by type and collection once,\nso paged captures no longer cost pages times entities (8,000 pages of\n40,000 entities: 5.7 s to 0.23 s).\n\nDocs and the tool contract say scenario state keeps the capture's\nredaction markers and how redacted writes bound it.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep first sightings, one list pointer and linear field unions\n\nEntities took the order of the first plan observed, and item plans run\nbefore list plans, so a complete list read before its detail reads came\nout reordered and lost \"all\" membership; each entity now keeps its\nearliest recorded sighting.\n\nA list plan reused the first recording's pointer for later recordings,\nso a later response that was itself an entity wrapping a list was read\nas that list; every recording must now locate the same list.\n\nThe field union scanned its ordered list for every key, quadratic in an\nobject's width; a set now answers membership.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep post-write values and partial lists out of the initial state\n\nA value that changed between repeats of one request line was named\nvolatile whenever no write under the type's own root lay between, so a\nwrite under another root (for example POST /api/dashboards/db before a\nsecond GET /api/search) left its effect in the initial state. Any\nrecorded write between the two observations now leaves every tool of the\ntype recorded with reason fields-differ instead.\n\nA list was published with membership \"all\" even when a total or count\nenvelope member exceeded the number it listed. Such a counter now makes\nthe membership \"recorded\".\n\nAlso drop a stale doc comment on ObservedEntity.order.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): scope item-shaped and deleted written paths out of documents\n\nState documents are held only for list-shaped paths a POST, PUT or PATCH\ntool writes. Reads of item-shaped written paths and of paths that are only\ndeleted stay recorded views; the guide now says so and the spec defers them\nto a later increment of #4933.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): count writes in flight when a value changes between reads\n\nThe volatility check compared write start positions with the two reads,\nso a write already in flight when the earlier read started was missed and\nits effect was named volatile. A write now counts when its interval\noverlaps the span from the earlier read's start to the later read's end.\n\nThe check also ran once per changed field and scanned every write. It now\nruns once per pair of observations, answered by a binary search over the\nwrites in timeline order and the latest end among each prefix.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): catch cross-tool changes across writes; read only item totals\n\nA value that changed across a write was caught only between repeats of\none tool's request line, so a list read before a write and an item read\nafter it put the post-write value into the initial state. Changes are\nnow classified per entity in timeline order after observation: across\nany recorded write, a change between repeats of a line or between two\nlines of the type rewrites the type (every tool recorded as\nfields-differ); with no write between, a repeat's change is volatile.\nThe classification lives in environmentStateMerge.ts.\n\nAny numeric member whose name contained \"total\" or \"count\" counted as\nan item total, so total_pages, account_id or page_count made complete\nlists partial. Item totals are now members whose name tokens include\ntotal or count and none of page, pages or per; a string of digits counts\nas a number; and a set has_more, next or next-page token member also\nmarks the list partial.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep post-write observations out of initial state\n\n* fix(environment): retain field provenance and bound state inference work\n\n---------\n\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: gensokyo-dev ", + "parents": ["4e716b06078d725a53234503cbefbb340731e809"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5319] + }, + { + "sha": "d148ce090512aceeddd8c907f03f9dd5d7cf47c8", + "subject": "perf(environment): index observed-state write cutoffs (#5350)", + "body": "perf(environment): index observed-state write cutoffs (#5350)\n\nIndex parsed recorded-write roots once per state projection and reuse positive and negative type cutoffs. Preserve wildcard, ancestor/descendant, canonical timeline and Evidence semantics under the existing representation budget.\n\nFollow-up to the final performance thread on #5319, which was merged while this optimization was being validated.\n\nValidated with 508 relevant source tests, compiled state CLI/MCP cases, real Gitea HAR CRUD/search captures and Chromium captures, static/build/docs/catalog gates, and equivalent completed before/after projections.", + "parents": ["3fca2e0ca6e54ba700c286d9a85a9600dee6a19d"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5350] + }, + { + "sha": "58d6043303e722115f1da18b9505c24abeeab423", + "subject": "perf(ghidra): omit redundant raw results (#5355)", + "body": "perf(ghidra): omit redundant raw results (#5355)\n\nKeep ordinary Ghidra facts in normalized Evidence without repeating complete raw replies. Preserve distinct overview, attestation, file-offset and pre-overlay observations through shared CLI/MCP execution.\n\nRecord real application measurements, equivalent selected facts, response admission and explicit latency/coverage limits.\n\nFixes #5337.\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["d148ce090512aceeddd8c907f03f9dd5d7cf47c8"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [5355] + }, + { + "sha": "4668cea2464d9f078aea4bfea03ec1f7a23280bc", + "subject": "fix(ghidra): explain server restart for timeout recovery (#5356)", + "body": "fix(ghidra): explain server restart for timeout recovery (#5356)\n\nExplain process-scoped startup settings in shared CLI/MCP timeout guidance and the bundled skill. Preserve Evidence and cleanup before restarting REA, reconnect MCP, and allow enough client request time.\n\nValidated with focused tests, static/docs/package checks, real Ghidra CLI/MCP recovery, and a completed 591-second EXE analysis under CPU and memory limits.", + "parents": ["58d6043303e722115f1da18b9505c24abeeab423"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5356] + }, + { + "sha": "799e8265b254e225dc1dabdd25e56f0ab7f86bd3", + "subject": "fix(verification): retain Hopper ownership evidence across owner exit (#5357)", + "body": "fix(verification): retain Hopper ownership evidence across owner exit (#5357)\n\nKeep one ProcessOwnershipEvidenceOwner for each graceful/SIGKILL session and share it across active and terminal scoped scans. Require live token-verified evidence before stopping the owner, and retain structured cleanup failure diagnostics.\n\nThe real Ubuntu 24.04 Hopper clean-setup/CLI/MCP job passes, including owner exit, target reacquisition, idempotence and zero remaining descendants. Local verification passes 87 CI guards, 51 ownership controls, discovery of all 1,714 test files and full static checks.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)", + "parents": ["4668cea2464d9f078aea4bfea03ec1f7a23280bc"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5357] + }, + { + "sha": "cf3288d8cf7a09685acf89103b36c32359be56fa", + "subject": "fix(native): preserve Mach-O container framing across inspection", + "body": "fix(native): preserve Mach-O container framing across inspection\n", + "parents": ["799e8265b254e225dc1dabdd25e56f0ab7f86bd3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e367750b1b199b599dc07541eb8c1c63a6857398", + "subject": "fix(process): preserve observed command failures and native ownership", + "body": "fix(process): preserve observed command failures and native ownership\n", + "parents": ["cf3288d8cf7a09685acf89103b36c32359be56fa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "100671427105791a5c5913a918b63a394f6bc83e", + "subject": "fix(sqlite): retain primary outcomes through cleanup retries", + "body": "fix(sqlite): retain primary outcomes through cleanup retries\n", + "parents": ["e367750b1b199b599dc07541eb8c1c63a6857398"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "419502c8d069cde2b61dc97d29e12c13c9cd2601", + "subject": "fix(pcap): preserve cancellation and endpoint evidence through cleanup", + "body": "fix(pcap): preserve cancellation and endpoint evidence through cleanup\n", + "parents": ["100671427105791a5c5913a918b63a394f6bc83e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "459a356edbe01baea7ca8e0ad0fa04b92efb6332", + "subject": "fix(evm): preserve cancellation and exact cleanup ownership", + "body": "fix(evm): preserve cancellation and exact cleanup ownership\n", + "parents": ["419502c8d069cde2b61dc97d29e12c13c9cd2601"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "696832caa3cf9e01ce337854e796e0194b864628", + "subject": "fix(gdb): gate readiness and retain caller cancellation through cleanup", + "body": "fix(gdb): gate readiness and retain caller cancellation through cleanup\n", + "parents": ["459a356edbe01baea7ca8e0ad0fa04b92efb6332"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "599fdac029912f96c511f859660483405d2de26f", + "subject": "fix(browser): stop late navigation before releasing attached sessions", + "body": "fix(browser): stop late navigation before releasing attached sessions\n", + "parents": ["696832caa3cf9e01ce337854e796e0194b864628"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3b02179560f45184e5228f99be20f5615321b0fb", + "subject": "fix(javascript): preserve uncertain call targets across activation boundaries", + "body": "fix(javascript): preserve uncertain call targets across activation boundaries\n", + "parents": ["599fdac029912f96c511f859660483405d2de26f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "562dab00c5cbf76a9b2695bad93792eccdc9a49d", + "subject": "fix(mcp): retain protocol envelopes when replacing oversized errors", + "body": "fix(mcp): retain protocol envelopes when replacing oversized errors\n", + "parents": ["3b02179560f45184e5228f99be20f5615321b0fb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7c6142efdc19a42c148d0e8c96b69d18e63c7f87", + "subject": "fix(ghidra): retain stable Homebrew installation aliases", + "body": "fix(ghidra): retain stable Homebrew installation aliases\n", + "parents": ["562dab00c5cbf76a9b2695bad93792eccdc9a49d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "98a5e56380bf436eb20f51e74fba6de192576283", + "subject": "docs(ghidra): explain server-wide analyzer override scope", + "body": "docs(ghidra): explain server-wide analyzer override scope\n", + "parents": ["7c6142efdc19a42c148d0e8c96b69d18e63c7f87"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "98edca9f96bacbf2590847199d43bae95e7bb88f", + "subject": "fix(pwndbg): clarify debugger context output limit message", + "body": "fix(pwndbg): clarify debugger context output limit message\n", + "parents": ["98a5e56380bf436eb20f51e74fba6de192576283"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cc73587ec499e36f26f868a83e998b614da4308d", + "subject": "fix(lldb): preserve observed failures through interrupted cleanup", + "body": "fix(lldb): preserve observed failures through interrupted cleanup\n", + "parents": ["98edca9f96bacbf2590847199d43bae95e7bb88f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "be20ac37405e9f74aa7a7c30234b7557a489be4e", + "subject": "fix(source-maps): preserve failure priority and cancellation provenance", + "body": "fix(source-maps): preserve failure priority and cancellation provenance\n", + "parents": ["cc73587ec499e36f26f868a83e998b614da4308d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c284168c4b1cd214ce7f504d43da28528d82d603", + "subject": "fix(objdump): scope debug-link limitations to DWARF requests", + "body": "fix(objdump): scope debug-link limitations to DWARF requests\n", + "parents": ["be20ac37405e9f74aa7a7c30234b7557a489be4e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "483678bf9f434f592b99b741eab0faff47c78a51", + "subject": "fix(managed): retain operand-free instruction anchors", + "body": "fix(managed): retain operand-free instruction anchors\n", + "parents": ["c284168c4b1cd214ce7f504d43da28528d82d603"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3a9176098def442286be8e13fb84317855588632", + "subject": "fix(javascript): preserve observed worker failure ordering", + "body": "fix(javascript): preserve observed worker failure ordering\n", + "parents": ["483678bf9f434f592b99b741eab0faff47c78a51"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9db5f1b2760d6e9240a27259bf2e91bf0bb69717", + "subject": "fix(apple): keep empty asset catalog pages complete", + "body": "fix(apple): keep empty asset catalog pages complete\n", + "parents": ["3a9176098def442286be8e13fb84317855588632"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9051809343ac015b2b621c0ceebf4d0373e57475", + "subject": "fix(adb): preserve empty string activity extras", + "body": "fix(adb): preserve empty string activity extras\n", + "parents": ["9db5f1b2760d6e9240a27259bf2e91bf0bb69717"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "861c11ec773e54b927a99f832cbfeba1b8b230a9", + "subject": "fix(evidence): preserve execution profiles in composed observations", + "body": "fix(evidence): preserve execution profiles in composed observations\n", + "parents": ["9051809343ac015b2b621c0ceebf4d0373e57475"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cac12ae334e9e3ff0c6840f86620328b436e44f6", + "subject": "fix(workers): retain observed protocol failures across cancellation", + "body": "fix(workers): retain observed protocol failures across cancellation\n", + "parents": ["861c11ec773e54b927a99f832cbfeba1b8b230a9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "266dd1d958551917552177a0a3b2980cb154f1df", + "subject": "fix(go): reuse PE content spans for build metadata search", + "body": "fix(go): reuse PE content spans for build metadata search\n", + "parents": ["cac12ae334e9e3ff0c6840f86620328b436e44f6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "108c0e7e495b1c9dbecd3fd6e6ef068d41ee9483", + "subject": "fix(macho): share width-specific load command alignment", + "body": "fix(macho): share width-specific load command alignment\n", + "parents": ["266dd1d958551917552177a0a3b2980cb154f1df"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2e03251b61288c350d832e456746fd329d2e7558", + "subject": "fix(zip): retain raw filename provenance for legacy decoding", + "body": "fix(zip): retain raw filename provenance for legacy decoding\n", + "parents": ["108c0e7e495b1c9dbecd3fd6e6ef068d41ee9483"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f69332c94ca0ef4de1201c41cc7d1088a9b318bc", + "subject": "test(process): bind capture watchdog cleanup to test lifetime", + "body": "test(process): bind capture watchdog cleanup to test lifetime\n", + "parents": ["2e03251b61288c350d832e456746fd329d2e7558"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5f0bc86d1aae553f1dc81fbaef1fb369bd8f97a4", + "subject": "docs(ko): describe update alias and bounded output", + "body": "docs(ko): describe update alias and bounded output\n", + "parents": ["f69332c94ca0ef4de1201c41cc7d1088a9b318bc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f01dccab77f712fb4ac936d0a6e92a70d12f0789", + "subject": "fix(javascript): retain cancellation after observed worker failure", + "body": "fix(javascript): retain cancellation after observed worker failure\n", + "parents": ["5f0bc86d1aae553f1dc81fbaef1fb369bd8f97a4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cec8f1e8f305d6332272457a6ee419d3c5fb6359", + "subject": "fix(providers): offer only admitted ambiguity choices", + "body": "fix(providers): offer only admitted ambiguity choices\n", + "parents": ["f01dccab77f712fb4ac936d0a6e92a70d12f0789"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4714c7eaa3d1d8b6a5df0aff586e844b9d9ab06d", + "subject": "fix(cli): preserve typed failures through output filters", + "body": "fix(cli): preserve typed failures through output filters\n", + "parents": ["cec8f1e8f305d6332272457a6ee419d3c5fb6359"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3cf6206614e65b5ebb6284a5709090dfb8f9aaee", + "subject": "fix(mcp): require absolute evidence bundle paths", + "body": "fix(mcp): require absolute evidence bundle paths\n", + "parents": ["4714c7eaa3d1d8b6a5df0aff586e844b9d9ab06d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0134732fcd59c129ac4ab39f64b12858a5a101aa", + "subject": "feat(capture): decode selected protobuf and gRPC bodies (#5031)", + "body": "feat(capture): decode selected protobuf and gRPC bodies (#5031)\n\nRetain exact bounded wire facts and optional supplied-schema interpretations for selected historical captures. Share CLI/MCP views and preserve Evidence, partial coverage, credential exclusions and source provenance.\n\nFixes #4986\n\nCo-authored-by: AayushJB03 \nCo-authored-by: gensokyo-dev \nCo-authored-by: Claude Sonnet 5.5 ", + "parents": ["799e8265b254e225dc1dabdd25e56f0ab7f86bd3"], + "authors": [ + { + "name": "Aayush Bhadbhade", + "email": "145219884+AayushJB03@users.noreply.github.com", + "user": { + "login": "AayushJB03", + "__typename": "User" + } + }, + { + "name": "AayushJB03", + "email": "aayushjb14@gmail.com", + "user": { + "login": "AayushJB03", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Claude Sonnet 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5031] + }, + { + "sha": "4eaf3a117b3f4863a994b9be743ec5bc1501e16c", + "subject": "fix(mcp): retain protocol framing for oversized tool errors (#5371)", + "body": "fix(mcp): retain protocol framing for oversized tool errors (#5371)\n\nPreserve the SDK resultType when bounded error recovery replaces an oversized response. Verify both revisions through the public serving entry, retained Evidence and same-connection recovery.\n\nRefs #5273\n\nCo-authored-by: akushonkamen ", + "parents": ["0134732fcd59c129ac4ab39f64b12858a5a101aa"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "akushonkamen", + "email": "akushonkamen@163.com", + "user": { + "login": "akushonkamen", + "__typename": "User" + } + } + ], + "pullRequests": [5371] + }, + { + "sha": "b5d540f3a264206e32c199c40dc17ac8695cf338", + "subject": "test(capture): split protobuf MCP acceptance scenarios (#5379)", + "body": "test(capture): split protobuf MCP acceptance scenarios (#5379)\n\nSeparate independent exclusion, partial-source, credential-preflight and descriptor-failure workflows so their costs do not accumulate under one test deadline. Reuse one worker-owned MCP connection with explicit awaited teardown, preserving sensitivity isolation and retained-Evidence checks.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)", + "parents": ["4eaf3a117b3f4863a994b9be743ec5bc1501e16c"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5379] + }, + { + "sha": "2538214e2c731ed4d9f0cebdc9a75f84d74a56a4", + "subject": "feat(analysis-view): add native inventory summaries and pages (#5378)", + "body": "feat(analysis-view): add native inventory summaries and pages (#5378)\n\nAdd opt-in summaries and stable selected-field pages for native inventories through the shared CLI/MCP Evidence layer. Preserve complete source access, row identity, provenance, string qualifications and unknown discovery coverage.\n\nRecord real true/jq workflows and portable old-Evidence checks, including tokenizer proxy reductions, additional call/schema costs and observed latency/memory regressions.\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["b5d540f3a264206e32c199c40dc17ac8695cf338"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [5378] + }, + { + "sha": "074768901f3cdc8205b61773fb1faf6f6c7b3ca8", + "subject": "fix(pwndbg): separate the words in the debugger-context limit message (#5372)", + "body": "fix(pwndbg): separate the words in the debugger-context limit message (#5372)\n\nThe 64 MiB reply-budget refusal rendered as \"exceeds64 MiB\" because the\nmessage word and the limit were joined. The pwntools sibling names the\nsame budget as \"exceeds the 64 MiB reply budget\"; use that wording.\n\nThe output-limit path had no producer regression, so the pwndbg suite\ngains one that drives the real 64 MiB boundary, and the suite is now part\nof test:python instead of running only when invoked by hand.\n\nCo-authored-by: XiaoBinGan ", + "parents": ["2538214e2c731ed4d9f0cebdc9a75f84d74a56a4"], + "authors": [ + { + "name": "吴佳浩Alben", + "email": "35291372+XiaoBinGan@users.noreply.github.com", + "user": { + "login": "XiaoBinGan", + "__typename": "User" + } + }, + { + "name": "XiaoBinGan", + "email": "XiaoBinGan@users.noreply.github.com", + "user": { + "login": "XiaoBinGan", + "__typename": "User" + } + } + ], + "pullRequests": [5372] + }, + { + "sha": "d532b18123916a9e88f98c7880ba4f984e23d715", + "subject": "fix(doctor): propagate Kuna cancellation and preserve partial observations (#5241)", + "body": "fix(doctor): propagate Kuna cancellation and preserve partial observations (#5241)\n\nFixes #5106. Propagate the owned inspection signal, preserve typed cancellation and earlier failures, and retain completed installation observations through exact-owner cleanup retries.\n\nCo-authored-by: Liu Jie \nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["074768901f3cdc8205b61773fb1faf6f6c7b3ca8"], + "authors": [ + { + "name": "Liu Jie", + "email": "maxazure@gmail.com", + "user": { + "login": "maxazure", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5241] + }, + { + "sha": "e9fc8fb30cc18434475d6ab7cacd2916599b6eff", + "subject": "fix(javascript): preserve runtime path bytes and Electron ownership (#4941)", + "body": "fix(javascript): preserve runtime path bytes and Electron ownership (#4941)\n\n* fix(javascript): preserve literal percent runtime paths\n\n* fix(javascript): ignore resolve prefixes before the final anchor\n\n* fix(electron): retain application roots for loadFile declarations\n\n* fix(electron): resolve loadFile from enclosing application package\n\n* fix(electron): retain outer application root across package scopes\n\n* fix(electron): derive application ownership from inventoried packages\n\n* fix(electron): retain resolved package entrypoint ownership\n\n* fix(electron): preserve competing application ownership\n\n* fix(electron): retain invalid and omitted runtime ownership\n\n* fix(electron): preserve omitted module ownership and runtime paths\n\n* fix(electron): preserve proven roots before confining page paths\n\n* fix(electron): retain possible owners behind missing imports\n\n* fix(electron): distinguish absent imports and owned page candidates\n\n* fix(electron): keep unavailable JSON out of owner gaps\n\n* fix(electron): retain exact loader formats and default entry status\n\n* fix(electron): retain unavailable entrypoint ownership candidates\n\n* test(ghidra): preserve Windows Node probe prerequisites\n\n* test(ghidra): assert cancellation during profile shutdown\n\n* fix(electron): separate examined imports from frontend ownership\n\n* fix(electron): retain unavailable directory entrypoint owners\n\n* test(jeb): retain Linux ownership prerequisite in isolation\n\n* fix(javascript): retain unchecked loader ownership and literal main paths\n\n* fix(javascript): preserve runtime paths and call-site module aliases\n\n* fix(javascript): bound module alias traversal and preserve projections\n\n* fix(javascript): retain host module and nested artifact path boundaries\n\n* fix(javascript): preserve ESM and archive module loader provenance\n\n* test(javascript): distinguish unmapped containers from missing exports\n\n* fix: retain default module aliases and Electron builtin imports\n\n* fix: preserve host file URL and inward ASAR ownership\n\n* fix: preserve CommonJS file URL classification in CI fixtures\n\n* fix: retain bound module loaders and Windows entrypoint uncertainty\n\n* fix: retain ASAR uncertainty and invalidate changed Electron app roots\n\n* fix(javascript): retain ownership uncertainty across loader boundaries\n\n* fix(javascript): preserve loader sources and bound alias queries\n\n* fix(javascript): retain destructured loader sources\n\n* fix(javascript): preserve loader uncertainty at resolution boundaries\n\n* fix(javascript): preserve callable and package launch ownership\n\n* fix(javascript): preserve captured values across member reads\n\n* test(process): assert tagged filesystem cancellation failures\n\n* fix(javascript): preserve inventory bases and invocation read timing\n\n* fix(javascript): preserve ownership across indirect and unread loads\n\n* test(javascript): order fixture directory creation on Windows\n\n* test(javascript): share ordered filesystem fixture writer\n\n* fix(javascript): unify loader provenance and package validation\n\n* fix(javascript): preserve captured Node require loader values\n\n* fix(javascript): preserve loader invocation authority\n\n* fix(javascript): verify generic loader invocation authority\n\n* fix(javascript): preserve conditional loader method alternatives\n\n* fix(javascript): require proven factories for source association\n\n* fix(javascript): honor replaced Electron app path setters\n\n* fix(javascript): prove path and assignment source ownership\n\n* fix(javascript): retain native delegate eligibility through shared writes\n\n* fix(process): settle stale baseline errors after confirmed absence\n\n* fix(javascript): preserve assignment and path boundary evidence\n\n* fix(javascript): prove source-directory resolve anchors\n\n* fix: preserve application path provenance and portable schemas\n\n* fix(javascript): retain CommonJS exported setter effects\n\n* fix: isolate Linux identity observations and retain native module exports\n\n* fix(javascript): preserve published app and helper provenance\n\n* fix(javascript): normalize typed stores and native path fixtures", + "parents": ["d532b18123916a9e88f98c7880ba4f984e23d715"], + "authors": [ + { + "name": "ShuaixinHuang", + "email": "1836656514@qq.com", + "user": { + "login": "ShuaixinHuang", + "__typename": "User" + } + } + ], + "pullRequests": [4941] + }, + { + "sha": "afde435c94e90b519b85aefeec4ec587e7a477ae", + "subject": "test(setup): use native Windows launcher in layered OpenCode fixture (#4947)", + "body": "test(setup): use native Windows launcher in layered OpenCode fixture (#4947)", + "parents": ["e9fc8fb30cc18434475d6ab7cacd2916599b6eff"], + "authors": [ + { + "name": "ShuaixinHuang", + "email": "1836656514@qq.com", + "user": { + "login": "ShuaixinHuang", + "__typename": "User" + } + } + ], + "pullRequests": [4947] + }, + { + "sha": "e84468c0bb0476412ac0c8161f7c2ecc9a6864ca", + "subject": "fix(setup): preserve Windows environment override identity (#4946)", + "body": "fix(setup): preserve Windows environment override identity (#4946)\n\n* fix(setup): preserve Windows environment override identity\n\n* fix(setup): preserve selected platform and YAML alias metadata\n\n* fix(setup): reconcile layered environment and projected YAML identities", + "parents": ["afde435c94e90b519b85aefeec4ec587e7a477ae"], + "authors": [ + { + "name": "ShuaixinHuang", + "email": "1836656514@qq.com", + "user": { + "login": "ShuaixinHuang", + "__typename": "User" + } + } + ], + "pullRequests": [4946] + }, + { + "sha": "1417bf943bf49e49b414e8a508bf28a31304be83", + "subject": "feat(native): match retained function inventories across builds (#5390)", + "body": "feat(native): match retained function inventories across builds (#5390)\n\nMatch retained native inventories through shared CLI/MCP workflows with conservative symbol/byte correspondence, unresolved structural candidates, complete Evidence provenance and bounded paged reads.\n\nCloses #5343.", + "parents": ["e84468c0bb0476412ac0c8161f7c2ecc9a6864ca"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5390] + }, + { + "sha": "c23e16162914e6bffc9549959c3faef0a66f6027", + "subject": "perf(mcp): record catalog identities for all schema profiles (#5415)", + "body": "perf(mcp): record catalog identities for all schema profiles (#5415)\n\nShare compiled schema conversion while recording all four built-in catalog profiles. Preserve canonical hashes, output validation and custom-budget fallback. Refs #723.\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["1417bf943bf49e49b414e8a508bf28a31304be83"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [5415] + }, + { + "sha": "aa314ab682e4bcd1e050a1e073bc90930660807f", + "subject": "ci(windows): run environment registration regressions (#5409)", + "body": "ci(windows): run environment registration regressions (#5409)\n\nRetain 13 Windows-only environment/setup regressions in the curated native lane. Select Windows qualification for both their three test files and their client configuration, registration and DSH production owner families. Guard membership and actual Git-diff classification; qualify all 60 target cases on hosted Windows.", + "parents": ["c23e16162914e6bffc9549959c3faef0a66f6027"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5409] + }, + { + "sha": "052956af3416fa01d93837e54fdec3ad2739f6d1", + "subject": "fix(doctor): validate Hopper startup timeout in readiness checks (#3755)", + "body": "fix(doctor): validate Hopper startup timeout in readiness checks (#3755)\n\nFixes #3306. Reuse the runtime timeout parser in doctor, preserve scope semantics and separate setting validation from provider configuration.\n\nCo-authored-by: xiajiahang \nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["aa314ab682e4bcd1e050a1e073bc90930660807f"], + "authors": [ + { + "name": "xjh", + "email": "87483213+xiajiahang@users.noreply.github.com", + "user": { + "login": "xiajiahang", + "__typename": "User" + } + }, + { + "name": "xiajiahang", + "email": "xiajiahang82@gmail.com", + "user": { + "login": "xiajiahang", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [3755] + }, + { + "sha": "22278b20c0286dd5b52eb1d423a44f13ebcce08a", + "subject": "chore: merge main into audited lifecycle fixes", + "body": "chore: merge main into audited lifecycle fixes\n", + "parents": [ + "3cf6206614e65b5ebb6284a5709090dfb8f9aaee", + "052956af3416fa01d93837e54fdec3ad2739f6d1" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "21e0c580e7456af311ecfb12af8fc2531b429606", + "subject": "feat(il2cpp): read member names, string literals and metadata versions 24 and 27 (#5326)", + "body": "feat(il2cpp): read member names, string literals and metadata versions 24 and 27 (#5326)\n\n* feat(il2cpp): read member names, string literals and metadata versions 24 and 27\n\nAdds field, property, event and parameter names with their owners, managed string literals, and the version 24 and 27 header layouts to inspect_il2cpp_metadata, with filtered pages for the new collections. Member decoding yields between row batches like the other row readers.\n\n* fix(il2cpp): bound metadata expansion and query parameter owners\n\n* test(il2cpp): cover nonempty property and event tables\n\n---------\n\nCo-authored-by: gensokyo-dev ", + "parents": ["052956af3416fa01d93837e54fdec3ad2739f6d1"], + "authors": [ + { + "name": "JANG BYUNGKUN", + "email": "bkbkjang@gmail.com", + "user": { + "login": "8rulerstar", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5326] + }, + { + "sha": "00a055be0fad728e1ba183c8de968d5538ba11ef", + "subject": "chore: merge latest main before publishing audit fixes", + "body": "chore: merge latest main before publishing audit fixes\n", + "parents": [ + "22278b20c0286dd5b52eb1d423a44f13ebcce08a", + "21e0c580e7456af311ecfb12af8fc2531b429606" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9cf7a7cb0d3c72a1121fde280cb11bf911af8055", + "subject": "fix(protobuf): preserve partial facts for malformed web trailers", + "body": "fix(protobuf): preserve partial facts for malformed web trailers\n\nParse gRPC-Web trailer blocks with typed failures, enforce field values and lower-case names, and propagate unexpected decoder failures. Retain earlier fields and raw capture bytes across binary and text framing.\n\nRefs #5386. Related control-value fix: #5422.\n", + "parents": ["00a055be0fad728e1ba183c8de968d5538ba11ef"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ee12d517a25d34853d40e31fc039c7d1576c60e1", + "subject": "fix(prompts): describe crash document without provider assumptions", + "body": "fix(prompts): describe crash document without provider assumptions\n\nRefs #5474. Use the existing provider-neutral document selector wording; public prompt list/render tests passed without starting providers.\n", + "parents": ["9cf7a7cb0d3c72a1121fde280cb11bf911af8055"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0e83d92c583ae36afe00b2c23dd2a0f1d025cbca", + "subject": "fix(mcp): advertise existing absolute path constraints", + "body": "fix(mcp): advertise existing absolute path constraints\n\nReuse the schema-visible host path owner across session, firmware, managed, browser, Electron and Evidence-file inputs. Keep existing runtime and CLI path semantics.\n\nRefs #5493.\n", + "parents": ["ee12d517a25d34853d40e31fc039c7d1576c60e1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a4dbb36d8ea83e9f94dd289ac1a2d220d2c72c9b", + "subject": "fix(javascript): retain uncertainty for missing source map mappings", + "body": "fix(javascript): retain uncertainty for missing source map mappings\n\nShare the required mappings field contract and retain readable declarations across malformed indexed leaves while marking graph coverage partial.\n\nRefs #5469.\n", + "parents": ["0e83d92c583ae36afe00b2c23dd2a0f1d025cbca"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0c440bfc07f3cb343e2e836d27cccaed539cfe9c", + "subject": "fix(cli): match listener recovery guidance to system failure", + "body": "fix(cli): match listener recovery guidance to system failure\n\nClassify listener errno and lifecycle phase at the transport owner. Preserve native cause and unknown codes while distinguishing host lookup, unavailable address, occupied port and permission recovery.\n\nRefs #5455.\n", + "parents": ["a4dbb36d8ea83e9f94dd289ac1a2d220d2c72c9b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "82902465c45f71dfc420c2e0a35f528a2ab8ba85", + "subject": "docs(errors): describe live JSON heap admission", + "body": "docs(errors): describe live JSON heap admission\n\nReplace the superseded fixed 64 MiB process-input refusal with the shared reader diagnostic and recovery text. Restore CSV field boundaries in the adjacent import-limit catalogue entry.\n\nRefs #5077. Verification is source consistency and CSV parsing, without a new large-file runtime claim.\n", + "parents": ["0c440bfc07f3cb343e2e836d27cccaed539cfe9c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c374c2fe7290b914d73d9e27af38b498753ec593", + "subject": "fix(ghidra): preserve partial dossiers on decompiler failure (#4650)", + "body": "fix(ghidra): preserve partial dossiers on decompiler failure (#4650)\n\nPreserve listing-backed facts and explicit unavailable decompiler facets when one function fails. Retain Evidence while excluding transient failures and derived workflows from snapshot reuse; keep healthy cache reuse and owned cleanup semantics.\n\nFixes #4644.", + "parents": ["0c440bfc07f3cb343e2e836d27cccaed539cfe9c"], + "authors": [ + { + "name": "Syed Rishad", + "email": "rishadzzzz@gmail.com", + "user": { + "login": "RishTheFish21", + "__typename": "User" + } + } + ], + "pullRequests": [4650] + }, + { + "sha": "e50a271c72325880b5ff944973b0b42d81b4b158", + "subject": "fix(mcp): guide agents through tool error recovery (#5470)", + "body": "fix(mcp): guide agents through tool error recovery (#5470)\n\nAdd shared, typed input-contract and timeout-state recovery guidance. Normalize SDK input failures within the actual MCP wire budget, preserve full diagnostics and protocol metadata, and retain original Evidence when normalized delivery would exceed the budget.\n\nFixes #5431.", + "parents": ["c374c2fe7290b914d73d9e27af38b498753ec593"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5470] + }, + { + "sha": "52d1a72af047a73b787b8935b032786a34966036", + "subject": "feat(il2cpp): link native methods and export Ghidra seeds", + "body": "feat(il2cpp): link native methods and export Ghidra seeds\n\nLink IL2CPP metadata names to native addresses and types through shared CLI/MCP workflows, with bounded queries and atomic Ghidra seed export.\n\nPreserve the original implementation by 8rulerstar and follow-up correctness, resource, provenance, and CI dependency repairs. Verified against real Windows/Android artifacts, independent references, actual Ghidra, and focused CLI/MCP tests.\n\nFixes #5112.", + "parents": ["e50a271c72325880b5ff944973b0b42d81b4b158"], + "authors": [ + { + "name": "JANG BYUNGKUN", + "email": "bkbkjang@gmail.com", + "user": { + "login": "8rulerstar", + "__typename": "User" + } + } + ], + "pullRequests": [5327] + }, + { + "sha": "cf5194f68e286a79ee4b4ffbe626f9f5b5bbbaf1", + "subject": "fix(firmware): separate analysis and publication deadlines (#4602)", + "body": "fix(firmware): separate analysis and publication deadlines (#4602)\n\nSeparate extraction/inventory and caller-selectable publication budgets in the shared firmware workflow. Preserve phase, selected timeout, verified progress, caller cancellation identity and committed observations through cleanup. Enforce monotonic expiry even before timer callbacks run.\n\nValidated with 101 targeted tests, full static checks, documentation checks and real OpenWrt CLI/MCP workflows with digest and cleanup verification. Existing main CI failures are documented separately.\n\nFixes #4176.", + "parents": ["52d1a72af047a73b787b8935b032786a34966036"], + "authors": [ + { + "name": "Nitin Kushwaha", + "email": "79303072+Nitin13-git@users.noreply.github.com", + "user": { + "login": "Nitin13-git", + "__typename": "User" + } + } + ], + "pullRequests": [4602] + }, + { + "sha": "25d3805e7f29c186ab824d3b8c1292089d141a02", + "subject": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20", + "body": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20\n", + "parents": [ + "82902465c45f71dfc420c2e0a35f528a2ab8ba85", + "cf5194f68e286a79ee4b4ffbe626f9f5b5bbbaf1" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "497037e6e3975cbb37cfd89ea0ad300faa2a4769", + "subject": "fix(macho): validate FAT slice format and CPU identity", + "body": "fix(macho): validate FAT slice format and CPU identity\n\nUse observed thin-header facts before target architecture admission, reject archive payloads, and retain far-offset root inventory through bounded reads. Retry complete bounded FAT table reads.\n\nRefs #5462, #5542. Focused native/filesystem checks passed (245 plus 70 after the table retry). Public MCP inventory parity and unchanged token estimates verified; no external analysis engine execution claimed.\n", + "parents": ["25d3805e7f29c186ab824d3b8c1292089d141a02"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2b2e362a00fc5ba2f93fa6c62e2d8780072d1b4b", + "subject": "fix(javascript): retain partial indexed source map facts", + "body": "fix(javascript): retain partial indexed source map facts\n\nShare section classification across declaration analysis and mapping parsing. Preserve external URLs, malformed section reasons, section paths and safe sibling declarations without fetching nested maps.\n\nRefs #5466. All 50 focused tests passed, including real CLI and stdio MCP regressions; typecheck and lint passed.\n", + "parents": ["497037e6e3975cbb37cfd89ea0ad300faa2a4769"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a74d859a19122fb8f1282b3632d320997b1caae0", + "subject": "fix(evm): probe the selected limiter before advertising availability", + "body": "fix(evm): probe the selected limiter before advertising availability\n\nShare asynchronous executable selection between discovery and execution. Recheck it for default Linux x64 sessions, preserve caller-injected service policy and propagate cancellation through pending probes.\n\nRefs #5086. Focused owner, inventory and MCP controls passed; Linux-specific discovery and execution cases were skipped on Darwin arm64 and remain unverified.\n", + "parents": ["2b2e362a00fc5ba2f93fa6c62e2d8780072d1b4b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d43d3568f2cb9205e16198be521dc8029c342787", + "subject": "fix(evm): retain cancellation through final cleanup", + "body": "fix(evm): retain cancellation through final cleanup\n", + "parents": ["25d3805e7f29c186ab824d3b8c1292089d141a02"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fa36657251a6e51c1a591146c5a7cdf5bc890d80", + "subject": "test(ci): deduplicate browser lifecycle fixtures and cover export ordering", + "body": "test(ci): deduplicate browser lifecycle fixtures and cover export ordering\n", + "parents": ["d43d3568f2cb9205e16198be521dc8029c342787"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c4007f454291d5de064f6a31cb80a866e17a9f6b", + "subject": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20", + "body": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20\n", + "parents": [ + "a74d859a19122fb8f1282b3632d320997b1caae0", + "fa36657251a6e51c1a591146c5a7cdf5bc890d80" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "498a667234b0140c1cfa43c819b35454ab11d14e", + "subject": "fix(javascript): retain source map section paths on declarations", + "body": "fix(javascript): retain source map section paths on declarations\n\nCarry the parsed section path onto retained source nodes and contains edges. Refs #5466; validated with the same 50 focused source-map checks.\n", + "parents": ["c4007f454291d5de064f6a31cb80a866e17a9f6b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1195929fa5f039922bc899c5d536e42129ee38f1", + "subject": "test(browser): synchronize cancellation before the worker exits", + "body": "test(browser): synchronize cancellation before the worker exits\n", + "parents": ["fa36657251a6e51c1a591146c5a7cdf5bc890d80"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "57e76599c035a420181b665f4f2a3edad71628fb", + "subject": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20", + "body": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20\n", + "parents": [ + "498a667234b0140c1cfa43c819b35454ab11d14e", + "1195929fa5f039922bc899c5d536e42129ee38f1" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "44521d3d752a4638957e062dfc243a5ec0950fba", + "subject": "refactor(macho): share thin header CPU interpretation", + "body": "refactor(macho): share thin header CPU interpretation\n\nGive partial thin-header facts one domain owner and reuse them for standalone target admission and Mach-O load-command inspection. Preserve each consumer endianness policy and header/command checks; remove the FAT-only parser names.\n\nRefs #5542. All 246 focused checks and six public CLI archive/image controls passed; typecheck and lint passed.\n", + "parents": ["57e76599c035a420181b665f4f2a3edad71628fb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fd7da77fc02dcfaf7d1bc9f2fb240d71cdd27c59", + "subject": "fix(hopper): verify bookmark names and clear existing labels", + "body": "fix(hopper): verify bookmark names and clear existing labels\n\nUse the public rename API for an explicit empty existing name, retain omitted names and raw listing values, and verify fresh unnamed creation and explicit mutations by readback. Preserve independent verifier restorations and their primary failures.\n\nRefs #5475. Focused bridge regressions and the complete real-Hopper suite passed on macOS arm64 with Hopper 6.6.0-demo 42.6316032. The verifier used a temporary unavailable Ghidra override to meet its sole-candidate prerequisite; reporter Hopper 6.1 remains unverified.\n", + "parents": ["44521d3d752a4638957e062dfc243a5ec0950fba"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "55cce6fc11a4edc32b4a6d4c2d8fd4f2ed2a4f18", + "subject": "test(cli): retain recovery guidance in filtered failures (#5536)", + "body": "test(cli): retain recovery guidance in filtered failures (#5536)\n\nPreserve typed input-contract recovery and source diagnostics through filtered CLI output in JSON, TOON, YAML and Markdown. Update legacy remediation-text assertions introduced by the concurrent main update.\n\nRefs #5431 and #5470.", + "parents": ["57e76599c035a420181b665f4f2a3edad71628fb"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5536] + }, + { + "sha": "eac296a7da3356f1c5342155d635975ddd89cba6", + "subject": "fix(browser): reject overflowing scenario timers (#3515)", + "body": "fix(browser): reject overflowing scenario timers (#3515)\n\nReject browser scenario waits and action deadlines beyond the underlying signed 32-bit timer interval in the shared input contract. Preserve maximum legal values and omitted deadlines; prevent unsupported input from opening a browser.\n\nStrengthen the rejection oracle and verify public CLI/MCP canonical validation in both schema profiles, actual Chromium timing/cancellation/cleanup, Evidence export and compatibility with current main.\n\nFixes #3392.", + "parents": ["55cce6fc11a4edc32b4a6d4c2d8fd4f2ed2a4f18"], + "authors": [ + { + "name": "Sagar Kewat", + "email": "sagarithm@gmail.com", + "user": { + "login": "sagarithm", + "__typename": "User" + } + } + ], + "pullRequests": [3515] + }, + { + "sha": "d2a3269d0c1007e16a2f84d44cc0b1503debb2ae", + "subject": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20", + "body": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20\n", + "parents": [ + "fd7da77fc02dcfaf7d1bc9f2fb240d71cdd27c59", + "eac296a7da3356f1c5342155d635975ddd89cba6" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f5d1012fabfe99af82523c3078ce9d93eb3780c1", + "subject": "fix(setup): advertise only providers with passing readiness checks", + "body": "fix(setup): advertise only providers with passing readiness checks\n\nKeep installation availability and full doctor inspection facts separate from the setup ready-provider list. A blocked Kuna cache no longer advertises deep analysis; passing unverified-version notes remain usable.\n\nRefs #5105. All 16 focused setup and public CLI dry-run controls passed; typecheck and lint passed. Tests use a scripted Kuna version fixture and do not establish real-engine behavior. The pre-existing doctor cancellation startup-poll failure is tracked separately.\n", + "parents": ["d2a3269d0c1007e16a2f84d44cc0b1503debb2ae"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7b2087e44968dbc85dda1037dbec3ad1bf85e88e", + "subject": "test(kuna): separate composed doctor startup from cancellation timing", + "body": "test(kuna): separate composed doctor startup from cancellation timing\n\nAllow the preceding Ghidra ownership preparation before waiting for the gated Kuna child. Keep the two-second cancellation join, exact reasons, reaping and cleanup assertions unchanged.\n\nRefs #5568. A controlled startup delay reproduces the old failure; disabling cancellation forwarding still fails the retained join assertion. All 86 focused setup, doctor, helper and CLI checks passed on pinned Node 24.18.0/macOS arm64.\n", + "parents": ["f5d1012fabfe99af82523c3078ce9d93eb3780c1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8443692e2bd93f31eae8bc0e018544abc4ed71e9", + "subject": "fix(javascript): keep overflowing timer delays unknown (#3456)", + "body": "fix(javascript): keep overflowing timer delays unknown (#3456)\n\nNormalize non-finite timer literals to the existing unknown value at the semantic fact producer. Keep timers, source provenance, binding resolution and unrelated functions; preserve all finite delay values.\n\nQualify shared CLI/MCP behavior with precise regression oracles, 111 tests, actual source fixtures, real-package summary/fact/Evidence workflows and current-main integration.\n\nFixes #3400.", + "parents": ["7b2087e44968dbc85dda1037dbec3ad1bf85e88e"], + "authors": [ + { + "name": "HawkForge", + "email": "75696486+HawkForge@users.noreply.github.com", + "user": { + "login": "HawkForge", + "__typename": "User" + } + } + ], + "pullRequests": [3456] + }, + { + "sha": "e52a71602df2260aa0b85380d21e7cff053f279e", + "subject": "test: stabilize worker cancellation and trailer regressions (#5497)", + "body": "test: stabilize worker cancellation and trailer regressions (#5497)", + "parents": ["8443692e2bd93f31eae8bc0e018544abc4ed71e9"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5497] + }, + { + "sha": "8d198d6ec707402d75276f516e0090d71767b7e4", + "subject": "fix(javascript): preserve unavailable scope uncertainty in comparisons", + "body": "fix(javascript): preserve unavailable scope uncertainty in comparisons\n\nClassify wholly unknown or unavailable node observations at the version-item owner and retain their limitations across matched and unmatched comparisons. Preserve positive mixed observations and genuine additions/removals.\n\nValidated source regressions and public CLI/stdout MCP workflows in the 103-test focused gate; typecheck and lint pass. Fixes #5534.\n", + "parents": ["e52a71602df2260aa0b85380d21e7cff053f279e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9eec57b469087fe9bff3d29dcc02f47074159e91", + "subject": "fix(native): report record-local Objective-C budget omissions", + "body": "fix(native): report record-local Objective-C budget omissions\n\nHave method, property, ivar, and adopted-protocol list owners flag real budget omissions on returned class, protocol, and category records. Preserve known empty lists and existing decode reasons.\n\nValidated 59 source tests, two built CLI controls, five static inspections of an Apple-clang fixture, and typecheck/lint. The target was never executed. Fixes #5543.\n", + "parents": ["8d198d6ec707402d75276f516e0090d71767b7e4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c2858d2aa0916f0dd2d073d848b8c2195d9bf6b3", + "subject": "perf(go): summarize build identity and query retained metadata (#5524)", + "body": "perf(go): summarize build identity and query retained metadata (#5524)\n\nAdd opt-in Go build summaries and selected retained metadata pages while preserving complete Evidence and source identity.\n\nValidated with 258 focused tests, full static/docs checks, real CLI/SDK workflows and native metadata oracles. CI baseline remediation assertions reproduce on unmodified main; fail-fast cancels two other shards. Owner authorized bypass with those coverage limits recorded in PR #5524.\n\nFixes #5499.", + "parents": ["e52a71602df2260aa0b85380d21e7cff053f279e"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5524] + }, + { + "sha": "080c0e2b2b82a7d9394b59d3d86630d9d85346a5", + "subject": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20", + "body": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20\n", + "parents": [ + "9eec57b469087fe9bff3d29dcc02f47074159e91", + "c2858d2aa0916f0dd2d073d848b8c2195d9bf6b3" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0ba4d6f43ad610dacc861a1548be1a5c4712cd61", + "subject": "fix(native): bind dispatch snapshots to the local reader profile", + "body": "fix(native): bind dispatch snapshots to the local reader profile\n\nRetain native-only dispatch workflows without requiring a deep provider profile. Validate exact target, operation, and current reader bindings during open, import, recording, and export; preserve selected deep bindings and caller limits.\n\nValidated public CLI and stdio MCP save/reopen, exact CLI replay, changed-limit cache partitioning, baseline failure and candidate success on an Apple-clang fixture, snapshot lifecycle regressions, typecheck and lint. No target or deep engine execution. Fixes #5529.\n", + "parents": ["080c0e2b2b82a7d9394b59d3d86630d9d85346a5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "90e433df06b3f83417176b8db1b0a905f9df1d3a", + "subject": "fix(swift): retain uncertainty for unsupported nested identifiers", + "body": "fix(swift): retain uncertainty for unsupported nested identifiers\n\nStop inheriting an outer nominal category when a zero-prefixed identifier cannot be decoded. Preserve exact manglings in unresolved results under class and enum filters while retaining ASCII nominal controls.\n\nValidated 39 source and in-memory MCP tests, typecheck/lint, and 22 compiler-produced code symbols from an inert Swift 6.3.2 object. No real Hopper inventory or target execution. Fixes #5553.\n", + "parents": ["0ba4d6f43ad610dacc861a1548be1a5c4712cd61"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ff78165978de9dbcf9fa16c2acf74bf85a69dc44", + "subject": "fix(kuna): own version-probe processes through output and cleanup", + "body": "fix(kuna): own version-probe processes through output and cleanup\n\nUse the shared command supervisor for installation probes and retain exact\nprocess cleanup owners through doctor, profile resolution, and session health.\nPreserve exit status, bounded captured output, cancellation reasons, and live\ncleanup facts. Block subsequent inspection until retained cleanup is retried.\n\nGeneralize the existing inspection resource scope and migrate its consumers,\nincluding verifier scripts; remove the verifier's duplicate raw version probe.\n\nValidation: 116 distinct focused tests passed, including built CLI doctor with\ninherited output, cancellation/finalization, cleanup retry, and fake-provider\nverifier workflows. Build, check:fast, and test discovery passed. No real Kuna\ndistribution or analysis target was executed.\n\nSynthetic Darwin inspection timing: first-call median 707ms versus 5.79ms;\nsame-process repeat 37.9ms versus 3.08ms. First use includes ownership-helper\npreparation. Family CPU and actual peak family memory remain unmeasured.\n\nFixes #5557\n", + "parents": ["90e433df06b3f83417176b8db1b0a905f9df1d3a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c3d7d0aafc4943c82a5a8513cd3da7f4a7cfe643", + "subject": "fix(browser): honor long passive observation windows (#5605)", + "body": "fix(browser): honor long passive observation windows (#5605)\n\nReuse the cancellable segmented wait and settle observation termination through one cleanup owner. Preserve caller cancellation and release timers/listeners across early target end.\n\nFixes #3929.", + "parents": ["90e433df06b3f83417176b8db1b0a905f9df1d3a"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5605] + }, + { + "sha": "57d64b6ba5ae0ac6f83569461244c8e4d94ccfd6", + "subject": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20", + "body": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20\n", + "parents": [ + "ff78165978de9dbcf9fa16c2acf74bf85a69dc44", + "c3d7d0aafc4943c82a5a8513cd3da7f4a7cfe643" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "506400748eb1d6c674f0cf51330073929c45f939", + "subject": "fix(electron): count bridge listener registrations by source callsite", + "body": "fix(electron): count bridge listener registrations by source callsite\n\nKeep directly observed renderer listeners singular when bridge traversal\nreaches them, while retaining separate paths for every exposed bridge member.\nPreserve separate physical callsites and on/once operation identities.\n\nValidation: 190 focused tests passed, including public CLI and stdio MCP\nanalysis and incoming feature tracing. Typecheck/lint and discovery passed.\nThe inert fixture was analyzed statically; no Electron target was executed.\n\nThree alternating synthetic CLI tasks showed overlapping wall times (median\n1.825s baseline, 1.808s current). Corrected bridge provenance increases serialized\ntask payload; no speed or context reduction is claimed. Actual model tokens\nand full process-family CPU/peak memory were not measured.\n\nFixes #5586\n", + "parents": ["57d64b6ba5ae0ac6f83569461244c8e4d94ccfd6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2a6fc712eb32fc891a2e814dd06ad5e8efe9c4e1", + "subject": "fix(evaluation): join owned command cleanup before removing files (#5613)", + "body": "fix(evaluation): join owned command cleanup before removing files (#5613)\n\nUse shared owned command supervision for all evaluation helpers, join streamed output, and retain/retry incomplete cleanup before deleting run files.\n\nFixes #5094.", + "parents": ["506400748eb1d6c674f0cf51330073929c45f939"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5613] + }, + { + "sha": "a35623707e6245ef2ab4ffb8bd6bc0edae3f4ac8", + "subject": "fix(mcp): guide client and provider timeout recovery (#5608)", + "body": "fix(mcp): guide client and provider timeout recovery (#5608)\n\nTeach client deadline recovery before REA results can be discarded, distinguish\nproducer-owned server budgets, and preserve Evidence/cleanup uncertainty.\nInclude actual Codex CLI recovery probes and CLI/MCP regression coverage.\n\nFixes #5598\n\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["2a6fc712eb32fc891a2e814dd06ad5e8efe9c4e1"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5608] + }, + { + "sha": "14cd78c3224edcf79fca152915077112f547b9ed", + "subject": "fix(apple): retain unsupported NIB connectors in connection coverage", + "body": "fix(apple): retain unsupported NIB connectors in connection coverage\n\nRecognize AppKit binding connectors as explicit unknown connection facts and\nreport partial semantic coverage rather than silently omitting them. Share\nformat-aware connector admission across keyed archives and NIBArchive.\n\nMake the keyed archive table own parsed class and superclass facts for names,\narray hierarchy traversal, inherited connectors, and class-table projection.\nPreserve malformed class evidence and exclude unrelated custom class names.\n\nValidation: 84 focused tests passed, including compiled CLI, filesystem,\nMCP summary, and retained views; check:fast and test discovery passed.\nIndependent source review found no blocker. Production CLI and stdio MCP\nreplayed a read-only copy of Terminal 2.15's picker NIB: 13 connections with\npartial unsupported-type coverage, versus baseline 9 with complete coverage.\nAdvertised schemas and retained coverage results validated with the SDK/Ajv.\nNo app, analysis target, or optional deep provider was executed.\n\nFixes #5590\n", + "parents": ["a35623707e6245ef2ab4ffb8bd6bc0edae3f4ac8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8716b5241125d81f1a16808eb5178fdfdea1ecdb", + "subject": "fix(evaluation): prepare and retain native ownership helpers (#5615)", + "body": "fix(evaluation): prepare and retain native ownership helpers (#5615)\n\nPrepare native process ownership outside short command deadlines. Reuse the shared cleanup adapter and resource scope for direct/nested preparation failures and command cleanup.\n\nFixes #5094.", + "parents": ["a35623707e6245ef2ab4ffb8bd6bc0edae3f4ac8"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5615] + }, + { + "sha": "5b676ba9f302228b44c28ab076525abed3e647c1", + "subject": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20", + "body": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20\n", + "parents": [ + "14cd78c3224edcf79fca152915077112f547b9ed", + "8716b5241125d81f1a16808eb5178fdfdea1ecdb" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "04ae07ab8c9ae1a6697b6ad15489bbde515da8b5", + "subject": "fix(kuna): bind version probes to stable executable identity", + "body": "fix(kuna): bind version probes to stable executable identity\n\nCompare executable fingerprints before and after the owned version probe, and capture the script prefix from the final hash stream. Preserve partial facts and failed-close ownership without claiming process interruption from a snapshot.\n\nCloses #5611\n", + "parents": ["5b676ba9f302228b44c28ab076525abed3e647c1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "98f4072f1f5e75a66e7e31c0f686b46a10dd02ce", + "subject": "feat(model): inspect GGUF and safetensors declarations (#5603)", + "body": "feat(model): inspect GGUF and safetensors declarations (#5603)", + "parents": ["5b676ba9f302228b44c28ab076525abed3e647c1"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5603] + }, + { + "sha": "7d6f90485ee078834ce64656770a34947bb81803", + "subject": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20", + "body": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20\n", + "parents": [ + "04ae07ab8c9ae1a6697b6ad15489bbde515da8b5", + "98f4072f1f5e75a66e7e31c0f686b46a10dd02ce" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dd0015aaf156c5701ef9598bcc6c885e6b8da803", + "subject": "fix(ida): own registration reads and bind selected configuration", + "body": "fix(ida): own registration reads and bind selected configuration\n\nRead bounded regular registrations asynchronously with retained descriptor cleanup. Carry the selected parsed configuration through provider factories and restoration, preserve exact cancellation reasons, and share workspace-parent resolution with doctor checks.\n\nCloses #5561\n\nCloses #5559\n\nCloses #5604\n", + "parents": ["7d6f90485ee078834ce64656770a34947bb81803"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "22c84ce64aa6c7601aa81af86d4117b5a4c2feac", + "subject": "fix(hopper): recognize stripped Objective-C class labels", + "body": "fix(hopper): recognize stripped Objective-C class labels\n\nClassify legacy class-object names at the Hopper boundary and carry the typed fact into class discovery. Preserve exact labels, literal filtering, unrelated row metadata, and raw replies; derive classification from source text rather than incoming tags.\n\nCloses #5617\n", + "parents": ["dd0015aaf156c5701ef9598bcc6c885e6b8da803"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "85b379c4caea70ec3c77ff37fbfe18915fd93085", + "subject": "test(evidence): assert the exact cancellation reason after staging cleanup fails (#5601)", + "body": "test(evidence): assert the exact cancellation reason after staging cleanup fails (#5601)\n\n52d1a72af made a cancelled write whose staging cleanup also fails carry the\ncaller's exact abort reason as its cause, with the cancellation retained as\ncleanupPrimary and the staging directory as cleanup state. The boundary test\nstill expected the old wrapped cause, so it failed on main and in every PR\nbuilt on it; its finally block then masked the assertion with a cleanup\nerror. Assert the current contract.\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["dd0015aaf156c5701ef9598bcc6c885e6b8da803"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5601] + }, + { + "sha": "d0eca0517e8e79a2aaecf87faa0344950da4cc9c", + "subject": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20", + "body": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20\n", + "parents": [ + "22c84ce64aa6c7601aa81af86d4117b5a4c2feac", + "85b379c4caea70ec3c77ff37fbfe18915fd93085" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2b263a7fe9e9d4c185c7d6af6b4e67b21a73af30", + "subject": "fix(native): retain Mach-O facts when dyld rejects missing UUID", + "body": "fix(native): retain Mach-O facts when dyld rejects missing UUID\n\nAdmit only the corroborated missing-UUID validation diagnostic from header-stripped dyld stdout. Preserve readable load commands and nm exports with unknown dyld coverage, and keep unrelated process and tool failures typed.\n\nCloses #5606\n", + "parents": ["d0eca0517e8e79a2aaecf87faa0344950da4cc9c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d98fc3859dbb9fc210b13ba766c447324935132d", + "subject": "test(evaluation): include native preparation in test deadlines (#5627)", + "body": "test(evaluation): include native preparation in test deadlines (#5627)\n\nDerive Darwin subprocess test budgets from the bounded ownership compiler budget while preserving short command deadlines. Always join the retained command scope after test failures.\n\nRefs #5094.", + "parents": ["d0eca0517e8e79a2aaecf87faa0344950da4cc9c"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5627] + }, + { + "sha": "edbd291a28a70e2c0b984ff374d5a6b437280e82", + "subject": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20", + "body": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20\n", + "parents": [ + "2b263a7fe9e9d4c185c7d6af6b4e67b21a73af30", + "d98fc3859dbb9fc210b13ba766c447324935132d" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "eb41f358cf83d5626f09de68332f9718f9aa6482", + "subject": "fix(model): retain completed GGUF facts on interrupted reads", + "body": "fix(model): retain completed GGUF facts on interrupted reads\n\nKeep parser-owned completed metadata and tensor declarations as typed partial Evidence on cancellation or physical read failure. Preserve unknown final identity and digests, exact caller inputs, primary failures, and retained cleanup owners; support inline and retained MCP error delivery.\n\nCloses #5625\n", + "parents": ["edbd291a28a70e2c0b984ff374d5a6b437280e82"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "17f581ff75d2b6cf643a997275e3e296f6c95760", + "subject": "perf(reverse): add retained GDB and objdump summaries (#5614)", + "body": "perf(reverse): add retained GDB and objdump summaries (#5614)\n\nAdd opt-in retained GDB and objdump summaries using the shared analysis-view layer. Preserve default complete Evidence, ordered records, provenance and completion facts.\n\nValidate real Bash disassembly, whole-client context costs, CLI publication and cleanup; retain the original measured cohorts and explicit coverage limitations.\n\nCloses #5584.", + "parents": ["edbd291a28a70e2c0b984ff374d5a6b437280e82"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5614] + }, + { + "sha": "998882045b072697ad481bda9b0c8bd610c5b672", + "subject": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20", + "body": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20\n", + "parents": [ + "eb41f358cf83d5626f09de68332f9718f9aa6482", + "17f581ff75d2b6cf643a997275e3e296f6c95760" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "eb7acc70bf06f119e8639e30a78081d5ba82b0bf", + "subject": "fix(native): verify signature snapshots and frame unsigned diagnostics", + "body": "fix(native): verify signature snapshots and frame unsigned diagnostics\n\nBind and recheck the digest-verified snapshot used by codesign, retaining cleanup ownership when its identity changes. Classify unsigned only from the exact operand-framed diagnostic so echoed caller paths cannot turn unrelated failures into signature facts.\n\nCloses #5636\n", + "parents": ["998882045b072697ad481bda9b0c8bd610c5b672"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b3aadaf474e59b33e5ff465236008a67eccefb87", + "subject": "fix(il2cpp): preserve recognized truncated metadata prefixes", + "body": "fix(il2cpp): preserve recognized truncated metadata prefixes\n", + "parents": ["eb7acc70bf06f119e8639e30a78081d5ba82b0bf"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1629266e3c08c90fed6bba5383528af7986a12b7", + "subject": "fix(errors): preserve canonical failures and correction details", + "body": "fix(errors): preserve canonical failures and correction details\n\nRetain process input and unexpected failure diagnostics through the shared error projector. Preserve filesystem causes and firmware validation issues, and mark unchanged invalid requests nonretryable.\n\nUse typed stat settlement and parse unknown command failures without losing null or undefined rejection causes.\n\nRefs #5397, #5401, #5402, #5642\n", + "parents": ["b3aadaf474e59b33e5ff465236008a67eccefb87"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2a0410f1717b3126e8a95063d77dea66a597010a", + "subject": "fix(browser)!: bind session timelines to the observation window", + "body": "fix(browser)!: bind session timelines to the observation window\n\nSample the browser monotonic clock with observation already subscribed, filter historical lifecycle and network facts, and preserve scope and termination handling when event time is unknown.\n\nBound pre-arm retention using transport-owned wire bytes. Fail closed when the relevant-event buffer fills, and keep unrelated protocol payloads outside that budget.\n\nBREAKING CHANGE: observe_web_session timeline timestamps can be null when the producer supplies no comparable timestamp. Consumers must handle unknown time explicitly.\n\nRefs #5609\n", + "parents": ["1629266e3c08c90fed6bba5383528af7986a12b7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4bfdadb7de25981422572fb7ebdc3d79520ef832", + "subject": "perf(frida): add retained summaries for session status (#5661)", + "body": "perf(frida): add retained summaries for session status (#5661)\n\nAdd opt-in Frida session status summaries linked to complete retained Evidence. Share canonical session facts across contracts and preserve observed state, source identity and capture truncation.\n\nValidated with native SDK/client workflows, default delivery compatibility, lifecycle and provenance tests. The completed large-history task uses 50.9% fewer estimated request tokens; no general CPU or latency improvement is claimed.\n\nFixes #5640", + "parents": ["1629266e3c08c90fed6bba5383528af7986a12b7"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5661] + }, + { + "sha": "0dbc046ca6576078fa5d9cc31dce04bcf8095b37", + "subject": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20", + "body": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20\n", + "parents": [ + "2a0410f1717b3126e8a95063d77dea66a597010a", + "4bfdadb7de25981422572fb7ebdc3d79520ef832" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0add6a5aae2269199a6323556a092af91d525574", + "subject": "ci: split fast and deep static checks (#5634)", + "body": "ci: split fast and deep static checks (#5634)\n\n* ci: split fast and deep static checks\n\nFast PRs run typecheck, lint, and format before provider admission.\nKnip, duplication, architecture guards, and Python stay on the full tier.\nShared-boundary fallbacks keep the Linux x64 baseline, and Turbo jobs\nexport remote-cache credentials when they are configured.\n\nCo-authored-by: morluto \n\n* ci: keep pull requests from writing the remote cache\n\nTrusted default-branch runs still receive TURBO_TOKEN. Pull requests get an\nempty token and remote read-only mode. Knip saves a per-commit cache key so\nthe next trusted full run can refresh the restored snapshot.\n\nCo-authored-by: morluto \n\n* ci: forward the release cache token and upload deep static reports\n\nRelease qualification now passes TURBO_TOKEN into the called workflow.\nLabeled pull requests still do not. The deep static job records its task\ncontext and uploads duplication reports after a failed gate.\n\nCo-authored-by: morluto \n\n* style: format the turbo cache policy test\n\nCo-authored-by: morluto \n\n* ci: keep fast checks exclusive and trusted cache writes explicit\n\nDeclare the static artifact name and context script so typecheck matches the\nimplementations. Lock check:ci:fast around dist, and publish the remote cache\nonly for release qualification or default-branch push, schedule, and dispatch.\n\nCo-authored-by: morluto \n\n* ci: record static task graphs without nesting the artifacts lock\n\nKeep check:ci:fast locked, and point graph recording at the unlocked\ncheck:ci:fast:tasks script so check:pr and check:test can record hashes\nwhile they already hold that lock.\n\nCo-authored-by: morluto \n\n* ci: keep unauthenticated Turbo runs on the local cache\n\nOpen pull requests do not receive TURBO_TOKEN, so a remote read mode cannot\nauthenticate. Those runs now use the local cache. Trusted runs still publish.\n\nCo-authored-by: morluto \n\n* test(ida): treat unchanged invalid requests as nonretryable\n\nMain already stopped marking invalid_request retryable. The pull request\nmerge runs that projector, while the IDA lookup tests still expected\nretryable true. Match the merged behavior.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["0dbc046ca6576078fa5d9cc31dce04bcf8095b37"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5634] + }, + { + "sha": "23196daa11024f90ef1ca64a8c66aa32ecd626a8", + "subject": "fix(apple): read LC_LAZY_LOAD_DYLIB_INFO dependency payloads (#5650)", + "body": "fix(apple): read LC_LAZY_LOAD_DYLIB_INFO dependency payloads (#5650)\n\n* fix(apple): read LC_LAZY_LOAD_DYLIB_INFO dependency payloads\n\nParse the linkedit install name for lazy-load info commands, resolve those\nedges without traversing them, and stop inspect-macho from treating an otool\ndependency list as exhaustive when that payload is omitted.\n\nFixes #5551\nFixes #5649\n\nCo-authored-by: morluto \n\n* fix(apple): bound lazy-load payload reads and image offsets\n\nReuse identical LC_LAZY_LOAD_DYLIB_INFO ranges, cap their combined size,\nand reject flag or chain-start offsets outside the slice VM range.\n\nCo-authored-by: morluto \n\n* fix(apple): bound lazy-load string scans and contained reads\n\nReject payload strings that start in the 24-byte header, validate each\nfile-offset string once, and reuse payload bytes already read for a\ncontaining range.\n\nCo-authored-by: morluto \n\n* fix(apple): reject cached lazy-load strings outside a payload\n\nRemember each cached string's terminating offset and require that NUL to\nfall inside the payload being decoded.\n\nCo-authored-by: morluto \n\n* fix(apple): bound lazy-load payload range lookups\n\nCount containment checks across earlier payload reads and stop at the\nexisting 16 MiB work limit.\n\nCo-authored-by: morluto \n\n* fix(apple): count every lazy-info string reference\n\nCharge repeated and overlapping LC_LAZY_LOAD_DYLIB_INFO scans against the\n16 MiB validation budget, and stop a scan once that budget is exhausted.\n\nCo-authored-by: morluto \n\n* fix(apple): cap retained lazy-info dependency results\n\nStop after 1024 LC_LAZY_LOAD_DYLIB_INFO commands so a load-command region\nfull of identical commands cannot become a million traced edges.\n\nCo-authored-by: morluto \n\n* fix(apple): reject a lazy-load path NUL in the final byte\n\ndyld stops the load-path scan before the payload's last byte, so a\nterminator in that byte leaves the image malformed.\n\nCo-authored-by: morluto \n\n* fix(apple): keep may-be-missing lazy loads optional\n\nA missing LC_LAZY_LOAD_DYLIB_INFO with the may-be-missing bit is weak, so the lazy finding says dyld continues on first use instead of failing.\n\nCo-authored-by: morluto \n\n* fix(apple): cap lazy-info symbol string references\n\nA payload of distinct one-byte symbol strings stayed under the byte budgets while caching one entry per offset. A slice now stops at 65536 symbol references.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["0add6a5aae2269199a6323556a092af91d525574"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5650] + }, + { + "sha": "690fc518540bae982038a74f47ef7781201785aa", + "subject": "fix(browser)!: preserve unknown console timestamps", + "body": "fix(browser)!: preserve unknown console timestamps\n\nRetain absent or invalid Runtime timestamps as null and mark console event coverage incomplete. Preserve observed finite timestamps, including zero, and document the epoch-millisecond clock.\n\nBREAKING CHANGE: console event timestamps may now be null when the protocol does not provide a finite number.\n\nRefs #5656\n", + "parents": ["23196daa11024f90ef1ca64a8c66aa32ecd626a8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1bfa60ac20e1a344bcf3132c08d15b6860b05c61", + "subject": "fix(cli): preserve caller-selected JSON paths", + "body": "fix(cli): preserve caller-selected JSON paths\n\nKeep POSIX symlink-parent traversal at the shared JSON input boundary and forward the selected browser executable without a second lexical normalization. Verify Electron, browser, and Evidence-file consumers through registered commands and the built CLI.\n\nRefs #5103\n", + "parents": ["690fc518540bae982038a74f47ef7781201785aa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b718ad166d532241fb20293e73796d492b7e2812", + "subject": "fix(doctor): reject unusable Kuna caches and invalid native settings (#5647)", + "body": "fix(doctor): reject unusable Kuna caches and invalid native settings (#5647)\n\n* fix(kuna): reject dangling cache roots in doctor\n\nTreat a cache path as creatable only when no directory entry occupies it.\nA dangling symbolic link, including one hidden by a trailing separator,\nfails the cache check and clears provider availability while the installation\ncheck and caller-selected registration settings remain.\n\nFixes #5554\nFixes #5105\n\nCo-authored-by: morluto \n\n* fix(doctor): admit the same settings native analysis rejects\n\nProject parseConfig failures into scoped engine readiness. Invalid provider\npreferences, startup timeouts, and other shared settings now fail the\nselected provider and the full audit, while a JEB-only timeout stays outside\nthat admission.\n\nFixes #5454\n\nCo-authored-by: morluto \n\n* fix(doctor): report an invalid log level from doctor\n\nThe dispatcher rejected REA_LOG_LEVEL before every command, so doctor never\nemitted its readiness check. Doctor now runs and names that setting; other\ncommands still stop before execution.\n\nCo-authored-by: morluto \n\n* fix(doctor): require log-level failures in every scope\n\nAn invalid REA_LOG_LEVEL stops the executable and MCP server before a client\nor skill can run, so those scopes now fail readiness too. Other native\nadmission failures stay limited to a selected provider.\n\nCo-authored-by: morluto \n\n* fix(kuna): strip only the platform cache separator\n\nOn Darwin and Linux a trailing backslash is a filename character. Doctor now\nremoves only the selected platform separator before inspecting the cache path.\n\nCo-authored-by: morluto \n\n* fix(doctor): fail every provider on an invalid Hopper timeout\n\nREA_HOPPER_STARTUP_TIMEOUT_MS is rejected before any native engine starts.\nA selected non-Hopper provider now includes the existing timeout check.\n\nCo-authored-by: morluto \n\n* style(doctor): format the Hopper timeout regression\n\nCo-authored-by: morluto \n\n* fix(doctor): fail client scopes on MCP startup errors\n\nA registered client starts the MCP server, and parseConfig rejects every\nnative admission failure before that server starts. Client readiness now\nincludes those failures, not only REA_LOG_LEVEL.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["690fc518540bae982038a74f47ef7781201785aa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5647] + }, + { + "sha": "53e0943223b016c5e1782aa76f3ec2297dc4313b", + "subject": "fix(javascript): preserve path reasons, module coverage, and property provenance (#5651)", + "body": "fix(javascript): preserve path reasons, module coverage, and property provenance (#5651)\n\n* fix(javascript): preserve selected path host resolution reasons\n\nClassify ELOOP and ENAMETOOLONG while resolving the caller-selected input so the path and host code stay on the invalid-request issue.\n\nRefs #5623\n\nCo-authored-by: morluto \n\n* fix(javascript): count summary coverage in module units\n\nUse the module population for both examined and total counts. Non-module graph nodes remain in the application coverage section.\n\nRefs #5464\n\nCo-authored-by: morluto \n\n* fix(javascript): connect direct property reads to return and argument flow\n\nRecord the unwrapped value expression and alias the object projection's read occurrence so a direct member read stays in backward provenance.\n\nRefs #5585, #5648\n\nCo-authored-by: morluto \n\n* fix(javascript): count return wrappers against expression depth\n\nEvaluate the original return expression so erased TypeScript and Flow wrappers stay inside the expression-depth budget. Keep the unwrapped node for identity and value ranges.\n\nCo-authored-by: morluto \n\n* fix(javascript): describe ELOOP as unresolved symlink traversal\n\nA host can return ELOOP for a cycle or for a chain past its traversal limit. Keep the selected path and code without asserting that a cycle exists.\n\nCo-authored-by: morluto \n\n* test(javascript): skip symlink traversal fixtures on Windows\n\nKeep the overlong-name case portable. Windows does not produce ELOOP for these fixtures, matching the other path-failure tests.\n\nCo-authored-by: morluto \n\n* fix(javascript): describe ENAMETOOLONG as a path or component limit\n\nrealpath reports that code for a long component and for a long full path. Keep the selected path and host code without claiming only a filename was too long.\n\nCo-authored-by: morluto \n\n* style(javascript): format return-depth and object-read changes\n\noxfmt rejected the return-depth test and the object-read index. No behavior change.\n\nCo-authored-by: morluto \n\n* test(ida): expect unchanged invalid requests to be nonretryable\n\nThe shared projector no longer marks invalid_request retryable. This lookup assertion was not updated with that contract.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["b718ad166d532241fb20293e73796d492b7e2812"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5651] + }, + { + "sha": "ef59174c1edd6ed9adb0722b86a5b9a57217e310", + "subject": "fix(errors): name fixed allowances in resource-constraint recovery (#5633)", + "body": "fix(errors): name fixed allowances in resource-constraint recovery (#5633)\n\n* fix(errors): name fixed allowances in resource-constraint recovery\n\nFixed parser, count, report, input, and capture refusals inherited\nhost-memory, wait-and-retry, or retained-Evidence advice. Producers now\nattach allowance-specific recovery, and deterministic capacity caps are\nnot retryable. IL2CPP reader occupancy stays retryable capacity.\n\nRefs #5556, #5405, #5456, #5459, #5460, #5504, #5505, #5506, #5537, #5628, #5630, #5631, #5632\n\n* fix(il2cpp): keep a closing metadata reader non-retryable\n\nclose() stops admission before the active inspection finishes. A second\ninspect in that window was projected as retryable capacity. Closing and\nclosed readers now report capability_unavailable. Occupied readers that\nremain open stay retryable.\n\n* fix(errors): align fixed-cap recovery with retained facts\n\nIL2CPP report refusals keep observed source facts instead of denying Evidence. Command-output caps use the capture allowance. Ghidra seed recovery names the limit that was exceeded.\n\n* fix(errors): call byte caps a byte allowance\n\nWASM representation limits and the IL2CPP Ghidra seed-file cap are byte budgets. Their recovery no longer says the exceeded allowance is a fixed count.\n\n* test(ida): keep unresolved procedure lookups non-retryable\n\nMain now treats an unchanged invalid request as non-retryable. The IDA lookup tests follow that projection.\n\n* fix(errors): qualify capture recovery for live output\n\nA fixed capture allowance still rejects the same output. Live captures such as adb logcat can change between requests, so recovery no longer says every unchanged request fails again.\n\n* fix(adb): keep a truncated live capture retryable\n\nDevice output can shrink between calls, so an adb capture that exceeds the allowance stays retryable. Deterministic capture and version-output limits stay non-retryable.\n\n* fix(adb): keep truncated mutations non-retryable\n\nOnly live observations opt into retrying a capture that exceeded the allowance. Push, install, uninstall, and other mutations stay non-retryable.\n\n* fix(errors): keep live capture recovery off deterministic limits\n\nArtifact-derived capture allowances again say the unchanged request fails. Only volatile adb observations use the live-output sentence.\n\n---------\n\nCo-authored-by: Cursor Agent ", + "parents": ["53e0943223b016c5e1782aa76f3ec2297dc4313b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + } + ], + "pullRequests": [5633] + }, + { + "sha": "40428da1dd6308f6f407547fd23b0a912232895a", + "subject": "perf(test): reuse one stdio MCP server per JavaScript application file (#5658)", + "body": "perf(test): reuse one stdio MCP server per JavaScript application file (#5658)\n\n* perf(test): reuse one stdio MCP server per JavaScript application file\n\nRepeated analyzeJavaScriptDirectory MCP cases started a full server for\nevery case. Share one file-scoped server and compile cache so later cases\nskip that startup while CLI cases still launch a fresh process.\n\nCo-authored-by: morluto \n\n* fix(test): close in-flight shared MCP startup with the file\n\nFile teardown waits for a stdio session that is still starting, skips a\nserver once close has begun, and still closes one registered during that\nwait. The later-case reuse test can run without the earlier case.\n\nCo-authored-by: morluto \n\n* fix(test): keep a failed MCP handshake when cleanup fails\n\nThe shared session reports the startup error and carries the cleanup failure\nas its cause. A cleanup that failed stays owned and is retried on close\nwithout running a cleanup that already succeeded.\n\nCo-authored-by: morluto \n\n* fix(test): fail shared MCP cleanup when the rejection has no reason\n\nA cleanup rejection of undefined still fails the drain and stays owned.\nClose caches completion only after every retained cleanup succeeds, so a\nlater close can release it.\n\nCo-authored-by: morluto \n\n* fix(test): keep one MCP server while failed cleanup is retained\n\nA later call retries retained cleanup before opening another server. The\nnew server starts only after that cleanup succeeds.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["ef59174c1edd6ed9adb0722b86a5b9a57217e310"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5658] + }, + { + "sha": "9d8e7803326a382cbbb3ffdb900f5e93e5442d68", + "subject": "ci: keep npm download caches from Turbo snapshot growth (#5655)", + "body": "ci: keep npm download caches from Turbo snapshot growth (#5655)\n\n* ci: keep npm download caches from Turbo snapshot growth\n\nPer-commit static and portable Turbo snapshots had filled the 10 GB Actions\ncache, which is what makes warm npm ci cheap. Trusted static runs now keep two\ngenerations and one download-cache writer per host.\n\nCo-authored-by: morluto \n\n* fix(ci): declare cache retention types for strict checks\n\nTypecheck imports cache-retention.mjs and needs a sibling declaration.\nThe generation count stays module-private so knip does not report it.\n\nCo-authored-by: morluto \n\n* fix(ci): keep compatible caches and qualification read-only\n\nNpm dedupe deletes a record only when another has the same key, version,\nand ref. Cache deletion moves to a follow-up workflow so reusable\nqualification can keep its read-only token.\n\nCo-authored-by: morluto \n\n* fix(ci): retain caches after failed default-branch runs\n\nStatic and build save Turbo snapshots before later lanes finish. Retention\nnow follows a failed, timed-out, or cancelled trusted run, not only a green one.\n\nCo-authored-by: morluto \n\n* test(cli): pass application trace input as a file\n\nThe CLI already reads workflow JSON from a path. Putting the full\napplication Evidence document on argv exceeds the runner argument limit.\n\nCo-authored-by: morluto \n\n* fix(ci): retain deep and Knip snapshots without deleting a repeated id\n\nFast and deep static checks publish rea-static-deep-v1 and knip-meta-v1\nentries per commit. Retention prunes those families with the same two-generation\nrule. A cache id listed twice is one record; inconsistent repeats abort\nbefore any delete.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["40428da1dd6308f6f407547fd23b0a912232895a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5655] + }, + { + "sha": "a7d13893a682781bd516a23b0b706f885fa0e5cc", + "subject": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20", + "body": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20\n", + "parents": [ + "1bfa60ac20e1a344bcf3132c08d15b6860b05c61", + "9d8e7803326a382cbbb3ffdb900f5e93e5442d68" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d23be5c0898c39c9f0c54e2e0b43ee746d92d316", + "subject": "fix(web): preserve static WebMCP schema property coverage", + "body": "fix(web): preserve static WebMCP schema property coverage\n\nReuse the shared object-member owner for literal spreads, retain known property names under unresolved membership, and distinguish complete, partial, unknown, and absent projections. Keep historical coverage omission unchanged and preserve own keys across prototype setters.\n\nRefs #5075\n", + "parents": ["a7d13893a682781bd516a23b0b706f885fa0e5cc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c0cbbf8d506a02d1723aa507224c9a4342d3f015", + "subject": "perf(ci): keep fast built shards under ten minutes (#5652)", + "body": "perf(ci): keep fast built shards under ten minutes (#5652)\n\n* test(acceptance): split competing loader ownership across files\n\nThe loader matrix was one 578-second file, which set the floor for any\nshard that received it. Three files keep every CLI and MCP case and let\nworkers overlap them.\n\nCo-authored-by: morluto \n\n* perf(ci): run eight fast built shards under a ten-minute budget\n\nCharge each Vitest project by its resolved worker width so serial\nprocess-boundary files spread as tail time. Fast feedback uses eight\nbuilt shards. The npm download cache stays; node_modules is too large\nto ship as a shared artifact.\n\nCo-authored-by: morluto \n\n* fix(ci): keep each scheduled file on one worker lane\n\nDividing a file by maxWorkers dropped its own wall-time floor and could\npack a parallel file onto a serial tail. Place each file whole on a lane,\noverlap peers only inside a sequence group, and add later groups after.\n\nCo-authored-by: morluto \n\n* docs(testing): separate the shard budget from workflow time\n\nThe ten-minute figure is the built shard job. Classification, build, and\nthe portable-test merge are measured separately on run 39451548945.\n\nCo-authored-by: morluto \n\n* docs(testing): match fast shard count to lane scheduling\n\nMain still described five shards and half-duration weights. Fast\nqualification uses eight shards, and each file keeps its full duration\non one worker.\n\nCo-authored-by: morluto \n\n* fix(ci): seed split loader durations from pre-split history\n\nTimings published before the file split still name one 578-second path.\nUntil a new file appears in that artifact, share the recorded duration\nby the pre-split case counts.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["a7d13893a682781bd516a23b0b706f885fa0e5cc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5652] + }, + { + "sha": "6389e50337c50f285c0979d9182b2489ea78e32b", + "subject": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20", + "body": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20\n", + "parents": [ + "d23be5c0898c39c9f0c54e2e0b43ee746d92d316", + "c0cbbf8d506a02d1723aa507224c9a4342d3f015" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6a6adf703fa44100643947d20fbc670f86260b1b", + "subject": "fix(resources)!: inspect app resources without an executable", + "body": "fix(resources)!: inspect app resources without an executable\n\nAdd a read-only app resource session shared by CLI and MCP. Preserve resource-root provenance without inventing executable identity, reject binary-only snapshots and operations, and retain failed cleanup owners across switches and retries.\n\nKeep filesystem admission failures typed and preserve cancellation ordering from observed cleanup facts. Document resource routing in the packaged investigation skill.\n\nBREAKING CHANGE: resource-only observations may have a null Evidence subject and null executable target digests. Clients must use resource_root and reported per-resource provenance instead.\n\nRefs #5589\n", + "parents": ["6389e50337c50f285c0979d9182b2489ea78e32b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6b101ff23b4151806d3241cfa7cd0a2457eed566", + "subject": "fix(errors): preserve caller abort reasons at admission (#5671)", + "body": "fix(errors): preserve caller abort reasons at admission (#5671)\n\n* fix(errors): preserve caller abort reasons at admission\n\nKeep the opaque caller reason on reverse, pcap, and SQLite cancellation,\nand leave a recognized physical digest or command failure in place when a\nlate abort is also observed.\n\nFixes #5670\n\nCo-authored-by: morluto \n\n* fix(reverse): keep a foreign digest ABORT_ERR as an adapter failure\n\nTreat ABORT_ERR as cancellation on the command boundary, where that code\nalready meant an aborted provider process. A digest or stat rejection with\nthe same code stays a physical adapter failure unless the caller signal\nis aborted. Cover aborted command EACCES, ETIMEDOUT, and ABORT_ERR with\nand without captured output.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["6389e50337c50f285c0979d9182b2489ea78e32b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5671] + }, + { + "sha": "de4579e993bde2935a955166f7556d10ebaa3d68", + "subject": "fix(observation): keep incomplete cancellation observations (#5644)", + "body": "fix(observation): keep incomplete cancellation observations (#5644)\n\n* fix(observation): keep incomplete cancellation observations\n\nService projection treated a retained observation that failed the completed\nschema as a malformed completed result. Cancellation became unreadable_output\nand the partial was dropped. Incomplete observations now stay on the owner\nerror, including the exact abort reason.\n\n* fix(observation): drop non-JSON incomplete observations\n\nKeep a retained partial only when projectAnalysisError can serialize it.\nClear a non-JSON partial and record an AnalysisOutputError as a secondary\nfailure so cancellation and timeout stay the owner error.\n\nCo-authored-by: morluto \n\n* fix(observation): validate incomplete partials without copying\n\njsonValueSchema.safeParse cloned a JSON-safe partial that projection\ncopies again. Use jsonValueValidationIssue so the gate only checks.\n\nCo-authored-by: morluto \n\n* test(ida): expect non-retryable unresolved procedure lookups\n\nMain stops treating invalid_request as retryable. An unchanged missing\nprocedure stays invalid_request and is not marked retryable.\n\nCo-authored-by: morluto \n\n* test(observation): share incomplete-observation assertions\n\nThe new non-JSON cases repeated the same owner-error checks and pushed\nduplication over the 3.5% limit. One expectation helper keeps those\nchecks without a second copy.\n\nCo-authored-by: morluto \n\n* test(observation): keep the assertion helper out of the package\n\nThe helper imports Vitest. Rename it to a fixture so the production\nbuild excludes it and dist does not import a dev dependency.\n\nCo-authored-by: morluto \n\n* fix(observation): clear non-JSON partials on cleanup primaries\n\nProjection can return the cleanup primary after retry. Clearing only\nthe wrapper left that primary's partial in place, so projectAnalysisError\nthrew. The gate now clears every non-JSON partial in the chain.\n\nCo-authored-by: morluto \n\n* fix(observation): freeze retained incomplete observations\n\nA JSON partial stayed a live provider object, so a later mutation could\nmake projection throw. The gate now keeps one frozen snapshot and still\ndrops a non-JSON partial without copying it.\n\nCo-authored-by: morluto \n\n* refactor(observation): share web runtime partial retention\n\nObserve and inspect used the same promote-or-keep path. One helper\nowns that sequence so the two operations cannot drift.\n\nCo-authored-by: morluto \n\n* fix(observation): snapshot a shared partial once\n\nA cleanup wrapper and its primary can hold the same partial object.\nThe gate now reuses the first frozen snapshot for that object.\n\nCo-authored-by: morluto \n\n* fix(observation): parse a kept partial once\n\njsonValueSchema.safeParse validates and copies only a JSON partial.\nThe gate freezes that copy and no longer walks the same value first.\n\nCo-authored-by: morluto \n\n* test(observation): share repeated observation fixtures\n\nThe incomplete-observation tests repeated the same provider setup and\nan empty Electron coverage tail, which pushed duplication over 3.5%.\nOne coverage fixture and shared assertions bring the tree back under\nthe threshold.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["6b101ff23b4151806d3241cfa7cd0a2457eed566"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5644] + }, + { + "sha": "dceefa22cbacc20cb47ea1f04c23233cb46f6609", + "subject": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20", + "body": "Merge remote-tracking branch 'origin/main' into codex/audit-continuation-20261020-refresh20\n", + "parents": [ + "6a6adf703fa44100643947d20fbc670f86260b1b", + "de4579e993bde2935a955166f7556d10ebaa3d68" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c4b6aa3061d82c81c9172e242ea1871ad52cc6f2", + "subject": "fix(managed): treat extension-only module scopes as unknown identity (#5674)", + "body": "fix(managed): treat extension-only module scopes as unknown identity (#5674)\n\nCloses #5467", + "parents": ["dceefa22cbacc20cb47ea1f04c23233cb46f6609"], + "authors": [ + { + "name": "Ulises Millán", + "email": "ulises.millanguerrero@gmail.com", + "user": { + "login": "umi008", + "__typename": "User" + } + } + ], + "pullRequests": [5674] + }, + { + "sha": "c38f96fa693de115a47498d467169b8c69f0a426", + "subject": "test(cli): keep IPC trace input under the Linux spawn limit (#5673)", + "body": "test(cli): keep IPC trace input under the Linux spawn limit (#5673)\n\n* test(cli): keep IPC trace input under the Linux spawn limit\n\nThe listener-callsite CLI builds one trace argument from the full\napplication Evidence document. On 4 KiB-page Linux that string exceeds\nMAX_ARG_STRLEN, so spawn throws E2BIG before the command starts. Keep the\ndocument in a file, require the spawned argv to fit the single-argument\nbudget, and lock that budget through the test process registry.\n\nCo-authored-by: morluto \n\n* test(process): size the spawn ceiling from ARG_MAX and MAX_ARG_STRLEN\n\nA payload at the single-string limit still fails execve with E2BIG when\nthe stack shrinks ARG_MAX below the rest of the image. Accept only the\nbytes that fit both budgets, and skip that success spawn when the fixed\nargv and environment already fill ARG_MAX.\n\nCo-authored-by: morluto \n\n* style(test): format files rejected by oxfmt in static checks\n\ncheck:ci:fast failed format:check on the CLI fixture import and, after\nmerging main, on the admission test's new command-abort case.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["c4b6aa3061d82c81c9172e242ea1871ad52cc6f2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5673] + }, + { + "sha": "0bc2b42001f684beffcf47b70e507443b1a5d320", + "subject": "fix(browser)!: preserve unknown WebSocket frame facts", + "body": "fix(browser)!: preserve unknown WebSocket frame facts\n\nKeep malformed or missing CDP opcodes and payload facts unknown, retain observed zero and empty payloads, and avoid false capture differences while preserving independently known facts.\n\nValidation: 59 source tests; compiled public CLI and stdio MCP fake-CDP acceptance; check:fast; docs:check; changed-file formatting. Real Chromium malformed-event behavior was not tested.\n\nBREAKING CHANGE: WebSocket event opcode is nullable and numeric values are restricted to the four-bit protocol range.\n\nFixes #5666\n", + "parents": ["c38f96fa693de115a47498d467169b8c69f0a426"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4108d1363a823ee39f199de64be860cf6b0162d5", + "subject": "test(cli): align Kuna readiness and cancellation expectations", + "body": "test(cli): align Kuna readiness and cancellation expectations\n", + "parents": ["0bc2b42001f684beffcf47b70e507443b1a5d320"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5518363aa625db75590a163d3174d767d97064ba", + "subject": "test(artifacts): compare matching resource-root workflows", + "body": "test(artifacts): compare matching resource-root workflows\n", + "parents": ["4108d1363a823ee39f199de64be860cf6b0162d5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "60956c8c56475e7aaab9559f780908851677ced6", + "subject": "fix(ci): run cache retention from its trusted workflow revision", + "body": "fix(ci): run cache retention from its trusted workflow revision\n", + "parents": ["5518363aa625db75590a163d3174d767d97064ba"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ab58edcdf50b4bd687900ee2dc362ecc5c3dce15", + "subject": "fix(environment): retain tarball descriptor ownership during export", + "body": "fix(environment): retain tarball descriptor ownership during export\n\nUse the shared positional reader for both tarball passes so early output refusal cannot close the descriptor ahead of its owner.\n\nCloses #5684\n", + "parents": ["60956c8c56475e7aaab9559f780908851677ced6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1bb2fa23de310bf334281b17eb0f5636888a1422", + "subject": "test(apple): match plist provenance to the selected workflow", + "body": "test(apple): match plist provenance to the selected workflow\n", + "parents": ["ab58edcdf50b4bd687900ee2dc362ecc5c3dce15"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7dd6941393c852a3324cf01c2bd79a9dcff43728", + "subject": "refactor(test): share browser and apktool fixture lifecycles", + "body": "refactor(test): share browser and apktool fixture lifecycles\n", + "parents": ["1bb2fa23de310bf334281b17eb0f5636888a1422"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b231c28cf64c2f799ada99343f8f21e0e6acb15e", + "subject": "fix(hopper): own Mach-O preparation through cleanup retry", + "body": "fix(hopper): own Mach-O preparation through cleanup retry\n\nPreserve exact selected-image identity and descriptor ownership across preparation, final cleanup, and retries. Keep physical failures and failed cleanup leases observable through provider and launcher boundaries.\n\nCloses #5688\n", + "parents": ["7dd6941393c852a3324cf01c2bd79a9dcff43728"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4d7de00d4cc9a95ec2b7a3123b04e01db2daafa0", + "subject": "fix(native): coalesce Objective-C class imports by binding identity", + "body": "fix(native): coalesce Objective-C class imports by binding identity\n\nJoin provider class observations only when selected-image identity and exact import bindings establish equivalence. Preserve distinct observations and unsupported coverage.\n\nRefs #5607\n", + "parents": ["b231c28cf64c2f799ada99343f8f21e0e6acb15e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "949966712e68d8857a50a165ecddf04c2d7e6d3b", + "subject": "fix(files): preserve physical read failures across late cancellation", + "body": "fix(files): preserve physical read failures across late cancellation\n\nTag physical read outcomes at the owning boundary and preserve opaque caller cancellation reasons through JSON pipelines and reference imports. Share named bounded-read options across consumers and retain failed cleanup ownership for retry.\n\nCloses #5686\n", + "parents": ["4d7de00d4cc9a95ec2b7a3123b04e01db2daafa0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4852c830af1e3b9df437235b7a8fa8970a6d1c59", + "subject": "fix(native): preserve Mach-O names equal to version", + "body": "fix(native): preserve Mach-O names equal to version\n\nParse only documented compound otool field labels so valid segment and section names are retained at the owning boundary. Verified real Apple clang fixtures through compiled CLI and stdio MCP without executing the targets.\n\nCloses #5680\n", + "parents": ["949966712e68d8857a50a165ecddf04c2d7e6d3b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "52c84f6f58fa3cc7b39326654c6d3f261f957957", + "subject": "test(cli): bound ADB MCP validation to the advertised tool", + "body": "test(cli): bound ADB MCP validation to the advertised tool\n\nReuse the exact selected advertised descriptor for SDK output validation instead of compiling the entire cached catalog for every fresh parity-test client. Retain actual catalog discovery, schema validation, and all result assertions under the existing worker heap limit.\n", + "parents": ["4852c830af1e3b9df437235b7a8fa8970a6d1c59"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "56679dd2ae31dda58e181f8bf99775014f7bb82b", + "subject": "fix(files): preserve physical read provenance through cleanup", + "body": "fix(files): preserve physical read provenance through cleanup\n\nKeep raw physical read diagnostics alongside explicit operation provenance on the same cleanup owner. Preserve provenance after successful close retry for opted-in readers, restore legacy error projections, and prevent borrowed cleanup-shaped failures from authorizing foreign resource retries.\n\nRefs #5686\n", + "parents": ["52c84f6f58fa3cc7b39326654c6d3f261f957957"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ccc7da309d7db385d5c6d73b0a3a8e093be33504", + "subject": "test(mcp): retain distinct Objective-C class observations", + "body": "test(mcp): retain distinct Objective-C class observations\n\nRequire both fixture addresses and unknown identity coverage when no selected-image binding proof permits coalescing.\n", + "parents": ["56679dd2ae31dda58e181f8bf99775014f7bb82b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f789fd1fd8c6d1904b11ecbe8c71124291467d41", + "subject": "fix(native): count Swift vtable coverage in slot units", + "body": "fix(native): count Swift vtable coverage in slot units\n\nCount examined and decoded vtable slots in the same population, preserving all returned slots and partial descriptor failures. Document the coverage unit and retain malformed-sibling and unresolved-slot checks.\n\nCloses #5681\n", + "parents": ["ccc7da309d7db385d5c6d73b0a3a8e093be33504"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9dee989a79536b962ac4b8694831fb2a04b429a4", + "subject": "fix(native): count Objective-C coverage by class object", + "body": "fix(native): count Objective-C coverage by class object\n\nCount each admitted unique class or metaclass object at its parsing owner. Preserve emitted metadata, independent class-list scan bounds, partial failures, and truncation.\n\nCloses #5706\n", + "parents": ["f789fd1fd8c6d1904b11ecbe8c71124291467d41"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0bd14ca16cd4e3be5a126daf709e1abe79c679f6", + "subject": "fix(browser): preserve uncertain main-frame navigation identity", + "body": "fix(browser): preserve uncertain main-frame navigation identity\n\nOwn CDP frame applicability and identity at the parsed event boundary. Preserve malformed or incomplete main-frame facts, recognize replacement roots, and carry the same document identity through captures, screenshots, timelines, and execution windows.\n\nValidation: full check:ci and docs:check; 763 browser and dispatch tests passed, 6 skipped. Independent source and fixture-lifecycle review passed. Local real-Chrome behavior was not exercised.\n\nCloses #5665\n", + "parents": ["9dee989a79536b962ac4b8694831fb2a04b429a4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "84c89d1107cda017509bc3cd851573d073f9906d", + "subject": "test(javascript): separate heap pressure from graph admission proof", + "body": "test(javascript): separate heap pressure from graph admission proof\n\nMatch memory failures to the exact source identity instead of graph ordering. Preserve CLI parse, file-evidence, partial-result, later-source and unchanged-input checks across valid memory-pressure outcomes. Use a controlled parent heap envelope with a real owned analyzer to prove module retention and graph rejection independently of host GC timing.\n\nValidation: full check:ci passed; 17 focused tests passed, with the final 4 changed tests rerun successfully. Independent test-strength and isolation review passed. The earlier hosted failure exposed missing graph-only fields; its exact alternate memory stage was not captured.\n", + "parents": ["0bd14ca16cd4e3be5a126daf709e1abe79c679f6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1502cfbc8ca0d1d1d86eebf334018dfb418bbac0", + "subject": "fix(apple): resolve absolute dylib paths inside the selected root", + "body": "fix(apple): resolve absolute dylib paths inside the selected root\n\nPreserve load-command paths as evidence while passing a separate root-relative lookup path to the bounded tree resolver. Apply the same containment rule to absolute install names and rpath bases, including caller-selected root symlink spellings.\n\nValidation: 140 source tests, full check:ci, docs and runtime build passed. Compiler-built literal, rpath and relative fixtures passed CLI/stdio MCP parity, preserved both dependency edges and left all bytes unchanged. External system paths stayed outside-target; relative control was unchanged. Fixtures were not executed, and actual dyld execution was not qualified.\n\nCloses #5637\n", + "parents": ["84c89d1107cda017509bc3cd851573d073f9906d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9258df02cc414112d4fa91a425f0d599f43e2357", + "subject": "test(apple): compare asset catalogs from matching root workflows", + "body": "test(apple): compare asset catalogs from matching root workflows\n\nCompare explicit bundle-resource CLI and MCP results at the positive empty-inventory offset. Preserve a separate binary-bound MCP assertion with the exact fixture executable digest and complete metadata payload.\n\nValidation: reproduced the stale root-versus-binary parity failure on current main, then passed the macOS public CLI/MCP acceptance case across all five NIB fixtures. Focused lint, formatting and diff checks passed. No target code was executed.\n", + "parents": ["1502cfbc8ca0d1d1d86eebf334018dfb418bbac0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d0067ba34a39ea47dd7e11bb2e6169bc0938cc3f", + "subject": "fix(native)!: preserve Swift pointer nullability and import bindings", + "body": "fix(native)!: preserve Swift pointer nullability and import bindings\n\nResolve relative pointers using field-owned ABI encodings. Keep null, raw, rebased, imported and unknown targets distinct, and retain imported conformance rows with exact Mach-O binding provenance. Decode legacy rebase membership with source-derived memory and work bounds, preserving validated prefix facts when streams are incomplete.\n\nValidation: check:ci, docs:check and build passed; 158 source tests and 20 schema/acceptance tests passed. Ten source-built Apple dispatch variants and four issue-specific CLI/MCP workflows passed without executing targets. Paired cold/warm CLI/MCP cost observations retained locally; model tokens and maximum-sized input runtime were not measured.\n\nCloses #5683\nCloses #5685\n\nBREAKING CHANGE: Swift conformance type_name and protocol_name can be null when names cannot be resolved; consumers must use typed type_binding and protocol_binding evidence. MachoImportBinding replaces the former Objective-C-specific binding type and schema.\n", + "parents": ["9258df02cc414112d4fa91a425f0d599f43e2357"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "335c042d166b2c8b2c0600935cf77607ae11edbc", + "subject": "docs(testing): reference the configured duplication limit (#5758)", + "body": "docs(testing): reference the configured duplication limit (#5758)", + "parents": ["d0067ba34a39ea47dd7e11bb2e6169bc0938cc3f"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5758] + }, + { + "sha": "00266efe13af902bfe9d4030e407ddaaba502339", + "subject": "fix(plist): preserve Unicode separators during XML normalization", + "body": "fix(plist): preserve Unicode separators during XML normalization\n\nUse one XML 1.0 line-ending rule in the shared XML boundary and plist source-span owner. Normalize literal CRLF and CR while retaining NEL, line separator and paragraph separator as observed characters. Keep character references, raw scalar locations and prototype-key omission intact.\n\nValidation: 229 XML/plist source tests, 60 adjacent Ghidra/Apktool/SAZ source tests, and 33 compiled CLI/provider tests passed. Full check:ci passed. Real plutil XML and binary fixtures reproduced the baseline loss and passed CLI plus SDK-validated stdio MCP checks with unchanged input digests. Independent source review found no blocker. Binary conversion losses tracked by #5701, #5703 and #5705 remain separate work.\n\nCloses #5702\n", + "parents": ["335c042d166b2c8b2c0600935cf77607ae11edbc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "df8b4d8a5a8c218ac9f49dd75e014bd910209d36", + "subject": "fix(process): token-check identityless exit-refresh replacements (#5675)", + "body": "fix(process): token-check identityless exit-refresh replacements (#5675)\n\n* fix(process): token-check identityless exit-refresh replacements\n\nA launcher-exit refresh could drop a reparented grandchild that was absent\nfrom the prior snapshot and report cleanup complete, or publish a verified\nempty lineage, without reading its run token.\n\nFixes #5206\n\nCo-authored-by: morluto \n\n* fix(process): re-read identityless refresh rows when relations change\n\nLineage refresh classified every pre-existing process as a newcomer, and it\nskipped a row after caching its first parent and group. Seed the exclusion\nset from the initial snapshot and read a row again when that relation changes.\n\nCo-authored-by: morluto \n\n* style: format files oxfmt rejects on main\n\nRepo-wide format:check fails on these two files at current main. Align them\nso the process-ownership fix can pass the required static check.\n\nCo-authored-by: morluto \n\n* fix(process): keep owned groups found while confirming exit\n\nAn unreadable exit-refresh row used to hide the confirmation table, and\nrevalidation dropped groups discovered after the plan was built. Both now\nstay in the same cleanup, and confirmation reads are bounded.\n\nCo-authored-by: morluto \n\n* fix(process): reclassify lineage rows when tree membership changes\n\nInitial outsiders and cached refresh rows are read again when a parent,\ngroup, or ancestor move changes launcher-tree membership. Unchanged\ninitial rows stay unread.\n\nCo-authored-by: morluto \n\n* fix(process): re-read cached identityless lineage tokens\n\nParent and group do not identify a process generation. A row whose token\nwas read is read again on the next refresh, so a reused PID cannot keep\na verified descendant.\n\nCo-authored-by: morluto \n\n* fix(process): revalidate an owned group that reappears\n\nA group discovered after it was already processed is queued once more.\nAnother appearance stays unresolved instead of reporting cleanup complete.\n\nCo-authored-by: morluto \n\n* fix(process): recheck a helper that changes groups during confirmation\n\nThe confirmation table can move a token-matched member into a new group.\nThat row is read again, and cleanup signals the group it belongs to now.\n\nCo-authored-by: morluto \n\n* fix(process): publish one lineage row when a descendant returns\n\nA refreshed descendant replaces the initial row for the same PID, including\nwhen its group moves away and then returns to the original relation.\n\nCo-authored-by: morluto \n\n* fix(process): re-read foreign PIDs on the exit confirmation table\n\nA readable foreign token does not identify a process that later reuses\nthat PID. The confirmation table reads those newcomers again.\n\nCo-authored-by: morluto \n\n* fix(process): recheck a pre-exit PID whose relation changes\n\nAn unchanged pre-existing row stays unread. A prior PID whose parent or\ngroup changed is token-checked, so a reused owned process is not skipped.\n\nCo-authored-by: morluto \n\n* fix(process): recheck an initial descendant after its token matches\n\nA successful read in the first lineage pass marks that PID token-checked.\nA later refresh reads it again, so a reused PID cannot stay verified.\n\nCo-authored-by: morluto \n\n* fix(process): recheck the launcher on each lineage refresh\n\nA later refresh reads the launcher PID again. A missing or unowned\nlauncher is unavailable instead of rooting a verified lineage.\n\nCo-authored-by: morluto \n\n* fix(process): publish lineage from the latest refresh table\n\nA descendant missing from the latest refresh is omitted. A refreshed\nlauncher whose group or command no longer matches stays unavailable.\n\nCo-authored-by: morluto \n\n* test(process): cover a refreshed launcher parent mismatch\n\nA same-token launcher whose parent no longer matches the committed\nexpected parent is unavailable, same as a group or command change.\n\nCo-authored-by: morluto \n\n* fix(process): recheck a token-read helper that returns to its group\n\nA confirmation table dropped a previously matched PID once its parent and\ngroup matched the pre-exit row, so cleanup could signal only the group it\nhad joined and report success while that helper survived.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["00266efe13af902bfe9d4030e407ddaaba502339"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5675] + }, + { + "sha": "08f4ba99ce4b5e53f72f00eba50ff74e9f1e1b24", + "subject": "test(process): share lineage fixtures to restore the duplication gate", + "body": "test(process): share lineage fixtures to restore the duplication gate\n\nExtract repeated process rows, environment transitions and exact lineage expectations while retaining all identity, replacement-read and cancellation cases. Clean main exceeded the configured 3.5% duplication limit at 3.521867%; this refactor passes at 3.499188% without changing the limit.\n\nValidation: 72 focused process-ownership tests and the full check:ci gate passed. Independent source review found no assertion or coverage loss. No runtime behavior changes.\n", + "parents": ["df8b4d8a5a8c218ac9f49dd75e014bd910209d36"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c19c2d6723fb92548b0c8a1ed0696d721a80aae6", + "subject": "fix(native): separate container facts from Go metadata admission", + "body": "fix(native): separate container facts from Go metadata admission\n\nMove ELF, PE and Mach-O container parsing into a shared native owner. Go alone selects and validates Go build-info sections, so unrelated malformed Go metadata no longer blocks Rust dependency or IL2CPP inspection. Remove the superseded Go-specific container representation and migrate all consumers. Adapted from draft PR #5510 without asserting human PR readiness.\n\nValidation: 51 compiled CLI/MCP acceptance tests across Rust, Go and IL2CPP; 186 shared-reader tests; full check:ci passed. Three public synthetic-file probes reproduce the baseline Rust refusal and validate the fixed SDK-advertised MCP output, artifact digests and unchanged bytes. The exact zero-address nonallocated ELF case now succeeds for Rust while Go still reports invalid_format. No target execution or real compiler-artifact qualification was performed; no performance improvement is claimed.\n\nCloses #3398\n", + "parents": ["08f4ba99ce4b5e53f72f00eba50ff74e9f1e1b24"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bbbd208743d30edc0ec260667c51a184ddad6007", + "subject": "fix(pcap): preserve frames with empty protocol stacks (#5762)", + "body": "fix(pcap): preserve frames with empty protocol stacks (#5762)\n\nPreserve valid empty TShark protocol stacks at the shared parser, retain frame and other fact inventories, and cover malformed producer output and mixed-frame ordering.\n\nValidated with focused source/boundary tests, full static checks, docs checks, real Linux CLI/MCP and a mixed-interface public HTTP pcapng. Latest-head Codex found no issues; Greptile is 5/5 and its test-coverage thread is addressed. Remaining queued CI was bypassed under the human owner's explicit authorization; this does not claim that the full CI suite passed.\n\nFixes #5734.", + "parents": ["c19c2d6723fb92548b0c8a1ed0696d721a80aae6"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5762] + }, + { + "sha": "ccfaf520b752a789ac19496557a3b0c4d4910bde", + "subject": "perf(test): reuse one compiled CLI process per JavaScript application file (#5676)", + "body": "perf(test): reuse one compiled CLI process per JavaScript application file (#5676)\n\n* perf(test): reuse one compiled CLI process per JavaScript application file\n\nanalyzeJavaScriptDirectory CLI cases were still starting a fresh process\nafter stdio MCP reuse. Keep one compiled process for the same child\nenvironment so later cases skip Node and CLI startup.\n\nCo-authored-by: morluto \n\n* fix(test): bound shared CLI worker lifetime\n\nRetire a worker that reports a fatal failure before resolving that command,\nand wait for it to exit before the next command starts. Join a session frame\nonce its bytes are complete instead of copying the unfinished buffer on every\nchunk. Restart the shared process after 32 commands or a reported 1 GiB\nresident set so one file does not keep a single heap high-water mark.\n\nCo-authored-by: morluto \n\n* fix(test): retire a shared CLI worker after a transport failure\n\nA malformed session frame rejected the command and sent SIGTERM without\nclearing the worker. signalCode stays unset until the process exits, so the\nnext queued command could write to that same process. Transport failures now\nuse the fatal-reply retirement path and the queue waits for that exit.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["bbbd208743d30edc0ec260667c51a184ddad6007"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5676] + }, + { + "sha": "90062c092228dea9d33fadc0d7e1b968105b8b2c", + "subject": "fix(apple): trace legacy macOS dylibs with implicit platforms", + "body": "fix(apple): trace legacy macOS dylibs with implicit platforms\n\nApply dyld’s implicit macOS compatibility rule only for a root executable with observed macOS platform and a supported candidate CPU type. Retain the absent platform fields as raw facts and expose the derivation on the candidate. Traverse the selected dylib and report missing required children; preserve unknown platform coverage and the later known fallback graph in other contexts.\n\nValidation: 144 source/reader tests, 14 compiled CLI tests, 18 schema tests, full check:ci and docs:check passed. Four source-built app variants passed CLI and SDK-validated stdio MCP checks with unchanged fixture digests. No fixture executable or Apple dyld comparison was run. Independent review resolved a library-root authority gap before integration.\n\nSixteen cold/warm task-cost observations are retained locally with sampling limits; the catalog adds 66 bytes. Actual model tokens and maximum-sized inputs were not measured; no speedup is claimed.\n\nCloses #5696\n", + "parents": ["ccfaf520b752a789ac19496557a3b0c4d4910bde"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "70835d3d5f030deadf606e1c79c70a60883e50c9", + "subject": "perf(wasm): skip payload text during WAT framing", + "body": "perf(wasm): skip payload text during WAT framing\n\nFixes #5760", + "parents": ["ccfaf520b752a789ac19496557a3b0c4d4910bde"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5766] + }, + { + "sha": "3a0e91dd914145ecb9accbdeb68ecf7fe4d5133d", + "subject": "chore: integrate concurrent main changes with the dylib fix", + "body": "chore: integrate concurrent main changes with the dylib fix\n\nPreserve the upstream WAT framing optimization alongside the qualified dylib fix. The combined tree passes 14 compiled dylib CLI tests and the full check:ci gate.\n", + "parents": [ + "90062c092228dea9d33fadc0d7e1b968105b8b2c", + "70835d3d5f030deadf606e1c79c70a60883e50c9" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f1126ff7bfef9d8a928ed0edb9978b4440b9121d", + "subject": "fix(wasm): retain actionable provider configuration diagnostics", + "body": "fix(wasm): retain actionable provider configuration diagnostics\n\nFixes #5767.\n\nRetain exact WABT version-probe output and tool identity, including nonzero command failures, and provide condition-specific configuration recovery. Verified with 54 focused tests, the final 51-case real WABT CLI/MCP lane, actual Codex recovery trials, and independent source reviews. No provider installation, target execution or admission relaxation.\n\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["3a0e91dd914145ecb9accbdeb68ecf7fe4d5133d"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5768] + }, + { + "sha": "3b67b362aa2cd79eac5af57d0965e81a7d0b8c2b", + "subject": "fix(apple): explain present rejected dylib candidates", + "body": "fix(apple): explain present rejected dylib candidates\n\nDerive unresolved findings from stored candidate paths and outcomes while preserving weak, lazy and conditional load consequences. Document not-loadable and platform-mismatch outcomes and later-path resolution.\n\nValidation: 126 resolver/CLI/MCP tests, check:ci, docs:check, and seven compiled CLI plus SDK-validated stdio MCP fixture cases. Source-built and mutated inert Mach-O inputs retained identical hashes; no target execution or dyld runtime comparison.\n\nFixes #5747\n\nFixes #5694\n", + "parents": ["f1126ff7bfef9d8a928ed0edb9978b4440b9121d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "044f180222d9b20ef1c23a0a5e4dac32002cd696", + "subject": "test(cli): accept opaque Kuna doctor run tokens (#5677)", + "body": "test(cli): accept opaque Kuna doctor run tokens (#5677)\n\n* test(cli): accept opaque Kuna doctor run tokens\n\nThe doctor cancellation fixture parsed REA_PROCESS_RUN_ID as a UUID.\nKuna version probes publish rea-kuna-version-, so both signal\ncases failed before checking cancellation. Accept that opaque token\nand keep the JADX ownership check on a UUID.\n\nCo-authored-by: morluto \n\n* test(cli): require the Kuna doctor run token\n\nAn omitted REA_PROCESS_RUN_ID disappears from the ready JSON. The Kuna\ncancellation case now rejects that record unless runId is a non-empty\nownership token. JADX still requires a UUID.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["3b67b362aa2cd79eac5af57d0965e81a7d0b8c2b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5677] + }, + { + "sha": "264862bf2e3612c9cb6fcfb861843cbba4e1893f", + "subject": "fix(ida): preserve registration recovery facts in readiness", + "body": "fix(ida): preserve registration recovery facts in readiness\n\nFixes #5771.\n\nPreserve the configuration owner's parsed registration settings and remediation in IDA readiness, retain caller-selected paths, and distinguish configuration selection from validity and live connection. Verified with 84 relevant tests, CLI/MCP negative-case parity, static/docs gates, independent source review and repeated actual Codex recovery tasks. No real IDA engine/GUI analysis qualification.\n\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["044f180222d9b20ef1c23a0a5e4dac32002cd696"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5773] + }, + { + "sha": "22d5a40a2e654e968efc01b7606c32c37954980e", + "subject": "fix(pe): inspect resource records at their declared offsets", + "body": "fix(pe): inspect resource records at their declared offsets\n\nRemove unsupported DWORD alignment refusals from resource data entries and adjacent directory tables. Preserve original record locations, UTF-16 name alignment, bounds, mapping, overlap checks and payload hashes.\n\nValidation: 49 focused parser/provider/filesystem/lifecycle and compiled CLI/stdio MCP tests; check:ci; independent pefile agreement for the reported layout, padded control and PE32/PE32+ word-aligned directories. Public CLI and SDK-validated MCP retain truncated-input refusals and unchanged source hashes. Synthetic static inspection only; Windows loading was not tested.\n\nFixes #5750\n", + "parents": ["264862bf2e3612c9cb6fcfb861843cbba4e1893f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "afa5da745e0b139e68029a96b776ae30e48ea2b2", + "subject": "feat(artifacts): inspect and extract PyInstaller archives", + "body": "feat(artifacts): inspect and extract PyInstaller archives", + "parents": ["22d5a40a2e654e968efc01b7606c32c37954980e"], + "authors": [ + { + "name": "Matt Van Horn", + "email": "mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + } + ], + "pullRequests": [2433] + }, + { + "sha": "fa8b87c4705ae5bafd6cbe6992b3e4d06365fd3b", + "subject": "fix(il2cpp): validate generic-container extents before index widths", + "body": "fix(il2cpp): validate generic-container extents before index widths\n\nValidate the fixed 16-byte version-39 records before using their count to select the serialized index width. Reject contradictory count and byte extents while preserving valid zero, one and 300-record controls.\n\nValidation: 89 focused reader/provider/compiled CLI and stdio MCP tests; check:ci; seven reproduced CLI and SDK-validated MCP cases with unchanged fixture hashes. Version-specific source and independent parser evidence distinguish fixed records from compressed indices. Synthetic metadata only; no real-game or target-execution qualification.\n\nFixes #5751\n", + "parents": ["afa5da745e0b139e68029a96b776ae30e48ea2b2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "43ac3d1857b79c5c210a7cfb15de3d645826cf57", + "subject": "fix(windows): retain native handles when close is unconfirmed (#5772)", + "body": "fix(windows): retain native handles when close is unconfirmed (#5772)\n\n* fix(windows): retain native handles whose close is unconfirmed\n\nCloseHandle failure no longer drops the numeric value. A still-open handle\nstays owned and can be closed again; a value missing from the handle table\nis dropped and never closed again; unreadable liveness blocks another close\nuntil a probe says the value is open.\n\nCo-authored-by: morluto \n\n* test(process): keep scratch until inherited pipes close\n\nLock the execFileOutput settlement contract: an inherited-pipe descendant\nholds the caller's scratch root until it exits, and destroying the readers\nis not process-family completion.\n\nCo-authored-by: morluto \n\n* fix(windows): retry admitted file closes before runtime removal\n\nA failed private-file close stays on the runtime that opened it. Runtime\nremoval closes that same wrapper before the tree walk, including when the\nread that opened the file has already returned.\n\nCo-authored-by: morluto \n\n* fix(windows): resume a close after part of the owner is released\n\nA runtime whose directory handle is already released continues with its\nparent handles instead of walking that invalid root. A process whose\nsettlement was already observed retries process close alone, without kill\nor poll against the released job.\n\nCo-authored-by: morluto \n\n* test(process): signal only an owned inherited-pipe descendant\n\nSkip the descendant SIGKILL after pipe settlement. On an earlier failure,\nsignal only when the process command line still contains that test's path.\n\nCo-authored-by: morluto \n\n* fix(windows): do not close a handle again after a failed close\n\nAn open liveness probe can observe a reused numeric value. After CloseHandle\nfails, drop the value only when the handle table no longer contains it, and\ndo not call CloseHandle on that number again.\n\nCo-authored-by: morluto \n\n* fix(windows): stop using a close-blocked pipe for I/O\n\nA broken pipe whose CloseHandle fails stays owned, but its numeric value\nmay have been reused. Later polls and stdin writes treat that pipe as\nended instead of reading or writing the number.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["fa8b87c4705ae5bafd6cbe6992b3e4d06365fd3b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5772] + }, + { + "sha": "71b696582b9399d446c7ce16d8c91d4a4196e0ac", + "subject": "perf(test): reuse one compiled CLI for export-binding parity (#5679)", + "body": "perf(test): reuse one compiled CLI for export-binding parity (#5679)\n\n* perf(test): reuse one compiled CLI for export-binding parity\n\nThe slow export-binding cases each spawned the compiled CLI three times.\nOne warm process now serves those JSON commands from a single command\ninstance, so startup and retained registrations are paid once per file.\n\nCo-authored-by: morluto \n\n* style(test): format the warm CLI session\n\noxfmt --check rejected the session and its worker.\n\nCo-authored-by: morluto \n\n* fix(test): report warm CLI shutdown, deadlines, and exit status\n\nA compiled CLI session that needed a signal after stdin closed reported\nsuccess. A command that never answered left later checks waiting, and a\nfailure recorded only on process.exitCode was returned as status 0.\n\nCo-authored-by: morluto \n\n* fix(test): close the warm CLI worker when a status check fails\n\nThe failure-then-success case only closed the compiled worker after both\nassertions passed. Register the close with the test so a failed check still\nstops the child.\n\nCo-authored-by: morluto \n\n* fix(test): retain a timed-out compiled CLI worker until it exits\n\nA request deadline cleared the child before SIGKILL was observed. The next\ncommand could start a replacement, and close could miss the original process.\nRetired workers stay owned until exit, and a failed stop remains for a later\nclose to retry.\n\nCo-authored-by: morluto \n\n* fix(test): reject a compiled CLI launch that close interrupts\n\nClosing during the ready handshake detached the child before the launch\npromise settled. The queued command then waited on the startup timer.\nClose now rejects that startup before the child is detached.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["43ac3d1857b79c5c210a7cfb15de3d645826cf57"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5679] + }, + { + "sha": "89b1941c8e30892ebe763e56b7b4d3495a5bbe14", + "subject": "fix(native): preserve mixed-slice signature observations (#5765)", + "body": "fix(native): preserve mixed-slice signature observations (#5765)\n\n* fix(native): preserve mixed-slice signature observations\n\n* fix(native): retain signature facts when slice inspection fails\n\n* fix(native): accumulate known slice observations before failure", + "parents": ["71b696582b9399d446c7ce16d8c91d4a4196e0ac"], + "authors": [ + { + "name": "Jeff", + "email": "138259519+jdotc1@users.noreply.github.com", + "user": { + "login": "jdotc1", + "__typename": "User" + } + } + ], + "pullRequests": [5765] + }, + { + "sha": "7c6c25dda75e2d1d595a6cacc5cf9a82607f8502", + "subject": "fix(artifacts): report target applicability in session discovery (#5763)", + "body": "fix(artifacts): report target applicability in session discovery (#5763)\n\n* fix(artifacts): report target applicability in session discovery\n\n* fix(artifacts): preserve resolved target applicability facts\n\n* fix(target): retain bundle metadata for explicit formats", + "parents": ["89b1941c8e30892ebe763e56b7b4d3495a5bbe14"], + "authors": [ + { + "name": "Jeff", + "email": "138259519+jdotc1@users.noreply.github.com", + "user": { + "login": "jdotc1", + "__typename": "User" + } + } + ], + "pullRequests": [5763] + }, + { + "sha": "7d8e4e43380b9dbea4d4061dfa9f12f8e9dc5e08", + "subject": "perf(model): avoid decoding omitted GGUF strings (#5781)", + "body": "perf(model): avoid decoding omitted GGUF strings (#5781)\n\nValidate omitted GGUF strings without materializing discarded text while preserving full UTF-8 checks and retained Evidence. Record real-model costs and workflow coverage; preserve failed experiment receipts through cleanup.\n\nFixes #5774.", + "parents": ["7c6c25dda75e2d1d595a6cacc5cf9a82607f8502"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5781] + }, + { + "sha": "5af8fe702b396938b1e3f10dd33993bce5d8011c", + "subject": "fix(test): use owned cleanup for npm invocation fixtures", + "body": "fix(test): use owned cleanup for npm invocation fixtures\n", + "parents": ["7d8e4e43380b9dbea4d4061dfa9f12f8e9dc5e08"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dcdab56acbeeaee827199e0042052bc50549fce1", + "subject": "fix(test): use eligible bundle targets for UI availability", + "body": "fix(test): use eligible bundle targets for UI availability\n", + "parents": ["5af8fe702b396938b1e3f10dd33993bce5d8011c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0ad42752d3e99c93d5d1a401641ae907e444818c", + "subject": "perf(test): reuse one compiled CLI for the remaining hot command files (#5784)", + "body": "perf(test): reuse one compiled CLI for the remaining hot command files (#5784)\n\nGo, IL2CPP, dylib resolution, and application-workflow tests were still\nstarting a compiled CLI for every command. They now reuse one process\nper file. Warm focused runs dropped from 40s, 46s, 35s, and 21s to\n14s, 21s, 20s, and 2s.\n\nCo-authored-by: Cursor Agent ", + "parents": ["dcdab56acbeeaee827199e0042052bc50549fce1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + } + ], + "pullRequests": [5784] + }, + { + "sha": "d36cb61210286e917bd673322c5415a4e8fdf24d", + "subject": "fix(ci): declare the native fixture compiler for Knip", + "body": "fix(ci): declare the native fixture compiler for Knip\n", + "parents": ["0ad42752d3e99c93d5d1a401641ae907e444818c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a00e4ac3630691f90d69a8589090f9ab45f834a4", + "subject": "fix(apple): refuse invalid binary dates and unknown sub-millisecond instants (#5786)", + "body": "fix(apple): refuse invalid binary dates and unknown sub-millisecond instants (#5786)\n\n* fix(apple): refuse invalid binary dates and unknown sub-millisecond instants\n\nReachable binary plist dates must use marker 0x33. Other type-3 markers are\nmalformed and are no longer projected as observed timestamps. A valid float64\ndate stays known only when it is exactly the canonical millisecond instant;\nother finite instants remain typed unknown dates with a counted limitation.\n\nCo-authored-by: morluto \n\n* fix(apple): share one decoder copy and bound binary date payloads\n\nWide-integer rewrites and unrepresentable date payloads now share the\nsingle parser-input copy already reserved by the decode budget. Reachable\ndate markers and payloads must end at the offset table even when other\ndecoder-bounds checks read trailing bytes.\n\nCo-authored-by: morluto \n\n* test(apple): refuse out-of-region dates through the keyed reader\n\nDecoder-bounds date truncation is now asserted on decodeKeyedArchiveBytes,\nthe path that selects those bounds.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["d36cb61210286e917bd673322c5415a4e8fdf24d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5786] + }, + { + "sha": "c1e04bf8c03e347f115450a7a7e38cdbf12071a8", + "subject": "fix(sqlite): name the selected path in malformed-database errors (#5564)", + "body": "fix(sqlite): name the selected path in malformed-database errors (#5564)\n\nThe owned worker inspects only a private snapshot, so its format reason\ncannot name the caller's selection. Project path-scoped worker rejections\nwith the selected database path so distinct malformed inputs report their\nown source, matching the documented failure contract.\n\nFixes #5520\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["a00e4ac3630691f90d69a8589090f9ab45f834a4"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5564] + }, + { + "sha": "4dfe3464b2589aaa993997ad03ec2fd030606c9a", + "subject": "fix(signals): report rejected sigrok selectors as invalid input (#5570)", + "body": "fix(signals): report rejected sigrok selectors as invalid input (#5570)\n\nsigrok-cli refusals of a caller-supplied decoder ID or annotation class\nwere reported as execution_failure with \"Run `rea doctor`\" advice, which\nhas no sigrok check. Recognize the observed sigrok-cli 0.7.2 refusals at\nthe provider boundary only when the rejected name matches a caller\nselector, and report invalid_request naming the decoders or annotations\nargument, retaining the captured output and pointing to\ninspect_signal_decoders. Other non-zero exits stay provider failures.\n\nFixes #5515\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["c1e04bf8c03e347f115450a7a7e38cdbf12071a8"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5570] + }, + { + "sha": "4a7a4b5744ab688d69e039757ecf67d3c4395fde", + "subject": "fix(hopper): preserve caller abort reasons on cancellation (#5780)", + "body": "fix(hopper): preserve caller abort reasons on cancellation (#5780)\n\n* fix(hopper): preserve caller abort reasons on cancellation\n\nHopper cancellation dropped the caller's abort reason, and the typed\nerror treated an explicit undefined cause as omission. Retain the exact\nreason at the request queue, startup, socket, and launcher boundaries.\n\nCo-authored-by: morluto \n\n* style(hopper): format launcher cancellation return\n\noxfmt rejects the wrapped abort return in HopperApplicationLauncher.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["4dfe3464b2589aaa993997ad03ec2fd030606c9a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5780] + }, + { + "sha": "b81431d7ff55d8e89a523ef68fe48c0aca0f4393", + "subject": "fix(artifacts): report a stable symlink loop as a path resolution failure (#5571)", + "body": "fix(artifacts): report a stable symlink loop as a path resolution failure (#5571)\n\nELOOP raised while resolving the caller-selected path (access/realpath)\nis a symbolic link loop or over-deep chain in that path, not evidence of\na change. Classify filesystem failures by resolution stage so only ELOOP\nfrom opening the canonical path with symbolic links rejected keeps the\n\"target changed while being opened\" reason. The structured code,\ncategory and retryability are unchanged.\n\nFixes #5521\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["4a7a4b5744ab688d69e039757ecf67d3c4395fde"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5571] + }, + { + "sha": "0cfef92ae115a8994892aa821bd2176255f9affa", + "subject": "fix(desktop): classify rejected desktop roots as target failures (#5577)", + "body": "fix(desktop): classify rejected desktop roots as target failures (#5577)\n\ninspect-desktop-application reported a regular-file, missing or read-denied\nroot as artifact_operation_failed/execution_failure, leaving the ENOTDIR,\nENOENT or EACCES cause only in message text.\n\nDirectoryArtifactReader now marks root admission and root-open failures with\nDirectoryArtifactRootFailure. DesktopApplicationReader, which owns the caller's\nselection, maps a non-directory root to unsupported_target and host failures to\nthe shared BinaryTargetError (target_unavailable, or access_denied with\nread-access recovery), keeping any partial observation. Child-entry failures\nand other DirectoryArtifactReader consumers are unchanged.\n\nFixes #5513\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["b81431d7ff55d8e89a523ef68fe48c0aca0f4393"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5577] + }, + { + "sha": "bd8d73ab1d0dc171feecc3d16215fb58e144b848", + "subject": "fix(environment): report later bundle write failures as host failures (#5581)", + "body": "fix(environment): report later bundle write failures as host failures (#5581)\n\n* fix(environment): report later bundle write failures as host failures\n\nOnly destination admission now refuses the selected directory as invalid\ninput. A path failure on a nested bundle file after admission, such as a\nhost pathname-length limit, is reported as an output failure that names the\nhost cause and the absolute failed path, with recovery guidance for the\npartial folder it leaves in place.\n\nFixes #5522\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): name the host-refused path in export permission failures\n\nA permission failure after earlier bundle files were written was reported\nas access denied for the bundle root, so the documented failed path was\nlost. The refusal now names the absolute path the host reported, falling\nback to the root, and keeps the root as `output_directory`.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): attribute pathless bundle write failures to their file\n\nDescriptor operations such as `write` and `fsync` fail without a path, so\na disk-full failure after earlier files named only the bundle root. The\nbundle writer now attributes such failures to the file it was writing.\nHost-write recovery is applied only to actual host failures; an integrity\nrefusal keeps its own message without disk-space advice.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): attribute package tarball read failures to the tarball\n\nThe destination-write attribution also caught failures from reading the\nadmitted package tarball during the copy, so a source `EIO` named the\ndestination file and advised freeing disk space. Host failures are now\nattributed by direction: tarball reads name the tarball with read\nrecovery, bundle writes name the file being written.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): state which export failures name a path\n\nThe export documentation and host-write message promised a failed path\nfor every later write failure, but a directory sync at commit time fails\nwithout one. They now promise the failed bundle file or package tarball\nwhen the failure is on one, and only the cause for a folder sync.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["0cfef92ae115a8994892aa821bd2176255f9affa"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5581] + }, + { + "sha": "25bea07b42119f5bb2f17719ffcdea9e37aa40ce", + "subject": "fix(model): preserve unsupported GGUF version diagnostics (#5789)", + "body": "fix(model): preserve unsupported GGUF version diagnostics (#5789)\n\nPreserve unsupported GGUF version bytes and both UINT32 interpretations without inventing byte order at the shared parser. Keep existing layout support, typed errors, evidence identity, scoped reads and resource limits.\n\nValidation: 78 focused tests, full static/architecture and documentation checks, real CLI/MCP version controls and an independently checked public model. Latest-head Codex found no issues; Greptile is 5/5 and all review threads are resolved.\n\nSome CI remained pending at merge qualification. Merge under the human owner's explicit standing bypass authorization does not claim the full CI suite passed.\n\nFixes #5749.", + "parents": ["bd8d73ab1d0dc171feecc3d16215fb58e144b848"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5789] + }, + { + "sha": "d672cc23998b6cbb21c485f118595ebfb82fed33", + "subject": "fix(apple): preserve binary plist scalar source facts", + "body": "fix(apple): preserve binary plist scalar source facts\n\nDecode native binary plists from bounded owned source bytes before conversion can erase scalar values. Share scalar preflight and isolate overlapping decoder records while retaining exact integers, date uncertainty, and original bytes. Refuse numeric payloads that read structural table bytes, and avoid retaining projection metadata when callers only need structural validation.\n\nCloses #5701\nCloses #5703\nCloses #5705\nCloses #5782\nCloses #5783\nCloses #5792\n", + "parents": ["25bea07b42119f5bb2f17719ffcdea9e37aa40ce"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5891bfb302e2ce6626495cd4591181ef6d0fdfa7", + "subject": "fix(browser): retain precise observation termination facts", + "body": "fix(browser): retain precise observation termination facts\n\nDistinguish CDP session detachment, observed crashes, and transport loss. Preserve the observed window alongside the original typed coverage-stop failure and unconfirmed cleanup.\n\nValidated with 40 focused boundary tests, check:ci, docs:check, and the real Chrome public CLI/MCP verifier on macOS. Browser timing comparison remains incomplete because unchanged-main fixture readiness was intermittent.\n\nFixes #5756\n", + "parents": ["d672cc23998b6cbb21c485f118595ebfb82fed33"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6b7d429491eefad47a67793c39443a237cd597fc", + "subject": "fix(apple): decode Swift conformance type references", + "body": "fix(apple): decode Swift conformance type references\n\nDecode direct Objective-C class names separately from nominal descriptors, retain indirect class bindings as partial facts, and preserve readable protocol and witness evidence when related bytes are unavailable.\n\nValidated with 98 focused tests, check:ci, docs:check, and named-schema CLI/MCP replays of compiler-produced imported-class and struct fixtures plus an inert kind-3 control. The fixtures were inspected statically, never executed.\n\nFixes #5738\n", + "parents": ["5891bfb302e2ce6626495cd4591181ef6d0fdfa7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ea24207b57b8c0b94243385d91defaa1c6357dd1", + "subject": "perf(ci): pack each test tier from its own timing history (#5799)", + "body": "perf(ci): pack each test tier from its own timing history (#5799)\n\n* perf(ci): pack each test tier from its own timing history\n\nFast shards were still ordered with the latest full-suite timing artifact,\nwhich stayed stale across compiled-CLI session reuse. Publish and download\ntest-timings-fast and test-timings-full separately, and keep the legacy\nartifact as a fallback until a tier has its own history.\n\n* perf(ci): drop the shared timing-history fallback\n\nShard lookup now reads only the artifact for the current tier. A missing\nartifact leaves history unset instead of packing from the old test-timings\nfile.\n\n* test(ci): look up fast history when only full timings exist\n\nThe empty-history case now requests the fast tier against a full-tier\nartifact and checks that the fast lookup ran and returned nothing. A\nmissing tier stays a separate test that does not query.\n\n---------\n\nCo-authored-by: Cursor Agent ", + "parents": ["6b7d429491eefad47a67793c39443a237cd597fc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + } + ], + "pullRequests": [5799] + }, + { + "sha": "a5f982de8dbe4b092cc20ab89d492b7e7028b758", + "subject": "feat(wasm): make command deadlines adjustable with recovery guidance (#5798)", + "body": "feat(wasm): make command deadlines adjustable with recovery guidance (#5798)\n\nExpose the existing WABT command deadline as an optional validated per-call CLI/MCP budget, preserving its 30000 ms default and fixed safety allowances.\n\nRetain selected execution profiles in success and rejected-module Evidence. Keep typed timeout recovery through cleanup failures without duplicating command output or making incomplete cleanup retryable.\n\nVerified focused tests, real WABT CLI/MCP workflows and actual Codex recovery/blocked controls; detailed measurements and qualification limits are recorded in issue #5797. Merge uses the explicitly authorized maintainer override with pending CI and unchecked human-review attestations disclosed on PR #5798.\n\nCloses #5797\n\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["ea24207b57b8c0b94243385d91defaa1c6357dd1"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5798] + }, + { + "sha": "52415975942a4b9c53a817915b313ccc404f280e", + "subject": "perf(rust): query selected dependency facts from retained Evidence (#5815)", + "body": "perf(rust): query selected dependency facts from retained Evidence (#5815)\n\nAdd optional package/edge selection and summaries through shared retained Evidence, preserving complete delivery and parent identity.\n\nFixes #5802", + "parents": ["a5f982de8dbe4b092cc20ab89d492b7e7028b758"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5815] + }, + { + "sha": "f801b2fbfd28f4e3713adefddc7bd73db44c284c", + "subject": "feat(sqlite): make worker deadlines adjustable with recovery guidance (#5818)", + "body": "feat(sqlite): make worker deadlines adjustable with recovery guidance (#5818)\n\nExpose a per-call SQLite worker deadline with exact CLI/MCP recovery controls,\nparent-owned execution metadata and historical unknown preservation. Keep fixed\nresource limits and cleanup admission intact. Share typed cleanup composition\nwith one captured-output owner and preserve the timeout after cleanup resolves.\n\nFixes #5812. Follow-up tracking: #5808. Existing CLI test-oracle failure: #5845.\n\nVerified 155 SQLite tests (3 skipped), static/docs/discovery checks, six real\nCLI/MCP pairs and 13 actual Codex sessions including four corrected deadline\nrecoveries. Three pre-dispatch discovery failures remain explicit, not passes.\nReview findings include real retained-cleanup and fixture ownership regressions.\n\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["52415975942a4b9c53a817915b313ccc404f280e"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5818] + }, + { + "sha": "f5410bdc4c86de564ddb24f24df86c41cfdd8bec", + "subject": "fix(apple): keep scalar facts when object-table entries share a record (#5806)", + "body": "fix(apple): keep scalar facts when object-table entries share a record (#5806)\n\nBinary plist object tables may list one object offset more than once;\nplistlib reads each entry independently. The scalar scanner marked any\nrepeated offset as incomplete metadata, which made the number projection\ndrop every exact decimal in the archive. A keyed archive whose entries\n10 and 11 share an Int64 9007199254740993 reported both as observed\n9007199254740992 and rounded an unrelated 2^60+3 sibling, with only the\ngeneric incomplete-metadata caveat.\n\nA repeated valid offset carries the same source facts as its first\nvisit, so observe it once and continue. Offsets that fail to parse still\nmark metadata incomplete. Shared 16-byte integers and dates are rewritten\nonce in the decoder copy, which every entry then reads; the overlap plan\nalready treats one shared offset as one span. Keyed archives and\nInterface Builder decoding share this scanner.", + "parents": ["f801b2fbfd28f4e3713adefddc7bd73db44c284c"], + "authors": [ + { + "name": "Shreyash Patange", + "email": "121314270+Shreyash021104@users.noreply.github.com", + "user": { + "login": "Shreyash021104", + "__typename": "User" + } + } + ], + "pullRequests": [5806] + }, + { + "sha": "d9767eb48f23cbf536dd437ab43fc69f875c5a56", + "subject": "test: assert Result reasons instead of bare ok checks (#5821)", + "body": "test: assert Result reasons instead of bare ok checks (#5821)\n\nMalformed DOS MZ, raw-binary entry, EVM limit, and Ghidra handshake\ncases only checked Result.ok. Name the producer error, or the admitted\nlanguage and compiler, so a different failure cannot keep the test green.\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["f5410bdc4c86de564ddb24f24df86c41cfdd8bec"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5821] + }, + { + "sha": "19f2969c56ae0171bff593da9d6902e54e8e5a9d", + "subject": "fix(ci): align omission and browser transport assertions", + "body": "fix(ci): align omission and browser transport assertions\n\nCheck property absence in an object instead of treating explicit undefined as omission, preserving Zod exactOptional semantics and WASM timeout bounds. Update real-browser disconnect verification to require transport_disconnected and reject an invented crash event.\n\nReproduced the CLI catalog failure on d9767eb48; 37 focused tests and check:ci pass. Real-browser verification runs on hosted CI; Chrome was not launched locally.\n", + "parents": ["d9767eb48f23cbf536dd437ab43fc69f875c5a56"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ea3534759fd4c8309217d1d4c5be0e59428cae83", + "subject": "feat(analysis-view): share templated positions across manifest tools (#5664)", + "body": "feat(analysis-view): share templated positions across manifest tools (#5664)\n\n* docs(specs): plan a template rule that shares templated positions\n\nRecord the outcome, requirements, non-goals, plan and tasks for\nprefix-variance, an opt-in environment-manifest rule that templates a\nliteral segment with the parameter another tool already uses at that\nposition, so a session's writes to one entity share the read's template.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* feat(analysis-view): share templated positions across manifest tools\n\nAdd the opt-in prefix-variance template rule. It runs after the other\nopt-in rules and templates a literal at a position that another tool,\nof any method or segment count, templates by one of those rules after\nthe same preceding parts, when the literal is one of that parameter's\nobserved values or carries a digit and is spelled like one. The\nparameter takes the shared parameter's name, tools that now match merge,\nand a merged position keeps a tool's own rule when one templated it.\n\nA write to the one entity a session edited, such as\nPATCH /api/v1/collections/0RZ576QZQA5KG, becomes\npatch_collections_by_collection_id on the read's template instead of a\nliteral single-entity tool.\n\nTool naming moves to its own module, and the three comparing passes\nshare the 32-segment split. Manifests that do not list the rule are\nunchanged.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* refactor(analysis-view): drop the unused ManifestRule alias\n\nParameters now type their rule as a format rule, a shared opt-in rule\nor prefix-variance, so nothing reads the union alias.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(specs): record the prefix-variance checks and corpus results\n\nRecord the gates, and the 50 showcase captures with and without the\nrule: identical output without it, 25 write and 34 read tools templated\nwith it, and the write tools the write-plan branch serves on top.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(analysis-view): share positions with digit-free generated identifiers\n\nprefix-variance accepted an unobserved literal only when it carried a\ndigit, so a generated identifier that happened to hold none stayed a\nliteral tool: an n8n workflow id such as FkMwxmXNGaGVsXFG, whose reads\nthen never joined the item view. A literal now also qualifies when every\nvalue observed at the position has one length of eight or more characters\nand the literal has that length and uses only their character classes.\n\nAcross the 50 showcase captures this templates 10 more read tools in\nMemos and n8n and no words.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(specs): record five environments rebuilt end to end with the rule\n\nFive randomly drawn environments rebuilt on VMs with the rule and the\nwrite-plan branch: smoke, retrieval and write tasks for two models, and\nthe same calls against the live applications. Record the results, the\nmisses and their causes, and the corpus numbers after the fixed-length\nclause.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(analysis-view): share a position with the parameter that observed the literal\n\nA shared position folded every donor's values into the earliest donor's\nparameter. With an opaque-token read before sibling-variance reads at\nthe same position, a PATCH of /api/items/b2 qualified on the sibling's\nevidence but became /api/items/{uid} instead of joining the item read's\n/api/items/{item_id}. Each position now keeps one donor per naming rule\nwith its own values, and a literal takes the donor that observed it,\nelse the earliest one it is spelled like.\n\nEach donor's spelling (length and character classes of its values, and\nits fixed-length family) is summarised once per position, so a literal\nis checked in time independent of how many values were observed, rather\nthan copying and rescanning them for every candidate.\n\nA family now forms from one observed value, as the requirement says, so\na digit-free id of the same length shares a position that only one\nopaque-token or after-uid-literal tool supplied. The 50 showcase\ncaptures give the same tools as before.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(specs): record the prefix-variance review round\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(analysis-view): bound the spelling summary of shared positions\n\nspellingSummary classified every observed value with three full-size\nreplaceAll copies and a set per distinct character, so a donor holding\na multi-megabyte segment cost unaccounted memory and time in finish().\nCharacters are now classified in one pass, and a value longer than 128\ncharacters takes no part in spelling comparisons: it shares a position\nonly as an exactly observed value. The 50 showcase captures give the\nsame tools.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["19f2969c56ae0171bff593da9d6902e54e8e5a9d"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5664] + }, + { + "sha": "5eebe2fdf87915dc3e4c604ad6945668dd1c6c50", + "subject": "test(cli): treat omitted exactOptional inputs as optional", + "body": "test(cli): treat omitted exactOptional inputs as optional\n\nThe advertised-schema check parsed undefined on each field.\nexactOptional rejects that value and still accepts a missing key, so\ninspect-wasm-artifact looked required for commandTimeoutMs.\n\nJudge omission with an object parse that leaves the key out. The\nadvertised required list already matched that parse for every other\nprimary command.\n\nCo-authored-by: morluto \n", + "parents": ["ea3534759fd4c8309217d1d4c5be0e59428cae83"], + "authors": [ + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c324d31b45fcab77e4ed7320ed60f0bf5a4ba188", + "subject": "test(environment): verify export failures through the real CLI", + "body": "test(environment): verify export failures through the real CLI\n\nRemove shared-module mocks for input reads, heap statistics, and tarball streaming. Exercise actual file changes and real V8 heap admission in fresh CLI processes; keep only selected-descriptor syscall fault injection for the pathless EIO case.\n\nReproduced the four hosted source failures with a preloaded module graph and found the same flaw in the adjacent tarball test. The preloaded control now passes 17 cases; 32 focused tests, all 1,739 service tests (2 skips), and check:ci pass. Snapshot, cleanup, identity, and error projection coverage is retained.\n", + "parents": ["5eebe2fdf87915dc3e4c604ad6945668dd1c6c50"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c76edbebbe1e25c2bf821ec04d08dc851e37626c", + "subject": "test(pe): bind acceptance calls to advertised MCP definitions", + "body": "test(pe): bind acceptance calls to advertised MCP definitions\n\nPass the exact named tool descriptors to SDK callTool for PE resource inspection and session inventory. Avoid full-catalog validator compilation while retaining SDK output validation, every CLI/MCP scenario, cleanup, and the unchanged 30-second deadline.\n\nThe complete focused test passed locally in 7.1 seconds versus 11.0 seconds before this change; host load and CPU/memory costs were not controlled or measured. check:ci passes.\n", + "parents": ["c324d31b45fcab77e4ed7320ed60f0bf5a4ba188"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "647717c050ff4dbaef83fb1c5555ef5c33979cd4", + "subject": "perf(javascript): reuse the source-analysis worker within a process (#5819)", + "body": "perf(javascript): reuse the source-analysis worker within a process (#5819)\n\n* perf(javascript): reuse the source-analysis worker within a process\n\nEach analyze-javascript-application call started a new Node worker.\nThat startup, not fixture IO or the shared CLI session, dominated the\nslow loader-review and factory-completion files.\n\nPark one healthy worker on the artifact resource scope and on the CLI\nprocess. Stop it when the scope, session, or one-shot process ends.\nDo not reuse after failure, cancellation, or a different heap or timeout.\n\nCo-authored-by: morluto \n\n* fix(cli): close the JavaScript worker when dispatch throws\n\nMinimal dispatcher runtimes now export a no-op closeCliJavaScriptResources,\nand CLI dispatch plus output rendering always await that cleanup. A dispatch\nfailure and a cleanup failure are both reported.\n\nCo-authored-by: morluto \n\n* fix(artifacts): report close-hook failures with retained cleanup\n\nWhen retained cleanup and the scope close hook both fail, the close error\nkeeps both causes and both resource labels. The pending owners and the hook\nstay registered so the next close retries each path.\n\nCo-authored-by: morluto \n\n* fix(javascript): stop a replaced analysis worker before the next one starts\n\nA heap or timeout change now closes the parked worker before constructing\nits replacement. The scope retains that process only when the close fails.\n\nCo-authored-by: morluto \n\n* style: format worker-reuse close and launch helpers\n\nCo-authored-by: morluto \n\n* fix(cli): report a failed JavaScript worker shutdown before exit\n\nShare one in-flight close and drop the CLI scope only after it succeeds,\nso a later caller retries a worker that is still owned. The one-shot\nexit callback writes that failure and exits non-zero, while a closed\nstdout pipe still exits 141.\n\nCo-authored-by: morluto \n\n* fix(javascript): keep a worker parked during an overlapping limit change\n\nClaim the scope slot only when it is still empty after the replaced\nworker closes. A concurrent analysis that parked another healthy worker\nkeeps that process, and the extra worker is closed through its own port.\n\nCo-authored-by: morluto \n\n* fix(artifacts): run later close hooks when an earlier hook fails\n\nRun every registered close hook on each close. One failure is returned\nunchanged, and several failures are aggregated so a later hook is not\nskipped.\n\nCo-authored-by: morluto \n\n* fix(javascript): fail a limit change when the previous worker stays alive\n\nA failed close used to be retained and then ignored, so MCP could return\na successful analysis while the old process and its replacement were\nboth owned. The request now fails before the replacement is constructed,\nand the still-live worker stays owned for a later close.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["c76edbebbe1e25c2bf821ec04d08dc851e37626c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5819] + }, + { + "sha": "efab044f303ae3d957d977730bb1628063223236", + "subject": "feat(gpu): inspect static CUDA and HIP code objects (#5813)", + "body": "feat(gpu): inspect static CUDA and HIP code objects (#5813)", + "parents": ["647717c050ff4dbaef83fb1c5555ef5c33979cd4"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5813] + }, + { + "sha": "bcfcd8b6e2ee0c44c7ac656688db5ceb61a847d5", + "subject": "fix(sqlite): attribute generated-column evaluation failures to the selection (#5879)", + "body": "fix(sqlite): attribute generated-column evaluation failures to the selection (#5879)\n\n* fix(sqlite): attribute generated-column evaluation failures to the selection\n\nA selected virtual generated column whose expression needs a function the\nread-only connection lacks (or raises an SQL error for a sampled row) was\nclassified by the worker's catch-all as a malformed database and projected as\nan invalid_format issue on `path`.\n\nRow reads now attribute SQLITE_ERROR from selected cells by probing each\nselected virtual generated column over the sampled rows, and report a\ntyped capability_unavailable refusal naming the table, each failing column\nwith SQLite's message, and the remaining columns to select. Other causes,\nincluding corruption, TOOBIG and NOMEM, keep their classification.\n\nFixes #5719\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(sqlite): recommend only probed-readable columns after evaluation failures\n\nRecord every per-column probe failure with its own reason, discover stored\ncolumns outside an inventory-scope selection without decoding unrelated\nmalformed names, and present recovery as the structured columns selection\ninstead of shell-quoted command text built from database-supplied names.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["efab044f303ae3d957d977730bb1628063223236"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5879] + }, + { + "sha": "aa53c065387c58b4189d82c47f1f3445fc505e30", + "subject": "feat(firmware): make analysis deadlines recoverable per call", + "body": "feat(firmware): make analysis deadlines recoverable per call\n\nExpose per-call firmware analysis budgets with exact recovery guidance, shared\nCLI/MCP validation and retained actual settings. Keep publication and fixed\nresource policy independent; preserve typed interruption and one captured-output\nowner through command and one-shot cleanup.\n\nFixes #5851. Executed verification, real-provider limits, known baseline issues\nand authorized readiness override are recorded in #5863.\n\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["bcfcd8b6e2ee0c44c7ac656688db5ceb61a847d5"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5863] + }, + { + "sha": "33f912919d5884d1019eb7f17b202db1b77296a9", + "subject": "perf(apple): reuse retained Interface Builder graph validation (#5885)", + "body": "perf(apple): reuse retained Interface Builder graph validation (#5885)\n\nReuse successful owning-schema validation only for exact immutable Evidence snapshots, preserve current parent binding and complete source facts, and collect only requested document pages.\n\nVerify real XLD CLI/MCP workflows and archived connector UIDs, including complete pre-change baselines for both admission sizes and a wrong-baseline negative control.\n\nFixes #5855.", + "parents": ["aa53c065387c58b4189d82c47f1f3445fc505e30"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5885] + }, + { + "sha": "905cbaf2398c905e96a1492b6145ece13e91c3cc", + "subject": "perf(ci): use tsrs and reduce PE acceptance startup (#5795)", + "body": "perf(ci): use tsrs and reduce PE acceptance startup (#5795)\n\nUse pinned tsrs on supported development hosts while retaining stable official\nTypeScript on Windows and unsupported platforms. Partition compile/typecheck\ncaches by actual compiler and qualify fallback hosts for compiler inputs and\nlifecycle hooks.\n\nReduce PE acceptance startup through the existing bounded compiled CLI. Retain\nupstream named MCP definitions, every fixture/assertion and the original 30s\ndeadline. Verify that browser transport loss preserves the observed target.\n\nValidation: full qualification and real host lanes in\nhttps://github.com/morluto/rea/actions/runs/39590450889 ; 450 focused regressions\npassed with two documented conditional skips. All 1724 production emit files\nmatch SHA-256 and size across both compilers. Current-head Codex/Greptile review\nfound no actionable issues. Measurements and limitations are in the PR.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)", + "parents": ["33f912919d5884d1019eb7f17b202db1b77296a9"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5795] + }, + { + "sha": "c2bee63e998c414070f0c5d8b9a83549e260388a", + "subject": "fix(evidence): clear staged write cleanup state after a confirmed retry (#5852)", + "body": "fix(evidence): clear staged write cleanup state after a confirmed retry (#5852)\n\nThe atomic JSON writer reported a failed staging-directory release as\ncleanup state on the returned EvidenceFileError or AnalysisCancelledError,\nbut never bound that error to the retained staging lease. A later scope\nretry that removed the stage could not clear the error, so\n`rea evidence-export` (and other writers sharing the scope, such as\n--evidence-output delivery) kept reporting cleanup_incomplete and a\nretained resource after cleanup had completed.\n\nBind each staged-output cleanup failure, and each admission retry\nfailure, to its exact leases so confirmed release restores the primary\noutcome. Export recovery now reads that bound state instead of a local\nclose flag. A retry that still fails keeps the error incomplete with the\nsame retained stage.\n\nFixes #5842\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["905cbaf2398c905e96a1492b6145ece13e91c3cc"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5852] + }, + { + "sha": "7f9a492a8ded24a561397fe2199559274b7c03f5", + "subject": "fix(signals): report unknown decoder help IDs as invalid input (#5858)", + "body": "fix(signals): report unknown decoder help IDs as invalid input (#5858)\n\ninspect_signal_decoders turned sigrok's explicit missing-decoder refusal\ninto execution_failure with rea doctor advice, while decode_signal_recording\nalready reported the same refusal as invalid_request on decoders.\n\nThe sigrok selector classifier now owns the unknown-ID match for both\nselections: help names the decoder field and points to catalog discovery,\ndecoding keeps decoders/annotations. The provider passes each producer\ncommand's caller selection to that one owner instead of per-call closures.\nInstalled decoders that fail to load and refusals naming other IDs remain\nprovider failures. The real-sigrok verifier now asserts the typed refusal\nfor both operations.\n\nFixes #5849\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["c2bee63e998c414070f0c5d8b9a83549e260388a"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5858] + }, + { + "sha": "d124809950d2e6cafb95f95a9171d44dec3ef5a6", + "subject": "fix(android): report a rejected relative JADX JAR instead of an unset one (#5862)", + "body": "fix(android): report a rejected relative JADX JAR instead of an unset one (#5862)\n\nA supplied non-absolute REA_JADX_MCP_JAR was folded into the unset case,\nemitting not_configured with jar_configured: false and dropping the\ncaller-selected value. The JAR parser now keeps the two outcomes distinct:\nunset stays not_configured, while a supplied non-absolute value (including\nan empty string) fails with open_options_invalid, jar_configured: true, the\nexact rejected jar_path and the absolute-path requirement. CLI, MCP and\ndoctor derive their output from that one boundary result.\n\nFixes #5844\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["7f9a492a8ded24a561397fe2199559274b7c03f5"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5862] + }, + { + "sha": "ce1f4b1bbaced57529d609f3007a76de583e11c4", + "subject": "fix(artifacts): report unknown inventory traversal in inspection coverage (#5867)", + "body": "fix(artifacts): report unknown inventory traversal in inspection coverage (#5867)\n\nfix(artifacts): keep unknown inventory traversal out of complete inspection coverage\n\nArtifact inspection derived its coverage status only from always-zero\nomission counts, so an inventory substep with unknown container-entry\ntraversal (for example, an omitted FIFO) yielded\ncomplete-within-substeps. Analysis-view summaries also exposed the\ninventory's typed source_coverage only for PCK and PyInstaller roots.\n\nDerive the inspection status from the inventory substep's coverage\n(unknown traversal is partial), and carry the producer's source_coverage\nplus the traversal-unknown caveat in every artifact summary. Hash-count\nfields keep their existing format gating.\n\nFixes #5837\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["d124809950d2e6cafb95f95a9171d44dec3ef5a6"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5867] + }, + { + "sha": "5b014a739e64711261275ffd1fce7716916ab617", + "subject": "fix(adb): report unrecognized package rows from resolve-adb-packages (#5874)", + "body": "fix(adb): report unrecognized package rows from resolve-adb-packages (#5874)\n\nresolve_adb_packages marked coverage partial when pm list packages printed\nunrecognized rows, but dropped the rows themselves and could still emit a\nlimitation describing an unparsed_lines field the result never carried.\n\nADB parsers now own unrecognized-line facts as a bounded sample (first ten)\nplus the exact total, and a single provider projection derives\nunparsed_lines, coverage, and the truncation limitation from those facts for\nevery parsed listing and the package search. The resolver result schema now\ncarries unparsed_lines, matching list_adb_packages through CLI and MCP.\n\nFixes #5843\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["ce1f4b1bbaced57529d609f3007a76de583e11c4"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5874] + }, + { + "sha": "35d6d5bb0acaf8cd99399c1167dfef309d6add19", + "subject": "fix(artifacts): admit ZIP archives after unclaimed leading bytes (#5803)", + "body": "fix(artifacts): admit ZIP archives after unclaimed leading bytes (#5803)\n\n* fix(artifacts): admit ZIP archives after unclaimed leading bytes\n\nZIP recognition required the archive at byte 0, so a ZIP behind a\nscript or self-extractor stub was refused as an unsupported binary\nformat although standard readers accept it. Target resolution and root\ninventory now locate a trailing single-disk ZIP from its end record,\ncentral directory and first local header, whether member offsets include\nthe leading bytes or not. Leading bytes any executable header family\nclaims keep their executable route.\n\nFixes #5732\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(artifacts): share the root ZIP family across recognition paths\n\nThe trailing-ZIP fallback named a stub-prefixed root `.app` archive\n`zip`, while root inventory and the leading-signature route name it\n`app-pack`. The root mapping now lives once in `zipRootPackageFormat`\nand both target resolution routes and root inventory use it.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["5b014a739e64711261275ffd1fce7716916ab617"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5803] + }, + { + "sha": "705058f3e2df82503f1c601fc464aea7cbb626b8", + "subject": "fix(javascript): count one IPC observation per site-resolved channel (#5810)", + "body": "fix(javascript): count one IPC observation per site-resolved channel (#5810)\n\n* fix(javascript): count one IPC observation per site-resolved channel\n\nA send with a local constant channel was recorded twice: once unresolved\nby the syntax pass and once resolved by wrapper substitution, because\nduplicates were keyed on the channel. A channel the call site determines\nnow resolves that observation in place. A channel supplied through a\nwrapper argument stays a candidate beside the unresolved observation.\nInvocation identity now follows the call that supplies the wrapper's\nliteral arguments, so one wrapper call reached through several entries\nis recorded once.\n\nFixes #5710\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(javascript): keep wrapper invocations distinct while removing repeats\n\nTaking the nearest literal call as invocation identity collapsed separate\nouter calls that pass different handlers through one wrapper call. Entry\nidentity is restored, and a finding is a repeat only when an identical\nfinding was reached through the same trailing local calls. A registration\nreplaces its unresolved source observation only when the site also\ndetermines its handler, so a parameter handler keeps the generic source\nregistration beside per-invocation candidates.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(javascript): compare site-determined IPC handlers by value\n\nIn-place resolution compared handler representations, so a constant\nchannel with a named local handler (recorded as an identifier by the\nsyntax pass and as its function by substitution) stayed counted twice.\nThe handler is now site-determined when it evaluates to the same function\nin the site's lexical environment. A replaced observation also removes\nthe syntax pass's unknown-channel contribution, so a fully resolved file\nis no longer reported as partial.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(javascript): keep closures over invocation values as distinct IPC handlers\n\nA handler node created in different wrapper activations may capture\ndifferent values, so the same function node alone does not prove the call\nsite determines the registration.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(javascript): guard optional call paths in closure handler test\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(javascript): decide IPC handler identity from activation captures\n\nA closure is one site-determined handler only when it reads no binding of a\nfunction this trace activated, such as a wrapper parameter or factory local.\nUnused bindings in the activation no longer split a known listener, and\nclosures over outer-call values stay distinct when a shorter entry traced\nthe same wrapper call.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(javascript): treat implicit captures and bundle modules precisely in IPC handler identity\n\nAn arrow handler reading its enclosing function's arguments or this captures\nthat activation. A bundle module factory runs once per module load, so its\nbindings are shared by every trace rather than per-invocation captures.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(javascript): attribute an arrow handler's inherited context to its owner\n\nAn arrow inherits this and arguments from the nearest non-arrow function, so\nan activated arrow inside that owner does not make the handler depend on\nthe traced call.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(javascript): skip suffix scans for per-invocation IPC handlers\n\nCheck activation capture before scanning recorded call chains, keep the\nchains of capture-dependent handlers out of the index, append chains in\nplace, and treat an arrow's inherited super and new.target as captures.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(javascript): supersede nested-entry IPC records and share module-init factories\n\nA shorter entry traced alone no longer swallows the outer calls that invoke\nthe same wrapper sequence: the first fuller path takes over its record and\nseparate outer calls stay distinct invocations. A factory activation called\nat module scope runs once per load, so its closure is shared unless the\ntrace itself makes that call. The resolver now owns bundle module-factory\nrecognition instead of an environment marker.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["35d6d5bb0acaf8cd99399c1167dfef309d6add19"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5810] + }, + { + "sha": "25e1a24a3ed3671a0148757555f18d16c29d936a", + "subject": "fix(reconstruction)!: summarize obligation ledgers by cited Evidence authority (#5875)", + "body": "fix(reconstruction)!: summarize obligation ledgers by cited Evidence authority (#5875)\n\nsummary.by_evidence_authority bucketed each obligation's source_state, so a\nshipped-artifact and a controlled-replay ledger returned the same summary and\nthe promised authority breakdown was unanswerable.\n\nDerive the buckets from authority_references[].authority using the Evidence\nauthority vocabulary owned by the Evidence schema. An obligation counts once\nunder each distinct authority it cites, so counts can exceed total. Keep the\nsource-state histogram under its own name, by_source_state. The readiness\nexample now derives its summary from the same owner function instead of\nhand-writing buckets.\n\nBREAKING CHANGE: summary.by_evidence_authority keys are now Evidence\nauthorities (shipped-artifact, controlled-replay, historical-reference,\nexternal-service, analyst-inference) instead of source states. The previous\nstate counts move to the new required summary.by_source_state. Ledger closure\ndigests change accordingly.\n\nFixes #5838\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["705058f3e2df82503f1c601fc464aea7cbb626b8"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5875] + }, + { + "sha": "c538a843cb49f7156f86beb3b21501e03255af9a", + "subject": "fix(ci): keep Windows ACL observation in SID form (#5941)", + "body": "fix(ci): keep Windows ACL observation in SID form (#5941)\n\nObserve private-runtime ACL ownership, trustees and rule count from one SID\nrule collection. Guard the account-name presentation member through the owning\nPowerShell type and verify that guard is installed. Keep the original15s probe\ndeadline and every ACL/readonly assertion.\n\nRecord bounded phase diagnostics and document the observed failure boundary.\nThe repeated historical timeout cause is unconfirmed; no retry or deadline\nincrease is presented as a fix.\n\nValidation: complete current-head CI passed40 jobs with one source-only skip;\nreal Windows typecheck, curated/native controls, package and Node24/22 checks\npassed. PowerShell7.5.2 API/parser experiment and278 routing regressions passed.\nFull evidence: https://github.com/morluto/rea/actions/runs/39599008194\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)", + "parents": ["25e1a24a3ed3671a0148757555f18d16c29d936a"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5941] + }, + { + "sha": "6d356b84344659085f2b912857b5e27fe0160c9b", + "subject": "test(ci): keep module mocks in isolated test projects (#5886)", + "body": "test(ci): keep module mocks in isolated test projects (#5886)\n\n* test(ci): keep module mocks in isolated test projects\n\nA module mock registered after another file in the same worker loaded the\nmodule never applies, so a mocking test in a project that shares one module\ngraph passes or fails with file scheduling. That is how the environment\nexport source tests failed on hosted runs until c324d31b4 removed their\nmocks.\n\nGuard the rule: every tracked test using vi.mock or vi.doMock must belong\nto an isolated project. Move the last shared-graph case,\nDirectAnalysisStatFailure, which mocks node:fs/promises, into process-global\nbeside the other module-mocking workflow tests.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(pe): share one compiled CLI process across PE resource inspections\n\nThe acceptance test started a fresh CLI process for each of its fixtures\ninside one 30 s test deadline. Hosted runs took 24-27 s and c324d31b4 timed\nout. Every inspection there reads no stdin and sets no deadline, so use the\nfixture's file-scoped compiled CLI process. Local time drops from 8.5 s to\nabout 3.9 s with the same assertions.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["c538a843cb49f7156f86beb3b21501e03255af9a"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5886] + }, + { + "sha": "5df59ee1fd630b9062f39e9f375ea850657d0aad", + "subject": "fix(errors): name fixed plist decode allowances instead of host memory in recovery (#5860)", + "body": "fix(errors): name fixed plist decode allowances instead of host memory in recovery (#5860)\n\nfix(errors): derive fixed-allowance recovery from a typed refusal field\n\ninspect_plist refused a binary plist above its fixed 64 MiB decode\nestimate, or nested deeper than 128 levels, with resource \"memory\" and no\nrecovery, so the shared presentation told the caller to add worker or\nhost memory. Neither raises that allowance. The 64 MiB source-size refusal\nlikewise got the worker file-size advice for evidence replies.\n\nAnalysisResourceConstraintError now carries a typed fixedAllowance\n{ name, kind }. fixedAllowanceOptions sets it instead of a prebuilt\nstring, and the presentation derives the recovery from it, so every\nexisting fixed-allowance producer moves to the same field. Operation\nre-attribution, IDA startup re-attribution and explicit redaction copy the\nfield through one resourceConstraintRecovery helper; redaction still\napplies to the allowance name.\n\nThe plist decode, nesting and input refusals use the field. A nesting\nrefusal now reports maximum_nesting_depth instead of the decode byte\nlimit it did not exceed.\n\nFixes #5847\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["6d356b84344659085f2b912857b5e27fe0160c9b"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5860] + }, + { + "sha": "4423b6fff21f0c36880cd5f26db6c9abfcd26ea6", + "subject": "fix(process): reject finite trace variants that only reorder unordered members (#6006)", + "body": "fix(process): reject finite trace variants that only reorder unordered members (#6006)\n\nDuplicate-variant validation keyed each finite trace by its JSON form, which\npreserves the member order of unordered tokens that matching treats as a\nmultiset. Key traces by the observations they accept instead: sort unordered\nmembers and expand a token that repeats one event into that event's sequence,\nkeeping token positions and multiplicities significant.\n\nFixes #5916\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["5df59ee1fd630b9062f39e9f375ea850657d0aad"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6006] + }, + { + "sha": "c8d3f8f8ec4efa1e66e25f680e83500d1f390bd3", + "subject": "fix(firmware): keep a missing producer report distinct after exit 0 (#6008)", + "body": "fix(firmware): keep a missing producer report distinct after exit 0 (#6008)\n\n* fix(firmware): keep a missing producer report distinct after exit 0\n\nA firmware engine that exits 0 without writing its requested report now\nfails with the observed report state (missing, empty, invalid_json,\noversized, not_regular_file), the command, arguments, exit status and\ncaptured output, plus report-specific recovery instead of generic\n`rea doctor` advice. REA still does not retry or substitute an empty\nresult.\n\nFixes #5876\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(firmware): keep missing-report recovery from replaying removed paths\n\nThe recorded command arguments name REA's private workspace, which is\nremoved after the attempt. Recovery now presents them as provenance and\ntells callers to replace every private path when reproducing the run.\nCover the oversized and not_regular_file report states.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["4423b6fff21f0c36880cd5f26db6c9abfcd26ea6"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6008] + }, + { + "sha": "63b43b69bbc28855cdc47e9842efd85d69718a75", + "subject": "fix(javascript): refuse Webpack loaders that can fall off the end (#6007)", + "body": "fix(javascript): refuse Webpack loaders that can fall off the end (#6007)\n\n* fix(javascript): refuse Webpack loaders that can fall off the end\n\nThe bootstrap integrity proof accepted any loader whose explicit returns\nall yielded the module's exports. A loader with no returns, or with only\nthe cache-hit return, passed vacuously even though its miss path returns\nundefined, so a bundled `n(45840).BrowserWindow` became an exact Electron\nwindow.\n\nRequire that the loader body cannot complete normally before the proof\nchecks its returns, so the bundled-call identity stays unresolved while\nthe literal require(\"electron\") reference is preserved.\n\nFixes #5958\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(javascript): cover finally completion in Webpack loader proofs\n\nGroup the loader completion-path cases in their own suite and add\nfocused finally cases: a completing finally keeps a falling-through\ncatch unproven, a finally returning another value stays unresolved, and\na finally returning the exports proves the loader.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(javascript): keep IPC checks for unresolved Webpack loader cases\n\nShare the unresolved-identity assertion so the completion-path cases\nalso reject directly attributed IPC observations.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["c8d3f8f8ec4efa1e66e25f680e83500d1f390bd3"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6007] + }, + { + "sha": "2319166c2e5e2c0fe54e985363f297b0e3b3419f", + "subject": "fix(reconstruction): keep complete contradictions beside incomplete entries (#6009)", + "body": "fix(reconstruction): keep complete contradictions beside incomplete entries (#6009)\n\nThe obligation ledger flattened every contradiction entry for an obligation\ninto one Evidence list, so one entry naming absent Evidence suppressed a\nsibling entry whose Evidence was all present. Group whole manifest entries\nand evaluate each one: any complete entry still reports `contradiction`,\nwhile absent references from any entry stay visible as\n`contradiction-evidence-missing`.\n\nShare the ready packaged-process request fixture with the CLI boundary test,\nwhich now covers both entry orders through the public command.\n\nFixes #5925\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["63b43b69bbc28855cdc47e9842efd85d69718a75"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6009] + }, + { + "sha": "1f92c773989585a7c0f3255b7a9264789394908c", + "subject": "fix(adb): report an unparsed push checksum as unverified (#6010)", + "body": "fix(adb): report an unparsed push checksum as unverified (#6010)\n\nfix(adb): derive push digest source from the parsed device digest\n\nA zero-exit sha256sum whose output held no recognizable digest produced\ndevice_sha256: null with device_digest_source: \"device_sha256sum\" and\ndropped the not-device-side-verified limitation. The push receipt now\ntakes one tagged device digest, so the source can only name sha256sum\nwhen a digest was parsed; unrecognized output reports \"unavailable\",\nthe unverified limitation, and the raw command output. The sha256sum\nparser moves to AdbShellOutput and accepts GNU's escaped-name prefix.\n\nFixes #5924\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["2319166c2e5e2c0fe54e985363f297b0e3b3419f"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6010] + }, + { + "sha": "4dfa1c67dc89286b3348cd519d66e35d2d3538ac", + "subject": "fix(capture): keep excluded MIME protobuf applicability partial (#6012)", + "body": "fix(capture): keep excluded MIME protobuf applicability partial (#6012)\n\n* fix(capture): keep excluded MIME protobuf applicability partial\n\nAutomatic protobuf framing treated an explicitly excluded, conflicting or\nunavailable Content-Type the same as a known-absent one, so a selected body\nwas skipped and coverage still upgraded to complete. Body metadata now\nreports whether MIME applicability is established; an unresolved non-empty\nbody adds a record limitation and keeps protobuf_coverage partial. HAR uses\nits required mimeType, falling back only to a visible header value.\n\nFixes #5926\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(capture): compare repeated Content-Type declarations by essence\n\nRepeated Content-Type headers that differ only by case, whitespace or\nparameters declare the same media type, yet the raw-string comparison\ncollapsed them to an unknown value and the new applicability check\nreported partial coverage. Body metadata now compares media-type\nessences and owns automatic framing selection, so the consumer no longer\nre-parses the raw value; framing lookup ignores inherited properties.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["1f92c773989585a7c0f3255b7a9264789394908c"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6012] + }, + { + "sha": "d4c637f4cfcb7ae3b48d0c3047f0e9171d43b26d", + "subject": "fix(browser)!: keep malformed console argument inventories unknown (#6016)", + "body": "fix(browser)!: keep malformed console argument inventories unknown (#6016)\n\n* fix(browser)!: keep malformed console argument inventories unknown\n\nAn omitted, null, or non-array Runtime.consoleAPICalled args inventory now\nreports argument_types as null, text capture as unavailable, and\nconsole_events as invalid_protocol_value instead of a complete empty\ninventory. Malformed argument elements keep their CDP position as\n\"unknown\", so retained text values keep their original argument_index.\n\nCall-site attribution now uses the frame at position zero: a malformed top\nstack frame is no longer replaced by its caller. Console events are\nexcluded and request initiator locations are null, both reported as\ninvalid_protocol_value.\n\nBREAKING CHANGE: console event argument_types may now be null, and\nconsole text_capture.status may now be \"unavailable\", when the CDP\nproducer omits or malforms the argument inventory.\n\nFixes #5934\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(browser): report malformed WebMCP registration stacks as incomplete\n\ntopCallFrame now owns the omitted-versus-malformed decision for the whole\nstack value: an omitted stack has no call site, while a non-object stack,\nnon-array callFrames, or a malformed top frame is malformed. WebMCP\ndiscovery keeps the tool with a null registration_source but records\nwebmcp_tools invalid_protocol_value, so capture comparisons stay unknown\ninstead of confirming a changed source. Console and initiator stacks use\nthe same rule.\n\nRefs #5934\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["4dfa1c67dc89286b3348cd519d66e35d2d3538ac"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6016] + }, + { + "sha": "dc53c11f6d68790a0046159be59f5bdd839ffcf4", + "subject": "fix(process): keep structural capture issues alongside semantic ones (#6020)", + "body": "fix(process): keep structural capture issues alongside semantic ones (#6020)\n\nparseProcessCapture re-threw only the custom (semantic) schema issues as a\nTypeError whenever any existed, discarding structural issues found in the\nsame parse. Throw the schema's ZodError instead so every issue is retained\nand describeValidationFailure reports the first issue with the remaining\ncount. Reconstruction obligation candidates now use that same formatter\ninstead of the raw error message.\n\nFixes #5957\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["d4c637f4cfcb7ae3b48d0c3047f0e9171d43b26d"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6020] + }, + { + "sha": "8e3bf56e11bcb56d0e8754fdfa32a7a9f004ca13", + "subject": "fix(electron): record actions skipped after a failed action (#6023)", + "body": "fix(electron): record actions skipped after a failed action (#6023)\n\nAn Electron scenario stopped at the first failed or cancelled action and\nreturned no record for the remaining declared actions, so\nnormalized_result.actions could not account for the whole scenario.\n\nRecord every remaining action as cancelled with a not-executed error, the\nrepresentation browser scenarios already use. Both runners now share one\nhelper for that error, which also distinguishes a stop caused by request\ncancellation from one caused by an action failure.\n\nFixes #5943\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["dc53c11f6d68790a0046159be59f5bdd839ffcf4"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6023] + }, + { + "sha": "f86206535f8ec71014781f9d432a84b01e183e5d", + "subject": "fix(ci): validate artifact MCP replies against named schemas (#6021)", + "body": "fix(ci): validate artifact MCP replies against named schemas (#6021)\n\nBind artifact lifecycle and analysis calls to their advertised named SDK\noutput schemas, sharing discovery per connection and rebinding on reconnect.\nReject schema overrides and ambiguous catalogs, preserve request options,\nand retain primary failures while attempting all owned cleanup.\n\nAdd real-stdio boundary regressions for malformed output, discovery reuse,\nreconnection, schema ambiguity, override rejection and timeout preservation.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["8e3bf56e11bcb56d0e8754fdfa32a7a9f004ca13"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6021] + }, + { + "sha": "d8a9673fc44fde4bd30ff98c241886e6683580ca", + "subject": "fix(process): name the Swift compile deadline (#6071)", + "body": "fix(process): name the Swift compile deadline (#6071)\n\nName REA_SWIFTC_COMPILE_TIMEOUT_MS, its effective milliseconds, the\n1..2147483647 range, and the omitted 120000 ms default when a Darwin\nownership-helper compile times out. A change applies after REA restarts,\non the next ownership-helper compile.\n\nProducer SIGXCPU and SIGXFSZ recovery says REA retains the tighter\ninherited limit. Agent-visible fixed caps in this theme say this release\nhas no runtime override. Numbers are unchanged.\n\nRefs #5910\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["f86206535f8ec71014781f9d432a84b01e183e5d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6071] + }, + { + "sha": "01ee6551b4a39088cb93546f9f1cf4fe62956519", + "subject": "fix(ci): use one heap snapshot for JavaScript admission (#6081)", + "body": "fix(ci): use one heap snapshot for JavaScript admission (#6081)\n\nRead the V8 limit and used heap together for initial admission, checkpoint\ndecode and remaining result capacity. Remove the duplicated second heap/RSS\nobservation while preserving every reserve and ceiling.\n\nMake the controlled parent-capacity fixture internally consistent and test\nboth unchanged usage and a later one-MiB collection. Real worker/transfer\ncoverage still retains static/module facts and declines only the large graph.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["d8a9673fc44fde4bd30ff98c241886e6683580ca"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6081] + }, + { + "sha": "aa51e4343963fdd0b97ec2ebdc3c41579fd9cb38", + "subject": "perf(mcp)!: default to compact input schema advertisements (#5975)", + "body": "perf(mcp)!: default to compact input schema advertisements (#5975)\n\nUse compact MCP input advertisements by default while preserving explicit full, canonical validation, output contracts and complete Evidence. Require an explicit selected catalog for runtime identity and honor both profiles in CLI status.\n\nReal ripgrep/Zellij SDK tasks, independent ELF oracle, actual client trials, profile parity workflows and CI are recorded in experiments/analysis-efficiency/mcp-input-catalog.md. SDK token estimates improve; actual Codex token savings and general latency/memory gains are not established.\n\nRefs #5861\n\nBREAKING CHANGE: MCP input advertisements default to compact. Set REA_MCP_INPUT_SCHEMA_PROFILE=full for complete advertised guidance and nested constraints.", + "parents": ["01ee6551b4a39088cb93546f9f1cf4fe62956519"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5975] + }, + { + "sha": "01788bac863ac786bfbb648cad69b11e23b40a89", + "subject": "fix(android): name the JADX deadline and recover apktool decode (#6024)", + "body": "fix(android): name the JADX deadline and recover apktool decode (#6024)\n\n* fix(android): name the JADX deadline and recover apktool decode\n\nJADX operation timeouts now name REA_JADX_OPERATION_TIMEOUT_MS, the\neffective milliseconds, the 1..2147483647 range, and that a change applies\non the next process start. Apktool decode accepts decode_timeout_ms,\nomitted means 600000, and a timeout names that key. ADB deadlines and\napktool and Java version probes stay fixed and say there is no runtime\noverride.\n\nRefs #5910\n\nCo-authored-by: morluto \n\n* fix(android): derive capture recovery from the fixed allowance\n\nMain now stores a fixed allowance instead of a prebuilt remediation\nstring. Apktool and adb capture refusals keep the no-runtime-override\nsentence in that allowance name, including that decode_timeout_ms does\nnot raise the apktool output cap.\n\nCo-authored-by: morluto \n\n* test(apktool): observe a real decode deadline and process cleanup\n\nA hanging interpreter launcher and its pipe-holding child stay alive\nuntil decode_timeout_ms elapses. The provider then reports\nprovider_timeout with completed cleanup, and both processes are gone.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["aa51e4343963fdd0b97ec2ebdc3c41579fd9cb38"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6024] + }, + { + "sha": "a0214e0e0e46ae74a57c8a373e5fd0772894902d", + "subject": "fix(javascript): name heap and semantic ceilings (#6022)", + "body": "fix(javascript): name heap and semantic ceilings (#6022)\n\n* fix(javascript): name heap and semantic ceilings\n\nRefs #5910. Heap exhaustion names max_heap_mb with its effective value,\nrange, and next-analysis worker restart. Semantic ceiling coverage names\nthe four max_semantic_* arguments. Wakaru and transfer ceilings say this\nrelease has no runtime override.\n\nCo-authored-by: morluto \n\n* fix(javascript): distinguish adjustable ceilings from fixed limits\n\nThe effective transfer file ceiling and the parent result budget follow\nthe CLI/MCP process heap, so recovery names NODE_OPTIONS instead of\ndenying an override. A provenance report over 8 MiB keeps the fixed\nallowance guidance, and the Wakaru deadline says an unchanged retry may\nhit it again.\n\nRefs #5910\n\nCo-authored-by: morluto \n\n* fix(javascript): keep Bun OOM and checkpoint heap controls distinct\n\nBun heap-exhaustion exits no longer claim the ignored max_heap_mb V8\nold-space limit. Checkpoint decode names the parent heap and Node\nNODE_OPTIONS, the same control as the parent result budget.\n\nRefs #5910\n\nCo-authored-by: morluto \n\n* fix(javascript): name semantic ceilings without claiming both were reached\n\nTruncated semantic retention names the total and per-file controls as\neffective ceilings. Callers only know that retention was truncated, so\nthe limitation no longer says both ceilings were reached.\n\nRefs #5910\n\nCo-authored-by: morluto \n\n* fix(javascript): name only the semantic ceiling that stopped retention\n\nSemantic ceiling limitations claimed both the application total and the\nper-file control whenever either one truncated the graph. Record which\noffered budget stopped node and unknown retention, and name only those\ncontrols. Coverage limits still list both effective values.\n\nCo-authored-by: morluto \n\n* fix(javascript): require a value in the NODE_OPTIONS heap example\n\nA bare --max-old-space-size is an illegal V8 flag and prevents Node from\nstarting. Parent-heap and transfer-ceiling recovery now share\n--max-old-space-size=, and the Kuna heap remediation uses the same\ncomplete form.\n\nCo-authored-by: morluto \n\n* fix(javascript): limit the old-space placeholder to NODE_OPTIONS recovery\n\nThe review covers the CLI/MCP NODE_OPTIONS example and the transfer-ceiling\ncopy. The Kuna heap-headroom sentence stays unchanged.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["01788bac863ac786bfbb648cad69b11e23b40a89"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6022] + }, + { + "sha": "0583fc69beccc03b46bc702348a4dd0bf783af95", + "subject": "perf(javascript): query selected source-to-bundle facts (#6128)", + "body": "perf(javascript): query selected source-to-bundle facts (#6128)\n\nSelect completed source-to-bundle mappings and candidates through the shared view owner, preserve reference-file provenance, and retain full Evidence. Reuse bounded JSON reading, heap admission, and cancellation before session writes.\n\nVerified public Redux Toolkit source/map facts with an independent oracle, equivalent CLI/MCP workflows, focused negative controls, and complete CI/review. Historical paired SDK context estimates fall about 64%; timing/resource tradeoffs and final verification receipts are recorded without a general speedup or actual model-token claim.\n\nFixes #6112.", + "parents": ["a0214e0e0e46ae74a57c8a373e5fd0772894902d"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6128] + }, + { + "sha": "07fd426e9a4caaf710b3a356c60abbffa28d4bd6", + "subject": "fix(apple): preserve asset catalog caller cancellation reason (#6055)", + "body": "fix(apple): preserve asset catalog caller cancellation reason (#6055)\n\n* fix(apple): preserve asset catalog caller cancellation reason\n\n* test(apple): cover asset catalog cancellation checkpoints", + "parents": ["0583fc69beccc03b46bc702348a4dd0bf783af95"], + "authors": [ + { + "name": "Shakti", + "email": "rkfshakti@gmail.com", + "user": { + "login": "rkfshakti", + "__typename": "User" + } + } + ], + "pullRequests": [6055] + }, + { + "sha": "3dde9a5e1c92b7c166ecb6ef28c0e0d4123cc89c", + "subject": "ci(windows): run remaining Windows-only path admission cases in the lane (#5807)", + "body": "ci(windows): run remaining Windows-only path admission cases in the lane (#5807)\n\nThree test files have cases that run only on Windows\n(skipIf(process.platform !== \"win32\") / describe.runIf(win32)), but the\nwindows-curated job runs an explicit file list that did not name them,\nso CI never executed those cases:\n\n- src/contracts/sessionPathInputs.test.ts (Windows absolute path forms)\n- tests/boundary/filesystem/directAnalysisSnapshotReplay.test.ts\n (snapshot replay through a junction and before native admission)\n- tests/boundary/mcp/rawBinaryMcp.test.ts (saved reads across a\n junction and a noncanonical Windows path)\n\nAdd them to the lane and the package change scope, and guard the\nentries in curatedWindowsLane.test.ts.\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["07fd426e9a4caaf710b3a356c60abbffa28d4bd6"], + "authors": [ + { + "name": "Oke Iyanuoluwa Enoch", + "email": "70354778+Iyanuoluwa007@users.noreply.github.com", + "user": { + "login": "Iyanuoluwa007", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5807] + }, + { + "sha": "67a6477f011ae358fc333e5a6e26c86d932654ed", + "subject": "fix(cli): label reconciliation input failures as application workflow errors (#5668)", + "body": "fix(cli): label reconciliation input failures as application workflow errors (#5668)\n\nCloses #5436", + "parents": ["3dde9a5e1c92b7c166ecb6ef28c0e0d4123cc89c"], + "authors": [ + { + "name": "Ulises Millán", + "email": "ulises.millanguerrero@gmail.com", + "user": { + "login": "umi008", + "__typename": "User" + } + } + ], + "pullRequests": [5668] + }, + { + "sha": "ae09e3fe70ecb404ef12cfd25ebbde4d582911e8", + "subject": "fix(native): recover macOS command deadlines (#6059)", + "body": "fix(native): recover macOS command deadlines (#6059)\n\n* fix(native): recover macOS command deadlines\n\nPromote native_command_timeout_ms (default 60000), native_ui_deadline_ms\n(default 180000), and pwntools_timeout_ms (default 30000) as validated\nper-call settings. Keep cpuSeconds, byte allowances, LLDB grace, and plist\nprobes fixed, and say those caps have no runtime override.\n\nCo-authored-by: morluto \n\n* fix(native): report the deadline that actually expired\n\nPass the selected native command timeout through xcrun resolution, thread\nthe pwntools deadline into pwndbg failures, and state the selected UI\ndeadline apart from the fixed wait-step cap. SIGXFSZ and EFBIG recovery\nnames the file-size allowance.\n\nCo-authored-by: morluto \n\n* fix(native): honor the selected deadline on helper stages\n\nThe UI helper compile and capture subprocesses used fixed 60s and 30s\nexec timeouts, so a longer native_ui_deadline_ms still failed as a generic\nprovider error. Preparation timeouts reported the 60000 ms default instead\nof the selected native_command_timeout_ms.\n\nMemory resource-constraint recovery names memory again, and the Darwin\nplist CLI expectation matches the byte-counted input allowance.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["67a6477f011ae358fc333e5a6e26c86d932654ed"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6059] + }, + { + "sha": "2947a775070863e15e802194fbb14bfd1ec18b9f", + "subject": "fix(engines): keep format ceilings fixed and recover the EVMole deadline (#6088)", + "body": "fix(engines): keep format ceilings fixed and recover the EVMole deadline (#6088)\n\n* fix(engines): keep format ceilings fixed and recover the EVMole deadline\n\nPromote the owned EVMole worker wall clock to timeout_ms and name it in\nrecovery. Fixed CPU, byte, and address-space refusals in this theme say\nthe adjustable deadline does not raise them.\n\nRefs #5910\n\nCo-authored-by: morluto \n\n* fix(engines): recover the allowance that refused the request\n\nModel capacity recovery follows a structured limit instead of message text,\nand the shared header ceiling no longer names Safetensors. Firmware signal\nerrors keep captured tool output, oversized reports do not suggest an\nintermittent rerun, and NativeAOT hydration budget exhaustion explains the\nfixed parser allowance on the partial report.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["ae09e3fe70ecb404ef12cfd25ebbde4d582911e8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6088] + }, + { + "sha": "48e74700413308af46b4c6b900ca54028a1a91ba", + "subject": "fix(evm): trim hex carrier whitespace in linear time (#5200)", + "body": "fix(evm): trim hex carrier whitespace in linear time (#5200)\n\nThe hex carrier trimmed outer ASCII whitespace with a global\nstart|end-anchored regex. For an invalid carrier with a long interior\nwhitespace run, the end branch was retried at every position of the run,\nso rejection took quadratic time (about 18 s for a 200 KB run) and a few\nhundred KB could exhaust the worker deadline instead of returning the\ndocumented invalid-format error. Trim with index scans over the same\nASCII whitespace set.\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["2947a775070863e15e802194fbb14bfd1ec18b9f"], + "authors": [ + { + "name": "Dragolone", + "email": "160818051+Dragolone@users.noreply.github.com", + "user": { + "login": "Dragolone", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5200] + }, + { + "sha": "f3537db34f4e0b5ad73f3a532d251ac13fa4f0a3", + "subject": "fix(setup): treat empty COPILOT_HOME as unset (#5047)", + "body": "fix(setup): treat empty COPILOT_HOME as unset (#5047)\n\n`copilotDirectory` used nullish coalescing, so `COPILOT_HOME=\"\"` produced\nthe relative path `mcp-config.json`. Setup then planned and wrote the\nGitHub Copilot CLI registration into the current working directory, not\n`~/.copilot/mcp-config.json`, and doctor looked for it in the same wrong\nplace.\n\nUse `||` like the sibling client homes (CODEX_HOME, KIMI_CODE_HOME,\nGROK_HOME, XDG_CONFIG_HOME), and as #2686 did for DSH_HOME.", + "parents": ["48e74700413308af46b4c6b900ca54028a1a91ba"], + "authors": [ + { + "name": "Christopher Pruijsen", + "email": "christopher.pruijsen@gmail.com", + "user": { + "login": "cpruijsen", + "__typename": "User" + } + } + ], + "pullRequests": [5047] + }, + { + "sha": "465e1a1f3694c30cc3a806f97bc17e9eabf49324", + "subject": "test(sqlite): keep incomplete cleanup primary over late cancellation (#5365)", + "body": "test(sqlite): keep incomplete cleanup primary over late cancellation (#5365)", + "parents": ["f3537db34f4e0b5ad73f3a532d251ac13fa4f0a3"], + "authors": [ + { + "name": "Vishal Tambi", + "email": "138616107+vishal-tambi@users.noreply.github.com", + "user": { + "login": "vishal-tambi", + "__typename": "User" + } + } + ], + "pullRequests": [5365] + }, + { + "sha": "7cdf8bc5cf376baa8d4a6ba6109a1aecc16e4c93", + "subject": "test(native): assert failed-callee call identities and edge caps (#2888)", + "body": "test(native): assert failed-callee call identities and edge caps (#2888)\n\n* fix(native): attempt failed value trace selectors once per invocation\n\n* test(native): assert failed-callee call identities and edge caps", + "parents": ["465e1a1f3694c30cc3a806f97bc17e9eabf49324"], + "authors": [ + { + "name": "Iven Koo", + "email": "73214171+IvenKooLab@users.noreply.github.com", + "user": { + "login": "IvenKooLab", + "__typename": "User" + } + } + ], + "pullRequests": [2888] + }, + { + "sha": "7fdf7a5b79ac2875ae659fc94563ff474d8d3021", + "subject": "docs(go): clarify cumulative build-info search budget (#2731)", + "body": "docs(go): clarify cumulative build-info search budget (#2731)\n\n* fix(go): retain build info in later ELF data segments\n\n* test(javascript): retain unknown shadowed parameter provenance\n\n* fix(go): bound overlapping build-info searches\n\n* test(release): select the runnable preflight job\n\n* fix(ci): isolate Linux Hopper process fixture inventory\n\n* fix(comparison): recheck historical calls-only changes (#2223)\n\n* fix(comparison): preserve incomplete function call evidence\n\nKeep missing, unknown, partial and unresolved call relationships unknown in function comparisons and reconstruction claims. Aggregate IDA caller and callee coverage without overwriting uncertainty.\n\nValidate with 144 focused tests, typecheck/lint, docs checks and test discovery. Real providers were not verified; the full headless IDA session suite requires unavailable Windows native controls.\n\n* fix(comparison): recheck historical calls-only changes\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>\n\n* docs(go): expose cumulative build-info scan budget\n\n* chore: retain upstream MCP test formatting\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>\nCo-authored-by: Lucien <164857476+dakjdakd@users.noreply.github.com>\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["7cdf8bc5cf376baa8d4a6ba6109a1aecc16e4c93"], + "authors": [ + { + "name": "cyanseek", + "email": "cyanseek@outlook.com", + "user": { + "login": "cyanseek", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Lucien", + "email": "164857476+dakjdakd@users.noreply.github.com", + "user": { + "login": "dakjdakd", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [2731] + }, + { + "sha": "d2015e94f32a51b898918b5b39b374c134119fd5", + "subject": "docs(setup): clarify prebuild-install warning from optional dependencies (#4881) (#5012)", + "body": "docs(setup): clarify prebuild-install warning from optional dependencies (#4881) (#5012)", + "parents": ["7fdf7a5b79ac2875ae659fc94563ff474d8d3021"], + "authors": [ + { + "name": "Prasad Navale", + "email": "matoshri1420@gmail.com", + "user": { + "login": "prasad2512", + "__typename": "User" + } + } + ], + "pullRequests": [5012] + }, + { + "sha": "fd64b1c240469e5e1abf2ee341f480087ec0ab21", + "subject": "docs(cli): include Kuna in supported doctor providers (#4624) (#5011)", + "body": "docs(cli): include Kuna in supported doctor providers (#4624) (#5011)", + "parents": ["d2015e94f32a51b898918b5b39b374c134119fd5"], + "authors": [ + { + "name": "Prasad Navale", + "email": "matoshri1420@gmail.com", + "user": { + "login": "prasad2512", + "__typename": "User" + } + } + ], + "pullRequests": [5011] + }, + { + "sha": "3dce8326c9aae579add2eb696882368be2a78b6e", + "subject": "docs(errors): include Omarchy and current host-support messages in error catalogue (#5078) (#5278)", + "body": "docs(errors): include Omarchy and current host-support messages in error catalogue (#5078) (#5278)", + "parents": ["fd64b1c240469e5e1abf2ee341f480087ec0ab21"], + "authors": [ + { + "name": "Prasad Navale", + "email": "matoshri1420@gmail.com", + "user": { + "login": "prasad2512", + "__typename": "User" + } + } + ], + "pullRequests": [5278] + }, + { + "sha": "4c20744f1c52156aa6efcd04ffb8b50d34a186a7", + "subject": "test(update): isolate CLI subprocess deadlines (#5019)", + "body": "test(update): isolate CLI subprocess deadlines (#5019)\n\ntest(update): isolate CLI command deadlines\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["3dce8326c9aae579add2eb696882368be2a78b6e"], + "authors": [ + { + "name": "XY", + "email": "1611761391@qq.com", + "user": { + "login": "XY-code1", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5019] + }, + { + "sha": "f6e4e0296f1e22a97d9d1e1208c30a49d5538536", + "subject": "fix(native): remove completed signing capture limitation (#5548)", + "body": "fix(native): remove completed signing capture limitation (#5548)\n\n* fix(native): remove completed signing capture limitation\n\n* fix(cli): keep the WASM command timeout optional\n\n* fix(cli): preserve WASM timeout help metadata\n\n* test(pe): reuse compiled CLI startup for resource acceptance\n\n* fix(cli): use upstream exact-optional timeout semantics", + "parents": ["4c20744f1c52156aa6efcd04ffb8b50d34a186a7"], + "authors": [ + { + "name": "ShuaixinHuang", + "email": "1836656514@qq.com", + "user": { + "login": "ShuaixinHuang", + "__typename": "User" + } + } + ], + "pullRequests": [5548] + }, + { + "sha": "d8199ab6afa694fabfdeafa1d6ae269b06f5f65d", + "subject": "fix(javascript): keep Vite dependency slots after a spread unknown (#4023)", + "body": "fix(javascript): keep Vite dependency slots after a spread unknown (#4023)\n\nThe __vite__mapDeps table indexer mapped a spread element to one unknown slot, so every later entry kept a definite index even though the spread can add any number of elements. A call such as __vite__mapDeps([0, 2]) over [\"./first.js\", ...[\"./middle-a.js\", \"./middle-b.js\"], \"./last.js\"] then resolved index 2 to last.js instead of middle-b.js. Keep only the entries before the first spread; indexes from the spread onward stay unknown.", + "parents": ["f6e4e0296f1e22a97d9d1e1208c30a49d5538536"], + "authors": [ + { + "name": "Wade", + "email": "160517347+Sriram-PR@users.noreply.github.com", + "user": { + "login": "Sriram-PR", + "__typename": "User" + } + } + ], + "pullRequests": [4023] + }, + { + "sha": "1a945ce9ff773168099ef896df4d088fd8daf63b", + "subject": "fix(cli): reject an empty JavaScript application path (#5265)", + "body": "fix(cli): reject an empty JavaScript application path (#5265)", + "parents": ["d8199ab6afa694fabfdeafa1d6ae269b06f5f65d"], + "authors": [ + { + "name": "Vishal Tambi", + "email": "138616107+vishal-tambi@users.noreply.github.com", + "user": { + "login": "vishal-tambi", + "__typename": "User" + } + } + ], + "pullRequests": [5265] + }, + { + "sha": "8fe8622e0927182cc284b2e24f0058cf0d038b58", + "subject": "fix(evm): reject repeated byte-string keys in Solidity metadata (#4024)", + "body": "fix(evm): reject repeated byte-string keys in Solidity metadata (#4024)\n\ncborg's rejectDuplicateMapKeys compares Map keys by identity, and each byte-string key decodes to its own Uint8Array, so a terminal metadata map with the same byte key twice was reported as decoded. Compare the root map's scalar keys by kind and value and report a repeat as not-decoded, like repeated text keys.", + "parents": ["1a945ce9ff773168099ef896df4d088fd8daf63b"], + "authors": [ + { + "name": "Wade", + "email": "160517347+Sriram-PR@users.noreply.github.com", + "user": { + "login": "Sriram-PR", + "__typename": "User" + } + } + ], + "pullRequests": [4024] + }, + { + "sha": "126b6e20d4595a5f766ae41463275428cbb087d4", + "subject": "fix(ida): retain analysis profile in partial operation evidence (#4645)", + "body": "fix(ida): retain analysis profile in partial operation evidence (#4645)\n\n* fix(ida): retain analysis profile in partial operation evidence\n\nPass the session analysis profile commitment to createEvidence when IdaSessionClient.#failure retains partial observations after a failed operation.\n\nRefs #3992\n\nSigned-off-by: Vinícius DS Andrade <95101505+viniciusdsandrade@users.noreply.github.com>\n\n* test(ida): cover analysis profile retention in partial operation evidence\n\nVerify that failed IDA operations retain a supplied AnalysisProfileCommitment on partialObservation and projected error details while leaving unprofiled sessions null.\n\nRefs #3992\n\nSigned-off-by: Vinícius DS Andrade <95101505+viniciusdsandrade@users.noreply.github.com>\n\n* test(ida): align analysis profile provider with IDA adapter identity\n\nSigned-off-by: Vinícius DS Andrade <95101505+viniciusdsandrade@users.noreply.github.com>\n\n---------\n\nSigned-off-by: Vinícius DS Andrade <95101505+viniciusdsandrade@users.noreply.github.com>", + "parents": ["8fe8622e0927182cc284b2e24f0058cf0d038b58"], + "authors": [ + { + "name": "Vinícius Andrade", + "email": "95101505+viniciusdsandrade@users.noreply.github.com", + "user": { + "login": "viniciusdsandrade", + "__typename": "User" + } + } + ], + "pullRequests": [4645] + }, + { + "sha": "cc4ed5b9043349083e8e78146edbe23f27f1d324", + "subject": "fix(ida): keep omitted callee truncation markers unknown (#4286)", + "body": "fix(ida): keep omitted callee truncation markers unknown (#4286)\n\n* fix(ida): keep omitted callee truncation markers unknown\n\nModern headless callees pages may omit more. The runner treated every\npage that was not explicitly capped as complete coverage, so\ntrace_call_path could return not_reached when callee completeness was\nunproven. Map omitted more to unknown coverage and keep the observed\ncallee rows. Explicit more: false remains complete.\n\nFixes #3988\n\nSigned-off-by: Vinícius DS Andrade <95101505+viniciusdsandrade@users.noreply.github.com>\n\n* test(ida): keep omitted callee truncation from becoming not_reached\n\nAssert that an x86 callees page without more reports unknown\nrelationship coverage and that trace_call_path to an unlisted goal\nstays unknown instead of not_reached.\n\nSigned-off-by: Vinícius DS Andrade <95101505+viniciusdsandrade@users.noreply.github.com>\n\n---------\n\nSigned-off-by: Vinícius DS Andrade <95101505+viniciusdsandrade@users.noreply.github.com>", + "parents": ["126b6e20d4595a5f766ae41463275428cbb087d4"], + "authors": [ + { + "name": "Vinícius Andrade", + "email": "95101505+viniciusdsandrade@users.noreply.github.com", + "user": { + "login": "viniciusdsandrade", + "__typename": "User" + } + } + ], + "pullRequests": [4286] + }, + { + "sha": "3220e17b8bd046ad1be8fbb2e4070d8ddc37ad64", + "subject": "fix(snapshot): count newly retained workflow bindings on import (#4428)", + "body": "fix(snapshot): count newly retained workflow bindings on import (#4428)\n\nAnalysisSnapshotCache.stage counted new direct entries but never\nincremented for new workflow entries, so a snapshot carrying only a\ntrace_feature binding reported 0 new entries while retaining it.\n\nCount a workflow binding when its query ID is new, matching direct\nentries; replacements and capacity-refused bindings stay uncounted.\n\nFixes #4377", + "parents": ["cc4ed5b9043349083e8e78146edbe23f27f1d324"], + "authors": [ + { + "name": "Jiwon | 지원", + "email": "79065639+jiwonsudo@users.noreply.github.com", + "user": { + "login": "jiwonsudo", + "__typename": "User" + } + } + ], + "pullRequests": [4428] + }, + { + "sha": "b28f6c09535bf7b85b5425e3485178820fbebe82", + "subject": "fix(reference): retain inventories with empty module specifiers (#3497)", + "body": "fix(reference): retain inventories with empty module specifiers (#3497)", + "parents": ["3220e17b8bd046ad1be8fbb2e4070d8ddc37ad64"], + "authors": [ + { + "name": "Peter G", + "email": "2543679596@qq.com", + "user": { + "login": "zpf2234", + "__typename": "User" + } + } + ], + "pullRequests": [3497] + }, + { + "sha": "dbd556043c4593a6f49dfef36fd114b691177578", + "subject": "fix(providers): name JEB, IDA, and one-shot command deadlines (#6014)", + "body": "fix(providers): name JEB, IDA, and one-shot command deadlines (#6014)\n\n* fix(providers): name JEB, IDA, and one-shot command deadlines\n\nWire JEB catalog discovery to REA_JEB_MCP_TIMEOUT_MS, name the IDA\nregistration timeoutMs, and add command_timeout_ms for one-shot objdump\nand rizin. Debugger, Frida, and Cutter caps stay fixed and say so.\n\nRefs #5910\n\nCo-authored-by: morluto \n\n* fix(providers): pass remaining deadlines and name the cap that fired\n\nCatalog discovery now sends the JEB budget still remaining to the SDK on\nconnect and every tools/list page. Objdump and rizin preflight share one\ncommand_timeout_ms across stat and digest; the command still receives that\nbudget again. Architecture Evidence keeps a selected timeout, and Frida and\nRizin name the capture limit that actually stopped output.\n\nCo-authored-by: morluto \n\n* fix(frida): preserve non-timeout device lookup failures\n\ngetDeviceById is a lookup deadline only when Frida rejects with\n\"Device not found\" after the wait. A device-manager or backend failure\nstays a capability error. Align the assertions that still expected the\nprevious capacity and capture sentences.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["b28f6c09535bf7b85b5425e3485178820fbebe82"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6014] + }, + { + "sha": "55c3129224fe7f416f47f015a3e63e0dd12df467", + "subject": "docs(browser): reconcile HTTP discovery wording with browser sockets (#3484)", + "body": "docs(browser): reconcile HTTP discovery wording with browser sockets (#3484)", + "parents": ["dbd556043c4593a6f49dfef36fd114b691177578"], + "authors": [ + { + "name": "Danish Rafie Ekaputra", + "email": "155859586+0xRafie@users.noreply.github.com", + "user": { + "login": "0xRafie", + "__typename": "User" + } + } + ], + "pullRequests": [3484] + }, + { + "sha": "0da36910dcbd8cdcf405ed9270c5e71b9342d9ce", + "subject": "docs(artifacts): clarify unsupported DMG extraction (#5555)", + "body": "docs(artifacts): clarify unsupported DMG extraction (#5555)\n\n* docs(artifacts): clarify unsupported DMG extraction\n\n* fix(cli): keep the WASM command timeout optional\n\n* fix(cli): preserve WASM timeout help metadata\n\n* test(pe): reuse compiled CLI startup for resource acceptance\n\n* fix(cli): use upstream exact-optional timeout semantics", + "parents": ["55c3129224fe7f416f47f015a3e63e0dd12df467"], + "authors": [ + { + "name": "ShuaixinHuang", + "email": "1836656514@qq.com", + "user": { + "login": "ShuaixinHuang", + "__typename": "User" + } + } + ], + "pullRequests": [5555] + }, + { + "sha": "1dcaa77693673a279d90ce907c1f4a6dfd0cf24b", + "subject": "fix(browser): retain the null console argument in selected console text (#3479)", + "body": "fix(browser): retain the null console argument in selected console text (#3479)", + "parents": ["0da36910dcbd8cdcf405ed9270c5e71b9342d9ce"], + "authors": [ + { + "name": "The one -Niu", + "email": "912906590@qq.com", + "user": { + "login": "NIU-123370", + "__typename": "User" + } + } + ], + "pullRequests": [3479] + }, + { + "sha": "6bc4ec3a7406b338945c2534ac85b8ffef88cf11", + "subject": "fix(electron): block moveToApplicationsFolder during active capture (#3471)", + "body": "fix(electron): block moveToApplicationsFolder during active capture (#3471)\n\nCo-authored-by: keeponlight <20103260+keeponlight@users.noreply.github.com>", + "parents": ["1dcaa77693673a279d90ce907c1f4a6dfd0cf24b"], + "authors": [ + { + "name": "keeponlight", + "email": "acm@hgui.org", + "user": { + "login": "keeponlight", + "__typename": "User" + } + }, + { + "name": "keeponlight", + "email": "20103260+keeponlight@users.noreply.github.com", + "user": { + "login": "keeponlight", + "__typename": "User" + } + } + ], + "pullRequests": [3471] + }, + { + "sha": "f4cabe535fa52672c021a0e0722d52379b6ce5cf", + "subject": "fix(wasm): pass glue filenames to the JavaScript parser (#4485)", + "body": "fix(wasm): pass glue filenames to the JavaScript parser (#4485)\n\nassociateWasmGlue selected the unnamed-source parser mode even though\nthe selected glue filename was already an adapter argument, so valid\nJavaScript such as `n===0?H=>({start:H.startY}):H=>({start:H.startX})`\nwas read with the TypeScript grammar (conditional arrows as a return\ntype) and the whole glue file failed parsing, losing every .wasm\nliteral reference after it. Pass the filename so .js glue parses with\nthe JavaScript grammar, matching the general filename-aware parser\nboundary from #3782. The unnamed-source fallback policy itself is\nunchanged.\n\nAdds a regression test asserting the conditional-arrow fixture parses\ncompletely and retains the ./module.wasm reference (line 2, column 6,\nlocal-path-candidate, static-literal) while the plain fetch control\nstays working; reverting the fix fails the new test.\n\nFixes #4474\n\nCo-authored-by: maxazure ", + "parents": ["6bc4ec3a7406b338945c2534ac85b8ffef88cf11"], + "authors": [ + { + "name": "jayinvers", + "email": "100169062+jayinvers@users.noreply.github.com", + "user": { + "login": "jayinvers", + "__typename": "User" + } + }, + { + "name": "maxazure", + "email": "maxazure@gmail.com", + "user": { + "login": "maxazure", + "__typename": "User" + } + } + ], + "pullRequests": [4485] + }, + { + "sha": "4fe88a7e3fd7f8f5ab55274fae5146a6153ff190", + "subject": "fix(browser): reserve the initial scenario step id from action inputs (#3493)", + "body": "fix(browser): reserve the initial scenario step id from action inputs (#3493)\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["f4cabe535fa52672c021a0e0722d52379b6ce5cf"], + "authors": [ + { + "name": "The one -Niu", + "email": "912906590@qq.com", + "user": { + "login": "NIU-123370", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [3493] + }, + { + "sha": "3cfdc585b42cf017706f9539111c48f1ae18a3d2", + "subject": "fix(mcp): keep analyze_function progress strictly increasing (#3460)", + "body": "fix(mcp): keep analyze_function progress strictly increasing (#3460)", + "parents": ["4fe88a7e3fd7f8f5ab55274fae5146a6153ff190"], + "authors": [ + { + "name": "Peter", + "email": "304086198+peter-research@users.noreply.github.com", + "user": { + "login": "peter-research", + "__typename": "User" + } + } + ], + "pullRequests": [3460] + }, + { + "sha": "414ad52b2093a49312193a2d5ea2d19e508424d7", + "subject": "fix(objc): validate direct protocol enumeration input (#4405)", + "body": "fix(objc): validate direct protocol enumeration input (#4405)", + "parents": ["3cfdc585b42cf017706f9539111c48f1ae18a3d2"], + "authors": [ + { + "name": "lyly", + "email": "lyclance921@gmail.com", + "user": { + "login": "lyly-bonbon", + "__typename": "User" + } + } + ], + "pullRequests": [4405] + }, + { + "sha": "b0a554cc3a197c6192e19401330c20a42348cf90", + "subject": "fix(browser): read SAZ archives with zero-byte HTTP members (#5453)", + "body": "fix(browser): read SAZ archives with zero-byte HTTP members (#5453)\n\nFiddler writes a zero-byte raw/NN_s.txt (or _c.txt) for a session that\nnever got that message. The decoder passed it to the HTTP parser, which\nfound no header/body separator and rejected the whole archive, so no\nsession could be read even with --record.\n\nReport a zero-byte request or response member as null, like a missing\nmember, keep it in location.members, and add a per-record limitation\nthat says only that the stored member is empty. Non-empty malformed\nmembers are still rejected.\n\nFixes #5411", + "parents": ["414ad52b2093a49312193a2d5ea2d19e508424d7"], + "authors": [ + { + "name": "amyanger", + "email": "57688398+amyanger@users.noreply.github.com", + "user": { + "login": "amyanger", + "__typename": "User" + } + } + ], + "pullRequests": [5453] + }, + { + "sha": "2aadcf7d045eed6e8b35d8cd30066ec3cccf8159", + "subject": "fix(electron): report rejected CLI arguments with issue details (#5036)", + "body": "fix(electron): report rejected CLI arguments with issue details (#5036)\n\n* fix(electron): report rejected CLI arguments with issue details\n\nPass schema validation issues and submitted input to inputError in list-electron-targets and inspect-electron-page commands, matching the structured diagnostics returned by browser commands.\n\nFixes #3865\n\n* test(electron): assert exit code 1 on rejected CLI arguments", + "parents": ["b0a554cc3a197c6192e19401330c20a42348cf90"], + "authors": [ + { + "name": "KIEU TRONG KHANG", + "email": "khangkieutrong@gmail.com", + "user": { + "login": "KhangKT1310", + "__typename": "User" + } + } + ], + "pullRequests": [5036] + }, + { + "sha": "7ffae5a7917ef0fe10e7ae89ddde74b8802f573a", + "subject": "test(artifacts): cover fixed input-size recovery for Rust and IL2CPP (#6148)", + "body": "test(artifacts): cover fixed input-size recovery for Rust and IL2CPP (#6148)\n\n#5633 gave Rust and IL2CPP input-size refusals input-allowance recovery\nthrough fixedAllowanceOptions, but no public CLI check covered either\ncommand, and IL2CPP had no remediation assertion at all. Add both\ncommands to the CLI input-limit matrix.\n\nGo and WASM still carried a duplicated hand-written copy of the same\nadvice. They now use the shared \"input\" allowance recovery, so all four\ncommands name their fixed allowance from one owner.\n\nThe matrix also asserted not.toContain(\"evidence reply\"), which the new\n\"evidence-reply\" wording passes only because of the hyphen. Assert the\nabsence of the old advice text instead.\n\nFixes #5405\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["2aadcf7d045eed6e8b35d8cd30066ec3cccf8159"], + "authors": [ + { + "name": "John", + "email": "110930793+mpratsaki@users.noreply.github.com", + "user": { + "login": "mpratsaki", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6148] + }, + { + "sha": "4e28166626aec19bb9bc60e8117d42fd3af17b22", + "subject": "fix(cancellation): preserve caller abort reason in cancellation errors (#6144)", + "body": "fix(cancellation): preserve caller abort reason in cancellation errors (#6144)\n\n* fix(cancellation): preserve caller abort reason in cancellation errors\n\nSeveral application, provider, and MCP boundaries constructed\nAnalysisCancelledError, ArtifactReaderFailure, or\nDetachedPgpSignatureError for an already-observed or newly-observed abort\nwithout passing the caller's signal.reason as the error cause. The typed\nresult then reported cancellation with an undefined reason even though the\nexact object supplied to AbortController.abort(reason) was still available.\n\nPass signal.reason as the cause at each producing cancellation site:\nJavaScript artifact reconstruction and file abort checks, derived MCP\noperation checkpoints, detached PGP verification, ASAR listing admission,\nDart AOT inspection and its provider guard, evidence-file analysis views,\nbinary layout and recorded crash admission, WASM inspection admission,\nand the Kuna shared assembly-index wait.\n\nCancellation classification and cleanup behavior are unchanged.\n\nFixes morluto/rea#5935\nFixes morluto/rea#5944\nFixes morluto/rea#6100\nFixes morluto/rea#6101\nFixes morluto/rea#6110\nFixes morluto/rea#6113\nFixes morluto/rea#6121\nFixes morluto/rea#6131\nFixes morluto/rea#6132\n\n* test(cancellation): assert the exact caller reason identity\n\nCopied reasons satisfied toMatchObject, so the tests would pass even if the\ncaller's abort reason were replaced by a structurally equal copy. Capture the\nrejection and assert the cause is the same object.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nCopilot-Session: 35b247e9-c793-4b8f-979a-807c27112cf5\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nCopilot-Session: 35b247e9-c793-4b8f-979a-807c27112cf5", + "parents": ["7ffae5a7917ef0fe10e7ae89ddde74b8802f573a"], + "authors": [ + { + "name": "Alex Gorevski", + "email": "agorevski@users.noreply.github.com", + "user": { + "login": "agorevski", + "__typename": "User" + } + }, + { + "name": "Copilot", + "email": "223556219+Copilot@users.noreply.github.com", + "user": { + "login": "Copilot", + "__typename": "User" + } + } + ], + "pullRequests": [6144] + }, + { + "sha": "087813fb889496bfcd1a8bc32c4ec225d22eb388", + "subject": "fix(cancellation): preserve caller abort reasons through late finalization (#6143)", + "body": "fix(cancellation): preserve caller abort reasons through late finalization (#6143)\n\n* fix(cancellation): preserve caller abort reasons through late finalization\n\nCaller aborts that arrived during final provider, cleanup, or protocol\nhandling were dropped or replaced by I/O, cleanup, or success results.\nEach affected path now samples the caller signal after its owner has\nsettled and returns AnalysisCancelledError carrying the exact\nsignal.reason, keeping any completed partial Evidence or cleanup state.\n\n- Web script export: keep the exact reason for an interrupted output\n write, and honor a cancellation fact recorded before a retried\n capture close succeeds.\n- Native value tracing and Hopper regex search: check the signal after\n the final provider reply or regex worker settles.\n- Apple asset catalog: stop assetutil with SIGTERM so cancellation\n settles only after the helper exits.\n- CDP observation: end an armed window on a fatal protocol failure.\n- ADB bugreport: prefer cancellation over the staging-removal output\n error when the caller aborted.\n- JavaScript recovery: check the signal after provider success.\n- export-web-scripts CLI: run under command cancellation and forward\n the signal into the export workflow.\n- Objdump and Rizin CLI: report cancellation after cleanup completes.\n- Binary session: keep cancellation primary when previous-client\n retirement fails after abort.\n\nFixes morluto/rea#6042\nFixes morluto/rea#6043\nFixes morluto/rea#6048\nFixes morluto/rea#6049\nFixes morluto/rea#6057\nFixes morluto/rea#6060\nFixes morluto/rea#6078\nFixes morluto/rea#6080\nFixes morluto/rea#6108\nFixes morluto/rea#6111\nFixes morluto/rea#6115\n\n* fix(cancellation): keep caller reasons through export rollback and commit\n\n- Rollback failure after a caller abort now returns AnalysisCancelledError\n with the exact signal.reason, attaching the rollback failure as cleanup\n and retaining any published result as partial observation.\n- A capture close retry that succeeds after abort returns cancellation\n instead of the stale cleanup diagnostic.\n- An abort that lands during the final output commit returns cancellation\n carrying the completed manifest as partial observation.\n- Apple assetutil stop test: abort and await the run in finally so a\n timed-out wait does not leave the child running, and skip on Windows\n where the JavaScript SIGTERM handler cannot run.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nCopilot-Session: 35b247e9-c793-4b8f-979a-807c27112cf5\n\n* fix(cancellation): bind export cancellations to cleanup and caller reasons\n\n- A rollback-failure cancellation is bound to the retained cleanup lease,\n so a later successful close clears cleanup_incomplete instead of\n reporting a residual directory that no longer exists.\n- mapExportFailure wraps the caller's own AnalysisCancelledError reason\n under export_web_scripts rather than returning it as the export's error.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nCopilot-Session: 35b247e9-c793-4b8f-979a-807c27112cf5\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>\nCopilot-Session: 35b247e9-c793-4b8f-979a-807c27112cf5", + "parents": ["4e28166626aec19bb9bc60e8117d42fd3af17b22"], + "authors": [ + { + "name": "Alex Gorevski", + "email": "agorevski@users.noreply.github.com", + "user": { + "login": "agorevski", + "__typename": "User" + } + }, + { + "name": "Copilot", + "email": "223556219+Copilot@users.noreply.github.com", + "user": { + "login": "Copilot", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6143] + }, + { + "sha": "a721c42c07dc674c32ab939627355b8a1bee97a5", + "subject": "fix(cancellation): bind retained errors to cleanup owners", + "body": "fix(cancellation): bind retained errors to cleanup owners\n\nCarry the capture handle cleanup lease through retry results and bind composed export failures to it. Bind aborted binary retirement errors to the failed close so successful later cleanup reveals the original cancellation.\n\nValidation: 46 focused tests passed; npm run check passed. Four regression assertions fail on the original source. Full suite and real-provider workflows were not run.\n", + "parents": ["087813fb889496bfcd1a8bc32c4ec225d22eb388"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f5acf82a78a01bc0a4ac14a8857e32f1f57c17ce", + "subject": "fix(native): retain decoded zero-address Swift class references (#6069)", + "body": "fix(native): retain decoded zero-address Swift class references (#6069)\n\nCo-authored-by: xiaofeilovecoding ", + "parents": ["a721c42c07dc674c32ab939627355b8a1bee97a5"], + "authors": [ + { + "name": "xiaofeilovecoding", + "email": "fanxy850328059@gmail.com", + "user": { + "login": "xiaofeilovecoding", + "__typename": "User" + } + }, + { + "name": "xiaofeilovecoding", + "email": "fxy850328059@gmail.com", + "user": null + } + ], + "pullRequests": [6069] + }, + { + "sha": "3dbe314ada9f6dcc994ca4655dc0faf082503847", + "subject": "fix(javascript): preserve source-map preparation capability errors (#6149)", + "body": "fix(javascript): preserve source-map preparation capability errors (#6149)", + "parents": ["f5acf82a78a01bc0a4ac14a8857e32f1f57c17ce"], + "authors": [ + { + "name": "Diya", + "email": "148953717+diyasharma05@users.noreply.github.com", + "user": { + "login": "diyasharma05", + "__typename": "User" + } + } + ], + "pullRequests": [6149] + }, + { + "sha": "166fb0820fdfc91742317b9c539c4d5fda2fe03b", + "subject": "feat(environment)!: serve the environment state by default (#5351)", + "body": "feat(environment)!: serve the environment state by default (#5351)\n\n* feat(environment): extract the initial state a capture's reads observed\n\nAdd the environment-state analysis view. From the parents the environment\nmanifest accepts, it extracts the data the capture's reads observed before\nthe first related write: entity types with an identity field (proved by a\npath parameter or inferred from an identity name), entities with their\nrecorded values and provenance, documents for written non-entity paths, and\na render plan per read tool that is kept only when it reproduces the tool's\nlatest initial recordings from the state; every other read tool is a\nrecorded view with the reason. The Evidence is always inferred.\n\nResponse-body decoding moves to a domain owner shared with replay, exact\nJSON parsing moves to the owner of the exact-number policy, the manifest and\nstate views share parent admission and record grouping, and\nprojectAnalysisView takes its accumulators as one object.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): bound state at redacted writes; infer identity only from items\n\nA scenario write whose URL was redacted has no request line, so it was\ndropped and reads after it counted as initial state. Such a successful\nwrite now joins the timeline with an empty path, whose root relates to\nevery type, so it ends every type's state; a limitation counts them.\n\nA list whose recordings were all empty passed the \"every listed item\ncarries it\" check vacuously and published an identity field nothing\nshowed; it now needs at least one item, else the view stays recorded\nas no-identity.\n\nA value that differed between two request lines of one item tool, such\nas a query variant, was called volatile, and the gate then substituted\neach recording's own value; only repeats of one request line now show\nvolatility, so differing lines go through fields-differ.\n\nList membership is compared only while a list can still be the whole\ncollection, and merged entities are indexed by type and collection once,\nso paged captures no longer cost pages times entities (8,000 pages of\n40,000 entities: 5.7 s to 0.23 s).\n\nDocs and the tool contract say scenario state keeps the capture's\nredaction markers and how redacted writes bound it.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep first sightings, one list pointer and linear field unions\n\nEntities took the order of the first plan observed, and item plans run\nbefore list plans, so a complete list read before its detail reads came\nout reordered and lost \"all\" membership; each entity now keeps its\nearliest recorded sighting.\n\nA list plan reused the first recording's pointer for later recordings,\nso a later response that was itself an entity wrapping a list was read\nas that list; every recording must now locate the same list.\n\nThe field union scanned its ordered list for every key, quadratic in an\nobject's width; a set now answers membership.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep post-write values and partial lists out of the initial state\n\nA value that changed between repeats of one request line was named\nvolatile whenever no write under the type's own root lay between, so a\nwrite under another root (for example POST /api/dashboards/db before a\nsecond GET /api/search) left its effect in the initial state. Any\nrecorded write between the two observations now leaves every tool of the\ntype recorded with reason fields-differ instead.\n\nA list was published with membership \"all\" even when a total or count\nenvelope member exceeded the number it listed. Such a counter now makes\nthe membership \"recorded\".\n\nAlso drop a stale doc comment on ObservedEntity.order.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): scope item-shaped and deleted written paths out of documents\n\nState documents are held only for list-shaped paths a POST, PUT or PATCH\ntool writes. Reads of item-shaped written paths and of paths that are only\ndeleted stay recorded views; the guide now says so and the spec defers them\nto a later increment of #4933.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): count writes in flight when a value changes between reads\n\nThe volatility check compared write start positions with the two reads,\nso a write already in flight when the earlier read started was missed and\nits effect was named volatile. A write now counts when its interval\noverlaps the span from the earlier read's start to the later read's end.\n\nThe check also ran once per changed field and scanned every write. It now\nruns once per pair of observations, answered by a binary search over the\nwrites in timeline order and the latest end among each prefix.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): catch cross-tool changes across writes; read only item totals\n\nA value that changed across a write was caught only between repeats of\none tool's request line, so a list read before a write and an item read\nafter it put the post-write value into the initial state. Changes are\nnow classified per entity in timeline order after observation: across\nany recorded write, a change between repeats of a line or between two\nlines of the type rewrites the type (every tool recorded as\nfields-differ); with no write between, a repeat's change is volatile.\nThe classification lives in environmentStateMerge.ts.\n\nAny numeric member whose name contained \"total\" or \"count\" counted as\nan item total, so total_pages, account_id or page_count made complete\nlists partial. Item totals are now members whose name tokens include\ntotal or count and none of page, pages or per; a string of digits counts\nas a number; and a set has_more, next or next-page token member also\nmarks the list partial.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep post-write observations out of initial state\n\n* fix(environment): retain field provenance and bound state inference work\n\n* feat(environment): serve tool calls from the environment state\n\n`environment-serve --state ` serves an environment from the\ninitial state an environment-state view extracted. Read tools whose views\nare state-backed answer from a live state store: item views render the held\nentity into the recorded envelope, list views render the collection or the\nrecorded members, and document views return the held value; a missing entity\nor one lacking a required field is refused, and requests the state cannot\nanswer fall back to their recordings with the reason. The /agentenv data\nplane implements data/reset, data/add (a rea-state/v1 document as a data\npart, base64 bytes, a file:// path or an https URL, validated and replaced\natomically) and data/get, and the card advertises those operations and an\nintake declaration. Stage 1 is read-only: write tools are not served in\nstate mode. Without --state nothing changes.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record verification after merging the state view's review fixes\n\nCo-Authored-By: Claude Opus 5.5 \n\n* feat(environment)!: serve the environment state by default\n\nenvironment-serve derives the environment state at startup by running the\nenvironment-state view in-process on the capture with the manifest's\ntemplate rules, so an environment comes with its state and a user supplies\nnothing extra. The derived Evidence is the same one inspect-analysis-view\nproduces by hand. --state is removed; --replay-only serves exactly the\nstateless replay of main. When the state cannot be derived, or its catalog\ndoes not fit the discovery budget, the server starts in replay mode, logs\nthe reason and reports it in the stop summary's `state`. Exported bundles\nserve the state by default too: export derives it the same way, so the\nverifier's tool count and checked answer match what is served, and the\nREADME describes the served mode.\n\nBREAKING CHANGE: environment-serve answers read tools from the derived\nstate and does not serve write tools unless --replay-only is given; the\nstop summary reports `state` instead of `state_evidence_id`.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): bound data-plane replies, keep batch order, cancel intake on stop\n\n- One /agentenv response is held to 64 MiB: replies are measured as they\n are produced and one past the budget becomes a -32000 error stating it.\n- Every message of a batch enters the arrival-order queue on arrival, so\n another request's reset never lands between them.\n- Stopping the server, or a caller leaving, cancels the active download\n and answers queued calls `cancelled` without running them.\n- file:// URIs name only this host: another host or a network share is\n refused before anything is opened.\n- A loaded view value may not give an entity another identity.\n- List answers refuse a member lacking a field every recording carried,\n as item answers do.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep bodies too deep for the state's nesting out of the state\n\nA recorded body at the JSON depth limit was accepted by extraction, then\nnested a few levels deeper as a document or entity value, so sealing the\nstate Evidence threw and environment-serve and environment-export stopped\ninstead of falling back. stateBodyJson, the one rule extraction and\nserving share, now treats a body nesting deeper than the limit minus 16\nlevels as unusable, so its tool stays a recorded view.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): measure data-plane replies before building them\n\n83fcc739 bounded one /agentenv response to 64 MiB, but it still\nserialized each reply whole before measuring it, so a batch of data/get\ncalls on a large state built every refused reply in full only to drop\nit. Each reply is now measured in bounded JSON parts (the shared\njsonParts encoder), its parts kept only while it fits; a reply past the\nbudget is counted for its exact reply_bytes but never assembled. A test\nchecks that a refused read is never handed to JSON.stringify whole and\nthat its reply_bytes is exact.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): release batch replies as they are encoded; judge exact numbers by value\n\nanswerBatch kept every settled reply in its pending array until the\nbatch ended, so a batch alternating data/add and data/get held each\nloaded state alive; each reply now leaves the queue as it is encoded.\n\nThe exact-number policy judged a number by its recorded spelling, so a\nstate loaded with 1e20 came back from data/get as\n100000000000000000000, which data/add refused, breaking the promise\nthat data/get output loads back unchanged. A number is exact only when\nboth its recorded spelling and the one serialization writes are safe,\nso integers from 2^53 below 1e21 are refused in any spelling; replay\nkeeps such bodies as recorded text. A domain test checks that every\naccepted number is accepted again once written back.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep room for refusals and framing in the reply budget\n\nThe response budget counted accepted replies only: a budget error that\nreplaced a reply, and a batch's brackets and commas, were not charged,\nso near 64 MiB later refusals pushed the body past the advertised\nlimit. Every reply still to come now keeps room for its own budget\nerror, and a batch keeps room for its framing, so a refusal always fits\nand the body never passes the budget. Reply ids and which messages are\nanswered come from one place shared by the replies and the reserve.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): refuse a loaded state that data/get would write past the intake limit\n\ndata/add measured only the document it was given, while data/get\nwrites the state back with the members a document may omit (types, the\nstate Evidence id, view fields and record citations). A document just\nunder 32 MiB could therefore load and be reported larger than any intake\naccepts, breaking the data/get then data/add round trip. replace now\nmeasures the state as data/get writes it, part by part, and refuses it\npast the limit, leaving the state unchanged. The limit moves to the\nstate document module, so the application store can read it; the\nintake re-exports it.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep merged export checks on the shared test graph\n\nMain's export tests installed module mocks for the whole services\nproject, which reuses one module graph. A tarball read failure then\nmissed its importer, and a one-shot heap mock could be taken by another\nfile. Read those through bindings the tests replace for one case.\n\nCo-authored-by: morluto \n\n* fix(environment): keep a state file whose close failed owned until it closes\n\nA file:// data/add that could not close its descriptor dropped the handle,\nand an admission failure whose cleanup close failed dropped its owner, so\nnothing could retry the close or report it.\n\nThe read now runs through withOwnedRegularFile, and a failed close is\nretained in a server-lifetime ArtifactResourceScope. The next file read\nretries it first and answers -32000 while it is still open; inline and\nhttps documents still load. Closing the served environment retries it again\nand rejects with the unfinished close.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: gensokyo-dev \nCo-authored-by: Cursor Agent \nCo-authored-by: morluto \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["3dbe314ada9f6dcc994ca4655dc0faf082503847"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5351] + }, + { + "sha": "0155b899537dccb886984cc5e01e60ad3fe44492", + "subject": "fix(browser): name web-bundle budgets and recover web deadlines (#6036)", + "body": "fix(browser): name web-bundle budgets and recover web deadlines (#6036)\n\n* fix(browser): name web-bundle budgets and recover web deadlines\n\nName the existing heap, per-script, and total web-bundle phases, and reject a per-script deadline above the total. Promote capture, CDP command, source-map decode, and source-map fetch deadlines at today's defaults. Name DevTools timeoutMs, and state that discovery, cleanup grace, byte budgets, and Electron hook retention have no runtime override.\n\nRefs #5910\n\nCo-authored-by: morluto \n\n* fix(browser): apply selected web deadlines to the owning phase\n\nKeep HTTP and browser-socket discovery on the fixed discovery deadline so a\nshort command_timeout_ms starts at the handshake. Apply scenario\ncommand_timeout_ms to launch startup and the primary connect session, and\nkeep service-worker restoration on the fixed 5000 ms grace. Omit\ncommand_timeout_ms from recovery text when the operation does not accept it.\n\nCo-authored-by: morluto \n\n* fix(browser): retain scenario commands that finish after their deadline\n\nA timed-out scenario command stays owned so cleanup can close a late\nbrowser or context and restore a mutation that lands after the deadline.\nChild storage replies use that deadline, scenario recovery names\ncommand_timeout_ms in the capture JSON, and the session test connection\nimplements beginCleanupGrace.\n\nCo-authored-by: morluto \n\n* fix(browser): keep child command timeouts as the public failure\n\nA nested command such as Page.enable that is delivered but never answered\nwas stored as protocol_error, hiding the command name, selected deadline,\nand recovery. Store the typed timeout and assert that public error.\n\nCo-authored-by: morluto \n\n* fix(browser): keep runtime cleanup on the fixed grace\n\nSwitch runtime restoration to the cleanup grace before the first send so a\nshort command_timeout_ms cannot fail an otherwise successful observation.\nStop advertising command_timeout_ms on list_browser_targets, which never\nbounds a post-discovery command.\n\nCo-authored-by: morluto \n\n* test(browser): prove a short command deadline cannot fail runtime cleanup\n\nDrive restoration through the runtime fixture. A cleanup command that\noutlives command_timeout_ms still succeeds, and a stalled restoration\nnames the fixed 5000 ms grace.\n\nCo-authored-by: morluto \n\n* fix(browser): name the effective source-map decode deadline\n\ncodecBudgetLimitation reported a fixed 20-second deadline after a\ncaller selected decode_timeout_ms. Result and Evidence limitations\nnow name that effective millisecond deadline.\n\nCo-authored-by: morluto \n\n* fix(browser): separate handshake and target-attach deadlines\n\nA browser-level Target.attachToTarget no longer shares the WebSocket\nhandshake budget. Blocked service-worker attachment keeps discovery on\nits fixed deadline and applies command_timeout_ms to the later handshake\nand attach.\n\nCo-authored-by: morluto \n\n* fix(browser): name the web-bundle resource each runtime exhausts\n\nBun ignores the V8 old-space flag. A Windows Job reports the process\ncommit limit, and other Bun hosts no longer suggest raising max_heap_mb.\n\nCo-authored-by: morluto \n\n* fix(browser): cite the browser-socket discovery message budget\n\nWebSocket discovery enforces the 64 MiB protocol budget. Timeout\nrecovery no longer advertises the 8 MiB HTTP document budget.\n\nCo-authored-by: morluto \n\n* fix(browser): bound the blocked service-worker check before discovery\n\nThe first registration check has its own fixed 10s deadline. Discovery,\nhandshake, and Target.attachToTarget stay on their separate deadlines.\n\nCo-authored-by: morluto \n\n* fix(browser): name the operand that stopped web-bundle admission\n\nHost heap pressure no longer claims the fixed result budget is exhausted.\nA Windows Bun allocation before the commit limit still names that limit.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["166fb0820fdfc91742317b9c539c4d5fda2fe03b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6036] + }, + { + "sha": "bdf0be87c617b2b68880a1ed9ecf664a3807468f", + "subject": "fix(mcp): name response-byte and startup ceilings in recovery (#6005)", + "body": "fix(mcp): name response-byte and startup ceilings in recovery (#6005)\n\n* fix(mcp): name response-byte and startup ceilings in recovery\n\nName REA_MCP_MAX_RESPONSE_BYTES, its effective value, the 10485760 byte\nfloor, and process restart when the stdio response budget is hit, and\nstate that the setting does not raise Node's string ceiling. Name fixed\nMCP startup phase budgets when those deadlines fire, and keep Codex's\n30 second startup figure as client guidance.\n\nCo-authored-by: morluto \n\n* fix(mcp): distinguish string ceilings and keep dossier recovery\n\nName REA's reserved string limit separately from Node's ceiling, restore\ndetail:summary discovery for an oversized complete evidence bundle, and\napply the doctor deadline sentence when binary_session itself times out.\n\nCo-authored-by: morluto \n\n* fix(mcp): keep retained SDK errors inside the text budget\n\nQuoted SDK validation diagnostics expand when recovery JSON is escaped\ninto MCP text. Shorten only that preview so the retained-evidence\nreference still arrives as parseable error content.\n\nCo-authored-by: morluto \n\n* fix(mcp): keep export advice when a summary exceeds the response budget\n\nAn oversized get_evidence_bundle summary no longer repeats detail: summary.\nexport_evidence_bundle still writes the retained bundle outside one MCP frame,\nincluding when a larger byte budget cannot raise the string ceiling.\n\nCo-authored-by: morluto \n\n* style(mcp): format the SDK diagnostic preview return\n\noxfmt rejected the fitted-preview ternary in EvidenceMcpServer.ts, which failed Static checks and the CI required gate.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["0155b899537dccb886984cc5e01e60ad3fe44492"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6005] + }, + { + "sha": "d54c4345d3fb04e6e2363ad98c1495e1cf3774a9", + "subject": "fix(browser): report zero decoded bytes for undecodable gRPC-web text (#6159)", + "body": "fix(browser): report zero decoded bytes for undecodable gRPC-web text (#6159)\n\nCo-authored-by: Abelo9996 ", + "parents": ["bdf0be87c617b2b68880a1ed9ecf664a3807468f"], + "authors": [ + { + "name": "Abel Yagubyan", + "email": "abelyagubyan@berkeley.edu", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + }, + { + "name": "Abelo9996", + "email": "Abelo9996@users.noreply.github.com", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + } + ], + "pullRequests": [6159] + }, + { + "sha": "cbbd317fb59647a3dfd97c685b060d07eb42e39a", + "subject": "fix(process): index late scenario events in validation issues (#6160)", + "body": "fix(process): index late scenario events in validation issues (#6160)\n\nCo-authored-by: Abelo9996 ", + "parents": ["d54c4345d3fb04e6e2363ad98c1495e1cf3774a9"], + "authors": [ + { + "name": "Abel Yagubyan", + "email": "abelyagubyan@berkeley.edu", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + }, + { + "name": "Abelo9996", + "email": "Abelo9996@users.noreply.github.com", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + } + ], + "pullRequests": [6160] + }, + { + "sha": "f23066f0da508a849c87aa3f55f69602a548025a", + "subject": "fix(reconstruction): fall back to a kind-based title for blank graph labels (#6137)", + "body": "fix(reconstruction): fall back to a kind-based title for blank graph labels (#6137)\n\nFall back to a kind-based obligation title when a graph label is blank\n\nA whitespace-only application observation or semantic node label passed through ?? as the obligation title, and the ledger schema (trimmed, min length 1) then rejected the whole ledger. Use trim() || so a blank label takes the generated title.\n\nCloses #6126", + "parents": ["cbbd317fb59647a3dfd97c685b060d07eb42e39a"], + "authors": [ + { + "name": "Mohith DK", + "email": "143943640+mohithhhh@users.noreply.github.com", + "user": { + "login": "mohithhhh", + "__typename": "User" + } + } + ], + "pullRequests": [6137] + }, + { + "sha": "76dbc32f3990164f5b8e30dc3bf4870480eec50e", + "subject": "fix(environment): bound state reads and retain cleanup ownership (#6158)", + "body": "fix(environment): bound state reads and retain cleanup ownership (#6158)\n\n* feat(environment): extract the initial state a capture's reads observed\n\nAdd the environment-state analysis view. From the parents the environment\nmanifest accepts, it extracts the data the capture's reads observed before\nthe first related write: entity types with an identity field (proved by a\npath parameter or inferred from an identity name), entities with their\nrecorded values and provenance, documents for written non-entity paths, and\na render plan per read tool that is kept only when it reproduces the tool's\nlatest initial recordings from the state; every other read tool is a\nrecorded view with the reason. The Evidence is always inferred.\n\nResponse-body decoding moves to a domain owner shared with replay, exact\nJSON parsing moves to the owner of the exact-number policy, the manifest and\nstate views share parent admission and record grouping, and\nprojectAnalysisView takes its accumulators as one object.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): bound state at redacted writes; infer identity only from items\n\nA scenario write whose URL was redacted has no request line, so it was\ndropped and reads after it counted as initial state. Such a successful\nwrite now joins the timeline with an empty path, whose root relates to\nevery type, so it ends every type's state; a limitation counts them.\n\nA list whose recordings were all empty passed the \"every listed item\ncarries it\" check vacuously and published an identity field nothing\nshowed; it now needs at least one item, else the view stays recorded\nas no-identity.\n\nA value that differed between two request lines of one item tool, such\nas a query variant, was called volatile, and the gate then substituted\neach recording's own value; only repeats of one request line now show\nvolatility, so differing lines go through fields-differ.\n\nList membership is compared only while a list can still be the whole\ncollection, and merged entities are indexed by type and collection once,\nso paged captures no longer cost pages times entities (8,000 pages of\n40,000 entities: 5.7 s to 0.23 s).\n\nDocs and the tool contract say scenario state keeps the capture's\nredaction markers and how redacted writes bound it.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep first sightings, one list pointer and linear field unions\n\nEntities took the order of the first plan observed, and item plans run\nbefore list plans, so a complete list read before its detail reads came\nout reordered and lost \"all\" membership; each entity now keeps its\nearliest recorded sighting.\n\nA list plan reused the first recording's pointer for later recordings,\nso a later response that was itself an entity wrapping a list was read\nas that list; every recording must now locate the same list.\n\nThe field union scanned its ordered list for every key, quadratic in an\nobject's width; a set now answers membership.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep post-write values and partial lists out of the initial state\n\nA value that changed between repeats of one request line was named\nvolatile whenever no write under the type's own root lay between, so a\nwrite under another root (for example POST /api/dashboards/db before a\nsecond GET /api/search) left its effect in the initial state. Any\nrecorded write between the two observations now leaves every tool of the\ntype recorded with reason fields-differ instead.\n\nA list was published with membership \"all\" even when a total or count\nenvelope member exceeded the number it listed. Such a counter now makes\nthe membership \"recorded\".\n\nAlso drop a stale doc comment on ObservedEntity.order.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): scope item-shaped and deleted written paths out of documents\n\nState documents are held only for list-shaped paths a POST, PUT or PATCH\ntool writes. Reads of item-shaped written paths and of paths that are only\ndeleted stay recorded views; the guide now says so and the spec defers them\nto a later increment of #4933.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): count writes in flight when a value changes between reads\n\nThe volatility check compared write start positions with the two reads,\nso a write already in flight when the earlier read started was missed and\nits effect was named volatile. A write now counts when its interval\noverlaps the span from the earlier read's start to the later read's end.\n\nThe check also ran once per changed field and scanned every write. It now\nruns once per pair of observations, answered by a binary search over the\nwrites in timeline order and the latest end among each prefix.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): catch cross-tool changes across writes; read only item totals\n\nA value that changed across a write was caught only between repeats of\none tool's request line, so a list read before a write and an item read\nafter it put the post-write value into the initial state. Changes are\nnow classified per entity in timeline order after observation: across\nany recorded write, a change between repeats of a line or between two\nlines of the type rewrites the type (every tool recorded as\nfields-differ); with no write between, a repeat's change is volatile.\nThe classification lives in environmentStateMerge.ts.\n\nAny numeric member whose name contained \"total\" or \"count\" counted as\nan item total, so total_pages, account_id or page_count made complete\nlists partial. Item totals are now members whose name tokens include\ntotal or count and none of page, pages or per; a string of digits counts\nas a number; and a set has_more, next or next-page token member also\nmarks the list partial.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep post-write observations out of initial state\n\n* fix(environment): retain field provenance and bound state inference work\n\n* feat(environment): serve tool calls from the environment state\n\n`environment-serve --state ` serves an environment from the\ninitial state an environment-state view extracted. Read tools whose views\nare state-backed answer from a live state store: item views render the held\nentity into the recorded envelope, list views render the collection or the\nrecorded members, and document views return the held value; a missing entity\nor one lacking a required field is refused, and requests the state cannot\nanswer fall back to their recordings with the reason. The /agentenv data\nplane implements data/reset, data/add (a rea-state/v1 document as a data\npart, base64 bytes, a file:// path or an https URL, validated and replaced\natomically) and data/get, and the card advertises those operations and an\nintake declaration. Stage 1 is read-only: write tools are not served in\nstate mode. Without --state nothing changes.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record verification after merging the state view's review fixes\n\nCo-Authored-By: Claude Opus 5.5 \n\n* feat(environment)!: serve the environment state by default\n\nenvironment-serve derives the environment state at startup by running the\nenvironment-state view in-process on the capture with the manifest's\ntemplate rules, so an environment comes with its state and a user supplies\nnothing extra. The derived Evidence is the same one inspect-analysis-view\nproduces by hand. --state is removed; --replay-only serves exactly the\nstateless replay of main. When the state cannot be derived, or its catalog\ndoes not fit the discovery budget, the server starts in replay mode, logs\nthe reason and reports it in the stop summary's `state`. Exported bundles\nserve the state by default too: export derives it the same way, so the\nverifier's tool count and checked answer match what is served, and the\nREADME describes the served mode.\n\nBREAKING CHANGE: environment-serve answers read tools from the derived\nstate and does not serve write tools unless --replay-only is given; the\nstop summary reports `state` instead of `state_evidence_id`.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): bound data-plane replies, keep batch order, cancel intake on stop\n\n- One /agentenv response is held to 64 MiB: replies are measured as they\n are produced and one past the budget becomes a -32000 error stating it.\n- Every message of a batch enters the arrival-order queue on arrival, so\n another request's reset never lands between them.\n- Stopping the server, or a caller leaving, cancels the active download\n and answers queued calls `cancelled` without running them.\n- file:// URIs name only this host: another host or a network share is\n refused before anything is opened.\n- A loaded view value may not give an entity another identity.\n- List answers refuse a member lacking a field every recording carried,\n as item answers do.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep bodies too deep for the state's nesting out of the state\n\nA recorded body at the JSON depth limit was accepted by extraction, then\nnested a few levels deeper as a document or entity value, so sealing the\nstate Evidence threw and environment-serve and environment-export stopped\ninstead of falling back. stateBodyJson, the one rule extraction and\nserving share, now treats a body nesting deeper than the limit minus 16\nlevels as unusable, so its tool stays a recorded view.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): measure data-plane replies before building them\n\n83fcc739 bounded one /agentenv response to 64 MiB, but it still\nserialized each reply whole before measuring it, so a batch of data/get\ncalls on a large state built every refused reply in full only to drop\nit. Each reply is now measured in bounded JSON parts (the shared\njsonParts encoder), its parts kept only while it fits; a reply past the\nbudget is counted for its exact reply_bytes but never assembled. A test\nchecks that a refused read is never handed to JSON.stringify whole and\nthat its reply_bytes is exact.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): release batch replies as they are encoded; judge exact numbers by value\n\nanswerBatch kept every settled reply in its pending array until the\nbatch ended, so a batch alternating data/add and data/get held each\nloaded state alive; each reply now leaves the queue as it is encoded.\n\nThe exact-number policy judged a number by its recorded spelling, so a\nstate loaded with 1e20 came back from data/get as\n100000000000000000000, which data/add refused, breaking the promise\nthat data/get output loads back unchanged. A number is exact only when\nboth its recorded spelling and the one serialization writes are safe,\nso integers from 2^53 below 1e21 are refused in any spelling; replay\nkeeps such bodies as recorded text. A domain test checks that every\naccepted number is accepted again once written back.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep room for refusals and framing in the reply budget\n\nThe response budget counted accepted replies only: a budget error that\nreplaced a reply, and a batch's brackets and commas, were not charged,\nso near 64 MiB later refusals pushed the body past the advertised\nlimit. Every reply still to come now keeps room for its own budget\nerror, and a batch keeps room for its framing, so a refusal always fits\nand the body never passes the budget. Reply ids and which messages are\nanswered come from one place shared by the replies and the reserve.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): refuse a loaded state that data/get would write past the intake limit\n\ndata/add measured only the document it was given, while data/get\nwrites the state back with the members a document may omit (types, the\nstate Evidence id, view fields and record citations). A document just\nunder 32 MiB could therefore load and be reported larger than any intake\naccepts, breaking the data/get then data/add round trip. replace now\nmeasures the state as data/get writes it, part by part, and refuses it\npast the limit, leaving the state unchanged. The limit moves to the\nstate document module, so the application store can read it; the\nintake re-exports it.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep merged export checks on the shared test graph\n\nMain's export tests installed module mocks for the whole services\nproject, which reuses one module graph. A tarball read failure then\nmissed its importer, and a one-shot heap mock could be taken by another\nfile. Read those through bindings the tests replace for one case.\n\nCo-authored-by: morluto \n\n* fix(environment): keep a state file whose close failed owned until it closes\n\nA file:// data/add that could not close its descriptor dropped the handle,\nand an admission failure whose cleanup close failed dropped its owner, so\nnothing could retry the close or report it.\n\nThe read now runs through withOwnedRegularFile, and a failed close is\nretained in a server-lifetime ArtifactResourceScope. The next file read\nretries it first and answers -32000 while it is still open; inline and\nhttps documents still load. Closing the served environment retries it again\nand rejects with the unfinished close.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): attempt all state cleanup on close\n\n* fix(environment): bound wide state JSON traversal\n\n* fix(environment): scope cached state reply sizes to requests\n\n* fix(domain): preserve JSON depth diagnostic guidance\n\n---------\n\nCo-authored-by: Edgar Arakelyan \nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: gensokyo-dev \nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["f23066f0da508a849c87aa3f55f69602a548025a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6158] + }, + { + "sha": "7721d59e1a92fd2e51459b1a50bc9aa74fe10f32", + "subject": "fix(adb): normalize absent installer package sentinels (#4073)", + "body": "fix(adb): normalize absent installer package sentinels (#4073)\n\n* fix(adb): report a null installer declaration as an absent installer\n\nPackage Manager prints its String fields by concatenation, so a package\nwithout a recorded installer shows `installerPackageName=null` in\n`dumpsys package`. The projection treated only an empty value as absent\nand forwarded the text \"null\" as a present installer identity, which a\nconsumer cannot tell apart from a package literally named \"null\" (#3943).\n`versionName` is printed the same way and had the same gap.\n\nThe parser now maps the empty value and the `null` sentinel of both\nString fields to the nullable result's null at the producing boundary;\na reported installer such as com.android.vending is kept unchanged.\n\nValidation: parser unit tests for the sentinel, empty and missing\ninstaller lines and the absent version name, plus a provider-level\nregression through the inspect_adb_package operation; three of them fail\non main and pass here. The issue's four CLI controls through\n`rea inspect-adb-package` against a stub adb return JSON null for the\nsentinel, empty and missing cases and keep com.android.vending. Typecheck,\nlint and module boundaries pass.\n\nCloses #3943\n\n* fix(adb): keep the null sentinel handling to the installer field\n\nReview feedback on #4073: a manifest can declare the literal string\n\"null\" as android:versionName, and dumpsys prints it exactly like an\nabsent value, so mapping versionName to null would turn a real version\ninto absence. Only installerPackageName, where no package can carry that\nname, treats the printed null as the absent installer. The test for the\nversion name now pins the retained text.\n\n* test(adb): establish permission inventory in null-installer fixture\n\nMain now reports partial coverage when the requested-permission\ninventory is not established (9534e42ec). Give the null-installer\nfixture a requested permissions section so it still checks a\ncomplete projection.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["76dbc32f3990164f5b8e30dc3bf4870480eec50e"], + "authors": [ + { + "name": "Yankı Küçük", + "email": "12395430+yankikucuk@users.noreply.github.com", + "user": { + "login": "yankikucuk", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [4073] + }, + { + "sha": "4842f237650b214e9008399833eca04f83f84507", + "subject": "fix(source): retain CommonJS requires spelled as exact no-substitution templates (#4511)", + "body": "fix(source): retain CommonJS requires spelled as exact no-substitution templates (#4511)\n\n* fix(source): retain CommonJS requires spelled as exact no-substitution templates\n\nAdmit expression-free template arguments at the CommonJS require gate and\nread their single cooked quasi through the shared exact-literal reader.\nScope is the require path only: static ESM template declarations keep their\nparse failures and dynamic import() keeps the explicit unknown/partial\n relationship with no invented target.\n\nRefs: #4382\n\n* fix(source): admit TypeScript-wrapped exact require arguments via the shared literal reader\n\nAddress review: the require gate matched the outer AST node, so\nruntime-transparent TS wrappers (as const, !, satisfies) around exact\nstrings or expression-free templates were still silently omitted even\nthough readExactJavaScriptLiteral unwraps them. Remove the gate and let\nthe shared exact-literal reader own argument exactness; computed\narguments remain silent and dynamic import() behavior is unchanged.\n\nRefs: #4382\n\n---------\n\nCo-authored-by: Hemang Varshney <218273197+hemv-857@users.noreply.github.com>", + "parents": ["7721d59e1a92fd2e51459b1a50bc9aa74fe10f32"], + "authors": [ + { + "name": "Hemang Varshney", + "email": "htv0825@gmail.com", + "user": { + "login": "hemv-857", + "__typename": "User" + } + }, + { + "name": "Hemang Varshney", + "email": "218273197+hemv-857@users.noreply.github.com", + "user": { + "login": "hemv-857", + "__typename": "User" + } + } + ], + "pullRequests": [4511] + }, + { + "sha": "14c4c2a1d70fb0800f28227c5f001f608004aee0", + "subject": "fix(managed): preserve observed method header differences (#3814)", + "body": "fix(managed): preserve observed method header differences (#3814)", + "parents": ["4842f237650b214e9008399833eca04f83f84507"], + "authors": [ + { + "name": "xjh", + "email": "87483213+xiajiahang@users.noreply.github.com", + "user": { + "login": "xiajiahang", + "__typename": "User" + } + } + ], + "pullRequests": [3814] + }, + { + "sha": "ca2ca1614623f7d7def72e24885b2a232a408900", + "subject": "fix(dotnet): reject unfinished CIL prefix chains (#4416)", + "body": "fix(dotnet): reject unfinished CIL prefix chains (#4416)\n\n* fix(dotnet): reject unfinished CIL prefix chains\n\n* test(dotnet): cover unfinished prefixes in fat method bodies\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["14c4c2a1d70fb0800f28227c5f001f608004aee0"], + "authors": [ + { + "name": "Abdul Samad Siddiqui", + "email": "160336057+AbdulSamad94@users.noreply.github.com", + "user": { + "login": "AbdulSamad94", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [4416] + }, + { + "sha": "82e4e032dfe97b7912cebc2812e1e9fc41c1eb33", + "subject": "fix(artifacts): complete positional ZIP reads (#4414)", + "body": "fix(artifacts): complete positional ZIP reads (#4414)\n\nfix(artifacts): complete ZIP positional reads", + "parents": ["ca2ca1614623f7d7def72e24885b2a232a408900"], + "authors": [ + { + "name": "Afloat", + "email": "132809511+Afloat16@users.noreply.github.com", + "user": { + "login": "Afloat16", + "__typename": "User" + } + } + ], + "pullRequests": [4414] + }, + { + "sha": "d7ca93cc2cae9fd5af327d85a3ff60a2efa591df", + "subject": "fix(artifacts): name the ASAR header admission budget (#6172)", + "body": "fix(artifacts): name the ASAR header admission budget (#6172)\n\nKeep the 16 MiB ASAR header/index ceiling fixed and report that budget,\nthe lack of a runtime override, and that source selection does not bypass\nheader admission.\n\nRefs #5910\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["82e4e032dfe97b7912cebc2812e1e9fc41c1eb33"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6172] + }, + { + "sha": "2e6b38cef0cc1f2a949fe97244ef390aaacfc5b2", + "subject": "feat(environment): render more read tools from the state and describe responses (#5352)", + "body": "feat(environment): render more read tools from the state and describe responses (#5352)\n\n* feat(environment): render more read tools from the state and describe responses\n\nKeep main's environment serving and fold in coverage for non-entity reads,\nresponse summaries, and MCP tool annotations.\n\nSquashed rebase of #5352 onto main.\n\n* fix(environment): keep rendered documents and quoted samples inside their budgets\n\nA recorded body of exponential numbers can render past 256 KiB and turn a\nworking read into a state size error, so that document stays a recorded replay.\nDescription samples are measured after JSON quoting, and the replay-fallback\ncatalog check uses a tool count the longer response descriptions still separate.\n\nCo-authored-by: morluto \n\n* test(environment): pin the replay card this branch serves\n\nThe replay-only card test pinned main's 11,131-byte card. This branch's descriptions name each tool's recorded responses, so the card it serves is 12,818 bytes; the pin and its name follow.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto \nCo-authored-by: Claude Opus 5.5 ", + "parents": ["d7ca93cc2cae9fd5af327d85a3ff60a2efa591df"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5352] + }, + { + "sha": "0e5c511c0138685ff7317bef4d0184900018eb3e", + "subject": "fix(electron): follow absolute symlinks that stay inside the framework (#3587)", + "body": "fix(electron): follow absolute symlinks that stay inside the framework (#3587)\n\n* fix(electron): follow absolute symlinks that stay inside the framework\n\nAn absolute symlink target is now passed to relativeInside(root,\ntarget), and a null result still ends the walk as an escape. When the\ntarget lies inside the root, resolved is cleared and the root-relative\npieces are queued on pending, which replaces the path walked so far with\nthat absolute target. Later hops stay under the hop limit and the\nexisting lstat containment checks. Provider tests now cover an absolute\nVersions/Current that stays on in-framework version B and matches the\nrelative bundle's resolved path and SHA-256, an absolute Current outside\nthe framework, and an absolute in-framework link whose next hop leaves\nthe framework; those last two still surface an escape error.\n\nFixes #3380\n\n* test(electron): cover absolute framework symlink cycles\n\n---------\n\nCo-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["2e6b38cef0cc1f2a949fe97244ef390aaacfc5b2"], + "authors": [ + { + "name": "Matt Van Horn", + "email": "mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Matt Van Horn", + "email": "455140+mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [3587] + }, + { + "sha": "a73eac190b56092b0e17266e4abf375c34ef9af9", + "subject": "refactor: remove obsolete forwarding APIs and unify CI contracts (#6181)", + "body": "refactor: remove obsolete forwarding APIs and unify CI contracts (#6181)\n\n* refactor: remove obsolete internal forwarding APIs\n\n* refactor(ci): centralize failure classification contracts", + "parents": ["0e5c511c0138685ff7317bef4d0184900018eb3e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6181] + }, + { + "sha": "1828cf87a06a0916fc4f2bd54956051a3ac724bd", + "subject": "refactor: remove redundant contract and syntax definitions", + "body": "refactor: remove redundant contract and syntax definitions\n", + "parents": ["a73eac190b56092b0e17266e4abf375c34ef9af9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6182] + }, + { + "sha": "b2dc45006dde47858e245a0c82d0b60b9b1021f2", + "subject": "refactor(cli): share registered command traversal", + "body": "refactor(cli): share registered command traversal\n", + "parents": ["1828cf87a06a0916fc4f2bd54956051a3ac724bd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6182] + }, + { + "sha": "603a7d022c012fb7b6bd1de65b44950720f8b40d", + "subject": "refactor(process): share capture evidence admission", + "body": "refactor(process): share capture evidence admission\n", + "parents": ["b2dc45006dde47858e245a0c82d0b60b9b1021f2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6182] + }, + { + "sha": "452e3ccad1d2f69a767b4bf49d6b618023b3e4d4", + "subject": "refactor(javascript): own source range validation once", + "body": "refactor(javascript): own source range validation once\n", + "parents": ["603a7d022c012fb7b6bd1de65b44950720f8b40d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a59abe932ec6cd4d37f9a536249f4d012c67b210", + "subject": "refactor(evidence): centralize comparison identities and source recording", + "body": "refactor(evidence): centralize comparison identities and source recording\n", + "parents": ["452e3ccad1d2f69a767b4bf49d6b618023b3e4d4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fafc1881b590bbfc066e633008f63c75590d24cb", + "subject": "refactor(managed): return singular admitted evidence records", + "body": "refactor(managed): return singular admitted evidence records\n", + "parents": ["a59abe932ec6cd4d37f9a536249f4d012c67b210"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c1a0561bf31bf5d8c4be6395290e1b986fee2a0c", + "subject": "refactor(mobile): retain inventory sources at the projection boundary", + "body": "refactor(mobile): retain inventory sources at the projection boundary\n", + "parents": ["fafc1881b590bbfc066e633008f63c75590d24cb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7cec547eccdcbc0f7e63f89e42e0bdd3879b9295", + "subject": "fix(prompts): suggest only admitted process capture evidence", + "body": "fix(prompts): suggest only admitted process capture evidence\n", + "parents": ["c1a0561bf31bf5d8c4be6395290e1b986fee2a0c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8413ec08f732b5ef4ecaeee1c4b9bfe8924a7e9d", + "subject": "fix(process): report the effective regex heap and uncertain signal retry (#6099)", + "body": "fix(process): report the effective regex heap and uncertain signal retry (#6099)\n\n* fix(process): report the effective regex worker heap\n\nNode gives --max-old-space-size, including NODE_OPTIONS, precedence over\nthe worker's 128 MiB resourceLimits request. Name that effective\nold-generation heap and stop saying the request has no runtime override.\nThe matching deadline stays a fixed cap.\n\nCo-authored-by: morluto \n\n* fix(process): keep SIGXCPU and SIGXFSZ retries uncertain\n\nThe signal does not prove the retained rlimit was exhausted, so an\nunchanged retry may succeed. Project that retry as possible instead of\nsaying it fails the same way.\n\nCo-authored-by: morluto \n\n* fix(process): leave percentage heap overrides unestablished\n\n--max-old-space-size-percentage takes precedence over the absolute flag\nin either order. Node computes that MiB from startup memory, which a\nlater read does not recover, so the effective heap stays unknown instead\nof the 128 MiB request or an absolute flag.\n\nCo-authored-by: morluto \n\n* fix(process): read launch NODE_OPTIONS, not process.env\n\nA preload can rewrite process.env.NODE_OPTIONS after V8 has applied the\noriginal flags, and those flags are not copied into execArgv. Use the\ninitial environment block when it can be read, and leave the effective\nheap unestablished when that provenance cannot be recovered.\n\nCo-authored-by: morluto \n\n* fix(process): leave env-file heap overrides unestablished\n\n--env-file and --env-file-if-exists can supply NODE_OPTIONS when that\nvariable was absent from the initial environment. The file is not in\n/proc/self/environ, so a missing entry is not the 128 MiB request.\nAn initial NODE_OPTIONS is still parsed, because Node does not let the\nfile replace it.\n\nCo-authored-by: morluto \n\n* fix(process): leave --max-heap-size old generation unestablished\n\nA positive --max-heap-size or --max_heap_size sets the total heap, not the\nold generation, and can stay below the 128 MiB worker request when an\nold-space flag is also present. The effective old generation stays\nunestablished while that value is in effect. Zero or empty clears it.\n\nCo-authored-by: morluto \n\n* fix(process): leave config-file heap options unestablished\n\n--experimental-config-file and --experimental-default-config-file can\napply a heap percentage from a file that is not launch provenance. The\neffective old generation stays unestablished when either flag is present,\nincluding beside an absolute --max-old-space-size.\n\nCo-authored-by: morluto \n\n* fix(process): read launch exec argv from the command line\n\nprocess.execArgv can be cleared after V8 applies --max-old-space-size.\nLinux recovers those tokens from /proc/self/cmdline and leaves the heap\nunestablished when that vector cannot be separated from the program entry.\nHeap probes compare pinned absolute limits instead of a percentage of host memory.\n\nCo-authored-by: morluto \n\n* fix(process): leave a title-overwritten command line unestablished\n\nprocess.title and --title replace /proc/self/cmdline with the title.\nA buffer without a program entry is not an empty option list, so the\nheap stays unknown instead of the 128 MiB request. The command-line\nprobe does not read /proc off Linux.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["603a7d022c012fb7b6bd1de65b44950720f8b40d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6099] + }, + { + "sha": "5e6529521c7377d6025863fe41ceeaf5c0b41642", + "subject": "Merge remote-tracking branch 'origin/main' into codex/legacy-cleanup-followup-20261022", + "body": "Merge remote-tracking branch 'origin/main' into codex/legacy-cleanup-followup-20261022\n", + "parents": [ + "7cec547eccdcbc0f7e63f89e42e0bdd3879b9295", + "8413ec08f732b5ef4ecaeee1c4b9bfe8924a7e9d" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2451e187beab43a811bb6149dfd3af3ad8178327", + "subject": "test(prompts): isolate capture admission regression", + "body": "test(prompts): isolate capture admission regression\n", + "parents": ["5e6529521c7377d6025863fe41ceeaf5c0b41642"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5da3b7c39369ecedddb18f25092318b43811eeb6", + "subject": "refactor(asar): centralize read failure and cancellation semantics", + "body": "refactor(asar): centralize read failure and cancellation semantics\n", + "parents": ["2451e187beab43a811bb6149dfd3af3ad8178327"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c5c5ff45aa663e132eaa432aef36e0cb386a6c93", + "subject": "refactor: import shared limits and projection helpers from their owners", + "body": "refactor: import shared limits and projection helpers from their owners\n", + "parents": ["5da3b7c39369ecedddb18f25092318b43811eeb6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cdd718ffb0bd0fc28b0d54f89cfae5d7661a8fd9", + "subject": "refactor(inputs): own absolute path validation in shared contracts", + "body": "refactor(inputs): own absolute path validation in shared contracts\n", + "parents": ["c5c5ff45aa663e132eaa432aef36e0cb386a6c93"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2765fc12bb7e33ebf01250b2d22a15c6865789db", + "subject": "refactor(browser): share composed artifact cleanup ownership", + "body": "refactor(browser): share composed artifact cleanup ownership\n", + "parents": ["cdd718ffb0bd0fc28b0d54f89cfae5d7661a8fd9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1158dc2a9496f58fdb9600628912ede466613fb4", + "subject": "refactor(process): own worker frame wait lifecycle", + "body": "refactor(process): own worker frame wait lifecycle\n", + "parents": ["2765fc12bb7e33ebf01250b2d22a15c6865789db"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "18669641e98d49d06c9d1c3227167756db9a6c3b", + "subject": "test(browser): select a bounded service-worker setup deadline (#6186)", + "body": "test(browser): select a bounded service-worker setup deadline (#6186)", + "parents": ["cdd718ffb0bd0fc28b0d54f89cfae5d7661a8fd9"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6186] + }, + { + "sha": "22c4b528d2e06bee8c5f5034f5b184fec0954724", + "subject": "Merge remote-tracking branch 'origin/main' into codex/legacy-cleanup-followup-20261022", + "body": "Merge remote-tracking branch 'origin/main' into codex/legacy-cleanup-followup-20261022\n", + "parents": [ + "1158dc2a9496f58fdb9600628912ede466613fb4", + "18669641e98d49d06c9d1c3227167756db9a6c3b" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b7529304f0a2a5d67fec41df6abf0b43d1eb8891", + "subject": "refactor(browser): centralize shared CDP observation facts", + "body": "refactor(browser): centralize shared CDP observation facts\n", + "parents": ["22c4b528d2e06bee8c5f5034f5b184fec0954724"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a2805bc93483be3a9d2f6a4fcaefcd6ee3c130f5", + "subject": "refactor(managed): share artifact and token identity schemas", + "body": "refactor(managed): share artifact and token identity schemas\n", + "parents": ["b7529304f0a2a5d67fec41df6abf0b43d1eb8891"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c9f95eaf9025dc89cf05c2efed22f559b567809b", + "subject": "refactor(javascript): own graph Evidence envelope validation", + "body": "refactor(javascript): own graph Evidence envelope validation\n", + "parents": ["a2805bc93483be3a9d2f6a4fcaefcd6ee3c130f5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "20bf7d957f261862eb2b60015e441dc8fcb1f390", + "subject": "refactor(setup): reuse desired registration per document snapshot", + "body": "refactor(setup): reuse desired registration per document snapshot\n", + "parents": ["c9f95eaf9025dc89cf05c2efed22f559b567809b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6b44e35bec09560383370fdcad0db70235c311f8", + "subject": "refactor(managed): own successful PE inspection identity", + "body": "refactor(managed): own successful PE inspection identity\n", + "parents": ["20bf7d957f261862eb2b60015e441dc8fcb1f390"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2604059961bdbe22558166962b2c67432a87e157", + "subject": "refactor(process): share decoded NDJSON framing", + "body": "refactor(process): share decoded NDJSON framing\n", + "parents": ["6b44e35bec09560383370fdcad0db70235c311f8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1fbfbf74ef5f3c5e8ea372cfb13dcb79cc32773a", + "subject": "refactor(gdb): own command record snapshots and stream groups", + "body": "refactor(gdb): own command record snapshots and stream groups\n", + "parents": ["2604059961bdbe22558166962b2c67432a87e157"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3966c92c71fe3280482219e484a8d5ad7faf7f17", + "subject": "refactor(ghidra): derive reference facts from shared schema", + "body": "refactor(ghidra): derive reference facts from shared schema\n", + "parents": ["1fbfbf74ef5f3c5e8ea372cfb13dcb79cc32773a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d8948efb81bdbe5f6bc76221f421ad9b25e3fcc0", + "subject": "refactor(mcp): bind Electron provider failures at registration", + "body": "refactor(mcp): bind Electron provider failures at registration\n", + "parents": ["3966c92c71fe3280482219e484a8d5ad7faf7f17"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "adfde012ec8c5d09f59b97faeb483645fd9e83f9", + "subject": "refactor(readiness): share canonical stage validation", + "body": "refactor(readiness): share canonical stage validation\n", + "parents": ["d8948efb81bdbe5f6bc76221f421ad9b25e3fcc0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "247c8f4eab6d76f5ecca49102cba54309bdc200f", + "subject": "refactor(javascript): own property capture translation", + "body": "refactor(javascript): own property capture translation\n", + "parents": ["adfde012ec8c5d09f59b97faeb483645fd9e83f9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b2fad362f2b37f81dc9a6f784f4521e4ca24d41e", + "subject": "fix(browser): stop expired work and release deadline resources", + "body": "fix(browser): stop expired work and release deadline resources\n", + "parents": ["247c8f4eab6d76f5ecca49102cba54309bdc200f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "24bd2b989a0741f5b26c6da64c21619eb00b27bc", + "subject": "refactor(browser): derive comparability once per capture pair", + "body": "refactor(browser): derive comparability once per capture pair\n", + "parents": ["b2fad362f2b37f81dc9a6f784f4521e4ca24d41e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "57fd3ea5d8fcb0bbd5c58e127986f05183c9dc18", + "subject": "feat(cli): summarize managed members with durable Evidence paging (#5167)", + "body": "feat(cli): summarize managed members with durable Evidence paging (#5167)\n\nFixes #5148.\n\nAdd opt-in durable managed member summaries and authenticated paging while preserving complete default output, original Evidence, cleanup ownership and queued cancellation.\n\nVerified with bounded real Newtonsoft/Redux/Rust tasks, independent oracles, 556 focused tests and the expanded domain gate; paired token estimates and latency tradeoffs are recorded in experiments/analysis-efficiency/managed-cli.md.", + "parents": ["d8948efb81bdbe5f6bc76221f421ad9b25e3fcc0"], + "authors": [ + { + "name": "Jay-Alexander Elliot", + "email": "10952625+jaelliot@users.noreply.github.com", + "user": { + "login": "jaelliot", + "__typename": "User" + } + } + ], + "pullRequests": [5167] + }, + { + "sha": "421d527bfefa7c268ccb1e6aca68d59e45ebe643", + "subject": "Merge remote-tracking branch 'origin/main' into codex/legacy-cleanup-followup-20261022", + "body": "Merge remote-tracking branch 'origin/main' into codex/legacy-cleanup-followup-20261022\n", + "parents": [ + "24bd2b989a0741f5b26c6da64c21619eb00b27bc", + "57fd3ea5d8fcb0bbd5c58e127986f05183c9dc18" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "09b29436f478e06d9f6b05f2a6071484a8b90a9b", + "subject": "refactor(snapshot): share persisted execution projection", + "body": "refactor(snapshot): share persisted execution projection\n", + "parents": ["421d527bfefa7c268ccb1e6aca68d59e45ebe643"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "13a864020414577006dce58d7fdaa877ddd0cb52", + "subject": "fix(browser): observe fetch settlement after synchronous abort", + "body": "fix(browser): observe fetch settlement after synchronous abort\n", + "parents": ["09b29436f478e06d9f6b05f2a6071484a8b90a9b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5a28a147f19ff7e7a8c8645623a3e33ea52a3f8e", + "subject": "fix(hopper): preserve streamed Unicode lease owner identities", + "body": "fix(hopper): preserve streamed Unicode lease owner identities\n", + "parents": ["13a864020414577006dce58d7fdaa877ddd0cb52"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8dbe92a4a3827135f88ae26700be95b60dacf8c9", + "subject": "refactor(reference): centralize source inventory rules", + "body": "refactor(reference): centralize source inventory rules\n", + "parents": ["5a28a147f19ff7e7a8c8645623a3e33ea52a3f8e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "73be86c39e6c13139e0755c8ff2f8e95751d4a72", + "subject": "fix(android): decode guardian output as UTF-8 streams", + "body": "fix(android): decode guardian output as UTF-8 streams\n", + "parents": ["8dbe92a4a3827135f88ae26700be95b60dacf8c9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5b0373db11ac8bc3a1dc0df469766b4d92aa2226", + "subject": "refactor(browser): map artifact failures at one boundary", + "body": "refactor(browser): map artifact failures at one boundary\n", + "parents": ["73be86c39e6c13139e0755c8ff2f8e95751d4a72"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "55f5c8db690ada98a66959c48be8ff43222cb514", + "subject": "refactor(kuna): centralize installation cancellation projection", + "body": "refactor(kuna): centralize installation cancellation projection\n", + "parents": ["5b0373db11ac8bc3a1dc0df469766b4d92aa2226"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1ac7ce3f3b196342502a47e51bbc1522b1d62d69", + "subject": "refactor(native): share call observation outcome schema", + "body": "refactor(native): share call observation outcome schema\n", + "parents": ["55f5c8db690ada98a66959c48be8ff43222cb514"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c465ff5a814b8e1a386fc547cbcd94df5c35f086", + "subject": "refactor(evidence): share canonical ASCII ordering rules", + "body": "refactor(evidence): share canonical ASCII ordering rules\n", + "parents": ["1ac7ce3f3b196342502a47e51bbc1522b1d62d69"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "00819258a7bc1dedafdec0736f8c99fba9952136", + "subject": "refactor(browser): separate bundle state from AST inspection", + "body": "refactor(browser): separate bundle state from AST inspection\n", + "parents": ["c465ff5a814b8e1a386fc547cbcd94df5c35f086"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "183b4d4e7e303561cb06617fa485d996a4c99f63", + "subject": "refactor(managed): share metadata token schema", + "body": "refactor(managed): share metadata token schema\n", + "parents": ["00819258a7bc1dedafdec0736f8c99fba9952136"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "db87917daa0a7cdb561d63838b7fa400603f3884", + "subject": "refactor(native): use canonical deadline defaults", + "body": "refactor(native): use canonical deadline defaults\n", + "parents": ["183b4d4e7e303561cb06617fa485d996a4c99f63"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "eab4e47916dd1d43689c33db31d0693fc89cc0e9", + "subject": "refactor(ghidra): share session startup observation checks", + "body": "refactor(ghidra): share session startup observation checks\n", + "parents": ["db87917daa0a7cdb561d63838b7fa400603f3884"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "87c8086fc1c9783de1ef4011dfdf597957064813", + "subject": "refactor(managed): reuse canonical JSON digest owner", + "body": "refactor(managed): reuse canonical JSON digest owner\n", + "parents": ["eab4e47916dd1d43689c33db31d0693fc89cc0e9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "719d56ebfeff78acf560d759326d5ba9d20e273e", + "subject": "fix(evidence): preserve provider execution provenance across workflows", + "body": "fix(evidence): preserve provider execution provenance across workflows\n", + "parents": ["87c8086fc1c9783de1ef4011dfdf597957064813"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "34aa22d0aa7f59fe950fed7058f9ec5c58acd2df", + "subject": "refactor(javascript): use shared canonical identity primitives", + "body": "refactor(javascript): use shared canonical identity primitives\n", + "parents": ["719d56ebfeff78acf560d759326d5ba9d20e273e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b88bdfccd28c053f527a4b2b055ee78649dc65c9", + "subject": "refactor(evidence): share profile and completion digest owner", + "body": "refactor(evidence): share profile and completion digest owner\n", + "parents": ["34aa22d0aa7f59fe950fed7058f9ec5c58acd2df"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ce5bc8cb0149c230e571126e2e7d9f43c86a823d", + "subject": "refactor(domain): consolidate projection and verification digests", + "body": "refactor(domain): consolidate projection and verification digests\n", + "parents": ["b88bdfccd28c053f527a4b2b055ee78649dc65c9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dd46a13dec2fe8e822e3ad284ed38fe997aab5d5", + "subject": "refactor(config): share HTTP listener port contract", + "body": "refactor(config): share HTTP listener port contract\n", + "parents": ["ce5bc8cb0149c230e571126e2e7d9f43c86a823d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "306ca984bca55f597fb203d73367bd0cd117b7ab", + "subject": "refactor(electron): share observed process and window schemas", + "body": "refactor(electron): share observed process and window schemas\n", + "parents": ["dd46a13dec2fe8e822e3ad284ed38fe997aab5d5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "81ab0ddc952a24442a2de5a9716df4463d4b4f83", + "subject": "refactor(managed): derive verification declaration facts from their owner", + "body": "refactor(managed): derive verification declaration facts from their owner\n", + "parents": ["306ca984bca55f597fb203d73367bd0cd117b7ab"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "34fd7bdf7d7aeec83d0380254ca9e0f7149c98ef", + "subject": "refactor(reference): share resource failure projection", + "body": "refactor(reference): share resource failure projection\n", + "parents": ["81ab0ddc952a24442a2de5a9716df4463d4b4f83"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dbcec4cf56e762748bfe6175b156bb6edd3b8c7d", + "subject": "refactor(javascript): share result binding projection and facts", + "body": "refactor(javascript): share result binding projection and facts\n", + "parents": ["34fd7bdf7d7aeec83d0380254ca9e0f7149c98ef"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "527ade245ac45759a4d9a645b0760823b475ac9b", + "subject": "refactor(views): derive layout summary fields from source contract", + "body": "refactor(views): derive layout summary fields from source contract\n", + "parents": ["dbcec4cf56e762748bfe6175b156bb6edd3b8c7d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d77bc0e8a050079165272cddbf9c94b92aef948e", + "subject": "refactor(cli): share analysis snapshot option contract", + "body": "refactor(cli): share analysis snapshot option contract\n", + "parents": ["527ade245ac45759a4d9a645b0760823b475ac9b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4f5437983143ba9e22afffe5b1d408449c67d175", + "subject": "refactor(json): reuse shared parser at CLI and shape boundaries", + "body": "refactor(json): reuse shared parser at CLI and shape boundaries\n", + "parents": ["d77bc0e8a050079165272cddbf9c94b92aef948e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dd3497e1338cda86c9ef792754d8a369bd009942", + "subject": "refactor(javascript): reuse argument binding lookup", + "body": "refactor(javascript): reuse argument binding lookup\n", + "parents": ["4f5437983143ba9e22afffe5b1d408449c67d175"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ddce4bb446dc64469df5256e47c9a1d2865e2063", + "subject": "refactor(javascript): centralize source coordinate operations", + "body": "refactor(javascript): centralize source coordinate operations\n", + "parents": ["dd3497e1338cda86c9ef792754d8a369bd009942"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "63fe0eb5dbd4f4f8b12a7d6c7d8c51effe4673f3", + "subject": "refactor(electron): reuse retention and capture contracts", + "body": "refactor(electron): reuse retention and capture contracts\n", + "parents": ["ddce4bb446dc64469df5256e47c9a1d2865e2063"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "51e0df97e993727a0cb75e3b0e81f080773ff921", + "subject": "refactor(javascript): own application node merging in the graph domain", + "body": "refactor(javascript): own application node merging in the graph domain\n", + "parents": ["63fe0eb5dbd4f4f8b12a7d6c7d8c51effe4673f3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "27dc9735e4bfd47a7276a06efc9e863b6a296419", + "subject": "refactor(managed): reuse the member comparison input contract", + "body": "refactor(managed): reuse the member comparison input contract\n", + "parents": ["51e0df97e993727a0cb75e3b0e81f080773ff921"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c0eb612780364effc5a34c412856a60b72b1d1a9", + "subject": "refactor(web): share retained text artifact metadata", + "body": "refactor(web): share retained text artifact metadata\n", + "parents": ["27dc9735e4bfd47a7276a06efc9e863b6a296419"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0b7213c89056a8e3a9e2bb785be210c8393d2899", + "subject": "perf(mcp): defer analysis runtime after catalog discovery (#4424)", + "body": "perf(mcp): defer analysis runtime after catalog discovery (#4424)\n\nServe build-recorded default compact and explicit full catalogs, then materialize canonical analysis handlers on first use. Keep transport, Evidence delivery, profile identity and caller choices consistent. Share sealed MCP server ownership between eager and deferred lifecycle paths.\n\nValidate 125 focused cases, schema/contract repeats, negative controls, builds/static/docs checks and latest-main integration. Record 72 real SDK task trials with independent Rust metadata oracles and whole-family resource bounds; disclose shifted first-RPC cost and unchanged catalog tokens. Qualify the real Rizin small-target debug lifecycle separately. Automated review findings addressed; Codex review unavailable due repository usage limits.", + "parents": ["63fe0eb5dbd4f4f8b12a7d6c7d8c51effe4673f3"], + "authors": [ + { + "name": "郭立 Guo Li", + "email": "leeguoo@163.com", + "user": { + "login": "leeguooooo", + "__typename": "User" + } + } + ], + "pullRequests": [4424] + }, + { + "sha": "aa7d960ef5ad9741c8584e29cce1dc795a68bdf8", + "subject": "fix(process): settle owned cleanup with the launcher's own exit proof (#6205)", + "body": "fix(process): settle owned cleanup with the launcher's own exit proof (#6205)\n\n* fix(process): settle owned cleanup with the launcher's own exit proof\n\nWhen owned process-group verification fails while the supervised\nlauncher is still mid-exit, the supervisor now waits up to the kill grace\nfor its own child-exit observation and verifies once more after it\narrives. Verification is not repeated when the exit was already observed\nbefore cleanup started, so there is no new evidence and the original\nfailure is kept. Nothing is signaled based on the wait.\n\nFixes #6134\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(process): bound Hopper session cleanup attempts by exit evidence\n\nThe fake Hopper launcher exits after its shutdown acknowledgement. When\nthe supervisor first observes that exit during a failed verification, it\nverifies once more, so the first close makes one or two attempts depending\non timing. The test now asserts that bound. Later session retries, made\nafter the exit was already observed, make exactly one attempt each.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["0b7213c89056a8e3a9e2bb785be210c8393d2899"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6205] + }, + { + "sha": "292fd532c9e62d0654a5277889f2a25acc96d5f3", + "subject": "fix(ghidra): retry retained language catalog closes before admission (#6210)", + "body": "fix(ghidra): retry retained language catalog closes before admission (#6210)\n\nThe language catalog kept failed .ldefs closes in a module-global set that\nonly a later catalog read retried, and the provider returned a cleanup error\nbound to no owner. Registry admission retries provider close before profile\nresolution, so the retained handle was never retried and the original error\nstayed incomplete forever.\n\nRead definitions through the provider's caller-owned inspection scope with the\nshared regular-file owner used by the seed and extension readers. A failed\nclose is retained as an exact lease in that scope, provider close and the next\ncatalog admission retry it, and the translated error is bound to the lease so\nconfirmed release reopens the same registry.\n\nFixes #6133\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["aa7d960ef5ad9741c8584e29cce1dc795a68bdf8"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6210] + }, + { + "sha": "6f28b3633ba2e9ae54e8a0de39b5921502dd8443", + "subject": "Merge remote-tracking branch 'origin/main' into codex/legacy-cleanup-followup-20261022", + "body": "Merge remote-tracking branch 'origin/main' into codex/legacy-cleanup-followup-20261022\n", + "parents": [ + "c0eb612780364effc5a34c412856a60b72b1d1a9", + "292fd532c9e62d0654a5277889f2a25acc96d5f3" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e5d2805b428b1862bd502bf7877f44813520e266", + "subject": "fix(javascript): keep unmapped captured runtime scripts unknown (#6214)", + "body": "fix(javascript): keep unmapped captured runtime scripts unknown (#6214)\n\nA captured script whose bytes matched no static digest was reported as\nhigh-confidence unmatched even when no automatic or caller-declared\nmapping applied to its location in any static layer. The matcher now\ncomputes mapping presence once while locating candidates and shares one\nno-candidate classification between the captured-source and source-free\nbranches, so an unmapped location stays unknown with\nno-authorized-location-mapping and is not counted as unmatched.\n\nFixes #6061.\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["6f28b3633ba2e9ae54e8a0de39b5921502dd8443"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6214] + }, + { + "sha": "4a4bbab3c337701febeb6b532ace49041c4876e0", + "subject": "fix(cli): keep committed evidence bundle receipts after cancellation (#6221)", + "body": "fix(cli): keep committed evidence bundle receipts after cancellation (#6221)\n\nSummary delivery with --evidence_output wrote the bundle, then let the\ncommand's close/cancellation check replace the result. A SIGINT/SIGTERM\nduring staging cleanup after commit returned typed cancellation without\nthe receipt, and a persistent staging cleanup failure after commit was\nrewrapped as a provider cleanup error that dropped published_path.\n\nEvery --evidence_output command now selects its view first and publishes\nthrough publishEvidenceDelivery, the owner inspect-managed-members already\nused. Post-commit cancellation keeps {path, bytes} under\ndetails.diagnostics.evidence_bundle; incomplete cleanup keeps\ndetails.published_path and bytes; a cleanup retry that succeeds returns\nthe normal receipt; pre-commit cancellation creates nothing and names\nthe command's operation.\n\nFixes #6095\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["e5d2805b428b1862bd502bf7877f44813520e266"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6221] + }, + { + "sha": "8451b961adc0913a0f9657d8313d4f6d80d3024a", + "subject": "feat(artifacts): make ASAR header admission configurable (#6209)", + "body": "feat(artifacts): make ASAR header admission configurable (#6209)\n\n* feat(artifacts): make ASAR header admission configurable\n\nASAR header/index admission was a fixed 16 MiB with no override, so\noperators with large Electron indexes could only extract the archive.\n\nREA_ASAR_MAX_HEADER_BYTES now sets it (default 16777216, maximum\n268435456). One owner resolves the effective admission for the\nclassification probe, inventory, ASAR reader and Electron file scope,\nincluding the Electron header cache budget. Startup and doctor validate\nthe setting; admission refuses an invalid value instead of falling back.\nRecovery and error details name the effective value and its source.\n\nFixes #6176\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(artifacts): resolve ASAR header admission from the caller's environment\n\nThe admission read process.env, so composition roots that select their own\nenvironment (createDirectAnalysis, createServer, CLI, optional observation\nfactories) could not raise or lower it, and an ambient value leaked into\ncallers that left it unset.\n\nNothing reads process.env now. ArtifactProvider and extraction resolve the\nadmission from their environment; JavaScript analysis parses it from the\nenvironment its server or CLI caller passes and refuses an invalid value;\nthe Electron and V8 providers receive it from their factories. Inventory,\nnested ASAR readers, classification probes and Electron page authorization\ncarry that one value. A header cached by Electron under a larger admission\nis refused for a smaller one.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["4a4bbab3c337701febeb6b532ace49041c4876e0"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6209] + }, + { + "sha": "b928963675a735df2577d67bbd02f4707417a6e6", + "subject": "feat(native): inspect a universal Mach-O slice in Go and Rust metadata readers (#6219)", + "body": "feat(native): inspect a universal Mach-O slice in Go and Rust metadata readers (#6219)\n\n* feat(native): inspect a universal Mach-O slice in Go and Rust metadata readers\n\ninspect_go_binary and inspect_rust_binary refused universal Mach-O files and\noffered no slice selection, so hosts without lipo could not inspect them.\n\nBoth now accept architecture (x86, x86_64, arm, arm64). One selector reads\nREA's own FAT table, validates the slice range, alignment and header CPU,\nand returns the thin image with its macho-selected-image-v1 identity. The\nuniversal file stays the artifact; results add selected_slice and keep\nevery source range a file offset. Missing, absent, duplicate or misplaced\nselections fail on architecture and list the slices present. Subject\nformat mach-o-universal now has one owner shared by the services and the\nretained Go/Rust views.\n\nFixes #4102\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(native): reject damaged universal files and self-contradicting slice reports\n\nA FAT table whose slice could not be read was treated as a non-universal\nfile, so callers were told to omit architecture. Its reason now fails on\npath. Go and Rust reports with a selected slice must be Mach-O and name the\nslice's CPU family, through one shared agreement check. The CLI\narchitecture flag is described in help.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["8451b961adc0913a0f9657d8313d4f6d80d3024a"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6219] + }, + { + "sha": "26356dc34a74e38b68eb2acb4befb126176ed978", + "subject": "fix(process): record withheld unrelated Linux processes as unverified (#6220)", + "body": "fix(process): record withheld unrelated Linux processes as unverified (#6220)\n\n* fix(process): record withheld unrelated Linux processes as unverified\n\nThe token sweep after an owned command (for example the Ghidra Java probe\nrun by setup and doctor) failed cleanup when an unrelated same-UID process\nstarted during the sweep and Linux denied its /proc//environ. Setgid or\nsetuid programs (mismatched real/saved IDs) and non-dumpable processes are\nwithheld by the kernel exactly like another account's processes, which were\nalready recorded as unverified.\n\nDerive the kernel restriction from the same stat-bracketed procfs read that\nalready supplies the effective UID: all Uid/Gid IDs from status, and the\nroot ownership procfs reports for a non-dumpable process's environ. Keep that\nfact through exit settlement. Related candidates still fail closed.\n\nFixes #6204\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(process): define caller credentials on hosts without geteuid\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["b928963675a735df2577d67bbd02f4707417a6e6"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6220] + }, + { + "sha": "ec0e663cca5d5b6517361e3c1cc12060ad7936b0", + "subject": "fix(browser): keep target detail when attributing CDP failures (#6223)", + "body": "fix(browser): keep target detail when attributing CDP failures (#6223)\n\nAuthorize CDP targets with the caller's operation instead of a fixed\ninspect_web_page label, and reuse the authorization owner's derived\norigin scope. When a browser observation failure is attributed to a\ndifferent operation, keep its producer detail, remediation, cleanup,\ndiagnostics, partial observation and original cause rather than\nrebuilding it from the reason alone. Both the CDP browser and CDP\nElectron providers use the same domain-owned relabel.\n\nFixes #6122\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["26356dc34a74e38b68eb2acb4befb126176ed978"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6223] + }, + { + "sha": "b4f9f0deac23f962fcf796d27a8798e0029d6b1d", + "subject": "fix(pcap): report workspace allocation failures by their system cause (#6229)", + "body": "fix(pcap): report workspace allocation failures by their system cause (#6229)\n\n* fix(pcap): report workspace allocation failures by their system cause\n\nPcap workspace allocation and snapshot writes mapped every filesystem\nerror, including ENOTDIR and EACCES from mkdtemp, to a file-size resource\nconstraint with null limits and worker file-size advice. Flutter's owned\nsnapshot storage had the same errno-blind mapping, while TShark and sigrok\ncarried duplicate copies of the correct split.\n\nMove the private-workspace failure projection into one shared owner:\nENOSPC/EDQUOT/EFBIG stay file-size resource constraints with their system\ncode and path; descriptor exhaustion and every other failure become\nprovider workspace failures carrying stage, workspace path, failing path,\nsystem code and cause-specific recovery.\n\nFixes #6123\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(flutter): locate owned storage failures by their workspace\n\nmapOwnedIoFailure always passed a null workspace path, so a descriptor\nwrite or read failure without its own errno path lost every location.\nThread the owned root through: allocation keeps null (no workspace yet),\nsnapshot failures use the allocated root, and package-reader system\nerrors propagate to the request owner, which maps them against the\nsnapshot root instead of mapping early without it.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["ec0e663cca5d5b6517361e3c1cc12060ad7936b0"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6229] + }, + { + "sha": "36372056220258c42dd6ec1d5eb560bdc1cf3788", + "subject": "feat(native): let callers raise the Apple dispatch metadata input budget (#6233)", + "body": "feat(native): let callers raise the Apple dispatch metadata input budget (#6233)\n\n* feat(native): let callers raise the Apple dispatch metadata input budget\n\ninspect_native_dispatch_metadata refused any Mach-O over a fixed 64 MiB\nbefore decoding, and its recovery said there was no override. Most large\nmacOS binaries exceed it.\n\nmax_input_bytes (CLI --max-input-bytes) now selects the budget, default\n64 MiB and at most 1 GiB, through the shared input contract, the enhanced\nworkflow and the native provider. Results record input_admission with the\neffective budget, its source and the retained bytes. A refusal names the\nobserved size, the budget and its source, and the budget to select or, past\n1 GiB, a deep analysis provider.\n\nFixes #3917\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(cli): describe --max-input-bytes in inspect-native-dispatch-metadata help\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(native): cover max_input_bytes forwarding through CLI and MCP\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["b4f9f0deac23f962fcf796d27a8798e0029d6b1d"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6233] + }, + { + "sha": "89268f4a45c0cd3cde6f24f9e58cbccdd745f708", + "subject": "fix(ci): run the lockfile-pinned Skills CLI in package verification (#6235)", + "body": "fix(ci): run the lockfile-pinned Skills CLI in package verification (#6235)\n\n* fix(ci): run the lockfile-pinned Skills CLI in package verification\n\nThe repository skill stage fetched skills@1.7.2 and its unlocked\ndependencies from the npm registry on every run, taking 5-120 s and\nintermittently exceeding the 120 s stage timeout on main and PRs.\nPin skills as a devDependency and run its locked bin directly.\n\nFixes #6234\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(ci): lock the Skills CLI outside the root dependency tree\n\nskills 1.6+ requires Node >=22.20.0, so pinning it as a root\ndevDependency made `npm ci` fail under engine-strict on the supported\nNode 22.19.x. Keep the root install unchanged and give the verifier its\nown package.json and lockfile, installed with `npm ci --prefer-offline`\nin the verification workspace. The lockfile still removes all registry\nmetadata resolution and pins every transitive dependency.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["36372056220258c42dd6ec1d5eb560bdc1cf3788"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6235] + }, + { + "sha": "bd5d189a8f8aeea669bcb93e68af6c046b567939", + "subject": "docs(javascript): state that duplicate unmapped content stays ambiguous (#6238)", + "body": "docs(javascript): state that duplicate unmapped content stays ambiguous (#6238)\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["89268f4a45c0cd3cde6f24f9e58cbccdd745f708"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6238] + }, + { + "sha": "7590b50801553ca443922b1fb48e168334f8cc5d", + "subject": "perf(schema): reduce retained integer validator allocations (#4360)", + "body": "perf(schema): reduce retained integer validator allocations (#4360)\n\nConstruct integer formats directly while preserving bounds, refinements, metadata and current shared schema owners. Keep Incur-dependent CLI numeric coercion declarations unchanged.\n\nVerify canonical advertisements, 126 numeric boundary cases, 974 actual CLI parser cases, broad source tests and real public-artifact SDK workflows. Record 72 normal tasks and 12 separate owned-inspector heap diagnostics with whole-family resource bounds; distinguish SDK spans and asymmetric audit overhead. Generate numerical report sections from receipts and reject stale tables through documentation conformance checks.\n\nCloses #6236. Current-head CI and Greptile pass; actionable review findings are addressed. Codex review was unavailable due repository usage limits.", + "parents": ["bd5d189a8f8aeea669bcb93e68af6c046b567939"], + "authors": [ + { + "name": "郭立 Guo Li", + "email": "leeguoo@163.com", + "user": { + "login": "leeguooooo", + "__typename": "User" + } + } + ], + "pullRequests": [4360] + }, + { + "sha": "6f96d7a3fa2a79ccf4e50344485b2a079dae75d2", + "subject": "fix(capture): report scenario path search denial as access denied (#6244)", + "body": "fix(capture): report scenario path search denial as access denied (#6244)\n\nElectron and process scenario path admission caught every realpath or\nstat failure as an invalid_value input issue, so a correct path beneath a\ndirectory without search permission returned invalid_request with\nschema-correction recovery instead of a host access denial.\n\nAdmission now classifies EACCES/EPERM from path resolution and metadata\nreads as the existing AnalysisAccessDeniedError (selected path,\nsystem_code, filesystem-read boundary). Missing, looping or otherwise\nunresolvable paths and reachable files without execute permission keep\ntheir input-error semantics. Electron reports invalid selections before a\ndenial on another field. Process PATH search still continues past a\ndenied directory; only an explicitly selected executable reports denial.\n\nFixes #6117\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["7590b50801553ca443922b1fb48e168334f8cc5d"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6244] + }, + { + "sha": "c537c52c96b7f24ea2d2c1b5ae8055fbf6d99ffa", + "subject": "fix(environment): report capture payload failures at their field paths (#6247)", + "body": "fix(environment): report capture payload failures at their field paths (#6247)\n\nAuthenticated capture Evidence whose operation is supported but whose\nnormalized_result fails its capture schema fell through to a generic\nevidence.operation refusal, discarding the schema issues. Each recognized\noperation now refuses with the projected schema issues beneath\nevidence.normalized_result and retains the schema failure as the cause;\nonly an operation no capture schema owns blames evidence.operation.\n\nThe view Evidence parser had the same conflation: a wrong operation, a\nwrong kind and a malformed payload of the requested kind all blamed\nnormalized_result.kind. It now reports role.operation, the kind, or the\npayload's own field paths respectively.\n\nFixes #6119\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["6f96d7a3fa2a79ccf4e50344485b2a079dae75d2"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6247] + }, + { + "sha": "51be954c4b04bf3f5cf015202dd7d0123bfbb30d", + "subject": "refactor(domain): reuse canonical ordering and digest owners", + "body": "refactor(domain): reuse canonical ordering and digest owners\n", + "parents": ["c537c52c96b7f24ea2d2c1b5ae8055fbf6d99ffa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "407a7180507936a03c0a66733337df8d8e0427c5", + "subject": "refactor(browser): share scenario transaction identity indexes", + "body": "refactor(browser): share scenario transaction identity indexes\n", + "parents": ["51be954c4b04bf3f5cf015202dd7d0123bfbb30d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b8c1b45316882beeab4a9de49381d94e131fab0f", + "subject": "fix(views): centralize retained-result validation errors", + "body": "fix(views): centralize retained-result validation errors\n", + "parents": ["407a7180507936a03c0a66733337df8d8e0427c5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "538017d1d2e986fa12fbe0fac466a4b1d2246ec3", + "subject": "feat(environment): apply evidence-gated write effects to the served state (#5600)", + "body": "feat(environment): apply evidence-gated write effects to the served state (#5600)\n\n* feat(environment): render more read tools from the state and describe responses\n\nKeep main's environment serving and fold in coverage for non-entity reads,\nresponse summaries, and MCP tool annotations.\n\nSquashed rebase of #5352 onto main.\n\n* fix(environment): keep rendered documents and quoted samples inside their budgets\n\nA recorded body of exponential numbers can render past 256 KiB and turn a\nworking read into a state size error, so that document stays a recorded replay.\nDescription samples are measured after JSON quoting, and the replay-fallback\ncatalog check uses a tool count the longer response descriptions still separate.\n\nCo-authored-by: morluto \n\n* feat(environment): apply evidence-gated write effects to the served state\n\nServe write tools whose later reads confirm the effect, and keep main's\nstate-file ownership and part-wise reply measurement.\n\nSquashed rebase of #5600 onto the rebased #5352 tip.\n\n* fix(environment): bound and validate write state history\n\n* feat(environment): render more read tools from the state and describe responses\n\nKeep main's environment serving and fold in coverage for non-entity reads,\nresponse summaries, and MCP tool annotations.\n\nSquashed rebase of #5352 onto main.\n\n* fix(environment): keep rendered documents and quoted samples inside their budgets\n\nA recorded body of exponential numbers can render past 256 KiB and turn a\nworking read into a state size error, so that document stays a recorded replay.\nDescription samples are measured after JSON quoting, and the replay-fallback\ncatalog check uses a tool count the longer response descriptions still separate.\n\nCo-authored-by: morluto \n\n* feat(environment): apply evidence-gated write effects to the served state\n\nServe write tools whose later reads confirm the effect, and keep main's\nstate-file ownership and part-wise reply measurement.\n\nSquashed rebase of #5600 onto the rebased #5352 tip.\n\n* fix(environment): bound and validate write state history\n\n* fix(environment): bound additional collection history\n\n* fix(environment): credit sent fields, negative sequences, and encoded targets\n\nA later overwrite copied surviving derived fields into the sent-member\nclaim, so a members-only check rejected an update whose sent field still\nmatched. Serving floored sequences at zero and stored missing history as\nzero, so a collection sequence learned from negative ranks skipped the\nnext value. An absence after a delete forgot the resolved collection, and\nan encoded read could not observe an update spelled with another\ncollection encoding.\n\nRegression tests cover each case.\n\nCo-authored-by: morluto \n\n* test(environment): cover resolved encoded update identities\n\n* fix: validate timed update observations\n\n* fix(environment): share write overlap and check clocks on earlier calls\n\nObservation search skips a read begun before the write ended. That\ncomparison now uses the same overlap as the check path.\n\nA clock learned on a later call was not checked against earlier calls\nthat kept the field. Serving would stamp those calls too, so the plan\nstays unserved. A clock learned earlier is still refused when a later\ncall does not advance it.\n\nRegression tests cover an overlapping empty update and a published_at\nclock that one recorded call leaves unchanged.\n\nCo-authored-by: morluto \n\n* fix: preserve partial update evidence\n\n* fix(environment): let an unmodelled write explain only the list members that differ\n\nA failed whole-list read now reports which members alone account for the\ndifference. An unmodelled write excuses the read's writes only when it came\nafter each such member's last check and pending writes, so an older change\nelsewhere no longer hides a newer write the list shows undone.\n\nCo-Authored-By: Claude Opus 5.5 \n(cherry picked from commit 7b6aab9d7191e600051693f2c192afcfc743d083)\n\n* fix(environment): explain added fields, tie creates to serving's collection, and bound write descriptions\n\nAn update explains a field the entity lacked before when the observing\nview had shown the entity, so a server-filled field is not dropped. A\ncreate is tied to the held collection serving picks for its path. Write\ndescriptions and body refusals quote member names and sample them within\na byte bound. The request body is indexed once per explanation, so copied\nand slugged fields no longer rescan it.\n\nReplays 07aca54e onto the restacked branch. Its rule that a read begun\nbefore a write ended teaches nothing is already here (fb6785dc), so only\nits test is kept.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): state how list reads weigh unmodelled writes, added update fields and quoted members\n\nCo-Authored-By: Claude Opus 5.5 \n\n* refactor(environment): keep the observing view helpers with the observations\n\nshownBefore and the item-or-list fields check move to the observe module,\nkeeping the write effects within the line limit.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): resolve unmodelled writes onto the held collection\n\nAn unmodelled path kept the request's collection spelling. An archive under\nthe plain spelling of a collection held encoded marked only that plain\ncollection unknown, so a later update was blamed for the archive's fields\nand dropped. Name that entity the way a modelled write does.\n\nCo-authored-by: morluto \n\n* fix(environment): confirm no write through volatile fields or overwritten replacements, and bound the served clock\n\nA members-only check no longer compares volatile fields, which render\nfrom the read itself. A document replacement credits the members it\nwrote or removed at its object, so a later merge that overwrites them\ntakes its confirmation away. A recorded time past the range of a date\ngives no served clock instead of throwing.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): leave unknown entities unchecked by failed reads, volatile fields and unchecked calls\n\nA failed item read that is no absence leaves an unknown entity unknown, so\na later usable read still checks its writes. A read showing an unknown\nentity again checks no write on a volatile field. An update of an unknown\nentity takes its recorded outcome and adds nothing to a built plan. A later\nupdate that does not answer with its entity is observed only by a read\nwhose view shows every learned clock; without one it is unmodelled.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): fill a create's path fields from the collection serving selects\n\nThe gate built a later create's path fields from the recorded request path,\nwhile serving fills them from the held collection it selects for that path,\nso a read showing the other spelling's parent could confirm a create serving\ncannot reproduce. Rules still learn from the recorded path.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): name unmodelled writes as modelled ones, count fields updates write, and keep later members' types\n\nAn unmodelled write below an item path names its entity through itemTarget,\nand one at or above a collection resolves the held collection, as modelled\nwrites do, so an encoded spelling no longer hides the entity it changed.\nAn update's answer counts the fields its rules write, other than increments,\nas available, so a field only the update writes no longer makes it\nincomplete-entities. A member a later call first stores keeps that call's\nJSON type in the body's kinds, which the body check falls back to.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): let a document replacement overwrite everything under its object\n\nA replacement claims only the members it wrote or removed, but it now\noverwrites every earlier effect under its object, so a merge that wrote\nthe object it replaces loses its confirmation.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): start the served clock from the records whose times a date can hold\n\nA record timed past the range of a date no longer leaves the served clock\nwithout a start, which the store read as zero and stamped writes in 1970;\nthe clock starts after the latest record a date can hold.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["b8c1b45316882beeab4a9de49381d94e131fab0f"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5600] + }, + { + "sha": "7aa1b51282ba3fe2a659330ee615bd0de8dffaaf", + "subject": "feat(diagnostics): report a byte entropy profile for one local file (#2331)", + "body": "feat(diagnostics): report a byte entropy profile for one local file (#2331)\n\n* feat(diagnostics): report a byte entropy profile for one local file\n\nThe diff adds the MCP tool inspect_byte_entropy and the CLI command\ninspect-byte-entropy, both implemented by ByteEntropyService. One\nabsolute regular file is read offline into observed Evidence: file-wide\nSHA-256 and Shannon entropy, then fixed blocks and adjacent runs for an\noptional window, using a power-of-two block size from 256 to 65536\n(default 4096), with high at 7.2 or above and low at 1.0 or below. A\nwindow past EOF, a missing path, or a non-file is an input error; a size\nor identity change during the read is an artifact-changed error; empty\ninput reports entropy 0; cancellation is honored before and during the\nread. Summary detail retains the complete series and returns file\nentropy, counts, and the ten longest runs for inspect_analysis_view,\nwhile the registered effect remains read-only Evidence and the\ndiagnostics docs record the operation and its errors.\n\n* fix(diagnostics): flag zero-size files as not shown empty\n\nGenerated files such as Linux /proc entries report size 0 while holding\ncontent, so inspect_byte_entropy read nothing and returned an empty-looking\nreport. A file that reports size 0 now carries a limitation that the result\ndoes not show the file is empty. The result stays a success because the\ntool reads the declared size, which the file-stability checks depend on.\n\n* fix(mcp): reject unsupported diagnostic summaries before inspection\n\n* fix(ci): repair integrated checks and Hopper test baseline\n\n* test(entropy): use shared MCP schema verification after merge\n\n* fix(catalog): list inspect_byte_entropy under its own provider\n\nAdding inspect_byte_entropy to BINARY_DIAGNOSTICS_TOOL_CONTRACTS put it\nunder pwntools-elf in the generated product catalog, because the\npwntools group took every binary diagnostics tool except\ninspect_pe_resources. The service reports provider byte-entropy.\n\nAdd a BYTE_ENTROPY_PROVIDER identity beside PE_RESOURCES_PROVIDER, use\nit in ByteEntropyService, give it its own catalog group, and name the\npwntools tools (inspect_binary_layout, inspect_recorded_crash)\nexplicitly so a new diagnostics tool is not attributed to pwntools by\ndefault. The catalog test pins both groups.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_01KFTE4BHbGYzgf8Uhzcppdh\n\n* fix(cli): resolve the byte-entropy path with absoluteCallerPath\n\nmain replaced the node:path resolve import in binaryDiagnosticsCommands.ts\nwith absoluteCallerPath (#4067), so the byte-entropy command's\nresolve(args.path) no longer type-checks once the PR is merged with main.\nUse absoluteCallerPath like the other commands, and add\nsrc/filesystem/callerPath.ts matching main so the branch builds on its own.\n\n* fix(diagnostics): retain entropy read cleanup ownership\n\n* docs(diagnostics): explain entropy output capacity\n\n* fix(diagnostics): preserve entropy cancellation outcomes\n\n* fix(diagnostics): close the entropy input and warn on large reports\n\nPublic inspect_byte_entropy input now uses publicInputStrictObject before\ndetail is added, so unknown keys stay rejected on the advertised schema.\nThe tool description warns that complete output can become very large and\npoints callers to a shorter length or a larger block_size.\n\nCo-authored-by: morluto \n\n* fix(diagnostics): keep byte-entropy registration mergeable with main\n\nRegister inspect_byte_entropy beside layout inspection and reject\nunretained summaries before the file read, without editing workflows.\n\nCo-authored-by: morluto \n\n* fix(diagnostics): register byte entropy with the shared tool options\n\nUse toolRegistrationOptions so the handler typechecks on this branch and\non main, and still refuse unretained summaries before the file read.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["538017d1d2e986fa12fbe0fac466a4b1d2246ec3"], + "authors": [ + { + "name": "Matt Van Horn", + "email": "mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Matt Van Horn", + "email": "455140+mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [2331] + }, + { + "sha": "14877a069bc7e9a43b6a2594b5e0ed9326e370fc", + "subject": "fix(nativeaot): preserve COPY bytes when hydration output grows (#6254)", + "body": "fix(nativeaot): preserve COPY bytes when hydration output grows (#6254)\n\nThe DEHYDRATED_DATA COPY writer evaluated the output buffer before the\nreservation that could replace it, so a COPY that grew the hydration\nbuffer wrote its payload into the superseded buffer. The overlay kept the\nadvanced length and hashed uninitialized bytes while the report claimed\ncomplete recovery.\n\nReservation now returns a view of the retained buffer, and every writer\n(COPY, zero fill, relative and absolute fixups) writes only through that\nview, so no caller can hold a stale buffer across growth.\n\nFixes #5882\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["7aa1b51282ba3fe2a659330ee615bd0de8dffaaf"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6254] + }, + { + "sha": "ef5ab1f1f2b0b0ff3dcbf11c435543a49bd49648", + "subject": "fix(apple): decode NIBArchive booleans with AppKit's polarity (#6255)", + "body": "fix(apple): decode NIBArchive booleans with AppKit's polarity (#6255)\n\nThe NIBArchive value decoder read type tag 4 as true and 5 as false, the\nreverse of what ibtool writes and AppKit's decoder returns, so every\ncompiled-nib boolean in decode-interface-builder output was inverted. The\ntest fixture encoder shared the reversed mapping, hiding it in round trips.\n\nName the value-type tags once and use them in both the read and skip\npaths, fix the fixture encoder, pin raw tags in a unit test, and make\nverify:interface-builder compare both polarities with ibtool --export.\n\nFixes #5541\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["14877a069bc7e9a43b6a2594b5e0ed9326e370fc"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6255] + }, + { + "sha": "c8ed32853881b08aa83459d4da55a28a4e09b0c8", + "subject": "fix(call-path): count only expanded edges as explored (#6256)", + "body": "fix(call-path): count only expanded edges as explored (#6256)\n\nbuild_call_path summed the out-degree of every reached function, so a\nterminal goal's callees counted as explored even though the forward\nsearch never expands the goal. Count explored edges and depth at the\nexpansion boundary inside the search, drop the post-hoc summary and the\nnow-unused out-degree helper, and reuse the schema-owned explored type.\n\nFixes #5906\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["ef5ab1f1f2b0b0ff3dcbf11c435543a49bd49648"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6256] + }, + { + "sha": "2edf3b23c1465b7e6609b020d0eabfef438081a7", + "subject": "feat(elf): inspect PT_NOTE and SHT_NOTE tables (#4837)", + "body": "feat(elf): inspect PT_NOTE and SHT_NOTE tables (#4837)\n\nInspect selected ELF32/ELF64 PT_NOTE and SHT_NOTE declarations without executing\nthe artifact, retaining independent table identities, source ranges, descriptor\ndigests, GNU build-id/ABI fields and explicit coverage limitations.\n\nIntegrate mvanhorn's implementation and hardening with current main while\npreserving byte-entropy registration and the Windows curated regression suite.\nThe maintainer follow-up uses ordinary merges/pushes, not history rewriting.\n\nExecuted validation: 96 focused/shared/docs tests, complete static/docs checks,\neleven real CLI/MCP pairs including GCC ELF32 and Clang big-endian PowerPC64,\nand two actual Codex task traces checked against their Evidence. Full costs,\ngrader correction and verification limits are recorded in PR #4837.\n\nRefs #6262.", + "parents": ["c8ed32853881b08aa83459d4da55a28a4e09b0c8"], + "authors": [ + { + "name": "Matt Van Horn", + "email": "mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + } + ], + "pullRequests": [4837] + }, + { + "sha": "c02945bc440c6c5579c681b713419995487f9e30", + "subject": "feat(native): decode Swift nominal type declarations from __swift5_types (#6257)", + "body": "feat(native): decode Swift nominal type declarations from __swift5_types (#6257)\n\n* feat(native): decode Swift nominal type declarations from __swift5_types\n\nFill swift_decls from the nominal type context descriptors that survive\nstripping: kind (class, struct, enum, actor), own and qualified name,\nmodule, generic flag, anonymous-context flag, metadata accessor and\ndescriptor location, with evidence citing the type record. Unresolved\nparent contexts keep qualified_name null and the entry partial.\n\nOne shared reader walks each context once; class vtable recovery now\nconsumes its descriptors instead of re-reading the records, so a type\nrecord that cannot be read keeps both facets partial. Remove the\nnever-populated swift_decls fields that descriptors do not carry.\n\nFixes #5341\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(native): bound Swift context walks and decode vtables in record order\n\nAddress review of the nominal-type reader:\n\n- Cache intrinsic context depth (distance to the module) so a cached\n parent cannot bypass the 32-context bound, and never cache a stop that\n depends on where the walk began. Bound qualified names to 4096\n characters so nesting cannot multiply name storage.\n- Visit each descriptor as soon as its kind and name are read, so a\n class vtable spends the record budget in record order instead of after\n every later declaration.\n- Report an accessor outside executable mapped code as null and keep the\n declaration partial.\n- Forward a name failure to vtable coverage only when the record is a\n class or its kind is unknown.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["2edf3b23c1465b7e6609b020d0eabfef438081a7"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6257] + }, + { + "sha": "c083fedaf4bba52454b9b636ee5051d7c3249a44", + "subject": "fix(cli): exclude declared sensitive values from parser diagnostics (#6258)", + "body": "fix(cli): exclude declared sensitive values from parser diagnostics (#6258)\n\n* fix(cli): exclude declared sensitive values from parser diagnostics\n\nIncur rejects malformed command tokens and output-flag values before the\nweb capture service applies --sensitive-value declarations, so its\ndiagnostics repeated declared literals.\n\nRead declarations from the tokens Incur leaves for command parsing,\nindependently of parse success. Commands accepting the option get an\noutermost middleware that excludes declarations from parse, validation\nand thrown failures while keeping type, code and exit status. Rejected\n--format/--token-limit/--token-offset values are replaced by a\nliteral-free value Incur still rejects. The option definition and the\nIncur builtin-flag rules now have one owner each.\n\nFixes #6252\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(cli): redact whole rejected output-flag diagnostics\n\nIncur builds its rejected --format/--token-limit/--token-offset message\nfrom fixed text and the value, outside any middleware. Substituting only\nthe value left declarations that match the fixed text, such as \"token\"\nin \"--token-limit\", in the diagnostic.\n\nReport that first rejection at the serve boundary instead, redacting the\nwhole message as parser failures are, while keeping the UNKNOWN code and\nIncur's toon or TTY rendering. Incur's message is now mirrored beside its\nacceptance rule, and the value-substitution path is removed.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["c02945bc440c6c5579c681b713419995487f9e30"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6258] + }, + { + "sha": "1639189f269e016d37cfe18c2b617bd57c260dd6", + "subject": "fix(javascript): keep encoded URL slashes inside one runtime path segment (#6259)", + "body": "fix(javascript): keep encoded URL slashes inside one runtime path segment (#6259)\n\nA url-prefix runtime mapping decoded the whole pathname suffix at once, so\n`child%2Fpart.js` became the nested artifact path `child/part.js` and produced\na medium-confidence location match and an inferred observed_as edge.\n\nDecode each URL path segment separately at the mapping boundary. A segment\nthat decodes to contain a slash, like a malformed or non-UTF-8 escape, has no\nartifact path, so the runtime script stays unknown with\nno-authorized-location-mapping. Encoded spaces, Unicode, %25 and the literal\n%5C backslash name keep matching.\n\nFile-root and URL-prefix mappings now share one tri-state translation\n(outside, untranslatable, translated) for matching and load-state scope.\nStatic nodes beneath a prefix whose runtime script or worker could not be\ntranslated stay unknown instead of becoming not-observed-in-capture.\n\nFixes #5878\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["c083fedaf4bba52454b9b636ee5051d7c3249a44"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6259] + }, + { + "sha": "86357bad54355c5aef42f6e24fdc49ee689199ba", + "subject": "fix(setup): keep comments around REA's table in Grok Build TOML (#6261)", + "body": "fix(setup): keep comments around REA's table in Grok Build TOML (#6261)\n\nThe shared TOML server-table editor kept comment lines immediately only\nfor the Codex dialect. For Grok Build it queued them with blank lines,\nthen discarded the queue when an REA table header followed or while it\nskipped REA's table, so a comment introducing the stale REA table and a\ntrailing file note after it were lost on setup and uninstall.\n\nEvery comment line is now kept in place for both TOML dialects; only\nblank lines that separated a removed REA table go with it. The Codex\nwrapper's terminal line-break restoration moves into the shared editor,\nso removing a final REA table keeps the file's last line break for\nGrok Build too.\n\nFixes #6207\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["1639189f269e016d37cfe18c2b617bd57c260dd6"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6261] + }, + { + "sha": "c9b4cae9dc5700313fd671d4e85515fe12f5ca64", + "subject": "feat(managed): project call and field-access edges into the application graph (#6260)", + "body": "feat(managed): project call and field-access edges into the application graph (#6260)\n\nproject_managed_application_graph dropped the call_edges and\nfield_accesses that member Evidence already decodes, so the graph was a\ncontainment tree that could not answer who calls a P/Invoke wrapper or\nwhich methods touch a field, while reporting complete-within-inputs.\n\nIn-module call/callvirt/newobj/jmp sites now become one calls edge per\ncaller and target, and field loads, stores and address-takes become one\naccesses edge per method and field, each with site and per-opcode counts\nand member Evidence links. MemberRef and MethodSpec targets, unknown\ntargets, ldftn/ldvirtftn loads, recursive self-calls (the graph has no\nself-loops), MemberRef fields and sites whose node is absent are counted\nby reason in limitations, and the graph is partial with that\nomitted_count. Add the provider-neutral accesses relation.\n\nGraph Evidence projected before these counters existed still parses,\nwith null calls and field_accesses summaries.\n\nFixes #4056\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["86357bad54355c5aef42f6e24fdc49ee689199ba"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6260] + }, + { + "sha": "b6007e0a58f5acab573eb9f2adcdbe24d7eee6af", + "subject": "fix(process): keep capture evidence when an admitted root's ancestor changes (#6264)", + "body": "fix(process): keep capture evidence when an admitted root's ancestor changes (#6264)\n\nFinal filesystem observation reconstructed root admission from the initial\nsnapshot's root entries, so an initially absent root (no entry) whose ancestor\nbecame a regular file failed capture with ENOTDIR after the child completed.\n\nA returned initial snapshot now admits every selected root for the run. One\ntagged path lookup classifies ENOENT and ENOTDIR as observed absence and other\nunavailable lookups (EACCES, ELOOP, ...) as entry_unavailable omissions that\nkeep the root incomplete. Selected roots that are obstructed or denied before\nlaunch still fail capture.\n\nFixes #6213\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["c9b4cae9dc5700313fd671d4e85515fe12f5ca64"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6264] + }, + { + "sha": "2452efa9211d09e0acdf8cf9bfbf82a96f5a3522", + "subject": "fix(ci): make Windows PowerShell observers cheap and cold-start tolerant (#6279)", + "body": "fix(ci): make Windows PowerShell observers cheap and cold-start tolerant (#6279)\n\nThe private-runtime ACL observer spent most of its time in PowerShell\nmachinery: Get-Acl module autoload, an Update-TypeData guard that updates the\nsession type table, and a Where-Object/ConvertTo-Json pipeline. On starved\nhosted runners this pushed it past the 15s deadline, and one run never reached\nthe first script statement within 15s.\n\nRead the descriptor through DirectorySecurity with SID-typed GetOwner and\nGetAccessRules, check every compared identity is a SecurityIdentifier, keep\nGet-Acl/Access/NTAccount/Translate out of the observer with a static check, and\nbuild the JSON by string. Route the snapshot digest, readonly-children and\nsharing-reader observers through the same cmdlet-free helper. Record process\nuptime at script start, and give observers a 60s deadline that bounds a hung\nchild while covering cold powershell.exe start. Asserted facts are unchanged.\n\nFixes #6275\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["b6007e0a58f5acab573eb9f2adcdbe24d7eee6af"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6279] + }, + { + "sha": "73b756430f933da3d86d181c3b6e470d7acca6ad", + "subject": "fix(javascript): read utilityProcess.fork options from the argv slot (#6280)", + "body": "fix(javascript): read utilityProcess.fork options from the argv slot (#6280)\n\nElectron's utilityProcess.fork(modulePath[, args][, options]) treats a\nnon-array object in the second argument as the options and ignores the\nthird. The static extractor only read the third argument, so\n`fork(\"./worker.js\", { serviceName })` lost the declared name while\nreporting exact, complete coverage, and an object in the second slot let\nan ignored third argument supply the name.\n\nMove the optional-argv options selection that child_process already used\ninto the shared expression-shape owner and reuse it for utility\nprocesses. Unproven argv shapes, spreads and identifier options remain\nunknown with partial coverage; nullish options or a nullish serviceName\ndeclare no name, matching Electron's runtime checks.\n\nFixes #6208\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["2452efa9211d09e0acdf8cf9bfbf82a96f5a3522"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6280] + }, + { + "sha": "002e1b68c66a243948fdca57ac416cfaec617315", + "subject": "fix(ghidra): skip the Java probe without an installation (#6282)", + "body": "fix(ghidra): skip the Java probe without an installation (#6282)\n\nSetup and doctor inspect every provider. With no GHIDRA_INSTALL_DIR and no\nGhidra launcher on PATH, the Ghidra inspection still ran the host `java` from\nPATH. Its result was discarded because the configuration check already\nrejects Ghidra, but its owned-process cleanup could still fail closed. In CI,\nthat cleanup reported cleanup_incomplete for an unrelated live process whose\n/proc//environ was unreadable, so `rea setup --client hermes` exited 1.\n\nRun Java only for a selected installation, matching the existing rule for a\nrelative JAVA_HOME. Hermes setup tests now report the CLI JSON when an exit\ncode assertion fails.\n\nFixes #6200\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["73b756430f933da3d86d181c3b6e470d7acca6ad"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6282] + }, + { + "sha": "04fd41b288eb63966cc4c952c3574be61b4eeed1", + "subject": "fix(electron): bind each contextBridge helper invocation to its own API (#6284)", + "body": "fix(electron): bind each contextBridge helper invocation to its own API (#6284)\n\nWrapper substitution keyed contextBridge findings only by the inner\nexposure call's range, so every helper invocation replaced the previous\none while unioning its members: the last key survived with every\ninvocation's members. Substituted members also listed only immediate\nobject keys, dropping nested paths that direct syntax retains.\n\nRecord substituted exposures per site and per world and key, and replace\nthe site's syntax observation once after traversal. Invocations exposing\none key at one site describe one API covering each alternative object; a\ntraced invocation whose key, object or world stays unresolved or guarded\nkeeps the site's own unresolved observation. Enumerate member paths\nthrough resolved objects with the direct syntax depth bound, which also\nretains the depth-limit unknown that substitution previously dropped.\n\nFixes #5871\nFixes #5870\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["002e1b68c66a243948fdca57ac416cfaec617315"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6284] + }, + { + "sha": "933af60eba43c29f1fb1c606fddcd725ae0d9d96", + "subject": "feat(native): inspect PE and ELF export tables without an engine (#6278)", + "body": "feat(native): inspect PE and ELF export tables without an engine (#6278)\n\n* feat(native): read PE and ELF export tables\n\nAdd a host-independent export-table reader on the shared native\ncontainer layer. PE images report each used export-address-table slot\nwith its ordinal, one row per name, its address or forwarder text, and\nthe export directory identity; the PE image reader now exposes its data\ndirectories. ELF images report defined default/protected global, weak\nand unique .dynsym symbols with type, binding and .gnu.version_d\nversion (hidden versions kept distinct, unreadable version tables\n\"unknown\"). Unreadable entries are counted in issues and make coverage\npartial; an ELF without section headers is unsupported.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* feat(native): inspect native export tables through CLI and MCP\n\nExpose the reader as inspect_native_exports / inspect-native-exports:\none stable, digest-bound read of an explicit file with a caller-selected\ninput budget, typed failures for malformed, unsupported, oversized and\ncancelled reads, and observed Evidence bound to the file path and\nSHA-256. Mach-O inputs point to inspect_macho.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(native): describe portable PE and ELF export inventories\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(native): bound export inventories and read header-backed PE tables\n\nAddress review of the export-table reader:\n\n- Charge every retained row and its name, forwarder and version text\n against shared 262144-row and 16 MiB allowances before storing it, so\n repeated long names or PE aliases cannot exhaust memory.\n- Map PE RVAs through the headers as well as sections; the PE image\n reader now exposes its SizeOfHeaders mapping.\n- Keep ELF exports with version \"unknown\" when .gnu.version lies outside\n the file, and report an empty version-definition name as unresolved.\n- Reject a .dynsym without its mandatory null entry as malformed.\n- Decode the ELF section directory once.\n- Correct the docs on which gaps drop rows and which keep them.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["04fd41b288eb63966cc4c952c3574be61b4eeed1"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6278] + }, + { + "sha": "7d0efef62d56d0a10134bea62d709302daa1565f", + "subject": "feat(javascript): retain queryable static route inventories (#6019)", + "body": "feat(javascript): retain queryable static route inventories (#6019)", + "parents": ["933af60eba43c29f1fb1c606fddcd725ae0d9d96"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6019] + }, + { + "sha": "79dea89f1f0feef3bf97ea1da718a99d51beb871", + "subject": "fix(evaluation): own transcript result parsing and error certainty", + "body": "fix(evaluation): own transcript result parsing and error certainty\n", + "parents": ["7d0efef62d56d0a10134bea62d709302daa1565f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "66aacc6fba7fb498302ca58894f179d77a847444", + "subject": "refactor(environment): reuse the owned path segment decoder", + "body": "refactor(environment): reuse the owned path segment decoder\n", + "parents": ["79dea89f1f0feef3bf97ea1da718a99d51beb871"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c7efd3a388577c184f0511a3e4851b5510f2a15c", + "subject": "feat(config): make the regex matching deadline configurable (#6267)", + "body": "feat(config): make the regex matching deadline configurable (#6267)\n\n* feat(config): make the regex matching deadline configurable\n\nREA_REGEX_MATCHING_DEADLINE_MS defaults to 5000 ms and refuses values\noutside 1..2147483647. Recovery and capability text name the effective\ndeadline, its source, and how to change the setting.\n\nCo-authored-by: morluto \n\n* fix(setup): preserve the regex matching deadline in registrations\n\nSetup validated REA_REGEX_MATCHING_DEADLINE_MS but left it out of the\nselected registration environment, so a caller override never reached\nthe launched server and matching fell back to 5000 ms.\n\nCo-authored-by: morluto \n\n* test(config): restore a stubbed regex matching deadline on failure\n\nKuna deadline assertions now unstub the environment in finally, so a\nthrown construction or expectation cannot leave the setting stubbed.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["66aacc6fba7fb498302ca58894f179d77a847444"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6267] + }, + { + "sha": "21f9af9d93dacfe06848298ffae49112977a90ff", + "subject": "fix(ci): isolate packed Python syntax checks from ambient imports (#6293)", + "body": "fix(ci): isolate packed Python syntax checks from ambient imports (#6293)\n\nfix(ci): isolate packed Python syntax checks from ambient imports\n\nKeep caller-local modules and site startup hooks from replacing the\nstandard-library AST/tar readers or executing during package validation.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["c7efd3a388577c184f0511a3e4851b5510f2a15c"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6293] + }, + { + "sha": "31dc035041eb5b427f5f57e15841671a24afb71d", + "subject": "fix(domain): reject malformed base64 before byte-range checks", + "body": "fix(domain): reject malformed base64 before byte-range checks\n", + "parents": ["21f9af9d93dacfe06848298ffae49112977a90ff"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ca4ca65c5e581af71d63863a5b0bd3e1d17dd2c7", + "subject": "feat(pe): inspect Authenticode certificate tables (#4830)", + "body": "feat(pe): inspect Authenticode certificate tables (#4830)\n\n* feat(pe): inspect Authenticode certificate tables\n\nAdd inspect_pe_certificates for IMAGE_DIRECTORY_ENTRY_SECURITY\nWIN_CERTIFICATE entries and structurally decoded PKCS#7 signer\nand X.509 identity fields. The workflow reads a stable PE image\nwithout executing it or verifying signatures, chains, timestamps,\nor Authenticode digest coverage.\n\n* fix(pe): bound and validate certificate DER decoding\n\n- Cap decoded DER values with a shared node budget so sibling fan-out\n cannot exhaust memory before the PKCS#7 check\n- Require SignedData version, encapContentInfo and a final signerInfos\n SET in RFC 5652 order, and a signature OCTET STRING in each SignerInfo\n- Decode OBJECT IDENTIFIER arcs as unbounded base-128 values, including\n a multi-byte first combined arc\n- Decode UniversalString names as UTF-32BE and reject invalid values\n- Share PE header admission with the resource layout so a section table\n that does not fit SizeOfHeaders is rejected\n\n* docs: list PE certificates in the translated READMEs\n\n* fix(pe): cap OBJECT IDENTIFIER length and arc size\n\nA crafted type-2 certificate with a 262,144-byte contentType OID stalled\ndecodeOid for about 20 seconds, because one arc kept growing a BigInt\nbefore the signedData check ran. decodeOid now rejects an OID longer than\n256 bytes and an arc longer than 32 bytes before decoding it. Certificate\nOIDs, including 2.25 UUID arcs, fit under both caps.\n\n* fix(pe): reject truncated certificate tables and PKCS#7\n\nSignedData now requires one SignerInfo with a non-empty signature and a\ncomplete issuerAndSerialNumber. Certificate names share a 64 KiB decoded-byte\nbudget and are copied once. A security directory that ends in a short\nWIN_CERTIFICATE header fails instead of reporting a complete table. The\ncertificate CLI forwards the caller abort signal into cleanup.\n\nCo-authored-by: morluto \n\n* chore(ci): keep fork workflow files unchanged\n\nThe certificate restack follows current main. Workflow files stay at the\nfork tip so this branch update does not rewrite .github/workflows.\n\nCo-authored-by: morluto \n\n* fix(pe): charge serial and validity text to the decoded budget\n\nCertificate and signer serial numbers and validity times now count against\nthe shared decoded-text budget before they are converted, so a crafted\ncertificate cannot push megabytes of text into the hashed evidence. The\nbudget error now names certificate text rather than only names.\n\nRestore the CI workflow to match main: the CI_TIMING_TIER input, the\ntier-named timing artifacts and their publication conditions, the Windows\ntypecheck, and the path and snapshot suites in the curated Windows lane.\n\n* fix(pe): require certificate fields and preserve signer key ids\n\nReject X.509 records that omit subjectPublicKeyInfo or signatureValue,\nreturn subjectKeyIdentifier bytes as bounded hex, and advertise an absolute\npath in the PE certificate input schema.\n\nCo-authored-by: morluto \n\n* fix(pe): reject extra PKCS#7 wrappers and invalid UTF-8 names\n\nContentInfo and its signedData wrapper no longer ignore trailing values, and\ndirectory strings must round-trip as UTF-8 instead of becoming U+FFFD.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["31dc035041eb5b427f5f57e15841671a24afb71d"], + "authors": [ + { + "name": "Matt Van Horn", + "email": "mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Matt Van Horn", + "email": "455140+mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [4830] + }, + { + "sha": "055d1a9e1bd95f6dc7f49e5b37cbdd245b07b792", + "subject": "fix(pe): reject unsupported certificate name encodings", + "body": "fix(pe): reject unsupported certificate name encodings\n\nRemove the Latin-1 fallback and the assumed UTF-8 decoding of GeneralString so unsupported name encodings cannot silently corrupt issuer or subject text. Document the limitation and cover the T.61 acute-accent example through the public CLI.\n\nValidation: 30 focused parser/CLI/MCP tests passed; npm run check and npm run docs:check passed. Three new parser regressions fail on the original decoder. Full suite and real historical certificates were not exercised.\n", + "parents": ["ca4ca65c5e581af71d63863a5b0bd3e1d17dd2c7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "44827a502004997738296f040dde04d9ed942bed", + "subject": "docs(ko): preserve established OTP and provider terminology (#6156)", + "body": "docs(ko): preserve established OTP and provider terminology (#6156)\n\n* docs(i18n): correct Korean Aegis analysis guidance\n\n* docs(ko): align OTP and provider terminology\n\n---------\n\nCo-authored-by: deuxdoom <188646+deuxdoom@users.noreply.github.com>\nCo-authored-by: deuxdoom ", + "parents": ["055d1a9e1bd95f6dc7f49e5b37cbdd245b07b792"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "deuxdoom", + "email": "188646+deuxdoom@users.noreply.github.com", + "user": { + "login": "deuxdoom", + "__typename": "User" + } + }, + { + "name": "deuxdoom", + "email": "deuxdoom@gmail.com", + "user": { + "login": "deuxdoom", + "__typename": "User" + } + } + ], + "pullRequests": [6156] + }, + { + "sha": "bfba99827e314b9f2469f46eb98c3e1f928abd7a", + "subject": "feat(erlang): inspect BEAM IFF chunks and tables (#4833)", + "body": "feat(erlang): inspect BEAM IFF chunks and tables (#4833)\n\n* feat(erlang): inspect BEAM IFF chunks and tables\n\nReplay the Erlang BEAM inspection workflow, including table bounds,\nOTP 28+ atom layouts, the shared absolute-path policy, and empty-path\nCLI coverage, without carrying GitHub workflow edits.\n\nCo-authored-by: morluto \n\n* fix(erlang): use publicInputStrictObject for BEAM tool input\n\ninspect_erlang_beam advertised a public input built with bare\nz.strictObject, so later shared input-policy changes would miss it.\nResult and internal objects stay on their own constructors.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["44827a502004997738296f040dde04d9ed942bed"], + "authors": [ + { + "name": "Matt Van Horn", + "email": "mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [4833] + }, + { + "sha": "117ded88f01fa1ce62d8733e2b12923b9e3b1533", + "subject": "fix(kuna): name the rejected address in list_strings input errors (#6269)", + "body": "fix(kuna): name the rejected address in list_strings input errors (#6269)\n\nCo-authored-by: Abelo9996 ", + "parents": ["bfba99827e314b9f2469f46eb98c3e1f928abd7a"], + "authors": [ + { + "name": "Abel Yagubyan", + "email": "abelyagubyan@berkeley.edu", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + }, + { + "name": "Abelo9996", + "email": "Abelo9996@users.noreply.github.com", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + } + ], + "pullRequests": [6269] + }, + { + "sha": "690a63abd655973d9685cfd2d173196f740bc895", + "subject": "fix(process): name the pattern field in default invalid-regex errors (#6270)", + "body": "fix(process): name the pattern field in default invalid-regex errors (#6270)\n\nCo-authored-by: Abelo9996 ", + "parents": ["117ded88f01fa1ce62d8733e2b12923b9e3b1533"], + "authors": [ + { + "name": "Abel Yagubyan", + "email": "abelyagubyan@berkeley.edu", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + }, + { + "name": "Abelo9996", + "email": "Abelo9996@users.noreply.github.com", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + } + ], + "pullRequests": [6270] + }, + { + "sha": "2d91e2d57823f866632f99662cb27b366aaa4004", + "subject": "fix(il2cpp): refuse a seed path under a non-directory as caller input (#6271)", + "body": "fix(il2cpp): refuse a seed path under a non-directory as caller input (#6271)\n\nCo-authored-by: Abelo9996 ", + "parents": ["690a63abd655973d9685cfd2d173196f740bc895"], + "authors": [ + { + "name": "Abel Yagubyan", + "email": "abelyagubyan@berkeley.edu", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + }, + { + "name": "Abelo9996", + "email": "Abelo9996@users.noreply.github.com", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + } + ], + "pullRequests": [6271] + }, + { + "sha": "aff5e23ecf834fd85e85c1ee23d6dc6fb6fee21d", + "subject": "fix(environment): refuse UNC pathname in file:// URI before fileURLToPath (#6272)", + "body": "fix(environment): refuse UNC pathname in file:// URI before fileURLToPath (#6272)\n\nWhen a file:// URI contains leading slashes representing a UNC path (such as file:////remote.example.test/share/state.json), Node's fileURLToPath on Windows throws ERR_INVALID_FILE_URL_PATH because it expects a drive letter or Windows UNC format. This was caught and misreported as 'a file:// uri names a local absolute path' instead of the intended 'a file:// uri names a path on this host, not a network share'.\n\nTesting UNC_PATH against url.pathname before calling fileURLToPath ensures that UNC paths are consistently recognized and refused as network shares across platforms.\n\nCo-authored-by: ithis0623-png ", + "parents": ["2d91e2d57823f866632f99662cb27b366aaa4004"], + "authors": [ + { + "name": "ithis0623-png", + "email": "ithis0623@gmail.com", + "user": { + "login": "ithis0623-png", + "__typename": "User" + } + }, + { + "name": "ithis0623-png", + "email": "ithis0623-png@users.noreply.github.com", + "user": { + "login": "ithis0623-png", + "__typename": "User" + } + } + ], + "pullRequests": [6272] + }, + { + "sha": "3b2d2863da71b54cce297a80dd9175f9847f32fa", + "subject": "fix(managed): refuse non-PE inputs as unsupported targets (#6287)", + "body": "fix(managed): refuse non-PE inputs as unsupported targets (#6287)\n\nThe managed static provider refused a readable non-PE executable with\nAnalysisCapabilityUnavailableError, the same type as its unimplemented\noperation guard. inspect-managed-artifact, inspect-managed-members and\ninspect-managed-native-boundaries therefore reported capability_unavailable\n/ unsupported_provider and omitted the selected path.\n\nReturn AnalysisUnsupportedTargetError with the operation, path and observed\nformat instead. Unimplemented operations keep the capability error.\n\nFixes #6076", + "parents": ["aff5e23ecf834fd85e85c1ee23d6dc6fb6fee21d"], + "authors": [ + { + "name": "Muhammad Hamza", + "email": "32600505+mhamzasakhi@users.noreply.github.com", + "user": { + "login": "mhamzasakhi", + "__typename": "User" + } + } + ], + "pullRequests": [6287] + }, + { + "sha": "46cc5ce056f9cae77505751fde3ed3e38c6827f9", + "subject": "fix(contracts): resolve local schema references within their resource", + "body": "fix(contracts): resolve local schema references within their resource\n", + "parents": ["3b2d2863da71b54cce297a80dd9175f9847f32fa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3a42a9e356da45106640b4d84468f552c18bcf78", + "subject": "fix(artifacts): preserve owned file failure and cancellation facts", + "body": "fix(artifacts): preserve owned file failure and cancellation facts\n", + "parents": ["46cc5ce056f9cae77505751fde3ed3e38c6827f9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a4a548718d696d7329ffc7b9caa64ee72a215461", + "subject": "fix(erlang): derive budget recovery from parser-owned facts", + "body": "fix(erlang): derive budget recovery from parser-owned facts\n", + "parents": ["3a42a9e356da45106640b4d84468f552c18bcf78"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "932fbb7d84a9a995b9aee3c1be7da05a8c4d7bbb", + "subject": "fix(artifacts): recover only from owned destination case collisions", + "body": "fix(artifacts): recover only from owned destination case collisions\n", + "parents": ["a4a548718d696d7329ffc7b9caa64ee72a215461"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4043e71f6cb9c708b07f3f27e15dfc42663e73f3", + "subject": "feat(environment): list every entity on a list's whole lines (#5787)", + "body": "feat(environment): list every entity on a list's whole lines (#5787)\n\nDerive whole-collection membership per checked list line while preserving\nrecorded membership, counters, source Evidence and independent write claims.\n\nIntegrate current main without losing its shared path decoder. Keep later or\nambiguously positioned pages recorded rather than inventing earlier entities.\n\nValidation: 543 focused/adjacent tests, nine README checks, complete static/docs\nchecks, repeated regression runs, and real retained GitHub-label CLI/MCP\nload/reset workflows. An actual Codex session returned the correct facts;\nits over-strict grader failure and same-trace semantic verification are recorded.\n\nEvidence and limitations:\nhttps://github.com/morluto/rea/pull/5787#issuecomment-6338446674\nTracking: #6262; feature scope: #4933.\n\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["932fbb7d84a9a995b9aee3c1be7da05a8c4d7bbb"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + } + ], + "pullRequests": [5787] + }, + { + "sha": "2c3dd946d59c870388b03c3417eeb5218af96eeb", + "subject": "feat(python): inspect CPython pyc headers and marshal code objects (#4826)", + "body": "feat(python): inspect CPython pyc headers and marshal code objects (#4826)\n\n* feat(python): inspect CPython pyc headers and marshal code objects\n\nAdd inspect_python_pyc / inspect-python-pyc to read one explicit local\nCPython 3.7–3.13 .pyc without executing bytecode or recovering source.\n\n* chore(python): drop unused PythonPycHeader export\n\nKnip reported the type as unused after inspect_python_pyc landed.\n\n* fix(python): bound pyc expansion and decode marshal like CPython\n\n- Count a nested code object reached through TYPE_REF once per copy the\n report carries, against max_objects and max_file_bytes, before counting\n or validating the tree\n- Charge long digits to max_string_bytes, reject out-of-range and\n unnormalized digits, build the value in one pass, and report integers\n above 256 bits by bit length only\n- Decode TYPE_UNICODE with surrogatepass semantics and reject other\n ill-formed UTF-8\n- Map only 3.11 magics 3494-3495 to the py311 layout\n- Report non-finite float and complex parts as inf, -inf or nan\n- Allow an empty co_filename\n- Require bytes for co_linetable and co_exceptiontable\n- Bind cleanup-failure errors to their retained descriptor leases\n\n* fix(python): list pyc code objects once instead of a recursive tree\n\nReport each distinct code object once in code_objects, top-level first,\nwith nested_code as indexes. A child shared through TYPE_REF is no longer\ncopied per reference, and the MCP output schema is no longer recursive.\nNames repeated through TYPE_REF still count against max_file_bytes for\neach copy the report carries.\n\n* fix(python): bound shared pyc constants and reject malformed tables\n\n- Cache byte-string digests so a buffer shared through TYPE_REF is\n hashed once instead of on every reference.\n- Charge every reported co_consts entry, including tables shared\n through TYPE_REF, against max_objects before summaries are built.\n- Resolve the inspect-python-pyc path with absoluteCallerPath so\n link/../file.pyc reads the file the filesystem selects.\n- Reject TYPE_NULL inside marshal sequences, as CPython does.\n- Reject a co_localspluskinds length that does not match\n co_localsplusnames in the parser and the report schema.\n\n* fix(python): bound shared pyc names and read CPython marshal graphs\n\nCharge each reported code-constant name, keep integer bit lengths on the\ndecoded value, and list code objects nested inside constant containers.\nAccept self-referential lists and dicts, marshal version 0 text floats,\nempty code names, the original string byte count, and Python set and dict\nlengths. Pass the CLI cancellation signal into command cleanup.\n\nCo-authored-by: morluto \n\n* fix(python): bound pyc key expansion and shared nested code\n\nCharge set and dictionary keys before a shared tuple doubles them, list each\nnested code object once per owner, and accept code objects as CPython keys.\n\nCo-authored-by: morluto \n\n* fix(python): correct pyc equality, counts, and nested walks\n\nSummarize code objects only after the marshal graph is complete, and\ncollect nested code with an iterative walk that shares wrapper results\ninstead of copying every descendant list. Keep tuple boundaries and the\noriginal string bytes in equality keys, and reject negative CPython counts.\n\nCo-authored-by: morluto \n\n* fix(python): bound shared pyc names and keep the first dict key\n\nCharge every copied name-table entry against the object budget before\nbuilding the report array, including empty strings that add no bytes.\nWhen dictionary keys compare equal, keep the first key object and\nreplace only its value, matching CPython.\n\nCo-authored-by: morluto \n\n* fix(python): walk each pyc dictionary child list once\n\nKeep a container's child array on the nested-code frame so a wide\ndictionary is not copied on every step of the synchronous marshal walk.\n\nCo-authored-by: morluto \n\n* fix(python): reuse stored pyc dictionary children when combining\n\nThe nested walk keeps each container's child list on its frame.\nCombining nested code rebuilt that list, and the 8,000-key regression\nstill accepted the old per-key copy. Use the stored list, and require\nthat dictionary to finish well under the copy's runtime while still\nreporting a nested code object.\n\nCo-authored-by: morluto \n\n* fix(python): keep distinct pyc code objects and reject corrupt ones\n\nEncode each name table's length and entry boundaries in the equality\nkey so a different name list cannot share a memo key. Walk tuple and\nfrozenset keys on an explicit stack so a long TYPE_REF chain does not\noverflow. Treat code objects CPython rejects for an odd co_code or an\nundersized local table as malformed instead of complete coverage.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["4043e71f6cb9c708b07f3f27e15dfc42663e73f3"], + "authors": [ + { + "name": "Matt Van Horn", + "email": "mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Matt Van Horn", + "email": "455140+mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [4826] + }, + { + "sha": "e93e3b1e7d6e7e4f49c2de24b92452ec29e853f8", + "subject": "feat(apk): inspect signing declarations with retained fact queries", + "body": "feat(apk): inspect signing declarations with retained fact queries", + "parents": ["2c3dd946d59c870388b03c3417eeb5218af96eeb"], + "authors": [ + { + "name": "FerroLx", + "email": "jgmferro@gmail.com", + "user": { + "login": "FerroLx", + "__typename": "User" + } + } + ], + "pullRequests": [4158] + }, + { + "sha": "293832bafc9a054914ec514fe906dd4936c7a372", + "subject": "feat(environment): answer list filters, search, sorting and paging from the state", + "body": "feat(environment): answer list filters, search, sorting and paging from the state\n\nLearn supported filters, plain search, sorting and paging from retained list recordings and evaluate them through shared local-state workflows.\n\nPreserve whole-membership admission, Evidence, query normalization, counter representation and omission. Use successful retry coverage consistently for confirmation and pending-write cleanup. Unsupported semantics remain replayed or unknown.\n\nValidated 623 adjacent source tests, exact-head CI, repeated regressions, real retained GitHub CLI/MCP pagination, actual owned HTTP fixture sessions and Codex task/review runs. Third-party application-write fidelity and exhaustive scale/provider qualification remain unverified; details and measurements are recorded in the PR.\n\nRefs #4933, #6262.\n\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["e93e3b1e7d6e7e4f49c2de24b92452ec29e853f8"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + } + ], + "pullRequests": [5800] + }, + { + "sha": "edccb430c4ace4595ceff71e1b837351e7634938", + "subject": "feat(environment): compare an environment with probe captures of its application (#5699)", + "body": "feat(environment): compare an environment with probe captures of its application (#5699)\n\n* chore: restack environment fidelity onto main\n\nKeep probe comparison, paging, and tied-create behavior on main after #5600. Capture parsing keeps field-path errors and records whether a probe kept request and response bodies.\n\nCo-authored-by: morluto \n\n* fix(environment): keep served collection order with the fidelity checks\n\nThe tied-create collection order lives with the checks that match encoded parents. The write simulation reads field checks from that attribution, and taint uses the same segment match.\n\nCo-authored-by: morluto \n\n* fix(environment): translate an object's keys only when it is keyed by learned ids\n\nDiffer.object mapped every key through the probe's id map, so a field named\nlike a learned id was compared with another field, and a real rename could\npass as a mapped key. Keys now translate only for an object keyed by\nlearned ids as learning reads one: a key both sides share needs every key\nevidently an id, and otherwise each entry is an entity or each key evidently\nan id. Any other object compares field by field.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto \nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["293832bafc9a054914ec514fe906dd4936c7a372"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5699] + }, + { + "sha": "e7801483055352171d6b033a61563cbb8c1987c6", + "subject": "fix(cutter): preserve producer failure and cancellation facts", + "body": "fix(cutter): preserve producer failure and cancellation facts\n", + "parents": ["edccb430c4ace4595ceff71e1b837351e7634938"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2589c0074d3ee7f2524ea36f190a4c0d4281efb0", + "subject": "fix(mcp): attribute doctor timeouts to owned deadline facts", + "body": "fix(mcp): attribute doctor timeouts to owned deadline facts\n", + "parents": ["e7801483055352171d6b033a61563cbb8c1987c6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5d7d6ad9ab5450b76ae6ee33941ee1e957304dff", + "subject": "fix(doctor): interrupt Hopper display readiness on cancel", + "body": "fix(doctor): interrupt Hopper display readiness on cancel\n\nFixes #6227. Forward caller cancellation to private-display selection and preserve its exact cause after joined selector finalization. Covers active, late-finalization, healthy and pre-aborted controls. Verified 3 x 14 source tests, 22 compiled process/CLI boundaries, full static checks and independent local Codex review. Greptile passed the current head. Used the explicitly authorized maintainer bypass: the current GitHub rerun remained queued and author-readiness metadata was not filled. Original-head code CI passed; no human-review attestation was manufactured.\n\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["2589c0074d3ee7f2524ea36f190a4c0d4281efb0"], + "authors": [ + { + "name": "Matt Van Horn", + "email": "mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + } + ], + "pullRequests": [6268] + }, + { + "sha": "30fef57f75db07d00b99cb9ce90c2bf61aec3d75", + "subject": "fix(browser): identify scenario timeouts by Playwright error type", + "body": "fix(browser): identify scenario timeouts by Playwright error type\n", + "parents": ["5d7d6ad9ab5450b76ae6ee33941ee1e957304dff"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2846cc05704a8563c00cba7fd197a689fb37376c", + "subject": "fix(input): classify JSON failures at their producing boundary", + "body": "fix(input): classify JSON failures at their producing boundary\n", + "parents": ["30fef57f75db07d00b99cb9ce90c2bf61aec3d75"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8761d4251f58ce5e1f60679c883977508f7c19b4", + "subject": "fix(python): preserve pyc file outcomes and cancelled Evidence", + "body": "fix(python): preserve pyc file outcomes and cancelled Evidence\n", + "parents": ["2846cc05704a8563c00cba7fd197a689fb37376c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3d472bde23b70f9aa7bcf0d28a0cd10e469545e9", + "subject": "fix(ghidra): reject JDK_JAVA_OPTIONS argument-file platform overrides", + "body": "fix(ghidra): reject JDK_JAVA_OPTIONS argument-file platform overrides\n\nFixes #6212. Parse effective argfile syntax once, admit bounded regular files with retained cleanup/cancellation ownership, freeze validated bytes for subsequent helpers and analysis launch, and share existing private-runtime writing. Resolves the continuation, FIFO and mutable-source review findings.\n\nVerified 97 related tests (3 explicit skips), full static/docs checks, two independent local Codex reviews and 12 real installed-JDK17 grammar/property controls. Real Ghidra, JDK25 and native Windows qualification remain unavailable. Used the explicitly authorized maintainer bypass: current GitHub CI remained queued and Greptile rerun was still in progress; author-readiness metadata was not fabricated.\n\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["8761d4251f58ce5e1f60679c883977508f7c19b4"], + "authors": [ + { + "name": "Matt Van Horn", + "email": "mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + } + ], + "pullRequests": [6273] + }, + { + "sha": "9512a8080433d377f022889737d328f0cbea171f", + "subject": "feat(process): make the regex worker heap request configurable (#6301)", + "body": "feat(process): make the regex worker heap request configurable (#6301)\n\n* feat(process): make the regex worker heap request configurable\n\nREA_REGEX_WORKER_HEAP_REQUEST_MIB keeps the 128 MiB default and refuses\nvalues outside 8 to 16384 MiB. A positive Node --max-old-space-size still\noverrides the request and is not clamped by the setting.\n\nCo-authored-by: morluto \n\n* fix(process): set the regex worker heap floor to the measured startup bound\n\nOn Node 22.23.4 a 5 MiB old-generation request aborts the regex worker\nduring startup, and 6 MiB starts it and returns a match. The setting floor\nis that measured bound.\n\nCo-authored-by: morluto \n\n* fix(process): raise the regex worker heap floor to 7 MiB\n\n6 MiB passes configuration but returns ERR_WORKER_OUT_OF_MEMORY for a\ntrivial match on supported Linux Node 24 and Node 26.0.0. 7 MiB returned\nthat match on the measured 22, 24, and 26 lines. A clean-process test\nruns the production worker at the floor.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["3d472bde23b70f9aa7bcf0d28a0cd10e469545e9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6301] + }, + { + "sha": "5375ff0f9aadb4fd0d46333815aa0431e3df1010", + "subject": "feat(environment): extend evidence-gated write coverage", + "body": "feat(environment): extend evidence-gated write coverage\n\nRetain bodiless writes, proven omitted fields, identity-free projections and digit-group sequences. Preserve late projection provenance and current omission facts, and check absence statuses before replay shortcuts.\n\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["9512a8080433d377f022889737d328f0cbea171f"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + } + ], + "pullRequests": [6169] + }, + { + "sha": "306ed799320e66babe44a9abb632e920b029508a", + "subject": "feat(captures): make the HAR/SAZ/qlog decoder heap configurable (#6299)", + "body": "feat(captures): make the HAR/SAZ/qlog decoder heap configurable (#6299)\n\n* feat(captures): make the HAR/SAZ/qlog decoder heap configurable\n\nREA_CAPTURE_DECODER_OLD_GENERATION_MIB keeps the 192 MiB default and\nrefuses values outside 8 to 16384 MiB instead of falling back.\n\nCo-authored-by: morluto \n\n* fix(captures): defer decoder startup and share one parsed heap\n\nInvalid REA_CAPTURE_DECODER_OLD_GENERATION_MIB threw while CLI commands\nwere registered, so doctor and help never ran. Build the capture service\nonly when inspect-web-network-capture runs.\n\nResolve the heap once in composition and pass that fact to each Node\nadapter. Limitation and memory-failure reports use the selected adapter's\nheap, so a decoder built with a different environment does not describe\nanother limit.\n\nMock captureDecoderProcessMemoryLimitBytes in the Node adapter test so a\nWindows Bun host still exercises the unavailable-bound refusal.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["5375ff0f9aadb4fd0d46333815aa0431e3df1010"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6299] + }, + { + "sha": "584937c7611e6de1e3a81dd3e32f90e200ae3f42", + "subject": "feat(mcp): make MCP startup phase budgets configurable (#6304)", + "body": "feat(mcp): make MCP startup phase budgets configurable (#6304)\n\n* feat(mcp): make MCP startup phase budgets configurable\n\nREA_MCP_INITIALIZE_BUDGET_MS, REA_MCP_TOOLS_LIST_BUDGET_MS,\nREA_MCP_FIRST_CATALOG_BUDGET_MS, and REA_MCP_DOCTOR_DEADLINE_MS keep\ntoday's defaults and refuse values outside 1 to 2147483647 ms. Codex's\n30 second startup figure stays client guidance.\n\nCo-authored-by: morluto \n\n* fix(mcp): enforce the first-catalog budget while phases are pending\n\nThe packaged startup probe applied each phase timeout on its own and\nchecked REA_MCP_FIRST_CATALOG_BUDGET_MS only after both requests\nfinished. A shorter first-catalog budget now clamps the in-flight\nrequest and cancels it from one deadline measured at startup.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["306ed799320e66babe44a9abb632e920b029508a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6304] + }, + { + "sha": "2127095e3b4a377abbc124ca83af46b98a2a557b", + "subject": "docs: prefer the pinned Node.js on Cloud Agent PATH (#5624)", + "body": "docs: prefer the pinned Node.js on Cloud Agent PATH (#5624)\n\nCursor Cloud can resolve an older Node.js before /usr/local/bin. Tell agents to prefix PATH so npm and node use the toolchain environment setup installs.\n\nCo-authored-by: Cursor Agent ", + "parents": ["584937c7611e6de1e3a81dd3e32f90e200ae3f42"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + } + ], + "pullRequests": [5624] + }, + { + "sha": "7ec9b6e56e1b3762285dca881db6d900a389ab9c", + "subject": "feat(environment): model application-assigned write values", + "body": "feat(environment): model application-assigned write values\n\nServe renamed create members and evidence-gated UUID regeneration. Preserve every copied text occurrence and withhold cross-field scalar UUID relations the independent generators cannot reproduce.\n\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["2127095e3b4a377abbc124ca83af46b98a2a557b"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + } + ], + "pullRequests": [6136] + }, + { + "sha": "6d977db1b5a3a3a7e496b767701ec73239ae7473", + "subject": "fix(config): remove duplicate capture heap floor export", + "body": "fix(config): remove duplicate capture heap floor export\n", + "parents": ["7ec9b6e56e1b3762285dca881db6d900a389ab9c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5bda0a7dc3720db9c29b5b85f62473fb3133feee", + "subject": "fix(entropy): retain completed file outcomes through cleanup", + "body": "fix(entropy): retain completed file outcomes through cleanup\n", + "parents": ["6d977db1b5a3a3a7e496b767701ec73239ae7473"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "71dc6fe5bddbd8205facc964a7572961f113e4b7", + "subject": "refactor(core): consolidate internal aliases and startup budget ownership", + "body": "refactor(core): consolidate internal aliases and startup budget ownership\n", + "parents": ["5bda0a7dc3720db9c29b5b85f62473fb3133feee"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "957bcfa149c1a0593bb0aa2466cc56d1d4f62e7d", + "subject": "feat(environment): preserve view-specific written clock spellings", + "body": "feat(environment): preserve view-specific written clock spellings\n\nShare clock rendering between analysis and local serving. Preserve exact sub-millisecond facts, bound learned format state per field, and charge retained output to the projection budget.\n\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["71dc6fe5bddbd8205facc964a7572961f113e4b7"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + } + ], + "pullRequests": [6138] + }, + { + "sha": "566a9a155134b37695f7b1db9968431d04cb5041", + "subject": "fix(javascript): preserve failure provenance and cleanup ownership", + "body": "fix(javascript): preserve failure provenance and cleanup ownership\n", + "parents": ["957bcfa149c1a0593bb0aa2466cc56d1d4f62e7d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "54f51f0d7dc9c48355928a3d9ec84e6fc13e8e54", + "subject": "fix(environment): preserve UUID renewal ownership", + "body": "fix(environment): preserve UUID renewal ownership\n\nFixes #6343. Normalize renewal identities once, preserve source spelling, and refuse aliases the shared generators cannot reproduce.\n\nAssisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)", + "parents": ["566a9a155134b37695f7b1db9968431d04cb5041"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6345] + }, + { + "sha": "304c9783681df6ffffc9cfffe0cb19f80af2d8b2", + "subject": "fix(pcap): preserve completed Evidence on late cancellation", + "body": "fix(pcap): preserve completed Evidence on late cancellation\n", + "parents": ["54f51f0d7dc9c48355928a3d9ec84e6fc13e8e54"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fd5cd1b058dd549b5f5c6d707edeaebcc21c1165", + "subject": "test(acceptance): run loader ownership once through stdio MCP (#6354)", + "body": "test(acceptance): run loader ownership once through stdio MCP (#6354)\n\nKeep every competing-loader source on the shared stdio session and compare\nthree renderer outcomes with the compiled CLI. Retire the Early, Middle, and\nLate shards, and seed their historical duration onto the consolidated file.\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["304c9783681df6ffffc9cfffe0cb19f80af2d8b2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6354] + }, + { + "sha": "b43daa166f5f55ce6649f00927bbd5343daaadc2", + "subject": "fix(analysis): retain typed outcomes through final cleanup", + "body": "fix(analysis): retain typed outcomes through final cleanup\n", + "parents": ["fd5cd1b058dd549b5f5c6d707edeaebcc21c1165"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a6b93125773897b53e161d3ca5a8cf272d65c618", + "subject": "test(javascript): assert the shared cancellation contract", + "body": "test(javascript): assert the shared cancellation contract\n", + "parents": ["b43daa166f5f55ce6649f00927bbd5343daaadc2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7501911f1781d0be16266a279d71bc17ee15d273", + "subject": "fix(lifecycle): retain exact cleanup owners when close or prelaunch fails (#6357)", + "body": "fix(lifecycle): retain exact cleanup owners when close or prelaunch fails (#6357)\n\n* fix(hopper): retain file-offset reads when descriptor close fails\n\nA rejected source close was classified as a source or access failure and\ndropped the descriptor, so client close reported success. Keep the\ncompleted snapshot or the earlier non-regular-source failure, report the\nclose as typed cleanup, and retry that exact handle.\n\nCo-authored-by: morluto \n\n* fix(native): retain LLDB prelaunch cleanup ownership\n\nPreparation failures were rewritten as an LLDB exit, and discovery\nfailures dropped the resolver supervisor. Preserve compiler facts and\nthe foreign helper marker, and retry only the tracer-owned resolver\nbefore another trace is admitted.\n\nCo-authored-by: morluto \n\n* fix(hopper): bind combined close failures to both owners\n\nA descriptor close and a session close that fail together now stay incomplete until each owner resolves.\n\nCo-authored-by: morluto \n\n* fix(native): retain resolver preparation cleanup ownership\n\nLLDB discovery keeps compiler facts and the foreign helper marker when tool resolution fails during preparation.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["a6b93125773897b53e161d3ca5a8cf272d65c618"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6357] + }, + { + "sha": "106779208d9f3877bd81d418a16476fdd25a3cae", + "subject": "refactor(core): use canonical file outcomes and unknown schema", + "body": "refactor(core): use canonical file outcomes and unknown schema\n", + "parents": ["7501911f1781d0be16266a279d71bc17ee15d273"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "888b2afc0d848885d9a0e3bc7560eab5b1d0c7d6", + "subject": "fix(web): preserve script export failures through cancellation", + "body": "fix(web): preserve script export failures through cancellation\n", + "parents": ["106779208d9f3877bd81d418a16476fdd25a3cae"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "09416de0cde5489956288b4cd788cb89786c45af", + "subject": "docs(testing): note Windows source-checkout suite expectations (#6323)", + "body": "docs(testing): note Windows source-checkout suite expectations (#6323)\n\nDocument that the general source suite runs on Linux in CI and that Windows CI selects a curated lane, so Windows contributors compare failures against the base revision instead of attributing POSIX-only failures to their change.\n\nFixes #6308", + "parents": ["888b2afc0d848885d9a0e3bc7560eab5b1d0c7d6"], + "authors": [ + { + "name": "SathishM", + "email": "sathish085580@gmail.com", + "user": { + "login": "sathish123m", + "__typename": "User" + } + } + ], + "pullRequests": [6323] + }, + { + "sha": "b9ca37b51f13b9c0ffed348ff5d3b779da30166d", + "subject": "fix(reconstruction): classify residual graph failures as invalid input (#6321)", + "body": "fix(reconstruction): classify residual graph failures as invalid input (#6321)", + "parents": ["09416de0cde5489956288b4cd788cb89786c45af"], + "authors": [ + { + "name": "OrdoAbChao", + "email": "58732249+OrdoAbChao7@users.noreply.github.com", + "user": { + "login": "OrdoAbChao7", + "__typename": "User" + } + } + ], + "pullRequests": [6321] + }, + { + "sha": "e28c11f87d0390bf758a851995d0f165b2208bce", + "subject": "fix(rizin): enforce UTF-8 recent output byte limit (#6314)", + "body": "fix(rizin): enforce UTF-8 recent output byte limit (#6314)", + "parents": ["b9ca37b51f13b9c0ffed348ff5d3b779da30166d"], + "authors": [ + { + "name": "Raj Aryan", + "email": "132689114+aryanmehra0@users.noreply.github.com", + "user": { + "login": "aryanmehra0", + "__typename": "User" + } + } + ], + "pullRequests": [6314] + }, + { + "sha": "791f6328b02a29f23822fe600754fcd228bf754b", + "subject": "fix(mcp): escalate transient failures before asking for a restart (#6353)", + "body": "fix(mcp): escalate transient failures before asking for a restart (#6353)\n\n* fix(mcp): escalate transient failures before asking for a restart\n\nGive dropped connections and startup failures one bounded retry, then a\nscripted handoff to the user. Point timeout recovery at a named request\nfield or REA_* setting instead of telling agents those limits are fixed.\n\nCo-authored-by: morluto \n\n* fix(process): stop unexpected command failures from recommending a retry\n\nThe catch can already have launched the target, and the projection stays\nnon-retryable. Tell the user to check the inputs and run doctor instead.\n\nCo-authored-by: morluto \n\n* fix(mcp): limit retries to safe calls and recommended settings\n\nA dropped connection may already have changed the target, and a bad\ncatalog rejects the same startup every time. Retry only a repeatable\ncall, and change a setting only when the remediation recommends it.\n\nCo-authored-by: morluto \n\n* test(mcp): match recovery guidance across wrapped lines\n\nStartup handoff capitalization and markdown wrapping still carry the\nsame sentences. Compare the prose with whitespace collapsed.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["e28c11f87d0390bf758a851995d0f165b2208bce"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6353] + }, + { + "sha": "5fbea61e5ab0e2a83cccf0fdbd9f8843644dd681", + "subject": "fix(javascript): report path data records as route candidates (#6360)", + "body": "fix(javascript): report path data records as route candidates (#6360)\n\n* fix(javascript): report path data records as route candidates\n\nA string `path` or `route` property was reported as an exact, observed\nroute endpoint whatever object held it, so data records such as\n`{ type: \"set\", path: \"updatedAt\" }` became routes while a real\n`app.get(\"/x\")` stayed a low-confidence candidate.\n\nKeep the property finding, but mark it as a candidate unless its object\nhas router fields (`component`, `element`, `Component`, `children`, or a\ntyped `_$` record), using the same shape check that already selects\nautomatic route roots. Route candidates get a route-specific limitation.\n\nFixes #6349\n\n* fix(javascript): scan each route record's keys once\n\n`#property` read the enclosing object's keys for every `path` or `route`\nproperty, so an object repeating those keys was scanned quadratically.\nCache the record shape per object and share it with `#object`.", + "parents": ["791f6328b02a29f23822fe600754fcd228bf754b"], + "authors": [ + { + "name": "NIKHIL", + "email": "atnikhil06@gmail.com", + "user": { + "login": "Nikhi00718", + "__typename": "User" + } + } + ], + "pullRequests": [6360] + }, + { + "sha": "49bb6c84b0032329a169a97d5ef56f6afa862c56", + "subject": "fix(pyinstaller): report changed admission as integrity (#6325)", + "body": "fix(pyinstaller): report changed admission as integrity (#6325)\n\nMap RegularFileChangedError from reader admission to an integrity failure instead of the generic I/O and archive-open diagnostic. This preserves the changed-source condition and the existing stable-artifact recovery guidance.", + "parents": ["5fbea61e5ab0e2a83cccf0fdbd9f8843644dd681"], + "authors": [ + { + "name": "MeskineMorty", + "email": "126686760+Bilalmesk@users.noreply.github.com", + "user": { + "login": "Bilalmesk", + "__typename": "User" + } + } + ], + "pullRequests": [6325] + }, + { + "sha": "510838bd7038a9e55ac29ef1a906c5a67df8d599", + "subject": "fix(evidence): report contradictory unknown input as invalid input (#6302)", + "body": "fix(evidence): report contradictory unknown input as invalid input (#6302)", + "parents": ["49bb6c84b0032329a169a97d5ef56f6afa862c56"], + "authors": [ + { + "name": "Wade", + "email": "160517347+Sriram-PR@users.noreply.github.com", + "user": { + "login": "Sriram-PR", + "__typename": "User" + } + } + ], + "pullRequests": [6302] + }, + { + "sha": "77c72b96aa01b74f5f1e6dc2e1b737bd0fd1ee0e", + "subject": "fix(process): propagate comparison contradictions (#6298)", + "body": "fix(process): propagate comparison contradictions (#6298)\n\nCo-authored-by: gongfpp <22683417+gongfpp@users.noreply.github.com>", + "parents": ["510838bd7038a9e55ac29ef1a906c5a67df8d599"], + "authors": [ + { + "name": "gongfpp", + "email": "1360187968@qq.com", + "user": { + "login": "gongfpp", + "__typename": "User" + } + }, + { + "name": "gongfpp", + "email": "22683417+gongfpp@users.noreply.github.com", + "user": { + "login": "gongfpp", + "__typename": "User" + } + } + ], + "pullRequests": [6298] + }, + { + "sha": "0d5c7b6d79a6bba82d4648a5d44a9148965f0f3f", + "subject": "fix(windows): report missing native launch controls as unavailable capabilities (#6277)", + "body": "fix(windows): report missing native launch controls as unavailable capabilities (#6277)\n\n* fix(windows): report missing native launch controls as unavailable capabilities\n\nAn admitted Windows native artifact may predate the optional protocol stdin\nor Job Object memory limit controls. WindowsOwnedProcess correctly refused\nsuch launches, but threw a plain Error, so providers projected the refusal\nas execution_failure with generic `rea doctor` advice and left the package\nremedy in nested diagnostics.\n\nIntroduce RuntimeControlUnavailableError as the shared owner of expected\nhost-control refusals. PrivateRuntimeRootUnavailableError and the new\nWindowsNativeControlUnavailableError (which records the missing control)\nextend it, and the six provider adapters that hand-built the same\nAnalysisCapabilityUnavailableError now project any subtype through one\nhelper. The refusal still precedes every native launch.\n\nFixes #6050\n\nCo-Authored-By: Claude Opus 5.5 \n\n* refactor(errors): drop capability imports superseded by the shared helper\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["77c72b96aa01b74f5f1e6dc2e1b737bd0fd1ee0e"], + "authors": [ + { + "name": "Ammar Jamil", + "email": "ammarjamil7000@gmail.com", + "user": { + "login": "AmmarJamil23", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6277] + }, + { + "sha": "44a4c1ba874166a82b46be0f2d40d3de9f0137d2", + "subject": "refactor(native): centralize procedure and metadata input contracts", + "body": "refactor(native): centralize procedure and metadata input contracts\n", + "parents": ["0d5c7b6d79a6bba82d4648a5d44a9148965f0f3f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6dc0f60faa0928e20b2395ba1a93ff8e497143f7", + "subject": "refactor(process): share paired prlimit ceiling ownership (#6352)", + "body": "refactor(process): share paired prlimit ceiling ownership (#6352)\n\n* refactor(process): share paired prlimit ceiling ownership\n\nRoute firmware, Wakaru, and pcap paired ceilings through\nLinuxResourceLimits without changing their byte or CPU budgets.\nKeep EVMole's soft-only limits as a dated architecture-guard exception.\n\nCo-authored-by: morluto \n\n* test(pcap): admit capture limits without host prlimit\n\nThe ceiling test only checks the shared argument prefix, so it uses a\ntemporary executable instead of /usr/bin/prlimit.\n\nCo-authored-by: morluto \n\n* style(pcap): format the capture ceiling test\n\noxfmt rejected the object literal wrapping in PcapNativeBound.test.ts.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["44a4c1ba874166a82b46be0f2d40d3de9f0137d2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6352] + }, + { + "sha": "9a426033ff78ed0ef01e1552ce891dea3b213327", + "subject": "refactor(core): import shared contracts from their owners", + "body": "refactor(core): import shared contracts from their owners\n", + "parents": ["6dc0f60faa0928e20b2395ba1a93ff8e497143f7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "295e7efddfc9fe48036b8f5b21d67d49fe19dacb", + "subject": "fix(analysis-view): preserve artifact parent schema diagnostics (#6361)", + "body": "fix(analysis-view): preserve artifact parent schema diagnostics (#6361)\n\n* fix(analysis-view): preserve artifact parent schema diagnostics\n\n* fix(artifacts): locate nested Evidence validation failures", + "parents": ["9a426033ff78ed0ef01e1552ce891dea3b213327"], + "authors": [ + { + "name": "Mohamed Ayoub Eleuch", + "email": "58662566+AyoubElleuch@users.noreply.github.com", + "user": { + "login": "AyoubElleuch", + "__typename": "User" + } + } + ], + "pullRequests": [6361] + }, + { + "sha": "49c804b7ec65cf7a39c31a7be935788f4d5993a7", + "subject": "fix(evidence): preserve bundle comparison failure ownership", + "body": "fix(evidence): preserve bundle comparison failure ownership\n", + "parents": ["295e7efddfc9fe48036b8f5b21d67d49fe19dacb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7aee876d814ace1e9e59033501e02d2afc33bc9f", + "subject": "fix(browser)!: preserve storage value code units (#6341)", + "body": "fix(browser)!: preserve storage value code units (#6341)\n\nKeep ordinary UTF-8 digests and secret redaction, separate malformed UTF-16 preimages, and record storage fingerprint provenance. Compare legacy hashed snapshots as unknown without treating encoding metadata as a target change. Cover producer boundaries and real owned-browser CLI/MCP workflows.\n\nBREAKING CHANGE: legacy hashed browser storage remains readable but comparisons return unknown until both sides are recaptured.\n\nCo-authored-by: gongfpp <22683417+gongfpp@users.noreply.github.com>", + "parents": ["49c804b7ec65cf7a39c31a7be935788f4d5993a7"], + "authors": [ + { + "name": "gongfpp", + "email": "1360187968@qq.com", + "user": { + "login": "gongfpp", + "__typename": "User" + } + }, + { + "name": "gongfpp", + "email": "22683417+gongfpp@users.noreply.github.com", + "user": { + "login": "gongfpp", + "__typename": "User" + } + } + ], + "pullRequests": [6341] + }, + { + "sha": "26bc77ce564b353d027df4ede13999bd2cd93461", + "subject": "fix(browser): keep refresh guidance for a missing CDP target (#6340)", + "body": "fix(browser): keep refresh guidance for a missing CDP target (#6340)\n\nCo-authored-by: Abelo9996 ", + "parents": ["7aee876d814ace1e9e59033501e02d2afc33bc9f"], + "authors": [ + { + "name": "Abel Yagubyan", + "email": "abelyagubyan@berkeley.edu", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + }, + { + "name": "Abelo9996", + "email": "Abelo9996@users.noreply.github.com", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + } + ], + "pullRequests": [6340] + }, + { + "sha": "4b4babf1e796d46ff0361cf7d80c2d0c126e4223", + "subject": "fix(doctor): read each client's own activation key (#6331)", + "body": "fix(doctor): read each client's own activation key (#6331)\n\n* fix(doctor): read each client's own activation key\n\nDoctor treated both `disabled: true` and `enabled: false` as a disabled\nregistration for every client except Grok. The installed clients each\nread only one of them: Codex and Kimi Code honor `enabled` and still\nload a server marked `disabled`, while Devin honors `disabled` and\nstill loads a server marked `enabled: false`. Doctor reported those\nloaded registrations as stale, so `rea doctor --client codex` failed\nwith config_drift and setup offered to \"repair\" a working entry.\n\nSkip the key each of these clients ignores. Other clients keep the\nexisting rule.\n\n* fix(tests): resolve the Devin config root per platform in activation cases\n\nThe client activation cases wrote Devin's mcp_config.json under the\nXDG root on every platform, but devinDirectory resolves APPDATA (or\n~/AppData/Roaming) on Windows. Follow the client's per-platform root\nso the cases exercise the file doctor actually reads there.", + "parents": ["26bc77ce564b353d027df4ede13999bd2cd93461"], + "authors": [ + { + "name": "Christopher Pruijsen", + "email": "christopher.pruijsen@gmail.com", + "user": { + "login": "cpruijsen", + "__typename": "User" + } + } + ], + "pullRequests": [6331] + }, + { + "sha": "6b55802df66cf25d61e652f0549bd83ef260ebfd", + "subject": "fix(wasm): test glue literals for a .wasm suffix in linear time (#6237)", + "body": "fix(wasm): test glue literals for a .wasm suffix in linear time (#6237)\n\nassociateWasmGlue tested every glue string literal with\n/\\.wasm(?:[?#].*)?$/iu. Each .wasm? or .wasm# occurrence scanned to the\nnext line terminator and failed at $, so a multi-line literal with many\nsuch occurrences took quadratic time on the event loop (about 2.6 s for\n192 KB, within the 8 MiB glue limit). Because . cannot cross a line\nterminator and $ only matches at the end, test the literal's last line\nonly; results are unchanged.", + "parents": ["4b4babf1e796d46ff0361cf7d80c2d0c126e4223"], + "authors": [ + { + "name": "Dragolone", + "email": "160818051+Dragolone@users.noreply.github.com", + "user": { + "login": "Dragolone", + "__typename": "User" + } + } + ], + "pullRequests": [6237] + }, + { + "sha": "25a0f3c3b8723804d0b19d5c51850383dd5b3139", + "subject": "fix(pcap): locate parent validation issues within analysis-view source (#6195)", + "body": "fix(pcap): locate parent validation issues within analysis-view source (#6195)", + "parents": ["6b55802df66cf25d61e652f0549bd83ef260ebfd"], + "authors": [ + { + "name": "xjh", + "email": "87483213+xiajiahang@users.noreply.github.com", + "user": { + "login": "xiajiahang", + "__typename": "User" + } + } + ], + "pullRequests": [6195] + }, + { + "sha": "54ea293e7cdbf2bb48f68c0682b8ab666c28fd36", + "subject": "fix(model): keep host I/O failures distinct from unavailable model targets (#6175)", + "body": "fix(model): keep host I/O failures distinct from unavailable model targets (#6175)\n\nModel inspection turned every coded host error into a selected-target\nrefusal, so EMFILE at open or EIO at header read on a valid model came\nback as target_unavailable with advice to check the path. Callers were\ntold to reselect a model that was fine.\n\nOnly codes that describe the selected path (missing, not a directory,\nsymlink, name too long, non-regular, changed) keep that refusal, as the\nGo provider already does. Other host errors reach the existing\nexecution_failure fallback with the path and reason.\n\nFixes #6004", + "parents": ["25a0f3c3b8723804d0b19d5c51850383dd5b3139"], + "authors": [ + { + "name": "amyanger", + "email": "57688398+amyanger@users.noreply.github.com", + "user": { + "login": "amyanger", + "__typename": "User" + } + } + ], + "pullRequests": [6175] + }, + { + "sha": "6da3839b572219ea4cefa62fbecc5cd626908b15", + "subject": "fix(process): capture MCP process scenarios with the server environment (#6173)", + "body": "fix(process): capture MCP process scenarios with the server environment (#6173)", + "parents": ["54ea293e7cdbf2bb48f68c0682b8ab666c28fd36"], + "authors": [ + { + "name": "Adolanium", + "email": "94890352+Adolanium@users.noreply.github.com", + "user": { + "login": "Adolanium", + "__typename": "User" + } + } + ], + "pullRequests": [6173] + }, + { + "sha": "ab2119e9b89e017ee75e3ba3d25c709e1384c51d", + "subject": "fix(native): keep truncated empty class-import scans partial (#6153)", + "body": "fix(native): keep truncated empty class-import scans partial (#6153)\n\n* fix(native): keep truncated empty class-import scans partial\n\nAn explicitly present empty objc_class_import_addresses list with\nobjc_class_import_addresses_complete false reported binding coverage as\nnot_requested with a null reason, discarding the caller's declaration that\nthe candidate scan was truncated. Only an omitted list, or an empty list\ndeclared complete, is not a request; a truncated empty scan now reports\npartial coverage with the existing record-budget reason and zero examined\nand decoded addresses.\n\nRefs #6086\n\n* test(native): cover empty truncated class-import candidate scans\n\nRefs #6086", + "parents": ["6da3839b572219ea4cefa62fbecc5cd626908b15"], + "authors": [ + { + "name": "Vinícius Andrade", + "email": "95101505+viniciusdsandrade@users.noreply.github.com", + "user": { + "login": "viniciusdsandrade", + "__typename": "User" + } + } + ], + "pullRequests": [6153] + }, + { + "sha": "af7395140523e326cade9897ff205078d0eb9a9d", + "subject": "fix(artifacts): refuse thin Mach-O extraction before inventory (#6152)", + "body": "fix(artifacts): refuse thin Mach-O extraction before inventory (#6152)\n\n* fix(artifacts): refuse thin Mach-O extraction before inventory\n\nExtraction admitted both Mach-O formats and fell through to the universal\nslice reader for a thin file, which yields a slices/ entry that the\nroot-only inventory never recorded. The writer then reported an integrity\nmismatch and recommended an integrity policy retry that cannot succeed.\n\nOnly mach-o-universal has an extraction reader, matching the inventory\nreader selection. A thin Mach-O now receives the typed unsupported-target\nrefusal before any inventory or output work.\n\nRefs #6098\n\n* test(artifacts): cover the thin Mach-O extraction refusal\n\nA thin arm64e Mach-O image is refused with the typed unsupported-target\nerror and no output directory is created.\n\nRefs #6098\n\n* fix(artifacts): keep embedded packs behind a thin Mach-O extractable\n\nRefusing every thin Mach-O before inventory also refused PyInstaller\nonefile executables and embedded Godot packs whose bootloader is a thin\nMach-O. Inventory classifies those roots as pyinstaller or godot-pck, and\ncreateReader selects that reader before the Mach-O fallback, so they were\nextractable on the parent revision.\n\nA thin Mach-O now takes the same embedded-pack probe as ELF and PE: a\ndetected pack proceeds to inventory, and a plain image keeps the\nunsupported-target refusal.\n\nRefs #6098\n\n* test(artifacts): cover a thin Mach-O PyInstaller onefile extraction\n\nRefs #6098", + "parents": ["ab2119e9b89e017ee75e3ba3d25c709e1384c51d"], + "authors": [ + { + "name": "Vinícius Andrade", + "email": "95101505+viniciusdsandrade@users.noreply.github.com", + "user": { + "login": "viniciusdsandrade", + "__typename": "User" + } + } + ], + "pullRequests": [6152] + }, + { + "sha": "87657c629765f60fedd2618adecf3aa3c4fe1daa", + "subject": "fix(model): admit safetensors header lengths that resemble pickle markers (#5918)", + "body": "fix(model): admit safetensors header lengths that resemble pickle markers (#5918)\n\nA safetensors length prefix such as 640 encodes as 80 02 00 ..., which the\nprovider read as a pickle PROTO marker and refused before the safetensors\nparser ran. The parser that owns the length prefix now makes the call: a\npickle-like prefix is safetensors only when byte 8 is '{' and the declared\nlength is within the safetensors header ceiling. Real pickles stay refused\nand are never deserialized.\n\nFixes #5895", + "parents": ["af7395140523e326cade9897ff205078d0eb9a9d"], + "authors": [ + { + "name": "amyanger", + "email": "57688398+amyanger@users.noreply.github.com", + "user": { + "login": "amyanger", + "__typename": "User" + } + } + ], + "pullRequests": [5918] + }, + { + "sha": "5c8d5b2a8a25fa8cc4e9cf00f328a9c7bbe57330", + "subject": "fix(hopper): keep an observed launcher exit over a later cancellation (#5816)", + "body": "fix(hopper): keep an observed launcher exit over a later cancellation (#5816)\n\n* fix(hopper): keep an observed launcher exit over a later cancellation\n\n`#connect` projected every interrupted wait as `#startupInterruption`\nwithout consulting the launcher the owner already held, so a launcher that\nexited 3 before the caller aborted was reported as `HopperCancelledError`.\n\nAn exit or signal the owned process already holds is now projected as the\nphysical startup failure first; a cancellation observed before any exit is\nunchanged, and successful exits keep their previous behaviour.\n\nFixes #5429\n\n* fix(hopper): arbitrate startup exits through process owner\n\n---------\n\nCo-authored-by: XiaoBinGan \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["87657c629765f60fedd2618adecf3aa3c4fe1daa"], + "authors": [ + { + "name": "吴佳浩Alben", + "email": "35291372+XiaoBinGan@users.noreply.github.com", + "user": { + "login": "XiaoBinGan", + "__typename": "User" + } + }, + { + "name": "XiaoBinGan", + "email": "XiaoBinGan@users.noreply.github.com", + "user": { + "login": "XiaoBinGan", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5816] + }, + { + "sha": "d11fca46fcf79b101094b6144b860951f961f99f", + "subject": "fix(cli): print compact mcp doctor JSON when stdout is redirected (#5514)", + "body": "fix(cli): print compact mcp doctor JSON when stdout is redirected (#5514)\n\nrea mcp doctor rendered json with Formatter.format, which always indents, so\nredirected --json, --full-output and validation errors stayed indented. The\ndispatcher now passes the stdout TTY state and the doctor renders json and\njsonl through jsonOutputParts like the other commands.\n\nFixes #5435\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["5c8d5b2a8a25fa8cc4e9cf00f328a9c7bbe57330"], + "authors": [ + { + "name": "Wade", + "email": "160517347+Sriram-PR@users.noreply.github.com", + "user": { + "login": "Sriram-PR", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5514] + }, + { + "sha": "220414682e782061ee303a45705e53b18a754477", + "subject": "fix(setup): preserve explicit clients with all-detected selection (#5508)", + "body": "fix(setup): preserve explicit clients with all-detected selection (#5508)\n\n* fix(setup): preserve explicit clients with all-detected selection\n\n* test(filesystem): align staged cancellation cleanup assertions\n\n---------\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["d11fca46fcf79b101094b6144b860951f961f99f"], + "authors": [ + { + "name": "Yann Roberto", + "email": "165009858+shoyann@users.noreply.github.com", + "user": { + "login": "shoyann", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5508] + }, + { + "sha": "9c81191b1d0e30948fc96b1966d48c019d547803", + "subject": "fix(ghidra): treat format-specific disabled analyzers as not applicable (#5425)", + "body": "fix(ghidra): treat format-specific disabled analyzers as not applicable (#5425)\n\n* fix(ghidra): treat format-specific disabled analyzers as not applicable\n\n* test(json): assert composed cancellation cleanup for staged output\n\n---------\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["220414682e782061ee303a45705e53b18a754477"], + "authors": [ + { + "name": "Vishal Tambi", + "email": "138616107+vishal-tambi@users.noreply.github.com", + "user": { + "login": "vishal-tambi", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5425] + }, + { + "sha": "8ecbb74b0049059b3a66ac52d5b0683604e839ea", + "subject": "fix(wasm): refuse unretained summary delivery before provider work (#5274)", + "body": "fix(wasm): refuse unretained summary delivery before provider work (#5274)\n\n* fix(wasm): refuse unretained summary delivery before provider work\n\ninspect_wasm_artifact with detail summary ran the WASM provider before\nchecking whether the server retains Evidence. On a fixed server without\nsession retention a successful provider run was followed by\ncapability_unavailable, and a failing provider run replaced that\ndiagnostic with the provider error, hiding the guidance to select\ndetail complete.\n\nCheck retention right after input validation, as the EVM, pcap and\nnetwork-capture handlers do, so the refusal precedes any provider work\nand keeps its typed diagnostic. Complete delivery is unchanged. The\nfixed-server boundary test now injects a vi.fn provider and asserts it\nstays idle for refused summaries while complete delivery still runs it.\n\nFixes #5100\n\nCo-Authored-By: Claude Fable 5.1 \n\n* fix(wasm): validate caller paths before the summary retention preflight\n\nReview follow-up for #5274. The retention preflight ran ahead of the\nsemantic input checks, so a relative path, glue path or candidate path\nwith detail summary on a fixed server returned capability_unavailable\ninstead of its field-specific invalid_request.\n\nWasmArtifactService now exposes that parse-and-absolute-path step as\nvalidate(); inspect() uses the same method, so the checks stay at the\nowning boundary, and the MCP handler validates before deciding on\nretention. The composition descriptor and server typing expose validate.\n\nThe fixed-server boundary test sends relative path and glue_paths with\ndetail summary and asserts invalid_request with both issue paths and no\nprovider call; it failed on 418a66d7d with capability_unavailable.\n\ndocs/mcp-contracts.md now claims the before-analysis refusal only for\ninspect_artifact, inspect_wasm_artifact, inspect_macho and\ndecode_interface_builder, which enforce it; inspect_binary_layout and\nanalyze_javascript_application still analyze first and are left to a\nseparate change.\n\nCo-Authored-By: Claude Fable 5.1 \n\n* refactor(wasm): inspect validated artifact input without reparsing it\n\nFollow-up for #5274, matching the review outcome on #5288. The MCP\nhandler validated the request and then called inspect(), which ran the\nsame validator again, so every call parsed and cloned its input twice.\n\nWasmArtifactService now separates the raw entry point from execution:\ninspect() validates raw input once and delegates to the new\ninspectValidated(), which runs the inspection for input that validate()\nalready admitted. The handler validates, runs the retention preflight,\nthen calls inspectValidated(); the composition descriptor and server\ntyping expose it. The CLI keeps the raw inspect() entry point; behavior\nand diagnostics are unchanged.\n\nCo-Authored-By: Claude Fable 5.1 \n\n* fix(wasm): keep cancellation ahead of raw artifact input validation\n\nFollow-up for #5274, matching the review outcome on #5288. Separating\nvalidate() from inspectValidated() moved the raw inspect() entry point's\nvalidation ahead of its abort check, so a direct call with an\nalready-aborted signal and malformed input returned AnalysisInputError\ninstead of the AnalysisCancelledError the pre-change service gave.\n\nThe raw entry point now checks the signal before validating, as before,\nwhile inspectValidated() keeps its own guard for the MCP handler path.\nA unit test pins the precedence with no provider call.\n\nCo-Authored-By: Claude Fable 5.1 \n\n---------\n\nCo-authored-by: Claude Fable 5.1 \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["9c81191b1d0e30948fc96b1966d48c019d547803"], + "authors": [ + { + "name": "You Wish", + "email": "29498139+Y0UW1SH@users.noreply.github.com", + "user": { + "login": "Y0UW1SH", + "__typename": "User" + } + }, + { + "name": "Claude Fable 5.1", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5274] + }, + { + "sha": "b2048d46d1261b7c4b036614d16e9103066a56ec", + "subject": "fix(process): retain unresolved descendants during lineage observation (#5270)", + "body": "fix(process): retain unresolved descendants during lineage observation (#5270)\n\n* fix(process): retain unresolved descendants during lineage observation\n\n* fix(process): preserve lineage across ancestor generation changes\n\n* fix(process): avoid retaining replacements of exited candidates\n\n* test(cli): avoid unused cache writes in module trace acceptance\n\n* fix(process): retire replaced lineage candidates\n\n* fix(process): preserve uncertain owners and validate launcher scope", + "parents": ["8ecbb74b0049059b3a66ac52d5b0683604e839ea"], + "authors": [ + { + "name": "곽현", + "email": "73919235+kwakhyun@users.noreply.github.com", + "user": { + "login": "kwakhyun", + "__typename": "User" + } + } + ], + "pullRequests": [5270] + }, + { + "sha": "26573c3aa41e83a1833525ac757e22b988510ff0", + "subject": "fix(hopper): bound bridge request frames like the Cutter bridge (#5262)", + "body": "fix(hopper): bound bridge request frames like the Cutter bridge (#5262)\n\n* fix(hopper): bound bridge request frames like the Cutter bridge\n\nThe Hopper bridge read each request with an unbounded readline, so a peer\nthat never wrote a newline kept Hopper allocating for as long as it kept\nwriting. The Cutter bridge already refuses a frame above MAX_FRAME_BYTES;\nthe Hopper bridge had no request ceiling at all.\n\nRead the request line with a 16 MiB bound and refuse a line that fills the\nlimit without a terminator, using the existing invalid_request diagnostic\nbefore closing the connection. Such a line cannot be answered or\nresynchronized, because its remainder would be read as the next request.\nThe response direction is unchanged, so large decompilation results still\nflow, and every dispatchable method carries small bounded parameters.\n\nThe stalled-line case keeps its connection open instead of half-closing\nit, so the test pins the exact ceiling: a bound one byte larger waits for\na byte the peer never sends and fails instead of passing quietly.\n\nValidation: npm run check:fast (typecheck, lint) passed uncached, and the\nnew boundary test passed against the real bridge over socket pairs at the\nframe limit and above it. Removing only the read bound makes the same test\nfail, and widening the bound to one byte past the limit fails it too. The\nHopper boundary and bridge-packaging suites report the same 17 failing\nfiles and 126 failing tests before and after this change on this Windows\nhost; those failures are POSIX-only probes (Unix socket directories,\nos.statvfs) unrelated to this diff. Native macOS Hopper and real-client\ntraffic were not run.\n\n* fix(bridges): exclude line delimiter from payload limit\n\n* test(hopper): cover partial request at EOF\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["b2048d46d1261b7c4b036614d16e9103066a56ec"], + "authors": [ + { + "name": "Dery Ferdika", + "email": "114888155+DeryFerd@users.noreply.github.com", + "user": { + "login": "DeryFerd", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5262] + }, + { + "sha": "5d3ae66e6385c08ec73d5053c5dd96c7bf5e9973", + "subject": "fix(javascript): match unchanged module exports across application versions (#5196)", + "body": "fix(javascript): match unchanged module exports across application versions (#5196)\n\n* fix(javascript): match unchanged module exports across application versions\n\nAn export binding's identity is keyed within its whole application root (container_sha256), so it changed whenever any sibling file changed, and no match tier paired export nodes: every export of an unchanged file was reported removed and added, and its module fell to unknown. The exact module-source-digest tier now also pairs an export binding by its own file's bytes (identity artifact_sha256) and exported name, as it already pairs a source module by source_sha256. Exports of edited files stay unmatched.\n\n* style(javascript): format the version-matching export test\n\n---------\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["26573c3aa41e83a1833525ac757e22b988510ff0"], + "authors": [ + { + "name": "rodricksz4h5", + "email": "rodricksz2005@gmail.com", + "user": { + "login": "rodricksz4h5", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5196] + }, + { + "sha": "be4498d39404970998e976389099c15b038ab445", + "subject": "fix(gdb): accept GDB's built-in p, s, d and t aliases (#5124)", + "body": "fix(gdb): accept GDB's built-in p, s, d and t aliases (#5124)\n\nThe one-shot output-route check read the first word as an abbreviation,\nso `p 1`, `s` and `d 1` matched python, source and define, and `t 1`\nmatched tty, and were refused before GDB started. GDB resolves its\nbuilt-in aliases first, so resolve the four that shadow those prefixes\n(print, step, delete, thread) in one helper both checks share.\n\nFixes #5098", + "parents": ["5d3ae66e6385c08ec73d5053c5dd96c7bf5e9973"], + "authors": [ + { + "name": "berce", + "email": "75228263+bercedev@users.noreply.github.com", + "user": { + "login": "bercedev", + "__typename": "User" + } + } + ], + "pullRequests": [5124] + }, + { + "sha": "9a21cd78ce928669b8fefb56bb8ecd2d0bda5a87", + "subject": "fix(javascript): preserve inherited aliases past erased class fields (#5040)", + "body": "fix(javascript): preserve inherited aliases past erased class fields (#5040)", + "parents": ["be4498d39404970998e976389099c15b038ab445"], + "authors": [ + { + "name": "NIKHIL", + "email": "atnikhil06@gmail.com", + "user": { + "login": "Nikhi00718", + "__typename": "User" + } + } + ], + "pullRequests": [5040] + }, + { + "sha": "809f3b7b5b6a8cff3a3170542b4af4d67c88b02a", + "subject": "fix(browser): ignore scenario storage enumeration order (#5035)", + "body": "fix(browser): ignore scenario storage enumeration order (#5035)\n\n* fix(browser): ignore scenario storage enumeration order\n\n* perf(browser): sort storage entries without serialized copies\n\n* style(browser): format storage normalization comparator\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["9a21cd78ce928669b8fefb56bb8ecd2d0bda5a87"], + "authors": [ + { + "name": "Devulapalli Naga Sri Vaishnavi", + "email": "vaishnaviharish2006@gmail.com", + "user": { + "login": "Vaishnavi220506", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5035] + }, + { + "sha": "af42f856ec8c9747d93140c9afe26adf7edcb68b", + "subject": "fix(hopper): shut down the Linux demo helper orderly so its X lock is removed (#4966)", + "body": "fix(hopper): shut down the Linux demo helper orderly so its X lock is removed (#4966)\n\n* fix(hopper): shut down the Linux demo helper orderly so its X lock is removed\n\nTeardown SIGKILLed the helper's process group, so run_launch's finally\nnever ran stop_process on Xvfb and each session orphaned its\n/tmp/.X-lock. Later startups count orphans as address_collision.\n\nAsk the helper to stop first: closing its stdin trips OwnerLifetime,\nand its finally stops Hopper and Xvfb with SIGTERM, which removes the\nlock. Anything still alive after the grace period is reaped by the\ntoken-verified group cleanup.\n\nFixes #4921\n\nCo-authored-by: Saim Shafique <128062316+sx4im@users.noreply.github.com>\n\n* fix(hopper): notice signal-exited demo helpers during orderly shutdown\n\nA helper that already died from a signal keeps exitCode null, so the\norderly-shutdown path treated it as still running and sat out the full\ngrace period before the group cleanup. Check signalCode alongside\nexitCode in both the cleanup guard and the exit wait, and add a\nregression test for an already signal-exited helper.\n\nAlso hardens the ignored-shutdown test: it now proves the fixture\nstarted (waits for its lock), asserts the helper was reaped by the\ngroup SIGKILL, and bounds the wait by the configured 500 ms grace\ninstead of a vacuous 30 s ceiling.", + "parents": ["809f3b7b5b6a8cff3a3170542b4af4d67c88b02a"], + "authors": [ + { + "name": "Saim Shafique", + "email": "msaimshafique4664@gmail.com", + "user": { + "login": "sx4im", + "__typename": "User" + } + } + ], + "pullRequests": [4966] + }, + { + "sha": "e3a00bb5f99a708dcab00b278b7019a0c823d318", + "subject": "fix(setup): tell MSIX Claude Desktop's process view from any private roaming file (#4903)", + "body": "fix(setup): tell MSIX Claude Desktop's process view from any private roaming file (#4903)\n\n* fix(setup): tell MSIX Claude Desktop's process view from any private roaming file\n\nSome profiles keep writing the real %APPDATA%\\Claude, so the MSIX package never gets a private LocalCache\\Roaming\\Claude folder and setup and uninstall refused Claude Desktop for good. Compare that folder first and, when it has no file, a bounded set of files from the package's other private roaming folders, which the package redirects in the same way. A package with no private roaming file still refuses, now with the manual edit as the remedy.\n\nFixes #4278\n\n* fix(setup): address review findings on the MSIX roaming probe\n\nName the configuration setup would write, and both package files for uninstall, in the unknown-view advice. Bound the roaming walk by 1024 inspected entries and a queue no longer than the directories it can still list. Count ENOENT at the AppData path as a direct view only while the private file still exists.\n\n* fix(setup): bound the roaming walk's directory listings by its entry budget\n\nRead at most the names the walk's budget has left, with opendirSync in production, so a crowded package-private folder is never enumerated whole before the budget applies.\n\n* fix(setup): recheck the private probe before accepting a mismatched target\n\nA private file deleted between the two lookups no longer shadows its AppData path, so a redirected view can reach an ordinary copy there. Count a different target, like ENOENT, as a direct view only while the private file still exists.\n\n* fix(setup): repeat the AppData lookup before trusting a rechecked probe\n\nA private file deleted and recreated between the lookups passed the existence recheck on stale evidence. Look the AppData path up again after the recheck: a match with the private target is a redirected view, an agreeing non-match counts as direct, and a probe whose lookups disagree decides nothing.\n\n* fix: bound Claude roaming folder probes\n\n* fix(setup): charge enumerated Claude folder names\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["af42f856ec8c9747d93140c9afe26adf7edcb68b"], + "authors": [ + { + "name": "pablodiazjorge", + "email": "102741971+pablodiazjorge@users.noreply.github.com", + "user": { + "login": "pablodiazjorge", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [4903] + }, + { + "sha": "db8556e7242b9e1b4f7da952d2658ec574fd2176", + "subject": "fix(ida): supervise regex inventory matching (#4862)", + "body": "fix(ida): supervise regex inventory matching (#4862)", + "parents": ["e3a00bb5f99a708dcab00b278b7019a0c823d318"], + "authors": [ + { + "name": "JG Tromp", + "email": "gijstromp@planet.nl", + "user": { + "login": "jgt87", + "__typename": "User" + } + } + ], + "pullRequests": [4862] + }, + { + "sha": "75575f2006ef2f68aceb8626bc3293ddc8529df0", + "subject": "fix(javascript): keep directory-form HTML URL references distinct from files (#4646)", + "body": "fix(javascript): keep directory-form HTML URL references distinct from files (#4646)\n\n* fix(javascript): keep directory-form HTML URL references distinct from files\n\nSigned-off-by: Vinícius DS Andrade <95101505+viniciusdsandrade@users.noreply.github.com>\n\n* test(javascript): cover directory-form HTML URL references\n\nSigned-off-by: Vinícius DS Andrade <95101505+viniciusdsandrade@users.noreply.github.com>\n\n---------\n\nSigned-off-by: Vinícius DS Andrade <95101505+viniciusdsandrade@users.noreply.github.com>", + "parents": ["db8556e7242b9e1b4f7da952d2658ec574fd2176"], + "authors": [ + { + "name": "Vinícius Andrade", + "email": "95101505+viniciusdsandrade@users.noreply.github.com", + "user": { + "login": "viniciusdsandrade", + "__typename": "User" + } + } + ], + "pullRequests": [4646] + }, + { + "sha": "de00fdc17d83d386c71930ae43b21118b5d1acd9", + "subject": "fix(firmware): state that Unblob link targets are extraction-relative (#4573)", + "body": "fix(firmware): state that Unblob link targets are extraction-relative (#4573)\n\nCo-authored-by: Ganesh2325 <184471511+Ganesh2325@users.noreply.github.com>", + "parents": ["75575f2006ef2f68aceb8626bc3293ddc8529df0"], + "authors": [ + { + "name": "Ganesh", + "email": "ganeshmaheshwaram2005@gmail.com", + "user": { + "login": "Ganesh2325", + "__typename": "User" + } + }, + { + "name": "Ganesh2325", + "email": "184471511+Ganesh2325@users.noreply.github.com", + "user": { + "login": "Ganesh2325", + "__typename": "User" + } + } + ], + "pullRequests": [4573] + }, + { + "sha": "7436ac8e20710f4b092a137aaa6b4b0626ed5067", + "subject": "fix(javascript): drop built-in effects for visibly replaced globals (#4565)", + "body": "fix(javascript): drop built-in effects for visibly replaced globals (#4565)\n\nThe semantic collectors admitted Node timers, fetch, WebSocket, JSON.parse\nand global coercions from the identifier spelling alone, so a source that\nreplaced those globals (`setTimeout = () => null`) still produced resolved\nbuilt-in effects. Require the existing isUnmodifiedGlobalReference guard,\nwhich the static analyzer already uses for fetch and WebSocket, before\nadmitting these effects.\n\nThe guard treats any visible possible write as a replacement without\nevaluating order or reachability, so computed global writes and guarded\npolyfills also remove the resolved effect. The workflow docs now say so.\n\nFixes #3367", + "parents": ["de00fdc17d83d386c71930ae43b21118b5d1acd9"], + "authors": [ + { + "name": "amyanger", + "email": "57688398+amyanger@users.noreply.github.com", + "user": { + "login": "amyanger", + "__typename": "User" + } + } + ], + "pullRequests": [4565] + }, + { + "sha": "7e8ec0e4566a933284ab612704f575244cec3d6c", + "subject": "fix(browser): keep omitted JSON request bodies out of complete shape coverage (#4476)", + "body": "fix(browser): keep omitted JSON request bodies out of complete shape coverage (#4476)", + "parents": ["7436ac8e20710f4b092a137aaa6b4b0626ed5067"], + "authors": [ + { + "name": "Adolanium", + "email": "94890352+Adolanium@users.noreply.github.com", + "user": { + "login": "Adolanium", + "__typename": "User" + } + } + ], + "pullRequests": [4476] + }, + { + "sha": "b5c47f525541b5103b29fb565825b14ddfc7d8b6", + "subject": "fix(browser): retain bundle default origin scope (#4413)", + "body": "fix(browser): retain bundle default origin scope (#4413)\n\n* fix(browser): retain bundle default origin scope\n\n* test(browser): cover bundle URLs without origins\n\n* fix(browser): retain validated bundle target origin\n\n* fix(browser): validate recorded origins canonically\n\n---------\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["7e8ec0e4566a933284ab612704f575244cec3d6c"], + "authors": [ + { + "name": "XY", + "email": "1611761391@qq.com", + "user": { + "login": "XY-code1", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [4413] + }, + { + "sha": "1684c73d4f6227a251e1e8fa436b83b124666a80", + "subject": "fix(artifacts): reconcile ARM32 Mach-O slice names by subtype (#4352)", + "body": "fix(artifacts): reconcile ARM32 Mach-O slice names by subtype (#4352)\n\n* fix(artifacts): reconcile ARM32 Mach-O slice names with subtypes\n\n* test(snapshot): preserve Evidence-scoped native workflow unknowns\n\n* test(process): assert owned snapshot cancellation outcomes\n\n* test(process): preserve snapshot race causes and owned cleanup\n\n* test(cli): scope runtime cleanup provider injection\n\nCLI boundary tests share a module graph. The cleanup fixture's module mock\ncannot replace a provider factory already captured by the real command\nregistration, leaving its close count at zero after another test imports it.\n\nInject a typed provider factory into the registration instance, defaulting\nto the existing production factory. Both commands still create their own\nprovider at execution time. Remove the redundant runtime context wrapper\nand the global mock state. Keep the real child CLI parity case and verify\nthat neither command completion nor JSON output precedes awaited cleanup;\nretain the close-count, cleanup error and completed Evidence assertions.\n\nThe unchanged test passes alone but fails with the command module preloaded.\nBoth modes pass after the correction. Seven related files pass 28 tests;\ncheck and docs:check also pass on Node24.18.0/npm11.16.0 macOS arm64.\n\n* test(artifacts): use valid ASAR bytes for signature control\n\n* test(mcp): isolate snapshot filesystem fault injection\n\n* test(process): distinguish unacquired resources in failure progress\n\n---------\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["b5c47f525541b5103b29fb565825b14ddfc7d8b6"], + "authors": [ + { + "name": "To3akaRin", + "email": "131595336+To3akaRin@users.noreply.github.com", + "user": { + "login": "To3akaRin", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [4352] + }, + { + "sha": "b4bc6cf3ee49af6a1cfd1244fddbdfcfdc13c92e", + "subject": "fix(captures): scope HAR HTTP interpretation to entries (#4351)", + "body": "fix(captures): scope HAR HTTP interpretation to entries (#4351)\n\n* fix(captures): scope HAR HTTP interpretation to entries\n\n* test(snapshot): preserve Evidence-scoped native workflow unknowns\n\n* test(process): assert owned snapshot cancellation outcomes\n\n* test(process): preserve snapshot race causes and owned cleanup\n\n* test(cli): scope runtime cleanup provider injection\n\nCLI boundary tests share a module graph. The cleanup fixture's module mock\ncannot replace a provider factory already captured by the real command\nregistration, leaving its close count at zero after another test imports it.\n\nInject a typed provider factory into the registration instance, defaulting\nto the existing production factory. Both commands still create their own\nprovider at execution time. Remove the redundant runtime context wrapper\nand the global mock state. Keep the real child CLI parity case and verify\nthat neither command completion nor JSON output precedes awaited cleanup;\nretain the close-count, cleanup error and completed Evidence assertions.\n\nThe unchanged test passes alone but fails with the command module preloaded.\nBoth modes pass after the correction. Seven related files pass 28 tests;\ncheck and docs:check also pass on Node24.18.0/npm11.16.0 macOS arm64.\n\n* test(artifacts): use valid ASAR bytes for signature control\n\n* test(mcp): isolate snapshot filesystem fault injection\n\n* test(process): distinguish unacquired resources in failure progress\n\n* chore: restore main's copies of files the merge hook reformatted\n\nThe pre-commit oxlint --fix touched two files this PR does not change; keep them identical to main.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["1684c73d4f6227a251e1e8fa436b83b124666a80"], + "authors": [ + { + "name": "To3akaRin", + "email": "131595336+To3akaRin@users.noreply.github.com", + "user": { + "login": "To3akaRin", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [4351] + }, + { + "sha": "02a0e72f708a42247da14ec47ac67022f7e470ed", + "subject": "fix(sqlite): honor selected-table reply budgets (#4216)", + "body": "fix(sqlite): honor selected-table reply budgets (#4216)", + "parents": ["b4bc6cf3ee49af6a1cfd1244fddbdfcfdc13c92e"], + "authors": [ + { + "name": "dogan", + "email": "79801848+ogutdgn@users.noreply.github.com", + "user": { + "login": "ogutdgn", + "__typename": "User" + } + } + ], + "pullRequests": [4216] + }, + { + "sha": "1ba178befb9831689765787de1ca480533751d14", + "subject": "fix(process): preserve terminal cell widths during normalization (#4142)", + "body": "fix(process): preserve terminal cell widths during normalization (#4142)", + "parents": ["02a0e72f708a42247da14ec47ac67022f7e470ed"], + "authors": [ + { + "name": "Chip Li", + "email": "53254273+hichipli@users.noreply.github.com", + "user": { + "login": "hichipli", + "__typename": "User" + } + } + ], + "pullRequests": [4142] + }, + { + "sha": "3f35eacad2827e450d62bfcb0f9c4f38c7a49ada", + "subject": "fix(website): handle UTF-8 output and slash refs in link audits (#4123)", + "body": "fix(website): handle UTF-8 output and slash refs in link audits (#4123)", + "parents": ["1ba178befb9831689765787de1ca480533751d14"], + "authors": [ + { + "name": "kuxiaowo", + "email": "1127944431@qq.com", + "user": { + "login": "kuxiaowo", + "__typename": "User" + } + } + ], + "pullRequests": [4123] + }, + { + "sha": "02e2c9cd7f07602ac7e247bc383c30fa654670da", + "subject": "fix(providers): report provider-selection diagnostics when the selected provider refuses its profile (#4103)", + "body": "fix(providers): report provider-selection diagnostics when the selected provider refuses its profile (#4103)\n\n* fix(providers): report provider-selection diagnostics when the selected provider refuses its profile\n\nAn explicitly selected provider that refuses the target during profile resolution now yields the target_unsupported selection error with its candidates and rejections, keeping the refusal's message and, when present, its specific recovery.\n\nFixes #3930\n\n* fix(providers): keep refusal evidence and cleanup ownership on selection failures\n\nA refusal with unconfirmed cleanup is returned unchanged; otherwise the selection failure carries the refusal's captured output, diagnostics, partial observation and cause. Registry tests cover the copied recovery and the cleanup guard.", + "parents": ["3f35eacad2827e450d62bfcb0f9c4f38c7a49ada"], + "authors": [ + { + "name": "pablodiazjorge", + "email": "102741971+pablodiazjorge@users.noreply.github.com", + "user": { + "login": "pablodiazjorge", + "__typename": "User" + } + } + ], + "pullRequests": [4103] + }, + { + "sha": "1f9d1b5de19bc31787101b203b4628c9f5ffd2e6", + "subject": "fix(browser): reject empty capture containers beyond the 64-level nesting budget (#3975)", + "body": "fix(browser): reject empty capture containers beyond the 64-level nesting budget (#3975)\n\nThe shared HAR/qlog JSON parser checked depth before pushing a container\nusing `frames.length > 64`, which admitted a 65th container. Over-deep\nscalars were only rejected because literal values ran the same check, so\nan empty array or object at level 65 passed while `[0]` at the same level\nfailed.\n\nAdmit a container only while its own level (root = 1) stays within the\nbudget and drop the literal-value check, so empty and scalar-bearing\ncontainers share one boundary.\n\nFixes #3960\n\nCo-authored-by: Anurag Singh <211784907+Anurag-5ingh@users.noreply.github.com>", + "parents": ["02e2c9cd7f07602ac7e247bc383c30fa654670da"], + "authors": [ + { + "name": "Anurag Singh", + "email": "iamchauhan9616@gmail.com", + "user": { + "login": "Anurag-5ingh", + "__typename": "User" + } + }, + { + "name": "Anurag Singh", + "email": "211784907+Anurag-5ingh@users.noreply.github.com", + "user": { + "login": "Anurag-5ingh", + "__typename": "User" + } + } + ], + "pullRequests": [3975] + }, + { + "sha": "5d3762456fd991d2726de9fe6527c43deb074893", + "subject": "fix(reconstruction): retain semantic unknowns in obligation ledgers (#3826)", + "body": "fix(reconstruction): retain semantic unknowns in obligation ledgers (#3826)\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["1f9d1b5de19bc31787101b203b4628c9f5ffd2e6"], + "authors": [ + { + "name": "Liu Jie", + "email": "maxazure@gmail.com", + "user": { + "login": "maxazure", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [3826] + }, + { + "sha": "aa521379dd8c406f56af9281ff093e1b774592e8", + "subject": "fix(website): align the language picker chevron (#3805)", + "body": "fix(website): align the language picker chevron (#3805)\n\n* fix(website): align the language picker chevron\n\nReplace the font-dependent down glyph with a fixed-size SVG mask that\ninherits the button color and aligns within its existing flex layout.\nRotate the chevron when the native details menu is open.\n\nRefs #3804\n\n* fix(website): preserve the chevron in forced colors", + "parents": ["5d3762456fd991d2726de9fe6527c43deb074893"], + "authors": [ + { + "name": "윤종근", + "email": "137996885+hi2242@users.noreply.github.com", + "user": { + "login": "hi2242", + "__typename": "User" + } + } + ], + "pullRequests": [3805] + }, + { + "sha": "4a90059fe2a8e561a682fdd36f81f1120cfef686", + "subject": "fix(hermes): detach aliased server tables before editing (#3785)", + "body": "fix(hermes): detach aliased server tables before editing (#3785)\n\n* fix(hermes): detach aliased server tables before editing\n\nCopy aliased parent mappings before setting or removing a Hermes\nregistration. Resolve references against the original document and remove\nanchors from the private copies to preserve existing sources and consumers,\nincluding shadowed anchor names.\n\nCover YAML 1.1 and 1.2 setup, refresh, doctor readiness, repeated setup and\nuninstall, along with comments, exact backups and invalid-alias refusal.\n\nFixes #3320\n\n* test(setup): isolate Hermes flows from host Hopper detection\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["aa521379dd8c406f56af9281ff093e1b774592e8"], + "authors": [ + { + "name": "Haoran Xu", + "email": "haoran20100322@outlook.com", + "user": { + "login": "CmsChase", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [3785] + }, + { + "sha": "f33b7bd61789f9848da0e3c5ee438a7f854325eb", + "subject": "fix(website): wrap mobile navigation at enlarged text sizes (#3598)", + "body": "fix(website): wrap mobile navigation at enlarged text sizes (#3598)\n\n* fix(website): keep header navigation on one row and grid it on phones\n\nThe header grid gave the navigation only the space left beside the brand\ncaption and social controls, so six links wrapped onto a second line in\nGreek, German, Spanish, Portuguese, Vietnamese and English at common\ndesktop widths.\n\n- Size the navigation to its content and let the brand column absorb the\n remaining width; a container query hides the caption only when it no\n longer fits, replacing the fixed 851-1250px breakpoint.\n- Move the navigation to its own row at 1100px and below, before one\n line can no longer hold it in any edition.\n- On phones, lay the six links out as two rows of three content-sized\n columns, with a tighter gap below 340px.\n\n* fix(website): wrap mobile navigation at narrow widths\n\n---------\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["4a90059fe2a8e561a682fdd36f81f1120cfef686"], + "authors": [ + { + "name": "Pirro Zani", + "email": "131965864+pirrozani@users.noreply.github.com", + "user": { + "login": "pirrozani", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [3598] + }, + { + "sha": "740f107ff9bd2b985ba0040c19fc460ff94806a2", + "subject": "fix(apple): stop counting single-object NIB connectors as ownerless (#3502)", + "body": "fix(apple): stop counting single-object NIB connectors as ownerless (#3502)\n\n* fix(apple): stop counting single-object NIB connectors as ownerless\n\nThe NIBArchive projection counts every object whose class name contains\n\"Connector\" and has no resolvable NSSource as an ownerless connection\n(#2484). AppKit also archives connector classes that annotate one object\nand never encode NSSource: tooltips (NSIBHelpConnector), accessibility\nattributes (NSNibAXAttributeConnector) and user-defined runtime\nattributes (NSIBUserDefinedRuntimeAttributesConnector). Each of them\nmarked the document's connection coverage partial with\nconnection_unresolved, raised connection_count, set graph.truncated and\nadded the \"declare no resolvable owner\" limitation, although no\nconnection was dropped. The keyed-archive producer does not treat these\nclasses as connections.\n\nSkip AppKit connectors that encode no NSSource key. A connector whose\nNSSource is encoded but nil or malformed, and every UIKit runtime\nconnection, is still counted as ownerless.\n\nAcross 3924 NIBArchive files shipped with macOS system apps and Xcode,\n688 reported this false partial coverage (for example Preview's\nPaperKitWindowController.nib, whose only other connector is one outlet);\nnone do after the change.\n\n* test(apple): keep unusable AppKit connector sources counted as ownerless\n\nOnly an absent NSSource marks a single-object annotation. Cover an AppKit outlet connector whose NSSource is nil or a non-reference value, which must still be reported as an unresolved, omitted connection.\n\n* test(apple): split unusable connector source cases into their own block\n\nKeep the connector describe block within the max-lines-per-function limit.\n\n* fix(apple): keep unknown NIB connectors unresolved\n\n* fix(apple): preserve unknown AppKit NIB connectors\n\n* fix(apple): share annotation connector semantics\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["f33b7bd61789f9848da0e3c5ee438a7f854325eb"], + "authors": [ + { + "name": "Dragolone", + "email": "160818051+Dragolone@users.noreply.github.com", + "user": { + "login": "Dragolone", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [3502] + }, + { + "sha": "c592ea6baca075c4d232125104144e03d9a85dcb", + "subject": "fix(opencode): override inherited disabled flags (#3469)", + "body": "fix(opencode): override inherited disabled flags (#3469)\n\nSet disabled to false in generated OpenCode V2 registrations so a\nlower-priority disabled entry cannot keep approved setup stale.\n\nCover layered JSON/JSONC refreshes, idempotent setup and doctor readiness,\nexact backups, preserved lower settings, malformed-config refusal, and\nthe exclusion of disabled registrations from automatic maintenance.\nUpdate the native V2 registration expectations.\n\nFixes #3318", + "parents": ["740f107ff9bd2b985ba0040c19fc460ff94806a2"], + "authors": [ + { + "name": "Haoran Xu", + "email": "haoran20100322@outlook.com", + "user": { + "login": "CmsChase", + "__typename": "User" + } + } + ], + "pullRequests": [3469] + }, + { + "sha": "2425493e1032917f17ea61bac8817baba2282177", + "subject": "fix(native): keep export names ending in a carriage return (#3457)", + "body": "fix(native): keep export names ending in a carriage return (#3457)\n\nnm -j and dyld_info -exports end each row with LF. Splitting on \\r?\\n and\ntrimming rows treated a carriage return at the end of a symbol name as part\nof the line terminator, so the distinct exports \"trailing\\r\" and\n\"trailing\" merged into one entry with the wrong address. Split rows on LF\nonly and keep trailing text in export rows.\n\nFixes #3390", + "parents": ["c592ea6baca075c4d232125104144e03d9a85dcb"], + "authors": [ + { + "name": "HawkForge", + "email": "75696486+HawkForge@users.noreply.github.com", + "user": { + "login": "HawkForge", + "__typename": "User" + } + } + ], + "pullRequests": [3457] + }, + { + "sha": "92a9591a418735dd54169961c42c5ac436107ec0", + "subject": "refactor(pcap): give TShark selection and version admission one owner (#3407)", + "body": "refactor(pcap): give TShark selection and version admission one owner (#3407)\n\n* refactor(pcap): give TShark selection and version admission one owner\n\nThe pcap and packet-capture families wrapped the same caller-supplied\nTShark with diverging rules. inspect_pcap_* accepted an absolute\nREA_TSHARK_COMMAND or tshark from PATH, while inspect_packet_* and the\nserver availability policy required an absolute REA_TSHARK_COMMAND and\nparsed the version banner with a separate regex.\n\nPcapConfiguration now owns the rule: selectWiresharkTool selects an\nabsolute environment path or the bare name on PATH and refuses relative\nvalues; locateWiresharkTool resolves a PATH selection to the first\nabsolute PATH entry holding an executable file; parseWiresharkVersion\nadmits Wireshark 4.x banners for both providers. TsharkCaptureProvider\nand the session availability policy consume these facts instead of\nreinterpreting REA_TSHARK_COMMAND, so all four tools accept and refuse\nthe same configurations. inspect_packet_* still resolves, hashes and\nrechecks the located executable, and records selection_source in its\ntool Evidence.\n\nHost support and resource bounds are unchanged; unifying them is the\nnext milestone in #3403.\n\nRefs #3403\n\n* fix(pcap): execute the TShark the shared locator selects\n\nresolvePcapTools still returned bare tool names for PATH selections, so\nthe operating system could run a tool from a relative PATH entry while\nthe packet tools skipped that entry and selected a different install.\n\nOn POSIX hosts, resolve PATH selections through locateWiresharkTool and\nrun that absolute executable, failing with the existing tshark_missing or\ncapinfos_missing code when no absolute PATH entry holds the tool. Both\nselections are validated before PATH is consulted, so a relative\nenvironment value still reports its own configuration error. Windows\nkeeps PATH/PATHEXT resolution in the process launcher.\n\nRefs #3403\n\n* chore: restore main's copies of files the merge hook reformatted\n\nThe pre-commit oxlint --fix touched two files this PR does not change; keep them identical to main.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(pcap): share selected tool identity verification\n\n* perf(pcap): retain compact executable identity\n\n* fix(pcap): report missing selected tools clearly\n\n* fix(pcap): read historical capture evidence\n\n* fix(pcap): preserve executable read failures\n\n* test(pcap): cover version refusal and packet-tool availability selection\n\nAddress review follow-ups on the shared TShark owner:\n\n- Send a 3.x TShark banner and a non-Wireshark banner through the packet\n provider, pinning the capability-unavailable reason for each and that\n only the version probe ran before refusal.\n- Cover the session availability rule for inspect_packet_capture over\n MCP: a PATH-only install and an absolute REA_TSHARK_COMMAND are\n available on Linux, a relative REA_TSHARK_COMMAND is refused even when\n PATH holds TShark, and no absolute PATH entry reports provider_missing.\n- Rename the locator test's missing absolute PATH entry so it no longer\n shadows node:path relative.\n\nRefs #3403\n\n* fix(pcap): name the configured path when a selected tool is missing\n\nResolving the selected executable before launch replaced the runner's\n\"Cannot run selected tool \" refusal with a message that kept the\nconfigured path only in diagnostics, so the public CLI no longer told the\ncaller which REA_TSHARK_COMMAND or REA_CAPINFOS_COMMAND value to fix and\nthe pcap CLI boundary test failed. Include the configured command in the\ncapability-unavailable message and assert it there.\n\nRefs #3403\n\n* test(captures): give the late-cancellation fixture a TShark selection source\n\nThe service fixture added on main in 719d56ebf predates the required tool.selection_source field, so its report failed output validation before reaching the late-cancellation path the test covers.\n\nRefs #3403\n\n* fix(pcap): report a probe's pending cleanup when a post-run check fails\n\nWhen a tool probe returned with its owned process still awaiting cleanup,\na failed post-run executable re-read or identity check threw before run()\nreported that cleanup. Probes have no snapshot to carry it, so callers\nsaw an ordinary error with cleanupIncomplete false while the provider\nkept the process and refused the next request.\n\nAfter the command returns, combine such a failure with the probe's\nProviderCleanupError (cancellation and other command failures keep their\nown cleanup outcome). Classify request failures through one\nanalysisFailure owner shared by run() and executeAdmitted(), and let the\navailability probe rethrow any cleanup-incomplete failure instead of\nreporting the tool unavailable.\n\nRefs #3403\n\n* fix(pcap): keep a failed executable re-read's cleanup live with the probe's\n\nThe combined post-run failure was bound only to the probe's pending\nprocess cleanup. When the executable re-read had also failed to close its\nfile, the classified failure owned that cleanup, but the combined error's\nlive cleanupResources omitted the file and could clear cleanupIncomplete\nonce the process stopped. Bind both the classified failure and the probe\ncleanup as dependencies.\n\nRefs #3403\n\n---------\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["2425493e1032917f17ea61bac8817baba2282177"], + "authors": [ + { + "name": "Aaditya", + "email": "aadityasinha554@gmail.com", + "user": { + "login": "555aaditya", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [3407] + }, + { + "sha": "6714fb1d02feac15ea395655334c15b87fdcb948", + "subject": "fix(javascript): preserve ESM path intent and artifact confinement (#2700)", + "body": "fix(javascript): preserve ESM path intent and artifact confinement (#2700)\n\n* fix(javascript): preserve legacy ESM directory intent\n\n* fix(javascript): normalize legacy ESM URL directory requests\n\n* fix(javascript): retain invalid package URL evidence\n\n* test(apple): bound cold archive fixture compilation\n\n* test(release): scope preflight schema to selected jobs\n\n* fix(javascript): preserve package URL admission and target facts\n\n* fix(javascript): validate package target structure before URL lookup\n\n* fix(javascript): preserve surrogate identity in structural package URLs\n\n* fix(javascript): isolate structural package URL identities\n\n* fix(javascript): resolve paths after opaque ancestors normalize away\n\n* fix(javascript): confine legacy URLs and retain target provenance\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["92a9591a418735dd54169961c42c5ac436107ec0"], + "authors": [ + { + "name": "Rohit Ghumare", + "email": "48523873+rohitg00@users.noreply.github.com", + "user": { + "login": "rohitg00", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [2700] + }, + { + "sha": "b6e6d7cd1a64c0f4978f01e50d8d2fd04f8bbda3", + "subject": "fix(ida): ignore released worker rows when verifying close (#4234)", + "body": "fix(ida): ignore released worker rows when verifying close (#4234)\n\n* fix(ida): ignore released worker rows when verifying close\n\nUpstream idb_list can observe the owning worker mid-teardown and return a\nrow whose identity is already cleared - empty session_id, owned false,\nis_active false - while input_path still names the private copy. The\npost-close check matched that row through its private-input arm and threw\n\"IDA worker remains registered after close.\", failing a run whose analysis\nhad completed and whose idb_close was already acknowledged, and retaining\nthe private workspace.\n\nSuch a row establishes no live session, so it no longer blocks release. A\ngenuine peer on the same input keeps a session ID and is still reported,\nand the session-ID arm is untouched.\n\nMeasured against IDA Pro 9.2 on Windows: 11 of 12 stock runs failed this\nway; 6 of 6 passed with this change and retained no workspace.\n\nRefs #3056\n\nCo-Authored-By: Claude Opus 5 \n\n* fix(ida): suppress released rows only for worker backends\n\nThe blanked-identity exception reached a gui row as well, and a gui\nsession belongs to an IDA instance REA does not control, so a same-input\ngui binding could stop blocking release. The observed teardown shape\ncovers workers only, so require backend \"worker\" before suppressing.\n\nAdds a regression test keeping a blank-identity gui row on the same\nprivate input reported as a blocker, and moves the three blanked-identity\ntests into their own describe to stay within the per-block line limit.\n\nRefs #3056\n\nCo-Authored-By: Claude Opus 5 \n\n* refactor(ida): state the released-row predicate as equality\n\n`owned` and `is_active` are strict booleans in databaseListSchema, so\n`!== true` suggested a third possible value that cannot occur. Say what\nthe row actually asserts.\n\nNo behaviour change; the blanked-identity tests cover both directions.\n\nRefs #3056\n\nCo-Authored-By: Claude Opus 5 \n\n---------\n\nCo-authored-by: Claude Opus 5 ", + "parents": ["6714fb1d02feac15ea395655334c15b87fdcb948"], + "authors": [ + { + "name": "RODRIGO DE SOUZA FARIA", + "email": "45077848+alucardigo@users.noreply.github.com", + "user": { + "login": "alucardigo", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [4234] + }, + { + "sha": "536f5ce38b7076c253486ff91fc980985a453289", + "subject": "fix(browser): preserve source-map media types (#4032)", + "body": "fix(browser): preserve source-map media types (#4032)\n\nCo-authored-by: eco-null ", + "parents": ["b6e6d7cd1a64c0f4978f01e50d8d2fd04f8bbda3"], + "authors": [ + { + "name": "Can", + "email": "159528514+eco-null@users.noreply.github.com", + "user": { + "login": "eco-null", + "__typename": "User" + } + }, + { + "name": "eco-null", + "email": "eco-null@users.noreply.github.com", + "user": { + "login": "eco-null", + "__typename": "User" + } + } + ], + "pullRequests": [4032] + }, + { + "sha": "86655eac66555aaf4cbe500797d34071077a396a", + "subject": "fix(hopper): keep automated Linux setup off non-x86_64 hosts (#3422)", + "body": "fix(hopper): keep automated Linux setup off non-x86_64 hosts (#3422)\n\n* fix(hopper): keep automated Linux setup off non-x86_64 hosts\n\nEvery pinned Linux Hopper package (deb, rpm, Arch) is x86_64-only, but\nhopperSetupSupported was derived from os-release alone. Setup therefore\nplanned and confirmed an amd64 package install on arm64 Ubuntu 24.04 and\nthe other tested distributions.\n\nClassify installer support with the host architecture where the\ndistribution is parsed, so setup planning, preflight, installation and\npackage verification share one decision. Setup now takes its Linux\ndistribution from the doctor host, as it already does for the macOS\nversion, and the supported-host remediation text has a single owner.\n\nFixes #3419\n\n* fix(hopper): install Linux Hopper from the setup host's distribution facts\n\nsystemLinuxHopperInstallHost read os-release with process.arch on its own,\nwhile setup planning used the doctor host's injected architecture. Both\nagree in production, but a doctor host composed with another architecture\ncould plan one answer and install with another.\n\nThe install host now takes its distribution reader from the caller, and\nsystemSetupHost passes the doctor host's, so planning, preflight and\ninstallation share one host-fact owner. The unused default host on\ninstallLinuxHopper, the other ambient reader, is removed.\n\n* fix(verify-package): require Hopper readiness only where Linux setup installs it\n\npackageSetupSupport required doctor Hopper readiness on every Linux host\nwhose host check passed, including installer-untested distributions and,\nafter the architecture gate, arm64 hosts where setup never provides\nHopper. On Linux, readiness now also requires automated installer\napplicability; macOS is unchanged.\n\nThis narrows the readiness assertion from #2973 on hosts outside the\ninstaller matrix, such as Kali and ubuntu-24.04-arm.\n\n---------\n\nCo-authored-by: DavidFB-creator <220631175+DavidFB-creator@users.noreply.github.com>\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["536f5ce38b7076c253486ff91fc980985a453289"], + "authors": [ + { + "name": "David Fontanet Bujaldón", + "email": "davidfb@fonta.net", + "user": { + "login": "DavidFB-creator", + "__typename": "User" + } + }, + { + "name": "DavidFB-creator", + "email": "220631175+DavidFB-creator@users.noreply.github.com", + "user": { + "login": "DavidFB-creator", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [3422] + }, + { + "sha": "357100242264062251d599dc0c0740bae3821874", + "subject": "fix(setup): offer Hopper installation only where setup can install it (#4642)", + "body": "fix(setup): offer Hopper installation only where setup can install it (#4642)\n\n* fix(setup): offer Hopper installation only where setup can install it\n\nOn a host where automated Hopper installation is ineligible (Windows,\nmacOS below 12 or with an unknown version, or an unsupported or\nunidentified Linux distribution), an unhealthy setup without a Hopper\nlauncher ended by advising \"Rerun with --yes --install-hopper\", and the\nsame run then refused that request. The eligibility rule existed twice\n(the discovery proposal and the explicit-install gate, with separate macOS\nparsers that disagreed on malformed versions), and the final advice\nconsulted neither.\n\nMake setup discovery the single owner of Hopper install eligibility. The\nexplicit gate refuses with the unchanged copy through hopperInstallRefusal,\nand the final advice offers --install-hopper only where the host is\neligible; ineligible hosts fall back to doctor remediation. hostRemediation\nnow checks only the Node.js runtime. An empty or unparseable macOS version\nis now refused by the explicit gate instead of installing.\n\nFixes #3944\n\nCo-Authored-By: Claude Opus 5.5 \n\n* chore: drop merge-only formatter changes\n\n* test: align inherited fixtures with current analysis contracts\n\n* test(ida): assert search recovery instead of diagnostic prose\n\n---------\n\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["86655eac66555aaf4cbe500797d34071077a396a"], + "authors": [ + { + "name": "Paritosh Lahre", + "email": "155938586+SandstromPL@users.noreply.github.com", + "user": { + "login": "SandstromPL", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [4642] + }, + { + "sha": "7091be291c2c195ea9fcc368464374a9b7d82b62", + "subject": "test: repair remaining bulk-merge regression fixtures (#6375)", + "body": "test: repair remaining bulk-merge regression fixtures (#6375)\n\nfix: repair main after bulk merge\n\nRestore typecheck after #3826 called uniqueBy, and align the red fixtures\nwith the merged pcap, browser, IDA, and Hopper contracts.\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["357100242264062251d599dc0c0740bae3821874"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6375] + }, + { + "sha": "93a384db77a7bb7d079abd2ca36b9bb911cb913f", + "subject": "fix(evidence): classify derived failures at their owning boundary", + "body": "fix(evidence): classify derived failures at their owning boundary\n\nParse caller selections and authenticated Evidence at their owners, reuse the parsed function and comparison facts, and preserve unexpected implementation failures. Remove downstream error guessing and redundant validation wrappers.\n\nVerify with 526 affected tests, source checks, docs conformance, test discovery and duplication checks. Seven public SDK regressions fail on the main baseline. No real-provider execution was performed.\n", + "parents": ["7091be291c2c195ea9fcc368464374a9b7d82b62"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "746a41937d0c05fc8c53872c56f663b8b8f90b62", + "subject": "fix(lifecycle): retain Android and Kuna descriptors when close fails (#6363)", + "body": "fix(lifecycle): retain Android and Kuna descriptors when close fails (#6363)\n\n* fix(android): retain snapshot descriptors when close fails\n\nPreserve the stable-file diagnosis or completed copy facts when an APK\nor engine snapshot close rejects, and retry that exact owner before\nworkspace retirement.\n\nCo-authored-by: morluto \n\n* fix(kuna): retain span descriptors when close fails\n\nPreserve completed span text or the short-read diagnostic when close\nrejects, and keep session close incomplete until that handle is released.\n\nCo-authored-by: morluto \n\n* fix(android): attribute snapshot cleanup to the descriptor that failed\n\nA finished copy can be nested under another descriptor's rejected close.\nWalk that chain, keep the snapshot hash on the partial observation, and\nname every descriptor that is still open.\n\nCo-authored-by: morluto \n\n* fix(kuna): gate span admission until a retained close releases\n\nOverlapping requests can pass the entry cleanup check before any lease\nexists. Hold each span open through its close so the next open retries\nthat descriptor instead of admitting another one.\n\nCo-authored-by: morluto \n\n* fix(android): preserve nested snapshot facts when both closes fail\n\nWalk nested close failures so a finished copy and a changed-APK diagnosis\nsurvive when the source descriptor also rejects close. Attribute cleanup to\neach descriptor that failed, and classify a nested close cancellation.\n\nCo-authored-by: morluto \n\n* fix(kuna): release recovered span leases before the next open\n\nSerialize span admission and close without holding the queue across the byte\nread. Recheck the caller signal after that wait, and drop a recovered lease\nfrom the resource scope as well as the span map.\n\nCo-authored-by: morluto \n\n* fix(android): retain a source descriptor when admission close fails\n\nopenRegularFile can reject after the descriptor opens. If that close also\nfails, keep the owner on the snapshot cleanup map instead of dropping it\nwhen adoption never runs.\n\nCo-authored-by: morluto \n\n* fix(kuna): keep cancellation when a completed span close fails\n\nPass the caller signal into span finalization. If the read already finished\nand close then rejects, report cancellation as the primary error and keep\nthe span text with the retained descriptor.\n\nCo-authored-by: morluto \n\n* style: format Android and Kuna close-ownership changes\n\nCI format:check rejected the four files touched by the close-ownership fixes.\n\nCo-authored-by: morluto \n\n* fix(android): keep the snapshot hash inside a nested cancellation\n\nA destination close that succeeds after abort throws RegularFileCancelled\nwith the finished copy. When the source close then rejects, recover that\ncopy so cancellation keeps the digest and file-snapshot-hash observation.\n\nCo-authored-by: morluto \n\n* fix(android): keep the snapshot hash on a direct close cancellation\n\nA finished copy whose descriptor closes successfully after abort is a\ntop-level RegularFileCancelled. Attach its digest and file-snapshot-hash\nobservation to that cancellation.\n\nCo-authored-by: morluto \n\n* fix(kuna): preserve the caller abort reason after a successful span close\n\nA completed read whose close then succeeds throws a cancellation wrapper.\nReturn AnalysisCancelledError with the caller's abort reason instead of\nthat wrapper.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["93a384db77a7bb7d079abd2ca36b9bb911cb913f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6363] + }, + { + "sha": "3e87889bfb3e4b91dc92920f19733ccca4eaa688", + "subject": "test(process): isolate child startup and assert cleanup recovery values", + "body": "test(process): isolate child startup and assert cleanup recovery values\n", + "parents": ["746a41937d0c05fc8c53872c56f663b8b8f90b62"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "46217c69bc4d42a3ea2f72152d582eae84b8a936", + "subject": "refactor(rizin): share validated command requests across admission and execution", + "body": "refactor(rizin): share validated command requests across admission and execution\n\nResolve raw input at the application boundary and reuse its facts in both MCP admission paths. Keep cleanup, mutation retirement and execution ordering while retaining structured correction details for rejected commands.\n\nValidation: 186 focused tests, source checks, docs conformance and duplication gate passed. The new compiled CLI regression fails on the main baseline. Provider process controls use deterministic fixtures; no real Rizin verification is claimed.\n", + "parents": ["3e87889bfb3e4b91dc92920f19733ccca4eaa688"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bea6b98e846c874f6233142c85bdbe2491479e62", + "subject": "test: prefer structured assertions over recovery prose (#6379)", + "body": "test: prefer structured assertions over recovery prose (#6379)\n\n* test: prefer structured assertions over recovery prose\n\nLock regex, IDA, Hopper/Kuna, MCP budget, capture-heap, and pcap\nfailures on error codes and reported limits instead of full recovery\nsentences.\n\nCo-authored-by: morluto \n\n* test: keep decoder heap negatives off the Windows reserve\n\n\"512 MiB\" also appears in the Bun Windows reserve sentence. The\nnegative check stays on \"512 MiB (source setting)\", which is the other\nadapter's heap.\n\nCo-authored-by: morluto \n\n* test: keep the one-retry cap and deadline recovery tokens\n\nThe lost-connection guidance must say once only, so an unlimited\n\"whenever it is safe\" rewrite fails. Deadline recovery still has to\nname set, restart, the floor, and the maximum constant.\n\nCo-authored-by: morluto \n\n* test: keep heap, MCP, pcap, and preload recovery tokens\n\nCodex still wanted the set/restart/floor/maximum heap guidance, MCP\ndefault/floor/maximum bounds, Wireshark install guidance, and the\ndropped-preload attribution limit as separate tokens.\n\nCo-authored-by: morluto \n\n* test: keep shared-context and transport recovery tokens\n\nShared-context capture must still exclude requests without a known root\nor descendant frame. Shutdown must end the REA process before starting\nagain, and a failed HTTP listen must offer another port or stopping the\nprocess that holds it.\n\nCo-authored-by: morluto \n\n* test: keep handoff, input-check, and budget format tokens\n\nSkill and server guidance must still tell the user to restart the MCP\nclient. Process failures must still say to check the input files. Invalid\nMCP phase budgets must still say positive decimal integer and ms.\n\nCo-authored-by: morluto \n\n* test: bind budget floors and active deadline sources\n\nThe phase-budget minimum is the start of \"from N to M ms\", so a digit\ninside the maximum no longer satisfies it. Capability text must contain\nthe active \"N ms (source ...)\" pair, not the default number and a heap\nsource mentioned apart.\n\nCo-authored-by: morluto \n\n* test: bind heap MiB sources and pcap host tokens\n\nA configured 256 MiB request must appear as \"256 MiB (source setting)\",\nso a byte-sized 256 no longer passes. Unsupported pcap hosts must still\nname Linux, util-linux, Windows, and owned Job Objects as separate tokens.\n\nCo-authored-by: morluto \n\n* test: bind the selected decoder heap to MiB and source\n\nThe two-adapter limitation must contain \"256 MiB (source setting)\".\nThe exhaustion message binds that capacity as \"256 MiB V8 old-generation\nheap (source setting)\", so a byte-sized 256 no longer passes.\n\nCo-authored-by: morluto \n\n* test: bind doctor client seconds and prlimit absolute guidance\n\nDoctor recovery must name startup_timeout_sec of the policy's seconds,\nso a hardcoded 60 no longer passes while the policy stays 30. A relative\nprlimit must say the value must be absolute and tell the user to check\nREA_TSHARK_PRLIMIT_COMMAND.\n\nCo-authored-by: morluto \n\n* test: assert integrity codes for rehashed evidence and coverage\n\nIndependently rehashed process Evidence and a tampered digest project\nevidence_integrity_mismatch. An unsupported comparison operation stays\ninvalid_request. Unsupported inventory coverage status is an integrity\nfailure whose reason carries the coverage.status schema issue.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["46217c69bc4d42a3ea2f72152d582eae84b8a936"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6379] + }, + { + "sha": "3afec595233778f5cd437ff92f62fad59a0a140f", + "subject": "test(process): publish compiler readiness atomically and verify native identity", + "body": "test(process): publish compiler readiness atomically and verify native identity\n\nPrevent polling readers from observing truncated readiness JSON in compiler fixtures. Retain deterministic cancellation controls and strengthen the real Swift compiler case to run native identity inspection, verify parent/group facts, and check stable identity across reads.\n\nValidated all 32 Darwin tests with the real host toolchain. A delayed write reproduces the old JSON race; delayed atomic publication passes. No CI timeout or retry changes.\n", + "parents": ["bea6b98e846c874f6233142c85bdbe2491479e62"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "42e1a17d6e6c0487f17be0bae248553c4caba7f7", + "subject": "fix(setup): preserve concurrent client configuration edits (#4855)", + "body": "fix(setup): preserve concurrent client configuration edits (#4855)\n\n* fix(setup): preserve concurrent client configuration edits\n\n* fix(setup): normalize configuration transaction queue paths\n\n* fix(setup): report concurrent snapshot read conflicts\n\n* test(setup): isolate Pi workflows from installed Hopper\n\n* test: align inherited fixtures with current analysis contracts\n\n* test(ida): assert search recovery instead of diagnostic prose\n\n* fix(setup): share configuration queue keys across directory aliases\n\nResolve parent-directory aliases for regular and missing configuration\npaths so a directory symlink and its real directory serialize setup\ninstead of racing the same file.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["3afec595233778f5cd437ff92f62fad59a0a140f"], + "authors": [ + { + "name": "abdulwasea89", + "email": "165668178+abdulwasea89@users.noreply.github.com", + "user": { + "login": "abdulwasea89", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [4855] + }, + { + "sha": "0d596fa8f7f8fd22cdfe4f3d4eda3a6462ae8dde", + "subject": "docs(limits): describe how to design admission recovery (#6368)", + "body": "docs(limits): describe how to design admission recovery (#6368)\n\n* fix(reconstruction): dedupe residual unknown ids with uniqueSorted\n\nMerged obligation candidates called uniqueBy, which is not defined, so\nthe project did not typecheck. String ids already use uniqueSorted.\n\nCo-authored-by: morluto \n\n* docs(limits): describe how to design admission recovery\n\nAdd a short contributor guide for named defaults, settings, recovery\ntext, and the agent recovery ladder, and mirror that ladder into the\nauthored skill.\n\nCo-authored-by: morluto \n\n* fix(hopper): pass distribution readers into install-host tests\n\nsystemLinuxHopperInstallHost now requires the caller's distribution\nreader. The Linux install tests still passed only the environment, so\ntypecheck failed.\n\nCo-authored-by: morluto \n\n* docs(limits): name the parser doctor shares with startup\n\nCo-authored-by: morluto \n\n* test: align pcap, storage, and regex fixtures with current contracts\n\nSource and portable CI failed on fixtures that still described the\nprevious pcap client identity, legacy storage fingerprints, and the\nold regex deadline sentence.\n\nCo-authored-by: morluto \n\n* docs: link repository experiments outside the built site\n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["42e1a17d6e6c0487f17be0bae248553c4caba7f7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6368] + }, + { + "sha": "37cbeff9f3d2be2ac6673a5426c1054706f38e22", + "subject": "fix(plist): recognize OpenStep files with leading comments (#6394)", + "body": "fix(plist): recognize OpenStep files with leading comments (#6394)", + "parents": ["0d596fa8f7f8fd22cdfe4f3d4eda3a6462ae8dde"], + "authors": [ + { + "name": "RRFZ", + "email": "247457381+Plastic-time@users.noreply.github.com", + "user": { + "login": "Plastic-time", + "__typename": "User" + } + } + ], + "pullRequests": [6394] + }, + { + "sha": "c717c8a3ec1067ad86b53a3d2dedafc647f3072d", + "subject": "fix: preserve unknown JSON omission counts (#5905)", + "body": "fix: preserve unknown JSON omission counts (#5905)\n\n* fix: preserve unknown JSON omission counts\n\n* fix: preserve unknown counts for unselected JSON\n\n* fix: preserve unknown counts for uppercase JSON", + "parents": ["37cbeff9f3d2be2ac6673a5426c1054706f38e22"], + "authors": [ + { + "name": "Chris Tigga", + "email": "tiggachris95@gmail.com", + "user": { + "login": "tiggachris", + "__typename": "User" + } + } + ], + "pullRequests": [5905] + }, + { + "sha": "7695466081482c2252db71b5ec1effae0d06e830", + "subject": "fix(cli): preserve Unicode and text across token windows (#5814)", + "body": "fix(cli): preserve Unicode and text across token windows (#5814)\n\n* fix(cli): preserve Unicode and text across token windows\n\n* fix(cli): avoid redundant token window formatting", + "parents": ["c717c8a3ec1067ad86b53a3d2dedafc647f3072d"], + "authors": [ + { + "name": "STDquantum", + "email": "60764289+STDquantum@users.noreply.github.com", + "user": { + "login": "STDquantum", + "__typename": "User" + } + } + ], + "pullRequests": [5814] + }, + { + "sha": "5a311d8afe41fd57566e05a9ea345d2be2bbac4b", + "subject": "fix(mcp): report Linux-only integrations as unsupported_host off their hosts (#5793)", + "body": "fix(mcp): report Linux-only integrations as unsupported_host off their hosts (#5793)\n\n* fix(mcp): report Linux-only integrations as unsupported_host off their hosts\n\nSession discovery folded the host check into each optional integration's\nenabled flag, so on macOS or Windows the Linux-only packet, signal,\nfirmware, pwntools, EVM and Wakaru tools reported provider_missing.\nTheir execution guards refuse those hosts whatever is configured, so\ninstalling a provider there could never make them available.\n\nThe server now records, per integration, when the host is outside its\nverified host and no service is injected. Discovery checks that before\nconfiguration and reports unsupported_host with the existing\nremediation. Injected services and supported hosts behave as before.\n\nFixes #5730\n\nCo-Authored-By: Claude Opus 5.5 \n\n* refactor(mcp): share provider host checks with session discovery\n\nDiscovery restated each Linux-only integration's host rule in\ncreateServer while its provider kept a separate execution check, so the\ntwo could drift apart again. Each provider now exports its host\npredicate, uses it in its execution guard, and composition hands the\nsame predicate to createServer for both the host restriction and the\nenabled flag.\n\nObserved host restrictions now also apply when an embedder supplies its\nown availability policy, as provider load failures already do, because\nno policy lets the default providers pass their host checks.\n\nThe MCP regression moves to tests/process-global and emulates darwin\narm64, linux arm64 and linux x64 through the real createServer, so CI on\nLinux x64 exercises the unsupported-host branch. It also covers a\nconfigured policy and the matching execution refusals.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(mcp): keep caller host restrictions beside observed ones\n\nThe observed host restriction replaced a configured policy's whole\nhostUnsupported map. For an injected service the observed value is\nfalse, so a caller's own restriction was lost and the tool was reported\navailable. Combine both per integration: either the caller or the\nobserved host can mark it unsupported.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(pcap): expect unsupported_host for packet tools off Linux\n\nThe host-independent PATH case asserted provider_missing on every host.\nOff Linux the packet tools are unavailable because of the host, so\ndiscovery now reports unsupported_host there; Linux still reports\nprovider_missing for an unusable PATH.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["7695466081482c2252db71b5ec1effae0d06e830"], + "authors": [ + { + "name": "Lewis Wang", + "email": "e1430629@u.nus.edu", + "user": { + "login": "Lew1sWong", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5793] + }, + { + "sha": "861e17a3a71626f7af96ad96f189c6e0e12a0e28", + "subject": "fix(native): admit thin arm64_32 Mach-O targets for static inspection (#5788)", + "body": "fix(native): admit thin arm64_32 Mach-O targets for static inspection (#5788)\n\n* fix(native): admit thin arm64_32 Mach-O targets for static inspection\n\nTarget admission mapped Mach-O CPU types only to x86, x86_64, arm and\narm64, so a thin arm64_32 object was rejected as \"unsupported Mach-O\narchitecture\" before list-architectures, inspect-macho or\ninspect-signature could run, although the same slice inside a FAT file\nwas inventoried.\n\nRecognize CPU_TYPE_ARM64_32 as its own Mach-O-only architecture with a\ndedicated thin target variant, so ELF, PE and raw-binary paths cannot\ncarry it. Add its slice policy so 32-bit dispatch metadata refuses it\nlike other 32-bit Mach-O images instead of reporting a CPU mismatch.\nGhidra, Hopper and IDA have no verified arm64_32 lane and decline it\nexplicitly; Hopper's declined families now share one predicate.\n\nFixes #5713\n\nCo-Authored-By: Claude Opus 5.5 \n\n* ci(apple): run the thin arm64_32 CLI regression on macOS\n\nThe regression compiles an arm64_32 object with Apple clang, so it skips\non the Ubuntu jobs. List it in the macOS Apple artifact job and its\nchange scope so the job runs it and changes to it select that job.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["5a311d8afe41fd57566e05a9ea345d2be2bbac4b"], + "authors": [ + { + "name": "Lewis Wang", + "email": "e1430629@u.nus.edu", + "user": { + "login": "Lew1sWong", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5788] + }, + { + "sha": "1d5357aaad5d341d738a65c7d1f5633b966aedf8", + "subject": "fix(reconstruction): own coverage validation and reuse parsed facts", + "body": "fix(reconstruction): own coverage validation and reuse parsed facts\n\nAuthenticate source bundles through their shared owner and retain workspace lookup facts for evaluation. Preserve source integrity failures and precise caller constraints while allowing unexpected generated-output failures to propagate. Carry the typed closure result through the service and CLI without redundant JSON validation.\n\nValidation: 242 focused tests, source checks, docs conformance, test discovery and duplication gate passed. Six public SDK regressions fail on the baseline. No analysis provider execution is claimed for the coverage workflow.\n", + "parents": ["861e17a3a71626f7af96ad96f189c6e0e12a0e28"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "146dcf46f5bd78fd4917aff663d1129d450f9e8f", + "subject": "fix(browser): capture the full visual viewport (#5621)", + "body": "fix(browser): capture the full visual viewport (#5621)\n\n* fix(browser): capture the full visual viewport\n\n* fix(browser): preserve surface geometry and high-DPI screenshot bounds\n\n* fix(browser): reject stale screenshot captures", + "parents": ["1d5357aaad5d341d738a65c7d1f5633b966aedf8"], + "authors": [ + { + "name": "STDquantum", + "email": "60764289+STDquantum@users.noreply.github.com", + "user": { + "login": "STDquantum", + "__typename": "User" + } + } + ], + "pullRequests": [5621] + }, + { + "sha": "6b8f4f752858aa6ac42db72fe65c1d50bd51e73d", + "subject": "fix(native): admit universal Mach-O files without a host slice (#5501)", + "body": "fix(native): admit universal Mach-O files without a host slice (#5501)\n\n* fix(native): admit universal Mach-O files without a host slice\n\nFAT Mach-O admission selected only the host's slice and rejected a valid\ncontainer whose slices are all foreign, so list-architectures returned\ntarget_unavailable instead of the container's inventory. A thin foreign\nimage was already admitted.\n\nPrefer the host's slice and otherwise select the first declared supported\nslice. Remove the Ghidra installation probe's re-parse under other host\narchitectures, which existed only to work around the rejection.\n\nFixes #5404\n\n* fix(native): select the first valid foreign FAT slice\n\nWithout a host slice, FAT selection took the first declared slice even when\nit was too short for its Mach-O header, rejecting a container whose later\nforeign slice is valid. The Ghidra decompiler probe then reported such a\nforeign-only decompiler as unknown rather than incompatible. Select the first\nforeign slice that can hold its header; a malformed host slice still fails.\n\n* fix(native): select foreign FAT slices from every declaration\n\nForeign-slice fallback chose among architecture families after keeping only\neach family's first declaration, so an undersized first arm64 subtype hid a\nvalid later arm64 subtype. Select from all declarations, and report the\ndeduplicated families separately. The host-slice rule is unchanged. Move the\nFAT selection tests into their own block.\n\n* fix(native): admit only unambiguous foreign FAT families\n\nWith no host slice, a family declared more than once, such as arm64 and\narm64e, has no provider-neutral choice: IDA analyzes the recorded slice while\nHopper prefers its own subtype. Select only families declared exactly once and\nkeep ambiguous foreign-only containers rejected, as on main.\n\n* fix(ghidra): decide FAT decompiler compatibility from validated families\n\nSlice selection now refuses a foreign-only FAT table that declares one family\nmore than once, such as arm64 and arm64e, and the decompiler probe reported that\nrefusal as unknown, so an x64 host accepted an arm64-only decompiler. When\nselection fails, read the table's validated CPU families and report the\ndecompiler incompatible when they exclude the host. Selection and host\nexclusion now have separate owners in binaryTarget.ts.", + "parents": ["146dcf46f5bd78fd4917aff663d1129d450f9e8f"], + "authors": [ + { + "name": "Muhammad Hamza", + "email": "32600505+mhamzasakhi@users.noreply.github.com", + "user": { + "login": "mhamzasakhi", + "__typename": "User" + } + } + ], + "pullRequests": [5501] + }, + { + "sha": "bd2a84ccba9f7d149f400d9efb93a5bbce1a9477", + "subject": "fix(apple): preserve line terminators in dyld path expansion (#5363)", + "body": "fix(apple): preserve line terminators in dyld path expansion (#5363)\n\nSigned-off-by: 李永祺 ", + "parents": ["6b8f4f752858aa6ac42db72fe65c1d50bd51e73d"], + "authors": [ + { + "name": "Dori", + "email": "111175613+Doribelove@users.noreply.github.com", + "user": { + "login": "Doribelove", + "__typename": "User" + } + } + ], + "pullRequests": [5363] + }, + { + "sha": "e83e3ceadd97770a50b8afa97f4077916e4d2b81", + "subject": "docs(installation): document targeted npx dependency recovery (#5353)", + "body": "docs(installation): document targeted npx dependency recovery (#5353)", + "parents": ["bd2a84ccba9f7d149f400d9efb93a5bbce1a9477"], + "authors": [ + { + "name": "arjen", + "email": "arjensingh@outlook.com", + "user": { + "login": "ArjenS-LA", + "__typename": "User" + } + } + ], + "pullRequests": [5353] + }, + { + "sha": "b1ff86832c6347d1f44c0fa02563cbf4362adffe", + "subject": "fix(windows): align path handling across Hopper, Electron, and ADB (#5235)", + "body": "fix(windows): align path handling across Hopper, Electron, and ADB (#5235)\n\n* fix(hopper): keep macOS and Linux launcher paths POSIX\n\n* fix(hopper): keep Linux and macOS bundle paths POSIX\n\nLinux package archives and macOS app-bundle launcher paths describe the target host, not the host running the test. Build them with path.posix so exercising these installers from Windows produces the same paths as the target platform.\n\n* fix(electron): follow Windows symlink targets with native separators\n\nreadlink returns backslash-separated targets on Windows. Splitting only on '/' kept a whole relative target as one component, so nested links were not followed and a relative target could pass the framework-root check without being walked. Split on both separators on Windows and add a regression for an escaping target.\n\n* test(windows): align host-specific path and lifecycle expectations\n\nCompare generated skill and provider-command paths with native joins, bind ADB device-path validation to an explicit platform, and prepare simulated POSIX Ghidra install roots on Windows. Skip POSIX-only Hopper lease, permission-bit, and symlink-parent cases, assert Windows' unsupported Hopper state instead, and cover the Windows Ghidra native-source admission step before snapshot replay. Launch Node child seams with SystemRoot available and expect Windows close-failure resource retention.\n\n* test(windows): close review coverage gaps\n\n---------\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["e83e3ceadd97770a50b8afa97f4077916e4d2b81"], + "authors": [ + { + "name": "Reynold Hu", + "email": "rey980630@gmail.com", + "user": { + "login": "reynold-hu", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5235] + }, + { + "sha": "ee0ec027db7aa4db5deb716cabfe57099c85925d", + "subject": "feat(firmware): attribute hardware MMIO peripheral memory regions in native disassembly (#5348)", + "body": "feat(firmware): attribute hardware MMIO peripheral memory regions in native disassembly (#5348)\n\n* feat(firmware): attribute hardware MMIO peripheral memory regions in native disassembly\n\n- introduce hardwareMemoryMap domain model supporting standard ARM Cortex-M, RISC-V, MIPS, x86, and ARM64 physical memory region classifications (Code, SRAM, Peripheral MMIO, System Control Space, External Device)\n- distinguish RAM/ROM and address-space segments from MMIO (isolate ARM External RAM / Device and MIPS kseg0/kseg1 uncached mirrors and boot ROM as non-MMIO)\n- add hardwarePeripheralAttribution to map analyzed instruction references to hardware peripheral blocks and summarize peripheral register interaction profiles with numerical offset ordering\n- expand ReaGhidraBridge.java decoder_context to capture ARM TMode execution register alongside MIPS ISA_MODE for native instruction inspection\n- add focused unit and boundary tests across hardwareMemoryMap.test.ts, hardwarePeripheralAttribution.test.ts, GhidraFunctionValues.test.ts, and ghidraCompactReferencesMcp.test.ts verifying region bounds, MMIO isolation, numerical sorting, 32-bit/64-bit overflow rejection, ARM TMode MCP preservation, and bridge contract bindings\n- make fake Ghidra installation host platform-aware on Windows in GhidraLanguageOverride.test.ts\n\n* test(ghidra): inspect ARM and Thumb context in the Java bridge\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["b1ff86832c6347d1f44c0fa02563cbf4362adffe"], + "authors": [ + { + "name": "CyberSprout", + "email": "liziye627@gmail.com", + "user": { + "login": "liziye627-design", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5348] + }, + { + "sha": "3984d12a30385cf10a304ed6e0425335b87870cb", + "subject": "fix(js): resolve literal URL from Request constructor in fetch calls (#6364)", + "body": "fix(js): resolve literal URL from Request constructor in fetch calls (#6364)\n\n* fix(js): resolve literal URL from Request constructor in fetch calls\n\n* fix(js): gate Request URL extraction on fetch and require new operator", + "parents": ["ee0ec027db7aa4db5deb716cabfe57099c85925d"], + "authors": [ + { + "name": "Ahmed", + "email": "aptech356@gmail.com", + "user": { + "login": "ahmed-husssain", + "__typename": "User" + } + } + ], + "pullRequests": [6364] + }, + { + "sha": "2a3e16224650efecf973775c1dca03a32af46716", + "subject": "fix(browser): account for late script metadata (#6358)", + "body": "fix(browser): account for late script metadata (#6358)\n\nPin admitted script identities and metadata before selected source reads. After the final CDP read, count unique additional retained IDs as dropped script inventory so incomplete captures stay unknown without extending source reads or inventing budget failures. Cover producer and comparison behavior through registered MCP tools.\n\nCo-authored-by: gongfpp <22683417+gongfpp@users.noreply.github.com>", + "parents": ["3984d12a30385cf10a304ed6e0425335b87870cb"], + "authors": [ + { + "name": "gongfpp", + "email": "1360187968@qq.com", + "user": { + "login": "gongfpp", + "__typename": "User" + } + }, + { + "name": "gongfpp", + "email": "22683417+gongfpp@users.noreply.github.com", + "user": { + "login": "gongfpp", + "__typename": "User" + } + } + ], + "pullRequests": [6358] + }, + { + "sha": "0344d578b2afd86a7cde905ca0c0ca0f4bb27850", + "subject": "fix(apple): classify keyed-archive objects by declared superclasses (#5228)", + "body": "fix(apple): classify keyed-archive objects by declared superclasses (#5228)\n\n* fix(apple): classify keyed-archive objects by declared superclasses\n\nInterface Builder keyed archives record each object's superclass chain\nin `$classes`, but the decoder classified objects by class-name\nsubstrings alone. UINavigationController, UITabBarController and\nUISearchController contain \"control\" but not \"viewcontroller\", so they\nwere reported as controls.\n\nClassify keyed-archive objects by UIKit/AppKit view-controller, control\nand view bases in their declared chain first, falling back to the name\nheuristic only when the chain names none. The decoder now reads\n`$classes` through one helper shared with NSArray detection.\n\nFixes #5218\n\n* test(apple): cover each declared keyed-archive base with neutral class names\n\nNeutral names classify only through the archived superclass chain, so each\nUIKit and AppKit base entry and the control-before-view ordering now has a\ncase that fails without it.\n\n* perf(apple): parse each keyed-archive class chain once\n\nObjects sharing one class descriptor reparsed and scanned its whole\n`$classes` array per object, so 20,000 objects sharing a 20,000-name chain\ntook about 16 seconds to decode. Cache each descriptor's chain as a set by\narchive UID; the same archive decodes in about 3.5 seconds, matching main.\n\n---------\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["2a3e16224650efecf973775c1dca03a32af46716"], + "authors": [ + { + "name": "Muhammad Hamza", + "email": "32600505+mhamzasakhi@users.noreply.github.com", + "user": { + "login": "mhamzasakhi", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5228] + }, + { + "sha": "6d73515bf138293be49c0b9fc6fae116d0286ef4", + "subject": "perf(javascript): prune typed-array element reference escapes (#5139)", + "body": "perf(javascript): prune typed-array element reference escapes (#5139)\n\n* perf(javascript): prune typed-array element reference escapes\n\n* fix(javascript): retain references from typed-array element properties\n\n---------\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["0344d578b2afd86a7cde905ca0c0ca0f4bb27850"], + "authors": [ + { + "name": "Ge Li", + "email": "118751170+galleonli@users.noreply.github.com", + "user": { + "login": "galleonli", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5139] + }, + { + "sha": "27751352542496e18e802f43e0e311bbace4409b", + "subject": "fix(managed): own source validation and reuse parsed evidence", + "body": "fix(managed): own source validation and reuse parsed evidence\n", + "parents": ["6d73515bf138293be49c0b9fc6fae116d0286ef4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7af1b20686bec98ed03b2e0dd342345aa790863f", + "subject": "refactor(firmware): remove unused memory map schema declarations", + "body": "refactor(firmware): remove unused memory map schema declarations\n", + "parents": ["27751352542496e18e802f43e0e311bbace4409b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c4b7a2e003ffd942d8049088a954cbb42dbe8b80", + "subject": "fix(setup): keep client and skill setup when the Hopper install fails (#5120)", + "body": "fix(setup): keep client and skill setup when the Hopper install fails (#5120)\n\n* fix(setup): keep client and skill setup when the Hopper install fails\n\nA failed Hopper package install returned from runSetup before any client\nregistration or skill install ran, so one optional provider's package\nconflict (zlib-ng-compat on Arch and CachyOS) cost every other approved\nchange. Record the failure instead, apply the remaining plan without a\nHopper launcher, and report needs_human with the install's code and\nremediation.\n\nFixes #5113\n\n* fix(setup): keep the Hopper failure when a client write or the skill install fails too\n\n* fix(setup): keep client and skill setup when the Hopper install fails\n\nA failed Hopper package install returned from runSetup before any client\nregistration or skill install ran, so one optional provider's package\nconflict (zlib-ng-compat on Arch and CachyOS) cost every other approved\nchange. Record the failure instead, apply the remaining plan without a\nHopper launcher, and report needs_human with the install's code and\nremediation.\n\nFixes #5113\n\n* fix(setup): keep the Hopper failure when a client write or the skill install fails too\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["7af1b20686bec98ed03b2e0dd342345aa790863f"], + "authors": [ + { + "name": "berce", + "email": "75228263+bercedev@users.noreply.github.com", + "user": { + "login": "bercedev", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5120] + }, + { + "sha": "81b94cebec40624287c125fee4dd70bcb9f08c59", + "subject": "fix(scripts): remove the ADB verifier's pushed probe file from the device (#5256)", + "body": "fix(scripts): remove the ADB verifier's pushed probe file from the device (#5256)\n\n* fix(scripts): remove the ADB verifier's pushed probe file from the device\n\nThe verifier pushed `/data/local/tmp/rea-verify-.txt` for its\ntransfer roundtrip but never deleted it, so every successful run left a\nprobe behind while reporting that all checks passed.\n\nAfter a successful no-overwrite push, the verifier now removes that exact\ndestination with the provider-reported adb client and confirms its absence\nthrough `list_adb_directory`. Removal runs even when the pull fails, and a\nremoval failure is reported as a failed check instead of a pass.\n`pull_adb_file` still retains device originals.\n\nFixes #5190\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(scripts): cover ADB probe cleanup after pull failure and leftover probes\n\nAdd verifier cases where the pull returns an error or throws after a\nsuccessful push, and where `adb shell rm` exits 0 but the listing still\nshows the probe. Pull failures must still remove the probe, and a leftover\nprobe must fail the run.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["c4b7a2e003ffd942d8049088a954cbb42dbe8b80"], + "authors": [ + { + "name": "Syed Musa Raza Naqvi", + "email": "94714949+musaraza004@users.noreply.github.com", + "user": { + "login": "musaraza004", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5256] + }, + { + "sha": "b5442df02de660d9271d5814da63c4bddfd83510", + "subject": "fix(mcp): describe function comparisons in behavior tool (#5251)", + "body": "fix(mcp): describe function comparisons in behavior tool (#5251)\n\nCo-authored-by: dayvison2b ", + "parents": ["81b94cebec40624287c125fee4dd70bcb9f08c59"], + "authors": [ + { + "name": "Dayvison", + "email": "dayvisoncordeiro2001@gmail.com", + "user": { + "login": "dayvison2b", + "__typename": "User" + } + }, + { + "name": "dayvison2b", + "email": "dayvison2b@users.noreply.github.com", + "user": { + "login": "dayvison2b", + "__typename": "User" + } + } + ], + "pullRequests": [5251] + }, + { + "sha": "c2fe0c68182ae3765ac60067be1bc55f15eb76d9", + "subject": "fix(hopper): preserve an explicit display number zero in the X11 helper (#5214)", + "body": "fix(hopper): preserve an explicit display number zero in the X11 helper (#5214)\n\n`start_xvfb` treated `--display-number 0` as omitted because it used the\noption's truthiness, so an explicit `:0` was replaced by a random display\nand its collision check ran against that random display instead.\n\nSelect the random display only when the option is absent, and add a\nfixture-backed regression test covering explicit zero, an occupied\nexplicit zero, explicit one, and omission.\n\nFixes #5189\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["b5442df02de660d9271d5814da63c4bddfd83510"], + "authors": [ + { + "name": "Syed Musa Raza Naqvi", + "email": "94714949+musaraza004@users.noreply.github.com", + "user": { + "login": "musaraza004", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [5214] + }, + { + "sha": "15ec8e98dbffd00239c6651add48dd68436fec3b", + "subject": "fix(adb): improve shell output parsing accuracy (#5001)", + "body": "fix(adb): improve shell output parsing accuracy (#5001)", + "parents": ["c2fe0c68182ae3765ac60067be1bc55f15eb76d9"], + "authors": [ + { + "name": "Yaash Singhh", + "email": "YASHVSINGH27+git@GMAIL.COM", + "user": { + "login": "yash27git", + "__typename": "User" + } + } + ], + "pullRequests": [5001] + }, + { + "sha": "8b478d0f15bf585d0570ebdcadb4d5857cc86cb4", + "subject": "fix(native): preserve Mach-O install-name whitespace (#4979)", + "body": "fix(native): preserve Mach-O install-name whitespace (#4979)\n\n* fix(native): preserve whitespace in otool load-command strings\n\notool prints dylib install names and rpaths as ` %s (offset %u)`\nwith exactly one separator space around the recorded string. The parser\ntrimmed the value and stripped the offset suffix with `\\s+`, so a valid\ninstall name such as \" leading.dylib \" became \"leading.dylib\" in both\nthe dependency inventory and the raw load-command fields.\n\nParse these offset-suffixed string fields by their exact format and\nstrip only the single-space offset suffix.\n\nFixes #3384\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(native): verify exact Mach-O install names through CLI and MCP\n\n---------\n\nCo-authored-by: Bhaaraadwaj \nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["15ec8e98dbffd00239c6651add48dd68436fec3b"], + "authors": [ + { + "name": "fly liu", + "email": "zzliu93@gmail.com", + "user": { + "login": "flyl1u", + "__typename": "User" + } + }, + { + "name": "Bhaaraadwaj", + "email": "bharadwajdaya@gmail.com", + "user": { + "login": "bharadwajdaya", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [4979] + }, + { + "sha": "371f3d91aec6f0a9e92bc483f56dba534a2b0962", + "subject": "fix(managed): retain type discovery after member limits (#5312)", + "body": "fix(managed): retain type discovery after member limits (#5312)\n\nfix(managed): retain types after member limits\n\nAdmit type identity and a bounded recovery envelope before member decoding so callers can discover smaller selections after capacity exhaustion.\n\nFixes #5146\n\nCo-authored-by: eco-null \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["8b478d0f15bf585d0570ebdcadb4d5857cc86cb4"], + "authors": [ + { + "name": "Can", + "email": "159528514+eco-null@users.noreply.github.com", + "user": { + "login": "eco-null", + "__typename": "User" + } + }, + { + "name": "eco-null", + "email": "eco-null@users.noreply.github.com", + "user": { + "login": "eco-null", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [5312] + }, + { + "sha": "0f09630645ebcca9bcbb6b3fb201219617870948", + "subject": "fix(scripts): keep the first proxy error in the package-update verifier (#6362)", + "body": "fix(scripts): keep the first proxy error in the package-update verifier (#6362)\n\nThe registry fixture sent response headers before reading the upstream body,\nthen always wrote a 500 on error. A body failure hit ERR_HTTP_HEADERS_SENT,\nwhich hid the real error and crashed the verifier with its helper still running.\nThe fixture now reads the body first, destroys a response that already started,\nand the verifier rethrows the first fixture error.\n\nRefs #6038.\n\n🤖 Generated with Claude Code (Sonnet 5.5) 🦊\n\nCo-authored-by: Claude Sonnet 5.5 ", + "parents": ["371f3d91aec6f0a9e92bc483f56dba534a2b0962"], + "authors": [ + { + "name": "Cassie_Fox", + "email": "249835913+CassieFox23@users.noreply.github.com", + "user": { + "login": "CassieFox23", + "__typename": "User" + } + }, + { + "name": "Claude Sonnet 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6362] + }, + { + "sha": "47353e494d170352c88cfd046c43e48c1419f3ad", + "subject": "feat(config): make the bridge request ceiling configurable (#6376)", + "body": "feat(config): make the bridge request ceiling configurable (#6376)\n\n* fix(reconstruction): dedupe residual unknown ids with uniqueSorted\n\nCurrent main calls uniqueBy, which is not defined, so typecheck fails.\nResidual unknown ids are strings, and the adjacent lists already use\nuniqueSorted.\n\nCo-authored-by: morluto \n\n* feat(config): make the bridge request ceiling configurable\n\nREA_BRIDGE_MAX_REQUEST_BYTES replaces the hard-coded 16 MiB Hopper and\nCutter request payload ceiling. The default stays 16777216 bytes. Values\noutside 7464 to 268435456 bytes are configuration_invalid.\n\nPart of #6176.\n\nCo-authored-by: morluto \n\n* fix(cutter): keep cleanup ownership when a sent command's reply is oversized\n\nAn authenticated command may already have changed the Cutter document\nwhen its reply exceeds the frame ceiling. Return the existing unknown\nexecution, with the ceiling diagnostic in the message, so receipt\ncleanup still waits. A frame that overflows before the command is sent\nremains a resource constraint.\n\nCo-authored-by: morluto \n\n* style: format the bridge request ceiling sources\n\noxfmt --check failed on the five files that set and test\nREA_BRIDGE_MAX_REQUEST_BYTES. Formatting only; an oversized Cutter\nreply still stays an unknown execution.\n\nCo-authored-by: morluto \n\n* fix(cutter): exclude the LF from the response frame budget\n\nREA_BRIDGE_MAX_REQUEST_BYTES counts payload bytes. The Cutter response\nreader and authenticated encoder were reserving one byte for the\nterminating LF, so an exact-limit response was rejected. A reply that\nexceeds the ceiling after the command was sent still stays an unknown\nexecution.\n\nCo-authored-by: morluto \n\n* fix(bridge): measure escaped JSON before allocating the request\n\nA command of U+0001 characters can expand sixfold. JSON.stringify of\nthat expansion can throw past Node's string ceiling before the payload\ncheck. Count the escaped size within REA_BRIDGE_MAX_REQUEST_BYTES\nfirst and refuse it as a resource constraint.\n\nCo-authored-by: morluto \n\n* fix(config): derive the bridge request maximum from JSON expansion\n\nA 256 MiB ceiling still lets a shorter U+0001 command expand past Node's\n536870888-character string limit. The maximum is now\nfloor((536870888 - 296) / 7) = 76695798, the longest such command whose\nauthenticated frame fits in one string. Requests are still measured\nbefore JSON.stringify.\n\nCo-authored-by: morluto \n\n* fix(bridge): size the Cutter frame deadline and send the measured Hopper payload\n\nThe authenticated Cutter command is encoded after the challenge, so a\none-second read rejected an in-budget frame. That read now allows one\nsecond per mebibyte of the ceiling and never waits longer than 25\nseconds. Hello stays at one second. Hopper writes the payload it already\nmeasured instead of serializing the same request again.\n\nCo-authored-by: morluto \n\n* fix(config): bound the bridge request maximum by the serialized string\n\nThe ceiling already measures escaped JSON, so dividing Node's string limit by the seven-byte expansion rejected encoded payloads that still fit. The maximum is 536870887, one byte under that string ceiling, leaving room for the framing LF.\n\nCo-authored-by: morluto \n\n* fix(hopper): serialize a bridge request when it reaches the wire\n\nThe queue kept each encoded frame, plus the caller's params, until Hopper finished the active request. A raised ceiling made a few waiting calls enough to exhaust the heap. The FIFO now keeps the params, and the frame is encoded only for the request being written.\n\nCo-authored-by: morluto \n\n* fix(cutter): hash the bridge proof prefix and payload separately\n\nAn exact-limit Cutter frame plus the HMAC prefix exceeds Node's single-string ceiling, so the client threw before sending an admitted command. The prefix and payload are now separate HMAC updates, including the response proof.\n\nCo-authored-by: morluto \n\n* fix(cutter): keep recovery fields when a status path exceeds the frame\n\nA long current_file made the status reply miss the ceiling, and the fallback then dropped session_id and the completion receipts. The status now omits the path and version and still returns the session, connection proof, and up to 64 receipts. That required recovery frame is smaller than the 7464 floor.\n\nCo-authored-by: morluto \n\n* fix(cutter): report an unknown path when status identity does not fit\n\nA bounded status kept the new document generation and omitted the path, so the client filled in the descriptor's older path. The observed path is sent when it fits. When it does not, current_file is null and is not replaced with that stale path.\n\nCo-authored-by: morluto \n\n* fix(cutter): count structured replies by their encoded JSON size\n\nThe response guard charged 16 bytes per primitive and two bytes per list slot, so a dense array under the configured ceiling was replaced with output_truncated. Numbers, booleans, null, and container punctuation now use their JSON lengths.\n\nCo-authored-by: morluto \n\n* fix(cutter): stream authenticated responses in bounded chunks\n\nA fitting reply was signed from retained raw bytes, escaped bytes, and a\njoined frame, so a ceiling near 512 MiB could exhaust Cutter before send.\nMeasure and sign JSON pieces, then write the same frame in 64 KiB chunks.\n\nCo-authored-by: morluto \n\n* fix(bridge): keep Cutter admission from stalling or hiding sessions\n\nRead an unauthenticated frame off the accept loop. A command reply that\ndoes not fit keeps completion and generation and reports an oversized path\nas null. Discovery reports a ceiling mismatch instead of an absent session.\nThe maximum HMAC proof is opt-in, and both bridges reject non-ASCII digits.\n\nCo-authored-by: morluto \n\n* fix(cutter): bound frame scans and client response copies\n\nSearch only newly read bytes for the framing LF. Unescape each socket\nchunk into one response string, check the proof, and then parse it.\n\nCo-authored-by: morluto \n\n* fix(cutter): keep completion, admission, and dense replies bounded\n\nReport completed_connection only through connections that have\nterminated. Cap connection threads and keep the listener up if one\nfails to start. Batch scalar JSON and fail discovery when any ceiling\nmismatches.\n\nCo-authored-by: morluto \n\n* fix(cutter): hash requests in parts and scan escapes once\n\nUpdate the client-proof prefix and request separately. Stop the response\ndecoder at the first quote or backslash instead of rescanning the tail.\n\nCo-authored-by: morluto \n\n* fix(cutter): confirm live ceiling mismatches and omitted output\n\nA stale descriptor from a previous ceiling is not a discovery mismatch\nuntil its hello proves a live authenticated bridge. A response discarded\nfor the frame ceiling after dispatch reports output_truncated.\n\nCo-authored-by: morluto \n\n* test(cutter): close the unauthenticated ceiling-mismatch fixture\n\nThe listener that fails the hello proof is destroyed after its challenge\nso discovery cleanup does not wait on that socket.\n\nCo-authored-by: morluto \n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["0f09630645ebcca9bcbb6b3fb201219617870948"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6376] + }, + { + "sha": "db2a3174f6f41d5fbec286b1a227df1abc383863", + "subject": "fix(reconstruction): share authenticated obligation ledger sources", + "body": "fix(reconstruction): share authenticated obligation ledger sources\n", + "parents": ["47353e494d170352c88cfd046c43e48c1419f3ad"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0b17cb621d4e2afc15a4c5fd2acec31615c25157", + "subject": "refactor(javascript): reuse parsed semantic query contracts", + "body": "refactor(javascript): reuse parsed semantic query contracts\n", + "parents": ["db2a3174f6f41d5fbec286b1a227df1abc383863"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0281d101307c8884f64d8d31f48e6ca982e3c42a", + "subject": "fix(mobile): share authenticated inventory projection sources", + "body": "fix(mobile): share authenticated inventory projection sources\n\nAuthenticate inventory requests once before family projection, remove obsolete schema aliases and raw facades, and preserve unresolved occurrence references from partial pages without fabricating content identities.\n", + "parents": ["0b17cb621d4e2afc15a4c5fd2acec31615c25157"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6b7aa124ed87ba38a657bd3cc2e7fe86b66466d3", + "subject": "fix(native): own matching source validation and admission", + "body": "fix(native): own matching source validation and admission\n\nSeparate source corruption and selected-role errors from unexpected derivation failures. Normalize coordinates before body membership and conflict checks, reuse parsed requests, and account for outer observation arrays before validation copies.\n", + "parents": ["0281d101307c8884f64d8d31f48e6ca982e3c42a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b7f8bbb49fbb675c392e346c9c0c1b56670ab680", + "subject": "refactor(analysis-view): unify request and source ownership", + "body": "refactor(analysis-view): unify request and source ownership\n", + "parents": ["6b7aa124ed87ba38a657bd3cc2e7fe86b66466d3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "74ed67da7fe61e9d4ce7879c3abfb2422c420a64", + "subject": "refactor(investigation): share immutable evidence reads", + "body": "refactor(investigation): share immutable evidence reads\n", + "parents": ["b7f8bbb49fbb675c392e346c9c0c1b56670ab680"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "da9a580a0d7bb6b68a3924bf3765a536867e2395", + "subject": "refactor(javascript): unify application workflow ownership", + "body": "refactor(javascript): unify application workflow ownership\n", + "parents": ["74ed67da7fe61e9d4ce7879c3abfb2422c420a64"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ed069bb9d40c3d7b4f97b87144dc1fa3d6833128", + "subject": "fix(coverage): consolidate request validation ownership", + "body": "fix(coverage): consolidate request validation ownership\n\nRoute CLI and MCP coverage requests through the shared strict workflow boundary before authenticating source Evidence. Preserve canonical advertised schemas, use integrity errors for malformed source bundles, and use the workflow operation for input diagnostics.\n\nRemove the unused throwing domain facade and keep semantic fixture assertions on the parsed Result APIs. Validate compiled CLI and stdio MCP parity, strict request rejection, domain authority/time semantics, generated schemas, and unexpected failure propagation. No external providers execute in these checks.\n", + "parents": ["da9a580a0d7bb6b68a3924bf3765a536867e2395"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f4b2ba13133b6897c45a2c86d507fd4f5ef80e43", + "subject": "refactor(javascript): own runtime reconciliation failures", + "body": "refactor(javascript): own runtime reconciliation failures\n\nReturn expected source and semantic failures from the runtime input owner as tagged Results. Bind source schema validation to concrete schemas, preserve nested active-capture paths, and let unexpected interpretation and derivation failures reach the adapter boundary.\n\nRemove broad protocol-error wrappers, duplicate active identity validation, and redundant JSON result parsing. Migrate parsed-fact consumers and retain CLI/MCP contracts. Relevant source and public-boundary tests pass; six injected implementation-fault controls fail on the prior revision. Live Electron behavior was not exercised.\n", + "parents": ["ed069bb9d40c3d7b4f97b87144dc1fa3d6833128"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "71a024c789a3d4626b85965a0b511a577a027801", + "subject": "refactor(javascript): consume normalized feature seeds", + "body": "refactor(javascript): consume normalized feature seeds\n\nRequire parsed seed facts in the pure trace projection and leave raw request defaults at the shared workflow boundary. Remove the redundant seed parse, unused raw-seed alias and duplicate seed-match binding.\n\nMove omitted-versus-explicit defaults and full Evidence identity checks to compiled CLI/MCP acceptance. Reuse the owned MCP fixture and request files in the tests. Matching, native handoff, empty-literal, coverage and immutability checks remain covered; public schemas and successful outputs are unchanged.\n", + "parents": ["f4b2ba13133b6897c45a2c86d507fd4f5ef80e43"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9eb829aca34be36ff112826337996f6139f82eff", + "subject": "fix(process): centralize capture evidence admission", + "body": "fix(process): centralize capture evidence admission\n", + "parents": ["71a024c789a3d4626b85965a0b511a577a027801"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f850b7c894fa5cba370092a3ad9ca3df899d6d6f", + "subject": "test(cli): repair analysis-view finalization cancellation seams (#6431)", + "body": "test(cli): repair analysis-view finalization cancellation seams (#6431)\n\nInject interrupts through imported projection and Evidence resolution boundaries so lexical service calls cannot bypass the test. Preserve exact normalized partial results, authenticated Evidence provenance and signal exit codes.\n\nAssisted-by: Reimu (gensokyo-skills:reimu-incident-triage)", + "parents": ["9eb829aca34be36ff112826337996f6139f82eff"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6431] + }, + { + "sha": "e32a0494d42dedd5e79ca341d20c53f07479d9bb", + "subject": "fix(ci): use an available command for the Ghidra probe marker (#6400)", + "body": "fix(ci): use an available command for the Ghidra probe marker (#6400)\n\nCheck the ARM/Thumb success marker with the runner-provided grep -F. The real Ghidra probe succeeded, but the previous rg dependency made the lane exit 127.\n\nValidated with the actual workflow shell, producer-failure and missing/incorrect marker controls, 17 focused tests, and hosted Ghidra 12.1.4 / JDK 21 compilation and ARM/Thumb context checks.", + "parents": ["f850b7c894fa5cba370092a3ad9ca3df899d6d6f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6400] + }, + { + "sha": "8b1e3143a2ae06f1e6a85c1278e4e397537f9718", + "subject": "refactor(evidence): own bundle validation failures", + "body": "refactor(evidence): own bundle validation failures\n", + "parents": ["e32a0494d42dedd5e79ca341d20c53f07479d9bb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c8d58d2e7cb4b0af3a35a4fe7009b9221e6e09e5", + "subject": "fix(network): count omitted response content promptly (#6413)", + "body": "fix(network): count omitted response content promptly (#6413)\n\n* fix(network): count omitted response content promptly\n\n* test(network): pin response omission timing\n\n---------\n\nCo-authored-by: eco-null ", + "parents": ["8b1e3143a2ae06f1e6a85c1278e4e397537f9718"], + "authors": [ + { + "name": "Can", + "email": "159528514+eco-null@users.noreply.github.com", + "user": { + "login": "eco-null", + "__typename": "User" + } + }, + { + "name": "eco-null", + "email": "eco-null@users.noreply.github.com", + "user": { + "login": "eco-null", + "__typename": "User" + } + } + ], + "pullRequests": [6413] + }, + { + "sha": "3e85da91952a34a07e37dfbfc395c3ea093c1fc4", + "subject": "fix(screenshot): validate complete PNG IHDR (#6412)", + "body": "fix(screenshot): validate complete PNG IHDR (#6412)\n\nCo-authored-by: eco-null ", + "parents": ["c8d58d2e7cb4b0af3a35a4fe7009b9221e6e09e5"], + "authors": [ + { + "name": "Can", + "email": "159528514+eco-null@users.noreply.github.com", + "user": { + "login": "eco-null", + "__typename": "User" + } + }, + { + "name": "eco-null", + "email": "eco-null@users.noreply.github.com", + "user": { + "login": "eco-null", + "__typename": "User" + } + } + ], + "pullRequests": [6412] + }, + { + "sha": "4f8465d8db86438163fd4d256cb73a7f688e02d0", + "subject": "fix(hopper): report invalid regex patterns as pattern input errors (#6372)", + "body": "fix(hopper): report invalid regex patterns as pattern input errors (#6372)\n\nCo-authored-by: Abelo9996 ", + "parents": ["3e85da91952a34a07e37dfbfc395c3ea093c1fc4"], + "authors": [ + { + "name": "Abel Yagubyan", + "email": "abelyagubyan@berkeley.edu", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + }, + { + "name": "Abelo9996", + "email": "Abelo9996@users.noreply.github.com", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + } + ], + "pullRequests": [6372] + }, + { + "sha": "7f9a03d6ab37a63ac1be768e3eae8545187f7d21", + "subject": "refactor(evidence): move artifact construction into domain", + "body": "refactor(evidence): move artifact construction into domain\n", + "parents": ["4f8465d8db86438163fd4d256cb73a7f688e02d0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6dff37594c0bc942c9748b34a7a028d223e88a6d", + "subject": "refactor(evidence): centralize analysis observation facts", + "body": "refactor(evidence): centralize analysis observation facts\n", + "parents": ["7f9a03d6ab37a63ac1be768e3eae8545187f7d21"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0407bbfbe65e8fa475e8bb0c78c30170e2c2f55e", + "subject": "fix(ledger): authenticate evidence before committing", + "body": "fix(ledger): authenticate evidence before committing\n", + "parents": ["6dff37594c0bc942c9748b34a7a028d223e88a6d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b6a0f32b14ff9c6b651a7897aaf9f546bfdda24b", + "subject": "fix(evidence): centralize authentication failure ownership", + "body": "fix(evidence): centralize authentication failure ownership\n", + "parents": ["0407bbfbe65e8fa475e8bb0c78c30170e2c2f55e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b395190e4273b2542a599aa2cdce61107f3a7ebc", + "subject": "fix(artifacts): disclose unavailable content hashes in summaries (#6481)", + "body": "fix(artifacts): disclose unavailable content hashes in summaries (#6481)", + "parents": ["b6a0f32b14ff9c6b651a7897aaf9f546bfdda24b"], + "authors": [ + { + "name": "xjh", + "email": "87483213+xiajiahang@users.noreply.github.com", + "user": { + "login": "xiajiahang", + "__typename": "User" + } + } + ], + "pullRequests": [6481] + }, + { + "sha": "c106cf20cbfcec8e1fcd953ad8e52bdfbf8c3f9c", + "subject": "fix(setup): preserve owned Gemini user settings", + "body": "fix(setup): preserve owned Gemini user settings\n", + "parents": ["b395190e4273b2542a599aa2cdce61107f3a7ebc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6d6cbdf8c440507bd0a9f39aa8dd77fe9f2cd869", + "subject": "fix(doctor): report a missing --format value as MISSING_OUTPUT_VALUE (#6489)", + "body": "fix(doctor): report a missing --format value as MISSING_OUTPUT_VALUE (#6489)\n\n`mcp doctor --format` and `--format=` reported VALIDATION_ERROR\n\"Invalid output format: missing\", although docs/cli.md documents\nMISSING_OUTPUT_VALUE for valued output flags without a value and\n`capabilities` already returns it. Classify absent and empty values as\nmissing, share the existing missing-value message, and keep\nVALIDATION_ERROR for a present but unsupported format.\n\nFixes #6455\n\n\nClaude-Session: https://claude.ai/code/session_01LjhoPGpqAwHwcCgectzRsp\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["c106cf20cbfcec8e1fcd953ad8e52bdfbf8c3f9c"], + "authors": [ + { + "name": "Ezra Brilliant", + "email": "64943463+ezrabrilliant@users.noreply.github.com", + "user": { + "login": "ezrabrilliant", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6489] + }, + { + "sha": "4cfc61147b3f4ec5f6d320e62167ea34fc9c1784", + "subject": "fix(process): record no normal exit code for signal-terminated targets (#6486)", + "body": "fix(process): record no normal exit code for signal-terminated targets (#6486)\n\ncapture-process recorded exit.code 0 for a target a scenario event killed\nwith SIGKILL or SIGTERM, beside the nonzero exit.signal. The result builder\nand the retained observation each kept any nonnegative PTY exit code for an\nexited capture without consulting the signal; only finalization checked it.\n\nProject the exit once in captureExitObservation, whose normal exit code is\nnull when a nonzero signal ended the target, and use the same rule for\nfinalization. Normal exits keep their codes, including 0 and 3, and deadline\nexits remain null.\n\nFixes #6445", + "parents": ["6d6cbdf8c440507bd0a9f39aa8dd77fe9f2cd869"], + "authors": [ + { + "name": "Muhammad Hamza", + "email": "32600505+mhamzasakhi@users.noreply.github.com", + "user": { + "login": "mhamzasakhi", + "__typename": "User" + } + } + ], + "pullRequests": [6486] + }, + { + "sha": "37e92e430be5e27013072d8584df02ead9565e35", + "subject": "refactor(javascript): centralize package and JSON document facts", + "body": "refactor(javascript): centralize package and JSON document facts\n", + "parents": ["4cfc61147b3f4ec5f6d320e62167ea34fc9c1784"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5d813633919825030623cf9b3ef640833ef4de14", + "subject": "fix(evm): report the carrier input allowance as a file-size constraint (#6414)", + "body": "fix(evm): report the carrier input allowance as a file-size constraint (#6414)\n\nThe EVM interface failure translator grouped the stable reader's input\nlimit with path and format refusals, so a carrier over the fixed 4 MiB\ninput allowance surfaced as a non-retryable invalid_request whose only\nrecord of the allowance was issue text pointing at the input schema.\nThe same refusal now returns a non-retryable resource_constraint with\nresource file-size and reported_limits.maximum_input_bytes, following\nthe WABT input translator, while path and format reader refusals stay\ninput errors. The reply-size write failure keeps its own branch.\n\nFixes #6053", + "parents": ["37e92e430be5e27013072d8584df02ead9565e35"], + "authors": [ + { + "name": "MeskineMorty", + "email": "126686760+Bilalmesk@users.noreply.github.com", + "user": { + "login": "Bilalmesk", + "__typename": "User" + } + } + ], + "pullRequests": [6414] + }, + { + "sha": "592c3e27936540f83d47865f68fdcd6673905cce", + "subject": "fix(lifecycle): reject session work once close has started (#6411)", + "body": "fix(lifecycle): reject session work once close has started (#6411)\n\n* fix(lifecycle): reject session work once close has started\n\nProcess shutdown closed the shared binary session without sealing it, so a\nstdio tool call could open a provider after that close and leave the child\nrunning. GDB ran a queued console command or a second close after the session\nhad started closing because the queued turn did not repeat admission checks.\n\nShutdown now refuses later target acquisition, and a queued GDB command or\nduplicate close fails as unavailable once its turn finds the session closing\nor gone.\n\nCo-authored-by: morluto \n\n* fix(gdb): block console admission after cleanup starts\n\n---------\n\nCo-authored-by: Cursor Agent \nCo-authored-by: morluto ", + "parents": ["5d813633919825030623cf9b3ef640833ef4de14"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Cursor Agent", + "email": "cursoragent@cursor.com", + "user": { + "login": "cursoragent", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6411] + }, + { + "sha": "4c547008c53ee9f0ff2368e7d874a2c3347aa235", + "subject": "refactor: remove obsolete forwarding exports", + "body": "refactor: remove obsolete forwarding exports\n", + "parents": ["592c3e27936540f83d47865f68fdcd6673905cce"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e073f64be0a5a30c32d8b3cec23f9bd411080903", + "subject": "refactor(process): centralize comparison evidence ownership", + "body": "refactor(process): centralize comparison evidence ownership\n", + "parents": ["4c547008c53ee9f0ff2368e7d874a2c3347aa235"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "49c9c9d4a14cc7d5509ec28a304dab48f85cb045", + "subject": "refactor(logging): unify startup policy and test ownership", + "body": "refactor(logging): unify startup policy and test ownership\n", + "parents": ["e073f64be0a5a30c32d8b3cec23f9bd411080903"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "28a33cae8f8d4de8e11f7a266ff0d756432ab092", + "subject": "fix(runtime)!: require patched Node.js security releases (#6315)", + "body": "fix(runtime)!: require patched Node.js security releases (#6315)\n\nRequire Node.js ^22.23.4 || ^24.22.1 || >=26.12.1 across package engines, setup/doctor and the standalone installer. Validate patch boundaries and maintain runtime-independent listener identity, heap-option and HTTP schema-binding tests.\n\nCloses #6283\nRefs #6480\n\nBREAKING CHANGE: Node versions below 22.23.4, 24.22.1 and 26.12.1 are no longer supported. Upgrade Node before installing or updating REA; the installer does not upgrade Node.\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["49c9c9d4a14cc7d5509ec28a304dab48f85cb045"], + "authors": [ + { + "name": "ShikamaruNaaraa", + "email": "144692558+ShikamaruNaaraa@users.noreply.github.com", + "user": { + "login": "ShikamaruNaaraa", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6315] + }, + { + "sha": "2944afa5b814f4d65af503cdbaf7a2723a1c98c8", + "subject": "fix(javascript): report colliding recovery inputs as input errors (#6520)", + "body": "fix(javascript): report colliding recovery inputs as input errors (#6520)\n\n* fix(javascript): report recovery inputs that collide on a case-insensitive filesystem\n\n* test(javascript): cover a recovery input selected twice on any filesystem\n\n* test(javascript): cover snapshot collision causes and unrelated write failures", + "parents": ["28a33cae8f8d4de8e11f7a266ff0d756432ab092"], + "authors": [ + { + "name": "Adolanium", + "email": "94890352+Adolanium@users.noreply.github.com", + "user": { + "login": "Adolanium", + "__typename": "User" + } + } + ], + "pullRequests": [6520] + }, + { + "sha": "02c85329019f879864b0f30b72262a8ba4671e75", + "subject": "docs: require buy-in for speculative hardening complexity", + "body": "docs: require buy-in for speculative hardening complexity\n", + "parents": ["2944afa5b814f4d65af503cdbaf7a2723a1c98c8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5f4e39fea263abca55fd57b9bb19b1e8dc54e0b2", + "subject": "fix(comparison): validate function result projections", + "body": "fix(comparison): validate function result projections\n\nValidate canonical dimension ownership, summary counts, and exact changed or unknown projections before investigation consumers publish derived Evidence. Reuse the shared dimension contract in selectors and keep historical source fixtures internally consistent.\n\nVerify authentic malformed comparisons across all three MCP consumers while preserving valid reordered and unknown results and retained source Evidence.\n", + "parents": ["02c85329019f879864b0f30b72262a8ba4671e75"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1635eadfcc49bbb80178838ab74667c2981de383", + "subject": "refactor(errors): centralize input failure construction", + "body": "refactor(errors): centralize input failure construction\n\nCarry caller messages through the existing schema issue owner instead of constructing and discarding an intermediate input error. Remove forwarding schema helpers and migrate equivalent constructors across investigation, firmware, dylib, process, and screenshot workflows while preserving diagnostic paths and causes.\n", + "parents": ["5f4e39fea263abca55fd57b9bb19b1e8dc54e0b2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "524b84792fdc10a8356db99c009bb5d4e7027c8a", + "subject": "docs(readme): add Roman Urdu edition (#6499)", + "body": "docs(readme): add Roman Urdu edition (#6499)\n\n* docs(readme): add Roman Urdu edition\n\nRegister ur-Latn with a pending website catalog and preserve English command examples.\n\nScript-tag handling follows morluto's shared helper proposed in PR #2043 (c46f606c899e27b2e51c16500493413daf57ddad).\n\n* test(website): cover completed script-tag page metadata", + "parents": ["1635eadfcc49bbb80178838ab74667c2981de383"], + "authors": [ + { + "name": "Hifza Zafar", + "email": "152292315+hifzabuildsai@users.noreply.github.com", + "user": { + "login": "hifzabuildsai", + "__typename": "User" + } + } + ], + "pullRequests": [6499] + }, + { + "sha": "6c4d880f2dd9ca7d42593be916f90ec19b8a09d7", + "subject": "fix(process): parse native teardown relation sentinels", + "body": "fix(process): parse native teardown relation sentinels\n", + "parents": ["524b84792fdc10a8356db99c009bb5d4e7027c8a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "14e745950e1a645b9e79c0b26b951a1309ec5e84", + "subject": "refactor(nativeaot): share report facts across budget stages", + "body": "refactor(nativeaot): share report facts across budget stages\n\nCentralize parse-wide identity and coverage facts while keeping conservative admission values separate from measured rows and counters. Reuse the derived truncation reason and retain the final serialization bound.\n\nTighten the report-budget regression so unexpected parser finalization errors cannot be swallowed by its budget search.\n", + "parents": ["6c4d880f2dd9ca7d42593be916f90ec19b8a09d7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bcd1f95e688a2ac020a9d13f9c85e0ce321cb6b6", + "subject": "fix(adb): preserve empty properties and verbatim version names", + "body": "fix(adb): preserve empty properties and verbatim version names\n", + "parents": ["14e745950e1a645b9e79c0b26b951a1309ec5e84"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e44ff4666a44f332dd9bc883b63b536a19f1c024", + "subject": "fix(artifacts): recognize empty Zip64 containers", + "body": "fix(artifacts): recognize empty Zip64 containers\n\nFixes #6540\n", + "parents": ["bcd1f95e688a2ac020a9d13f9c85e0ce321cb6b6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "860b3dd6b0124ac84510382e176534d945882f3c", + "subject": "fix(erlang): accept uninterpreted BEAM alignment bytes", + "body": "fix(erlang): accept uninterpreted BEAM alignment bytes\n\nFixes #6517\n", + "parents": ["e44ff4666a44f332dd9bc883b63b536a19f1c024"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e44899d510ce3bcd2640394028d20bd9de0ac427", + "subject": "fix(gpu): accept PTX entries without parameter lists", + "body": "fix(gpu): accept PTX entries without parameter lists\n\nFixes #6493\n", + "parents": ["860b3dd6b0124ac84510382e176534d945882f3c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b58aa63796fe6465d241db9cb3c72c918c02890c", + "subject": "fix(python): preserve signed code-object line numbers", + "body": "fix(python): preserve signed code-object line numbers\n\nFixes #6490\n", + "parents": ["e44899d510ce3bcd2640394028d20bd9de0ac427"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6bb4f4bf7d64e5d2f47479d46225a5383b57cdad", + "subject": "refactor(ghidra): centralize load image check recording", + "body": "refactor(ghidra): centralize load image check recording\n\nShare expected and observed check construction across MZ, COM, and raw-binary attestations. Preserve format-specific rules and source coordinates, and derive mapping callback types from the recording owner.\n", + "parents": ["b58aa63796fe6465d241db9cb3c72c918c02890c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "56685c6ec6e382c0e798e454f1c1efc5e4efc67a", + "subject": "fix(inspector): preserve script identity and parse-failure facts", + "body": "fix(inspector): preserve script identity and parse-failure facts\n\nFixes #6535\n\nFixes #6546\n", + "parents": ["6bb4f4bf7d64e5d2f47479d46225a5383b57cdad"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f8f4a5c3b8d64d358e3a0d7e1bd63ebbe91668e7", + "subject": "fix(artifacts): recover malformed PYZ sizes without losing siblings", + "body": "fix(artifacts): recover malformed PYZ sizes without losing siblings\n\nFixes #6120\n", + "parents": ["56685c6ec6e382c0e798e454f1c1efc5e4efc67a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "933aa480d30fa4018c7902e4422d95adba071e26", + "subject": "fix(erlang): accept extended BEAM atom lengths", + "body": "fix(erlang): accept extended BEAM atom lengths\n\nFixes #6503\n", + "parents": ["f8f4a5c3b8d64d358e3a0d7e1bd63ebbe91668e7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "be85386e27be74f8673b0dbf2742c84583ebadfb", + "subject": "refactor(erlang): reject overflowing BEAM atom lengths", + "body": "refactor(erlang): reject overflowing BEAM atom lengths\n", + "parents": ["933aa480d30fa4018c7902e4422d95adba071e26"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "06828b2e6511cdb725997fa20294ed2add86c436", + "subject": "fix(gpu): preserve PTX and AMD target facts", + "body": "fix(gpu): preserve PTX and AMD target facts\n\nFixes #6469\n\nFixes #6483\n", + "parents": ["be85386e27be74f8673b0dbf2742c84583ebadfb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "39d1b2d395aa3b49e30a264c965bdd77f5be1daa", + "subject": "refactor(targets): preserve ambiguous MZ header evidence", + "body": "refactor(targets): preserve ambiguous MZ header evidence\n", + "parents": ["06828b2e6511cdb725997fa20294ed2add86c436"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "46111dd091f2ae01baab9eb119b53b9bd309a05b", + "subject": "fix(adb): retain refused activity launch reports", + "body": "fix(adb): retain refused activity launch reports\n\nParse complete nonzero Activity Manager reports while preserving other command failures and their captured output. Admit dollar signs only in the activity component name for nested Android classes.\n\nFixes #6528\n\nFixes #6527\n", + "parents": ["39d1b2d395aa3b49e30a264c965bdd77f5be1daa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "012959e3cc053c065c110c952d08146689b0848b", + "subject": "fix(mcp): retain partial evidence through shared delivery", + "body": "fix(mcp): retain partial evidence through shared delivery\n", + "parents": ["46111dd091f2ae01baab9eb119b53b9bd309a05b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "60981e0801724e0b97835e437225a2324d072edf", + "subject": "fix(python): honor version-specific code equality", + "body": "fix(python): honor version-specific code equality\n\nFixes #6547\n", + "parents": ["012959e3cc053c065c110c952d08146689b0848b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "45a411e8f8314b844bc20aef57afb59991c4a637", + "subject": "fix(pyinstaller): preserve namespace declarations", + "body": "fix(pyinstaller): preserve namespace declarations\n\nProject PYZ namespace packages as metadata so their query paths do not claim output directories. This lets independent CArchive files retain the same logical path and remain inspectable and extractable.\n\nFixes #6539\n", + "parents": ["60981e0801724e0b97835e437225a2324d072edf"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "461541348e66d71cddcda02db002ce195a8979d9", + "subject": "docs: clarify evidence ownership and verification guidance", + "body": "docs: clarify evidence ownership and verification guidance\n", + "parents": ["45a411e8f8314b844bc20aef57afb59991c4a637"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e36df2c8de669f64bbf9932141e7b6f7c21e3b9c", + "subject": "docs(adb): clarify emulator observation field", + "body": "docs(adb): clarify emulator observation field\n", + "parents": ["461541348e66d71cddcda02db002ce195a8979d9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0c99194b8c6f51acc1eea9317f5178348889e22f", + "subject": "docs(artifacts): clarify active-reader extraction scope", + "body": "docs(artifacts): clarify active-reader extraction scope\n", + "parents": ["e36df2c8de669f64bbf9932141e7b6f7c21e3b9c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f28c0fdfb029f351e2b8b3e579e2e3b82674840d", + "subject": "fix(erlang): select the last repeated BEAM chunk", + "body": "fix(erlang): select the last repeated BEAM chunk\n\nFixes #6518\n", + "parents": ["0c99194b8c6f51acc1eea9317f5178348889e22f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "667f73aa547ee5254bc68ac5454bd73862928f8f", + "subject": "fix(il2cpp): distinguish rank-one array types", + "body": "fix(il2cpp): distinguish rank-one array types\n\nFixes #6534\n", + "parents": ["f28c0fdfb029f351e2b8b3e579e2e3b82674840d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fa56001f184b1fef3132e27b97cabdbab1b10171", + "subject": "fix(python): align pyc and PYZ marshal decoding", + "body": "fix(python): align pyc and PYZ marshal decoding\n\nFixes #6560\nFixes #6559\n", + "parents": ["667f73aa547ee5254bc68ac5454bd73862928f8f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0154141304028645d767bad32a1f7568b5d4815b", + "subject": "fix(browser): preserve frame identity across captures (#4040)", + "body": "fix(browser): preserve frame identity across captures (#4040)\n\n* fix(browser): preserve capture evidence fidelity\n\n* fix(browser): align frame identity comparisons\n\n* fix(browser): retain historical frame evidence\n\n* fix(electron): retain same-document script owners\n\n* fix(electron): bind frame proof to tree reads\n\n* fix(browser): retain malformed frame scope\n\n* fix(browser): retain WebMCP event scope\n\n* fix(browser): retain malformed timeline identity\n\n* fix(browser): unify frame identity and scope\n\n* fix(electron): prove enclosing frame ancestry\n\n* fix(electron): separate ancestry from file policy\n\n* fix(browser): preserve transient fragment semantics\n\n* fix(browser): retry uncertain initial frame scope\n\n* fix(browser): preserve runtime frame identity\n\n* refactor(browser): separate independent capture fixes\n\n* fix(electron): detect tree-first document replacement\n\n* fix(electron): retain same-document tree authority\n\n---------\n\nCo-authored-by: eco-null \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["fa56001f184b1fef3132e27b97cabdbab1b10171"], + "authors": [ + { + "name": "Can", + "email": "159528514+eco-null@users.noreply.github.com", + "user": { + "login": "eco-null", + "__typename": "User" + } + }, + { + "name": "eco-null", + "email": "eco-null@users.noreply.github.com", + "user": { + "login": "eco-null", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [4040] + }, + { + "sha": "446b284239f2c87dc46dadb5608e08ea8d999605", + "subject": "fix(elf): resolve symbol versions from requirements", + "body": "fix(elf): resolve symbol versions from requirements\n\nFixes #6533\n", + "parents": ["0154141304028645d767bad32a1f7568b5d4815b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "642f6571ea9d333ea50114c25e648dbb5b8a3c46", + "subject": "fix(elf): follow loader version index precedence", + "body": "fix(elf): follow loader version index precedence\n\nVERDEF entries replace VERNEED names for shared indices, matching glibc lookup behavior.\n", + "parents": ["446b284239f2c87dc46dadb5608e08ea8d999605"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3ba19426314384dde8183d21bf1de932e1e7db5e", + "subject": "test(firmware): bind owned producers and exercise real limits", + "body": "test(firmware): bind owned producers and exercise real limits\n", + "parents": ["642f6571ea9d333ea50114c25e648dbb5b8a3c46"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "50241b368becd5dee2f15421f4cd6de7a6f3bfd8", + "subject": "fix(adb): preserve push target semantics", + "body": "fix(adb): preserve push target semantics\n\nFixes #6566\n\nFixes #6567\n", + "parents": ["3ba19426314384dde8183d21bf1de932e1e7db5e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a4bf6f83a6243557850219f6ecf6aa2a8a3560a7", + "subject": "fix(cli): merge sibling output filter slices", + "body": "fix(cli): merge sibling output filter slices\n\nFixes #6542\n", + "parents": ["50241b368becd5dee2f15421f4cd6de7a6f3bfd8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d53584a10a7d9178aad338675864235c8e4e386a", + "subject": "fix(browser): preserve Link context semantics", + "body": "fix(browser): preserve Link context semantics\n\nFixes #6504\n\nFixes #6505\n\nFixes #6506\n", + "parents": ["a4bf6f83a6243557850219f6ecf6aa2a8a3560a7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "81de82a1a4dda419e85ab55bdf458d4dc1ee0788", + "subject": "fix(python): classify historical headers and signed flags", + "body": "fix(python): classify historical headers and signed flags\n\nFixes #6568, #6487\n", + "parents": ["d53584a10a7d9178aad338675864235c8e4e386a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "aee249b1ddb3e643b22ce049909160f0ce37a63e", + "subject": "fix(python): normalize legacy code flags for equality", + "body": "fix(python): normalize legacy code flags for equality\n\nPreserve CPython 3.7–3.10 constructor flag semantics in code keys.\n", + "parents": ["81de82a1a4dda419e85ab55bdf458d4dc1ee0788"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7af6fa01f56c9019e05ba7b20d21bd712d73d0f6", + "subject": "fix(environment): compare captured bodies by representation", + "body": "fix(environment): compare captured bodies by representation\n\nKeep JSON, text, and retained bytes distinct through fidelity comparison. Compare binary bodies by bytes, including valid UTF-8 bytes against equivalent text, and keep empty-body compatibility explicit.\n\nFixes #6564\n", + "parents": ["aee249b1ddb3e643b22ce049909160f0ce37a63e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e6537df806f547f9958c0a2e2efad83f81e9372a", + "subject": "docs: clarify derived values and comparison controls", + "body": "docs: clarify derived values and comparison controls\n", + "parents": ["7af6fa01f56c9019e05ba7b20d21bd712d73d0f6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fe0325c6d1c881a6c4670cb70b1543ebf607ee60", + "subject": "fix(environment): scope fidelity ID normalization", + "body": "fix(environment): scope fidelity ID normalization\n\nReserve equal global ID pairs and stop normalizing contested pairings. Keep numeric measurements literal, scope keyed collection identities through learning and comparison, and normalize string references only where learning established the same field as an ID.\n\nFixes #6565\nFixes #6550\nFixes #6557\n", + "parents": ["e6537df806f547f9958c0a2e2efad83f81e9372a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "21b836a32710a575357715a798beadd0f3976b8a", + "subject": "test(process): print the progress frames when the sparse-child bound fails (#6427)", + "body": "test(process): print the progress frames when the sparse-child bound fails (#6427)\n\nThe sparse-child capture test asserted the frame bound with a bare boolean,\nso a failure only printed \"expected false to be true\". The assertion now\ncarries the running progress details (elapsed time, frames, samples,\ninteractions) as its failure message. This only adds diagnostics to a\nfailure; it does not change what passes and does not fix the flake.\n\nRefs #5889.\n\n🤖 Generated with Claude Code (Sonnet 5.5) 🦊\n\nCo-authored-by: Claude Sonnet 5.5 ", + "parents": ["fe0325c6d1c881a6c4670cb70b1543ebf607ee60"], + "authors": [ + { + "name": "Cassie_Fox", + "email": "249835913+CassieFox23@users.noreply.github.com", + "user": { + "login": "CassieFox23", + "__typename": "User" + } + }, + { + "name": "Claude Sonnet 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6427] + }, + { + "sha": "19d975751fcaf9c038a4cba26761644435f4f55b", + "subject": "fix(il2cpp): name the metadata file when linking finds malformed metadata (#6425)", + "body": "fix(il2cpp): name the metadata file when linking finds malformed metadata (#6425)", + "parents": ["21b836a32710a575357715a798beadd0f3976b8a"], + "authors": [ + { + "name": "Wade", + "email": "160517347+Sriram-PR@users.noreply.github.com", + "user": { + "login": "Sriram-PR", + "__typename": "User" + } + } + ], + "pullRequests": [6425] + }, + { + "sha": "572d0c234089605f120dcfea340f11e38a3c3705", + "subject": "fix(flutter): honor ELF note alignment when reading build IDs (#6423)", + "body": "fix(flutter): honor ELF note alignment when reading build IDs (#6423)\n\n* fix(flutter): honor ELF note alignment when reading build IDs\n\n* test(flutter): key shared note ranges by effective alignment\n\nCover a program and section declaration that share one note range: differing effective alignments (8 and 4) must both be read, while declarations that both normalize to four bytes (1 and 4) still share one read. 24-byte build IDs pad identically at both alignments, so only the range key decides the read count.", + "parents": ["19d975751fcaf9c038a4cba26761644435f4f55b"], + "authors": [ + { + "name": "RRFZ", + "email": "247457381+Plastic-time@users.noreply.github.com", + "user": { + "login": "Plastic-time", + "__typename": "User" + } + } + ], + "pullRequests": [6423] + }, + { + "sha": "99be47a9a341aa779fa0a7adafe358f89863ec86", + "subject": "refactor(firmware): centralize audited tool requirements", + "body": "refactor(firmware): centralize audited tool requirements\n", + "parents": ["572d0c234089605f120dcfea340f11e38a3c3705"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "630e6becdf3114ca57818c17b36700355ad9696e", + "subject": "fix(javascript): associate requested bindings only with resolved native addons (#6402)", + "body": "fix(javascript): associate requested bindings only with resolved native addons (#6402)\n\n* fix(javascript): associate requested bindings only with resolved native addons\n\n* test(javascript): cover the exact native addon association\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["99be47a9a341aa779fa0a7adafe358f89863ec86"], + "authors": [ + { + "name": "pablodiazjorge", + "email": "102741971+pablodiazjorge@users.noreply.github.com", + "user": { + "login": "pablodiazjorge", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6402] + }, + { + "sha": "cc99d896bea206e99507adf01217a3528a0a2611", + "subject": "fix(python): reject code keys and set members with unhashable consts (#6424)", + "body": "fix(python): reject code keys and set members with unhashable consts (#6424)\n\n* fix(python): reject code keys and set members with unhashable consts\n\n* fix(python): refuse to hash a tuple that is still being read\n\n* fix(python): hash a code object's co_consts tuple, not its item list\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["630e6becdf3114ca57818c17b36700355ad9696e"], + "authors": [ + { + "name": "Wade", + "email": "160517347+Sriram-PR@users.noreply.github.com", + "user": { + "login": "Sriram-PR", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6424] + }, + { + "sha": "b6833b9f61de355c7223bc100035bd44144f35ee", + "subject": "fix(model): recognize named chat templates in summaries", + "body": "fix(model): recognize named chat templates in summaries\n\nCount retained template content rather than only the default key; keep names-only inventories distinct.\n\nFixes #6569\n", + "parents": ["cc99d896bea206e99507adf01217a3528a0a2611"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "275095a9c69fc4688bf69f9614a9f4f0b8d48420", + "subject": "fix(model): retain resolved GGUF alignment under cancellation", + "body": "fix(model): retain resolved GGUF alignment under cancellation\n\nPublish alignment from the parser when explicit metadata validates it, or when metadata completion establishes the default. Preserve that fact through later parsing and hashing failures.\n\nFixes #6579\n", + "parents": ["b6833b9f61de355c7223bc100035bd44144f35ee"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "54c666a5ae138d2089bd2958961ed5048ff43ae6", + "subject": "fix(environment): reject out-of-range clock offsets", + "body": "fix(environment): reject out-of-range clock offsets\n\nReject invalid ISO offsets while preserving valid boundary values. Validate stored clock-format offsets through the same parser so malformed imported formats cannot reach rendering.\n\nFixes #6524\n", + "parents": ["275095a9c69fc4688bf69f9614a9f4f0b8d48420"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "18225b9bd621a66b3825578eabe3f8cdff0f0430", + "subject": "fix(environment): preserve submillisecond insert ordering", + "body": "fix(environment): preserve submillisecond insert ordering\n\nCompare retained submillisecond components after milliseconds, so ordered collections recognize and place distinct timestamps correctly.\n\nFixes #6525\n", + "parents": ["54c666a5ae138d2089bd2958961ed5048ff43ae6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "65168f77fb9bb1b12e1f0bfbc0fc7af22cb15ecd", + "subject": "fix(environment): restrict epoch normalization to clock fields", + "body": "fix(environment): restrict epoch normalization to clock fields\n\nRequire a time-field token boundary before treating numeric values as epoch clocks, so identifiers such as media format codes remain literal. Clarify recognized field forms and clock offset and precision semantics in the fidelity guide.\n\nFixes #6551\n", + "parents": ["18225b9bd621a66b3825578eabe3f8cdff0f0430"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c74bc2108c155be222ca3f8099696769700e7efc", + "subject": "fix(process): preserve sibling path identities", + "body": "fix(process): preserve sibling path identities\n\nKeep aliases on selected paths at clear text delimiters so a longer sibling filename is not rewritten as the executable. Version the normalization contract and cover source and actual PTY behavior.\n\nFixes #6586\n", + "parents": ["65168f77fb9bb1b12e1f0bfbc0fc7af22cb15ecd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ea579ebfaee0672d2e3a5324b9e44d957c75177c", + "subject": "fix(sigrok): retain recording suffix for autodetection", + "body": "fix(sigrok): retain recording suffix for autodetection\n\nCopy recordings under a private filename that retains the caller-selected final suffix, and pass that filename to sigrok. This restores filename-based autodetection without exposing the source directory.\n\nFixes #6580\n", + "parents": ["c74bc2108c155be222ca3f8099696769700e7efc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ce48f43550c205a59a046acaf84225c897c3f64d", + "subject": "test(go): assert unresolved MZ candidate boundary", + "body": "test(go): assert unresolved MZ candidate boundary\n", + "parents": ["ea579ebfaee0672d2e3a5324b9e44d957c75177c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "379f37307a3c05cde96fcc93188ab5d8f044a8d1", + "subject": "fix(pe): ignore unused export ordinal slots", + "body": "fix(pe): ignore unused export ordinal slots\n\nFixes #6577\n", + "parents": ["ce48f43550c205a59a046acaf84225c897c3f64d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "abbb1d7135fbf26662447374cbe4e1ec2939a9af", + "subject": "fix(macho): recognize arm64_32 binaries", + "body": "fix(macho): recognize arm64_32 binaries\n\nFixes #6581\n", + "parents": ["379f37307a3c05cde96fcc93188ab5d8f044a8d1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "98a232299878e87967a29f686c71a7a7d59b4b20", + "subject": "fix(go): honor amd64p32 pointer width", + "body": "fix(go): honor amd64p32 pointer width\n\nFixes #6590\n", + "parents": ["abbb1d7135fbf26662447374cbe4e1ec2939a9af"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "553262443ad597f45b9c94fec1b0e266f629daf0", + "subject": "fix(pe): accept BER indefinite CMS values", + "body": "fix(pe): accept BER indefinite CMS values\n\nFixes #6574\n", + "parents": ["98a232299878e87967a29f686c71a7a7d59b4b20"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ba7c3dafab2befacde9de0ebca3a9164cea49e63", + "subject": "fix(browser): reject overlapping indexed source maps", + "body": "fix(browser): reject overlapping indexed source maps\n\nFixes #6562\n", + "parents": ["553262443ad597f45b9c94fec1b0e266f629daf0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cde858d546b2e12a2713960793e51c16a74df4ae", + "subject": "fix(browser): resolve prefixed XHTML form actions", + "body": "fix(browser): resolve prefixed XHTML form actions\n\nFixes #6561\n", + "parents": ["ba7c3dafab2befacde9de0ebca3a9164cea49e63"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "401d72997bdb2d469679250aca6848ee53b8cf88", + "subject": "fix(browser): preserve well-known path case", + "body": "fix(browser): preserve well-known path case\n\nFixes #6571\n", + "parents": ["cde858d546b2e12a2713960793e51c16a74df4ae"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d0e93fa34b9c1a10508399c080fc4f17643d00c5", + "subject": "docs(browser): clarify parser evidence contracts", + "body": "docs(browser): clarify parser evidence contracts\n", + "parents": ["401d72997bdb2d469679250aca6848ee53b8cf88"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2dfcc6463b87f5c6423cfaf0597389de1457b8c4", + "subject": "fix(gpu): accept percent-prefixed PTX entry names", + "body": "fix(gpu): accept percent-prefixed PTX entry names\n\nFixes #6592\n", + "parents": ["d0e93fa34b9c1a10508399c080fc4f17643d00c5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f250c8cca503c7c372ed156f6608d1599cf6f925", + "subject": "fix(gpu): accept PTX compute target aliases", + "body": "fix(gpu): accept PTX compute target aliases\n\nPreserve the source spelling of NVIDIA's documented compute_xx target synonym.\n\nFixes #6494\n", + "parents": ["2dfcc6463b87f5c6423cfaf0597389de1457b8c4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "64423297176442805a53086febd1da23cf5e75e5", + "subject": "fix(gpu): parse legacy PTX body parameters", + "body": "fix(gpu): parse legacy PTX body parameters\n\nPTX 1.0 through 1.3 declares kernel parameters inside the entry body. Keep later-version parameter-list parsing unchanged.\n\nFixes #6594\n", + "parents": ["f250c8cca503c7c372ed156f6608d1599cf6f925"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0205f870db669a35332cb4a82a182187e7342efe", + "subject": "fix(gpu): keep unknown targets out of exact filters", + "body": "fix(gpu): keep unknown targets out of exact filters\n\nFixes #6599\n", + "parents": ["64423297176442805a53086febd1da23cf5e75e5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "00a9e95de91a4bd4d2a41f8aee704a53fa575750", + "subject": "fix(gpu): resolve extended CUBIN symbol sections", + "body": "fix(gpu): resolve extended CUBIN symbol sections\n\nFixes #6600\n", + "parents": ["0205f870db669a35332cb4a82a182187e7342efe"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3ed9f4b7e4ccd5b009bfbe6cf80383165199530b", + "subject": "docs(firmware): document the Windows Unblob submodule checkout (#6464)", + "body": "docs(firmware): document the Windows Unblob submodule checkout (#6464)\n\nOn Windows, the pinned Unblob commit cannot be checked out because 11\nupstream fixture paths under tests/integration/ are invalid on NTFS.\nDocument the verified sparse-checkout workaround and point Windows\ncontributors to it from CONTRIBUTING.\n\n\nClaude-Session: https://claude.ai/code/session_01LjhoPGpqAwHwcCgectzRsp\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["00a9e95de91a4bd4d2a41f8aee704a53fa575750"], + "authors": [ + { + "name": "Ezra Brilliant", + "email": "64943463+ezrabrilliant@users.noreply.github.com", + "user": { + "login": "ezrabrilliant", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6464] + }, + { + "sha": "0473a3091c75fd32ad5609af3e4fdc035427318c", + "subject": "fix(recovery): retain file outcomes and cleanup ownership", + "body": "fix(recovery): retain file outcomes and cleanup ownership\n\nUse shared owned-file and directory primitives throughout Wakaru discovery,\nsnapshots, report parsing and publication. Preserve primary read failures and\ncompleted fingerprints when final close fails or receives cancellation.\n\nRetain exact cleanup capabilities before retiring workspaces, block new work\nwhile cleanup is unresolved, and bind error status to the aggregate owner so\npartial cleanup and later retry keep resource attribution current.\n", + "parents": ["3ed9f4b7e4ccd5b009bfbe6cf80383165199530b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "73d85f6299575050eddbe0cdfec47258686b7d85", + "subject": "fix(pe): preserve biased export ordinals", + "body": "fix(pe): preserve biased export ordinals\n\nAccept the format-derived ordinal range for PE export slots.\n", + "parents": ["0473a3091c75fd32ad5609af3e4fdc035427318c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a281455f0b83c088ea30ebbb887398888ed167fb", + "subject": "docs: clarify parser authority and compatibility evidence", + "body": "docs: clarify parser authority and compatibility evidence\n", + "parents": ["73d85f6299575050eddbe0cdfec47258686b7d85"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f921cb943e2a0ee79cc375947e608fac3b01a2c5", + "subject": "fix(python): preserve code-name identity", + "body": "fix(python): preserve code-name identity\n\nFixes #6593\n", + "parents": ["a281455f0b83c088ea30ebbb887398888ed167fb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "667402846c53026d0a47f807534e6b4be01a694a", + "subject": "fix(managed): validate metadata operands and locals declarations", + "body": "fix(managed): validate metadata operands and locals declarations\n\nClassify MemberRef operands from parsed signatures, validate signature table references and LocalVarSig blobs, and compare observed locals declaration presence. Keep partial CIL facts and transient-budget ownership at the method reader.\n\nFixes #6578\nFixes #6572\nFixes #6558\nFixes #6513\n", + "parents": ["f921cb943e2a0ee79cc375947e608fac3b01a2c5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c6ab9650625b328751d030a4b1ce0694f6e60aea", + "subject": "fix(python): preserve historical signed code fields", + "body": "fix(python): preserve historical signed code fields\n\nKeep signed co_stacksize and co_flags for historical magic entries whose constructors accepted them. Preserve magic 3410 with a constructor-revision limitation; reject negative values from 3411 onward.\n\nFixes #6487\n", + "parents": ["667402846c53026d0a47f807534e6b4be01a694a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3784a8e547f006c3513fbc8948eaa72d8395718c", + "subject": "fix(python): compare code objects without inline caches", + "body": "fix(python): compare code objects without inline caches\n\nFixes #6597\n", + "parents": ["c6ab9650625b328751d030a4b1ce0694f6e60aea"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cc8835c7a316b7d82a9f6277ee1431e75d8305af", + "subject": "fix(tests): stabilize process fixtures and malformed input coverage (#6570)", + "body": "fix(tests): stabilize process fixtures and malformed input coverage (#6570)\n\nPreserve renamed-executable identity, complete-line readiness and bounded child lifetimes. Use genuinely malformed Inspector input and explicit ADB file-probe/push/hash facts while preserving cancellation, cleanup, Evidence and completeness assertions. Adopt current main Go fixtures and retain malformed COFF coverage.\n\nFixes #6556\nRefs #6480", + "parents": ["3784a8e547f006c3513fbc8948eaa72d8395718c"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6570] + }, + { + "sha": "23def04096869b85c4d3c14a73ed09168483c9f6", + "subject": "test(apktool): own lifecycle fixtures and process observations", + "body": "test(apktool): own lifecycle fixtures and process observations\n", + "parents": ["cc8835c7a316b7d82a9f6277ee1431e75d8305af"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "19520d00087bc92b5c1020918ea3b7c064768bb4", + "subject": "refactor(mcp): reuse parsed Evidence tool parameters", + "body": "refactor(mcp): reuse parsed Evidence tool parameters\n", + "parents": ["23def04096869b85c4d3c14a73ed09168483c9f6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "520f8e8042c39833fb1656d3e55fb2896bff43a5", + "subject": "fix(runtime): align remaining Node security pins and setup guidance (#6316)", + "body": "fix(runtime): align remaining Node security pins and setup guidance (#6316)\n\nDerive exported Docker image versions from .nvmrc through generated package metadata. Align active setup translations with patched Node release floors and verify actual CLI exports, real Docker/agentenv, package and website workflows.\n\nEight built-test shards pass; three unrelated managed source failures reproduce on clean main and remain tracked in #6650.\n\nRefs #6480\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["19520d00087bc92b5c1020918ea3b7c064768bb4"], + "authors": [ + { + "name": "GamerDubz", + "email": "105694977+GamerDubz@users.noreply.github.com", + "user": { + "login": "GamerDubz", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6316] + }, + { + "sha": "0d44afed7e3f19855a756ae7860ed1b3b00730ea", + "subject": "fix(model): retain exact safetensors shape dimensions", + "body": "fix(model): retain exact safetensors shape dimensions\n\nKeep unsigned integer declarations exact until their owning field is interpreted. Bound actual offsets at conversion and validate shape products in declaration order, preserving large empty tensor shapes without hiding an earlier overflow.\n\nFixes #6627\n", + "parents": ["520f8e8042c39833fb1656d3e55fb2896bff43a5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d0a8e3c60d9cf48d0507014c5574c549537b0164", + "subject": "fix(python): read legacy TYPE_INT64 marshal values", + "body": "fix(python): read legacy TYPE_INT64 marshal values\n\nFixes #6609\n", + "parents": ["0d44afed7e3f19855a756ae7860ed1b3b00730ea"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "55185abec848231ae860bc1a57dfd7b3034fe65b", + "subject": "fix(apk): read constructed BER signer signatures", + "body": "fix(apk): read constructed BER signer signatures\n\nShare the bounded BER tree reader between PE certificates and APK v1 CMS, then accept constructed OCTET STRING signature values while retaining the declared signer and certificate facts. Embedded X.509 certificate decoding keeps its DER requirement.\n\nFixes #6603\n", + "parents": ["d0a8e3c60d9cf48d0507014c5574c549537b0164"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "80d3fd40f10dfcabaccec136984db81bb182f009", + "subject": "fix(adb): count Unicode requested permissions", + "body": "fix(adb): count Unicode requested permissions\n\nCount requested-permission rows containing Unicode names, and keep counting subsequent rows in the same dumpsys section.\n\nFixes #6584\n", + "parents": ["55185abec848231ae860bc1a57dfd7b3034fe65b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "48cd33af186fd50111503ed6aff2296436286bc6", + "subject": "fix(signals): reject missing sigrok channels", + "body": "fix(signals): reject missing sigrok channels\n\nRecognize the exact selected-channel diagnostic even when sigrok-cli exits successfully, while preserving partial producer output in the invalid-input details. Cover both public JSON adapters and add the missing-channel case to the Linux real-tool verifier.\n\nFixes #6631\n", + "parents": ["80d3fd40f10dfcabaccec136984db81bb182f009"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ef05713d86729aca951b6be385835147d3b03313", + "subject": "fix(elf): reuse recognized machine architecture facts", + "body": "fix(elf): reuse recognized machine architecture facts\n\nPreserve the shared EM_HEXAGON classification in Go and Rust image reports.\n\nFixes #6629\n", + "parents": ["48cd33af186fd50111503ed6aff2296436286bc6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3a2074b633868b28518d4d989f0f4fefcaa2cb41", + "subject": "fix(asn1): decode four-byte BER lengths unsigned", + "body": "fix(asn1): decode four-byte BER lengths unsigned\n\nAccumulate length octets arithmetically so a four-octet length with bit 31 set remains a positive unsigned value and is rejected by the containing-range check rather than becoming a negative length.\n", + "parents": ["ef05713d86729aca951b6be385835147d3b03313"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "25aa298c61ddd7968a58fb7fe0323a832a70f6ef", + "subject": "fix(gpu): preserve parameter and target declarations", + "body": "fix(gpu): preserve parameter and target declarations\n\nDecode observed V2 CUDA parameters, retain qualified PTX parameter names and entry resource counts, and preserve family and feature target declarations through selection and consistency checks.\n\nFixes #6624\nFixes #6625\nFixes #6626\nFixes #6618\nFixes #6613\nFixes #6606\n", + "parents": ["3a2074b633868b28518d4d989f0f4fefcaa2cb41"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d97db6ebaf0023397d8c61e423ec507cec3095ee", + "subject": "fix(captures): preserve canonical TShark alias fields", + "body": "fix(captures): preserve canonical TShark alias fields\n\nTShark resolves selected field aliases before writing packet JSON. Keep the requested selector in Evidence while accepting the canonical field key produced for it.\n\nFixes #6595\n", + "parents": ["25aa298c61ddd7968a58fb7fe0323a832a70f6ef"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4524bbd8dfec420d235b085caad5e17cc41fadb6", + "subject": "fix(qlog): mark records with unknown STREAM FIN incomplete", + "body": "fix(qlog): mark records with unknown STREAM FIN incomplete\n\nKeep known STREAM ranges and the unknown FIN value, while listing the source event among incomplete fact records so summary and retained views agree.\n\nFixes #6598\n", + "parents": ["d97db6ebaf0023397d8c61e423ec507cec3095ee"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1ece9630e630cd07cf129066c1f6d8785cb8f439", + "subject": "fix(pcap): retain absolute HTTP request targets", + "body": "fix(pcap): retain absolute HTTP request targets\n\nReuse parsed URI facts and preserve uncertainty when mixed request records cannot all be resolved from the producer output.\n\nFixes #6537\n", + "parents": ["4524bbd8dfec420d235b085caad5e17cc41fadb6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9c4dd7eb23110ffec2243e949f93db13f5c51605", + "subject": "fix(rust): preserve historical cargo-auditable feature facts", + "body": "fix(rust): preserve historical cargo-auditable feature facts\n\nAccept observed feature arrays, preserve omitted values as unknown across producer revisions, and keep older retained reports compatible. Reuse bounded JSON sizing before graph expansion.\n\nFixes #6622\n", + "parents": ["1ece9630e630cd07cf129066c1f6d8785cb8f439"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "74c23005c0136a98caf7fd52ab65edc039b5cde2", + "subject": "fix(ptx): normalize parameter declarators once", + "body": "fix(ptx): normalize parameter declarators once\n\nFixes #6606\n", + "parents": ["9c4dd7eb23110ffec2243e949f93db13f5c51605"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c70eefad50a7ba5fd4a9b9b144c6d00fd4b9a963", + "subject": "fix(managed): compare observed call targets", + "body": "fix(managed): compare observed call targets\n\nCompare aligned managed call edges by their reported declaring type and method name, keeping missing target facts unknown without comparing build-local tokens. Document the static comparison limits.\n\nFixes #6630\n", + "parents": ["74c23005c0136a98caf7fd52ab65edc039b5cde2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "142cf188a7c0238017c91447adaefcff7a2b775a", + "subject": "fix(artifacts): compare PyInstaller declaration facts", + "body": "fix(artifacts): compare PyInstaller declaration facts\n\nCompare stable producer-tagged declarations independently of materialized payloads. Preserve missing facts as unknown without applying PyInstaller rules to foreign metadata or nested container entries.\n\nFixes #6484\nFixes #6485\n", + "parents": ["c70eefad50a7ba5fd4a9b9b144c6d00fd4b9a963"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "40717c931bab6e2b7e4955bdff13ef000b68b137", + "subject": "test(managed): retain derived facts in cloned method fixtures", + "body": "test(managed): retain derived facts in cloned method fixtures\n\nClone caller-scoped call and field facts with the fixture methods. Keep known CIL changes alongside unavailable target metadata in the missing-row controls.\n", + "parents": ["142cf188a7c0238017c91447adaefcff7a2b775a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "486111725e9edbad14e1f7e0d658f674df920883", + "subject": "refactor(apk): consume shared BER node facts", + "body": "refactor(apk): consume shared BER node facts\n\nRemove the APK reader's pass-through children and content projections so format consumers read the shared BER owner's nodes directly. Keep only the encoded-span helper needed for exact issuer and certificate bytes, and describe CMS BER as this parser's structural owner.\n", + "parents": ["40717c931bab6e2b7e4955bdff13ef000b68b137"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e90782283c714e06bff60094e1e9be5aee0e77b9", + "subject": "fix(adb): delimit permission section by indentation", + "body": "fix(adb): delimit permission section by indentation\n", + "parents": ["486111725e9edbad14e1f7e0d658f674df920883"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "007f0d214db80d053321cff2b5bbf37192cce7c6", + "subject": "test(managed): preserve field-access owner identities", + "body": "test(managed): preserve field-access owner identities\n", + "parents": ["e90782283c714e06bff60094e1e9be5aee0e77b9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "749ae11b1571dcde2253b72d678d48aad2345117", + "subject": "fix(managed): share reference instruction semantics", + "body": "fix(managed): share reference instruction semantics\n\nUse the same parsed method/field operand predicate when producing member edges and comparing call and field shapes. Exclude ldtoken and operands without a value from both interpretations.\n", + "parents": ["007f0d214db80d053321cff2b5bbf37192cce7c6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5a5bcb6b549cfdfba6dd3f02dd681e505ffd2a26", + "subject": "test(managed): align source goldens with metadata validation", + "body": "test(managed): align source goldens with metadata validation\n\nFixes #6650\n", + "parents": ["749ae11b1571dcde2253b72d678d48aad2345117"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "99a5ffae3bf3d73f11bca3d9b8893347964b10b9", + "subject": "fix(native): consolidate observed address validation", + "body": "fix(native): consolidate observed address validation\n", + "parents": ["5a5bcb6b549cfdfba6dd3f02dd681e505ffd2a26"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "86a0428d5fe019f9deba1e145ab6c38e3ed4a7f8", + "subject": "fix(gdb): separate queued work from MI synchronization", + "body": "fix(gdb): separate queued work from MI synchronization\n\nQueued console followers have not dispatched MI records. Use active protocol requests when deciding whether the admitted close can verify and detach its inferior.\n\nFixes #6661\n", + "parents": ["99a5ffae3bf3d73f11bca3d9b8893347964b10b9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5bb01ca9a3a15df12b52b871fd28181b10f427ce", + "subject": "fix(gdb): wait for the outer console command to finish", + "body": "fix(gdb): wait for the outer console command to finish\n\nAfter a running result, queue a tokenized read-only MI query to establish that GDB has returned to its command loop. Keep collecting through intermediate inferior stops and retain the query reply as protocol Evidence.\n\nFixes #6660\n", + "parents": ["86a0428d5fe019f9deba1e145ab6c38e3ed4a7f8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0e3e577568433e62ba4e9de55d4468bcf065f5d8", + "subject": "fix(erlang): retain admission cancellation reason", + "body": "fix(erlang): retain admission cancellation reason\n\nPreserve the caller's AbortSignal reason when BEAM inspection is cancelled before provider admission. Keep the production filesystem boundary and late-completion contracts covered.\n\nFixes #6658\n", + "parents": ["5bb01ca9a3a15df12b52b871fd28181b10f427ce"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "79b3f4694dab266ca40de308e360fa5fac04be81", + "subject": "fix(desktop): probe GameMaker data filenames", + "body": "fix(desktop): probe GameMaker data filenames\n\nSelect conventional Linux and macOS game data files for the existing bounded FORM/GEN8 probe. Add service-boundary regressions and document the selected names.\n\nFixes #6659\n", + "parents": ["0e3e577568433e62ba4e9de55d4468bcf065f5d8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b443b5a89bebbbdad7f7ea8b26f21b7016f22096", + "subject": "fix(harmony): exclude raw resources from manifests", + "body": "fix(harmony): exclude raw resources from manifests\n\nClassify known resource paths once and keep a raw resource named module.json from changing the package model or appearing as a manifest. Add a filesystem-boundary regression and clarify the documented hint.\n\nFixes #6638\n", + "parents": ["79b3f4694dab266ca40de308e360fa5fac04be81"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8695ca8257ec9f433c519d0f34e6868bf6f104f6", + "subject": "fix(gpu): bound embedded section reads", + "body": "fix(gpu): bound embedded section reads\n\nFixes #6657\n", + "parents": ["b443b5a89bebbbdad7f7ea8b26f21b7016f22096"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "42086fdba7920786d5f097df037379fe8b31e537", + "subject": "fix(gpu): retain resources across entry pragmas", + "body": "fix(gpu): retain resources across entry pragmas\n\nFixes #6651\n", + "parents": ["8695ca8257ec9f433c519d0f34e6868bf6f104f6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8f9b2ab948177e33fe5392f9a6eea2460caa68f0", + "subject": "fix(reference-source): preserve raw POSIX filename identity", + "body": "fix(reference-source): preserve raw POSIX filename identity\n\nMark directories with non-UTF-8 names unsupported without following replacement-character paths, while retaining readable sibling observations.\n\nFixes #6653\n", + "parents": ["42086fdba7920786d5f097df037379fe8b31e537"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "16e64d58ffbd831219205c4fcc00832023ef7984", + "subject": "fix(reference-imports): retain exact dynamic import targets", + "body": "fix(reference-imports): retain exact dynamic import targets\n\nUse the shared exact-literal reader for dynamic imports, preserving expression-free templates and transparent TypeScript wrappers while leaving computed targets unknown.\n\nFixes #6654\n", + "parents": ["8f9b2ab948177e33fe5392f9a6eea2460caa68f0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9200adea61de8be7b2cb5dcfc5429a93c4922750", + "subject": "fix(reference-imports): retain exported import-equals dependencies", + "body": "fix(reference-imports): retain exported import-equals dependencies\n\nRoute exported external import-equals declarations through the same relationship owner as plain declarations so their required target is not dropped.\n\nFixes #6655\n", + "parents": ["16e64d58ffbd831219205c4fcc00832023ef7984"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "72dd48a44ce380792e1b80323bdbd60b9a2affa6", + "subject": "fix(managed): respect native module case semantics", + "body": "fix(managed): respect native module case semantics\n\nPreserve the observed native format when comparing module identities so ELF case-only differences remain mismatches while unknown platform behavior stays unresolved.\n\nFixes #6652\n", + "parents": ["9200adea61de8be7b2cb5dcfc5429a93c4922750"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "139fd52477b0bc3205167abd219d6940988dffd7", + "subject": "fix(il2cpp): reject duplicate method tokens per image", + "body": "fix(il2cpp): reject duplicate method tokens per image\n\nReject duplicate MethodDef row identities within one owning image before publishing native addresses or Ghidra seeds, while retaining cross-image reuse and folded code addresses.\n\nFixes #6610\n", + "parents": ["72dd48a44ce380792e1b80323bdbd60b9a2affa6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d20c7b09a6c5bd3e63a637663cb0b8c23f2a3c78", + "subject": "refactor(reference-imports): share exact literal parsing", + "body": "refactor(reference-imports): share exact literal parsing\n\nRoute legacy nested import-expression handling through the same exact-literal owner as dynamic imports, removing a duplicate string-only check.\n\nFixes #6654\n", + "parents": ["139fd52477b0bc3205167abd219d6940988dffd7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5c7755636ddb85c4e1cbd7eb667f914cecca2605", + "subject": "fix(model): preserve optional metadata and tensor alignment", + "body": "fix(model): preserve optional metadata and tensor alignment\n\nFixes #6656\nFixes #6637\nFixes #6636\n", + "parents": ["d20c7b09a6c5bd3e63a637663cb0b8c23f2a3c78"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1280e7e5134ea25f1593a85c09fd2f2304a11a35", + "subject": "fix(macho): infer legacy Intel simulator platforms", + "body": "fix(macho): infer legacy Intel simulator platforms\n\nFixes #6649\n", + "parents": ["5c7755636ddb85c4e1cbd7eb667f914cecca2605"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5d0d243a45c9132e1aff75d454ab53d86a74cc31", + "subject": "fix(macho)!: preserve ambiguous chained import names", + "body": "fix(macho)!: preserve ambiguous chained import names\n\nKeep the exact producer expression and report unknown symbol identity when chained-import text cannot distinguish a binding addend from a literal name suffix.\n\nFixes #6648\n\nBREAKING CHANGE: inspect_macho import names can be null when identity is ambiguous. Use raw_name for the observed expression and name_status to distinguish it from an exact symbol name.\n", + "parents": ["1280e7e5134ea25f1593a85c09fd2f2304a11a35"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "22df16186f822e90ae9a03d8e569c13ab3451f03", + "subject": "fix(elf): retain raw export name bytes", + "body": "fix(elf): retain raw export name bytes\n\nFixes #6647\n", + "parents": ["5d0d243a45c9132e1aff75d454ab53d86a74cc31"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "aa357d6d916b847e5908b86ca49ce6493e3e7f68", + "subject": "refactor(macho): separate dyld import and export parsing", + "body": "refactor(macho): separate dyld import and export parsing\n\nKeep mode-specific inputs and parsed row types at their respective parser boundaries.\n", + "parents": ["22df16186f822e90ae9a03d8e569c13ab3451f03"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "23e68cbdfb4709b3bc83fafc9f1aaed754e61729", + "subject": "fix(macho): preserve import identity in retained views", + "body": "fix(macho): preserve import identity in retained views\n\nUse distinct row contracts for imports and exports, retaining ambiguous names and historical import defaults without adding import-only fields to export pages. Verify the SDK-advertised schemas and both facets through MCP.\n", + "parents": ["aa357d6d916b847e5908b86ca49ce6493e3e7f68"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a7f967cf240eba8309cbf4526b2fc6338a52a617", + "subject": "style(desktop): format GameMaker probe coverage", + "body": "style(desktop): format GameMaker probe coverage\n", + "parents": ["23e68cbdfb4709b3bc83fafc9f1aaed754e61729"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8c4f96ef4759fd78da66c4b9726825ca71d7ee0c", + "subject": "chore(deps): update Vite security patch and dependency inventory (#6416)", + "body": "chore(deps): update Vite security patch and dependency inventory (#6416)\n\nUpdate Vite/PostCSS and refresh the lock-derived inventory while retaining TSRS platform selection and runtime dependency versions.\n\nSource/static checks, installed-platform signatures, full/production audits, real CLI/MCP workflows and all four package platforms pass. Portable CI retains the independently reproduced main PTX fixture failure tracked in #6675; use the owner-authorized existing PR-only baseline exception. Refs #6480.", + "parents": ["a7f967cf240eba8309cbf4526b2fc6338a52a617"], + "authors": [ + { + "name": "raidnouredden-ux", + "email": "raidnouredden@gmail.com", + "user": { + "login": "raidnouredden-ux", + "__typename": "User" + } + } + ], + "pullRequests": [6416] + }, + { + "sha": "5d6b8a0ab693c03ab85cf0807d40bedf021e76d8", + "subject": "fix(release): isolate npm publication from dependency execution (#6681)", + "body": "fix(release): isolate npm publication from dependency execution (#6681)\n\nKeep dependency execution in read-only release jobs and validate the original qualified archive with Node built-ins before publication. Refresh registry state on every publisher attempt; retain exact bytes/channel verification, v1 read-only recovery, and installed CLI/MCP checks before MCP publication.\n\nStatic/docs checks, artifact/registry/recovery tests and real package/rehearsal verification pass. All four hosted package platforms pass. Portable CI retains the independently reproduced main PTX failure in #6675 and fail-fast missing coverage; use the owner-authorized existing PR-only exception, with limitations documented in the PR. Refs #6480.", + "parents": ["8c4f96ef4759fd78da66c4b9726825ca71d7ee0c"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6681] + }, + { + "sha": "3c5c887a2cc7371a94fe0fd8b6c478dbf2af60db", + "subject": "refactor(json): consolidate representation size accounting", + "body": "refactor(json): consolidate representation size accounting\n\nShare bounded UTF-8 and UTF-16 JSON measurements across state serving, write retention and source-map admission. Remove duplicate counters and distinguish retained state estimates from encoded bytes while preserving limits and exact refusal diagnostics.\n", + "parents": ["5d6b8a0ab693c03ab85cf0807d40bedf021e76d8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "76b56957e94d804667f7890b244639ecc4725b32", + "subject": "refactor(android): own search summaries at the producer boundary", + "body": "refactor(android): own search summaries at the producer boundary\n\nReuse validated class pages for inline pagination audits while retaining complete provider replies. Move retention into the shared Android workflow and remove the MCP-only service wrapper and application text reparser. Preserve unknown JSON metadata, late cancellation and retention failures.\n", + "parents": ["3c5c887a2cc7371a94fe0fd8b6c478dbf2af60db"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bc411c24befceced5a9ea1ca1c1ce123fd02bf48", + "subject": "test: align boundary fixtures with producer contracts", + "body": "test: align boundary fixtures with producer contracts\n\nModel GDB console completion, use real directory reads and cleanup for late-enumeration failures, and distinguish supported PTX pointer qualifiers from unknown declarations. Preserve original assertion and cleanup failures through scoped test finalizers.\n", + "parents": ["76b56957e94d804667f7890b244639ecc4725b32"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "02940796f18f714cd8711019f0e676cd7496d9b9", + "subject": "fix(rust): retain parsed defaults in cached Evidence views", + "body": "fix(rust): retain parsed defaults in cached Evidence views\n\nBorrow sealed reports only when they match the parsed facts; otherwise cache the owned normalized snapshot. Keep historical feature omissions unknown through saved bundles and repeated retained pages without changing the source Evidence.\n\nFixes #6689\n", + "parents": ["bc411c24befceced5a9ea1ca1c1ce123fd02bf48"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "eed99a588e9b6c1872f0de898205e9082fb45854", + "subject": "fix(model): retain parsed headers when hashing is interrupted", + "body": "fix(model): retain parsed headers when hashing is interrupted\n\nShare partial observation ownership across GGUF and Safetensors. Preserve completed header facts through cancellation and MCP error delivery without claiming finalized digests or file identity.\n\nFixes #6684\n", + "parents": ["02940796f18f714cd8711019f0e676cd7496d9b9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "aa52ff6f4bffb47c8a3dcf60e1800e7dce5fad02", + "subject": "fix(gpu): preserve PTX parameter and target facts", + "body": "fix(gpu): preserve PTX parameter and target facts\n\nFixes #6664\nFixes #6675\nFixes #6680\nFixes #6695\n", + "parents": ["eed99a588e9b6c1872f0de898205e9082fb45854"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "386359060bf01439347bca23f1eb5953a2efa279", + "subject": "fix(go): read inline build strings from ELF mappings", + "body": "fix(go): read inline build strings from ELF mappings\n\nFixes #6716\n", + "parents": ["aa52ff6f4bffb47c8a3dcf60e1800e7dce5fad02"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d2739960afde3766f1002588be0ca0e032d16fb4", + "subject": "fix(rust): scan read-only ELF load data", + "body": "fix(rust): scan read-only ELF load data\n\nFixes #6663\n", + "parents": ["386359060bf01439347bca23f1eb5953a2efa279"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d31e42699f5ffb3c39b4b696844125b6dd5c1dad", + "subject": "fix(il2cpp): deduplicate consistent ELF registration aliases", + "body": "fix(il2cpp): deduplicate consistent ELF registration aliases\n\nFixes #6715\n", + "parents": ["d2739960afde3766f1002588be0ca0e032d16fb4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bdf13a63c4d225212676d4543eec4bf94d8257ea", + "subject": "fix(il2cpp): track unresolved ELF relocation widths", + "body": "fix(il2cpp): track unresolved ELF relocation widths\n\nFixes #6701\n", + "parents": ["d31e42699f5ffb3c39b4b696844125b6dd5c1dad"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "47900f99c5f02dc59738cb692a3fcb3982fbb2e7", + "subject": "fix(artifacts): preserve raw directory name identity", + "body": "fix(artifacts): preserve raw directory name identity\n\nFixes #6665\n", + "parents": ["bdf13a63c4d225212676d4543eec4bf94d8257ea"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "992e930b866b1e4e31b92b352ada6f0bb07bcde6", + "subject": "fix(desktop): retain unsupported filename coverage", + "body": "fix(desktop): retain unsupported filename coverage\n\nFixes #6665\n", + "parents": ["47900f99c5f02dc59738cb692a3fcb3982fbb2e7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "857a75baacf65feb8777870b2f731d04246ea103", + "subject": "fix: preserve unknown historical module resolution", + "body": "fix: preserve unknown historical module resolution\n\nFixes #6679\n\nFixes #6678\n\nFixes #6612\n", + "parents": ["992e930b866b1e4e31b92b352ada6f0bb07bcde6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4bad48d87328918782fbc119c6a2f772689421dc", + "subject": "fix: retain proven createRequire URL bases", + "body": "fix: retain proven createRequire URL bases\n\nFixes #6612\n\nFixes #6678\n", + "parents": ["857a75baacf65feb8777870b2f731d04246ea103"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "78ce91f1c204a816c21aa3bec70b5f06868b1b16", + "subject": "fix(apple): preserve keyed archive table identity", + "body": "fix(apple): preserve keyed archive table identity\n\nFixes #6662\n", + "parents": ["4bad48d87328918782fbc119c6a2f772689421dc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "869d2bc2ec4d2fef59af23dcb9fde12ea8d5ca08", + "subject": "fix(plist): reject XML dictionary keys without values", + "body": "fix(plist): reject XML dictionary keys without values\n\nFixes #6682\n", + "parents": ["78ce91f1c204a816c21aa3bec70b5f06868b1b16"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "43e7917ec2378ab324d08ca3c4e185daead77ffe", + "subject": "fix(apple): preserve NIBArchive special real values", + "body": "fix(apple): preserve NIBArchive special real values\n\nFixes #6583\n", + "parents": ["869d2bc2ec4d2fef59af23dcb9fde12ea8d5ca08"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f6230e2f9d11d3845927190aab7b9a31ecdabd61", + "subject": "fix(signals): reject missing targets and invalid UTF-8", + "body": "fix(signals): reject missing targets and invalid UTF-8\n\nFixes #6671\n\nFixes #6693\n", + "parents": ["43e7917ec2378ab324d08ca3c4e185daead77ffe"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8520d425d0b703768b114ecfbf1d70119427b089", + "subject": "fix(beam): accept bytes after declared form", + "body": "fix(beam): accept bytes after declared form\n\nFixes #6717\n", + "parents": ["f6230e2f9d11d3845927190aab7b9a31ecdabd61"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "131c1f1219b9d93d36fee57ff323f9e85adbb98e", + "subject": "fix(artifacts): compare source map target identity", + "body": "fix(artifacts): compare source map target identity\n\nFixes #6706\n", + "parents": ["8520d425d0b703768b114ecfbf1d70119427b089"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "045c7dd63a1a6347dcdc50418221423cd1f35cb8", + "subject": "fix(pyinstaller): retain executable member metadata", + "body": "fix(pyinstaller): retain executable member metadata\n\nFixes #6702\n", + "parents": ["131c1f1219b9d93d36fee57ff323f9e85adbb98e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c4a59101ace9f17c6506d0bf41c9c181d1038d83", + "subject": "fix(pyinstaller): decode interned unicode names", + "body": "fix(pyinstaller): decode interned unicode names\n\nFixes #6676\n", + "parents": ["045c7dd63a1a6347dcdc50418221423cd1f35cb8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5bcf71c66020e137eb42b03da2a5e96ad1931792", + "subject": "fix(pyinstaller): retain colliding archive observations", + "body": "fix(pyinstaller): retain colliding archive observations\n\nKeep source-distinct CArchive rows and decoded PYZ children in inventory. Refuse only when extraction reaches a destination conflict.\n\nFixes #6674\n", + "parents": ["c4a59101ace9f17c6506d0bf41c9c181d1038d83"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a8b8ff2acfdd5677bf3028c7a94eef85063577ad", + "subject": "fix(dotnet): preserve managed metadata comparison facts", + "body": "fix(dotnet): preserve managed metadata comparison facts\n\nDecode VARARG sentinels and allow omitted empty blob heaps while retaining failures for referenced missing data. Compare field and catch targets using owning parsed facts instead of build-local tokens.\n\nFixes #6720\nFixes #6686\nFixes #6713\nFixes #6712\n", + "parents": ["5bcf71c66020e137eb42b03da2a5e96ad1931792"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b305104e4aca8941468b3db6360c187050ea9c62", + "subject": "fix(dotnet): keep TypeRef catch identity unknown", + "body": "fix(dotnet): keep TypeRef catch identity unknown\n\nFixes #6712\n", + "parents": ["a8b8ff2acfdd5677bf3028c7a94eef85063577ad"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5e16e30c6b7c48d4fbd0e27334536c8c43b18c19", + "subject": "test(apple): assert projected interface builder facts", + "body": "test(apple): assert projected interface builder facts\n", + "parents": ["b305104e4aca8941468b3db6360c187050ea9c62"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4f0c33e8c435af674987b7c3a766bf831e3f97cb", + "subject": "fix(dotnet): correct metadata comparison regressions", + "body": "fix(dotnet): correct metadata comparison regressions\n", + "parents": ["5e16e30c6b7c48d4fbd0e27334536c8c43b18c19"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f40bd0c4fb20450828fb6ac952af99ead660c7ff", + "subject": "fix(il2cpp): deduplicate aliased registration fields", + "body": "fix(il2cpp): deduplicate aliased registration fields\n\nFixes #6715\n", + "parents": ["4f0c33e8c435af674987b7c3a766bf831e3f97cb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "72270ac27546997c343fc7f290b94323839b7965", + "subject": "test(pyinstaller): match interned name producer encoding", + "body": "test(pyinstaller): match interned name producer encoding\n\nUse Python 3.13 PYZ magic with the matching archive version and exercise FLAG_REF with TYPE_INTERNED.\n\nFixes #6676\n", + "parents": ["f40bd0c4fb20450828fb6ac952af99ead660c7ff"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "97f6678578bc7362ed10cd80ac9b70de42c9f574", + "subject": "test(dotnet): split managed comparison blocks", + "body": "test(dotnet): split managed comparison blocks\n", + "parents": ["72270ac27546997c343fc7f290b94323839b7965"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fabb68bb9b0579eb1ab4b5a0a72a380fbe1f78f6", + "subject": "test(apple): isolate NIBArchive real projection group", + "body": "test(apple): isolate NIBArchive real projection group\n", + "parents": ["97f6678578bc7362ed10cd80ac9b70de42c9f574"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f09dde0cc9749c5dd54165790d96a44663cf0020", + "subject": "fix(parsers): correct Rust import and PTX alignment control", + "body": "fix(parsers): correct Rust import and PTX alignment control\n", + "parents": ["fabb68bb9b0579eb1ab4b5a0a72a380fbe1f78f6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6cb0684372ab9036ab8f8c52a695615438ca3673", + "subject": "fix: recognize aliased createRequire bindings", + "body": "fix: recognize aliased createRequire bindings\n\nFixes #6612\n\nFixes #6678\n", + "parents": ["f09dde0cc9749c5dd54165790d96a44663cf0020"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7a93cfd118a3b87cd8a2bb892c5b1e62ec8950e0", + "subject": "test(apple): retain NIBArchive limitation path", + "body": "test(apple): retain NIBArchive limitation path\n", + "parents": ["6cb0684372ab9036ab8f8c52a695615438ca3673"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8cd10d4727d6263ea18bacc7b255b0499356e471", + "subject": "fix(il2cpp): deduplicate aliased metadata registration", + "body": "fix(il2cpp): deduplicate aliased metadata registration\n\nFixes #6715\n", + "parents": ["7a93cfd118a3b87cd8a2bb892c5b1e62ec8950e0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0f04043a5ad8e03241cd65423d69668e5f90fef4", + "subject": "test(managed): retain observed target changes across member remaps", + "body": "test(managed): retain observed target changes across member remaps\n", + "parents": ["8cd10d4727d6263ea18bacc7b255b0499356e471"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ae013ad23c710015753ba20e80c5fcf64356dd28", + "subject": "fix: track require.resolve references", + "body": "fix: track require.resolve references\n\nFixes #6678\n", + "parents": ["0f04043a5ad8e03241cd65423d69668e5f90fef4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "66e25e7912734b4f36664cdade1000b4bfb781fe", + "subject": "test(pyinstaller): encode PYZ list length correctly", + "body": "test(pyinstaller): encode PYZ list length correctly\n\nWrite the marshal list length as its raw little-endian count and surface inventory limitations when completeness regresses.\n\nFixes #6676\n", + "parents": ["ae013ad23c710015753ba20e80c5fcf64356dd28"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "529038f557e875d11c00d320277cccb653d6bf57", + "subject": "fix(managed): retain unknown catch identity beside observed name changes", + "body": "fix(managed): retain unknown catch identity beside observed name changes\n", + "parents": ["66e25e7912734b4f36664cdade1000b4bfb781fe"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1a430f055d0b3f1ce727c004f3d595ae1e641178", + "subject": "fix: retain require.resolve source facts", + "body": "fix: retain require.resolve source facts\n\nFixes #6678\n", + "parents": ["529038f557e875d11c00d320277cccb653d6bf57"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e966b9f9a526e1f4bb8a77742fac540a2f2d7add", + "subject": "refactor(javascript): name retained require call facts explicitly", + "body": "refactor(javascript): name retained require call facts explicitly\n", + "parents": ["1a430f055d0b3f1ce727c004f3d595ae1e641178"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9b598076e3461ace924d9853429024a95a8c8d7b", + "subject": "fix: resolve selected require call members", + "body": "fix: resolve selected require call members\n\nFixes #6678\n", + "parents": ["e966b9f9a526e1f4bb8a77742fac540a2f2d7add"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7fd6e486ae6fa0bdf2c13485ca516c40c3a0bab4", + "subject": "fix(javascript): keep unresolved created-loader bases unknown", + "body": "fix(javascript): keep unresolved created-loader bases unknown\n", + "parents": ["9b598076e3461ace924d9853429024a95a8c8d7b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2bcd7e6d13f0a8118d6619718254255e84f75d86", + "subject": "refactor(artifacts): centralize completed file outcomes", + "body": "refactor(artifacts): centralize completed file outcomes\n\nProject completed values and cancellation from the descriptor owner once across artifact consumers. Preserve completed void outcomes and format-specific validation and cleanup policies.\n\nKeep later aborts from replacing captured APK and SQLite close failures, and retain the exact APK cancellation reason. Exercise real descriptors, public workflows and cleanup retries.\n", + "parents": ["7fd6e486ae6fa0bdf2c13485ca516c40c3a0bab4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "610966b8362f39631989813488b9146a75af2147", + "subject": "fix(javascript): isolate package facts from host prototypes", + "body": "fix(javascript): isolate package facts from host prototypes\n\nBuild frozen package field snapshots with a null prototype and restrict reference-source main lookup to own properties. Preserve declared null and empty values, index fallback, source identity and unavailable manifest evidence.\n\nCompare inherited main and exports lookup with the native Node resolver, retain package observation coverage and verify CLI/MCP package workflows.\n", + "parents": ["2bcd7e6d13f0a8118d6619718254255e84f75d86"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4193bc5bf85793bf9d8ee391e37df7de2f6c17ca", + "subject": "fix(captures): advertise offline capture inspection without a browser provider (#6725)", + "body": "fix(captures): advertise offline capture inspection without a browser provider (#6725)", + "parents": ["610966b8362f39631989813488b9146a75af2147"], + "authors": [ + { + "name": "Wade", + "email": "160517347+Sriram-PR@users.noreply.github.com", + "user": { + "login": "Sriram-PR", + "__typename": "User" + } + } + ], + "pullRequests": [6725] + }, + { + "sha": "5f702dd6ccd9e8e505e224854b91678439c3b41f", + "subject": "fix(parsers): preserve format boundaries and query occurrence identity", + "body": "fix(parsers): preserve format boundaries and query occurrence identity\n\nNormalize parsed facts at their owning boundaries across PE exports and certificates, ELF section names, GPU bundles, IL2CPP generic types, dyld slice selection, source maps, environment replay, and JavaScript mapped arguments. Preserve partial facts and explicit unsupported cases; clarify the corresponding documentation.\n\nValidation: 831 affected tests passed with one existing skip across 23 files; build, typecheck/lint, documentation, formatting, and 2133-file test discovery passed. Format controls are synthetic; real Unity, GPU, and ARM-device execution is unverified.\n\nFixes #6709\nFixes #6688\nFixes #6719\nFixes #6718\nFixes #6704\nFixes #6703\nFixes #6692\nFixes #6723\nFixes #6687\nFixes #6726\nFixes #6696\nFixes #6691\nFixes #6727\n", + "parents": ["4193bc5bf85793bf9d8ee391e37df7de2f6c17ca"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a68cfd7db0dddf8ffd0a974ce87a14843586bef8", + "subject": "fix(process): require observed environment ownership tokens", + "body": "fix(process): require observed environment ownership tokens\n\nCentralize run-token extraction at the environment observation boundary and require an own field. Build decoded OS environment records without host prototypes while retaining source names, empty values and last-assignment precedence.\n\nReject inherited matching tokens before cleanup signaling, preserve normal owned-group behavior, and verify live Linux process environments alongside native CLI/MCP capture workflows.\n", + "parents": ["5f702dd6ccd9e8e505e224854b91678439c3b41f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "99d2d7ad22bcbd780919760008aba6a88e7d1077", + "subject": "fix(parsers): retain independent facts and boundary identity", + "body": "fix(parsers): retain independent facts and boundary identity\n\nShare bounded ELF section-name decoding across native and note readers; retain read-only ranges and coverage reasons when names are unknown. Preserve ELF symbol-version bytes, dyld-bound method uncertainty, partial gRPC-Web trailers, and per-parent model identity checks. Compare GPU signatures as bytes and require a PTX module header. Share selected-path errno classification across EVM and BEAM.\n\nValidation: 397 shared-parser tests passed (one existing skip), 5 MCP schema tests passed, 14 EVM error-mapping tests passed, and 23 protobuf CLI/MCP matrix cases passed across focused runs. Build, typecheck/lint, docs, formatting, and 2134-file discovery passed. Full EVM provider workflow remains locally unverified on Darwin arm64; format controls are synthetic.\n\nFixes #6738\nFixes #6737\nFixes #6745\nFixes #6740\nFixes #6749\nFixes #6747\nFixes #6739\n", + "parents": ["a68cfd7db0dddf8ffd0a974ce87a14843586bef8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "98ca6c82705bf8c44f814620636852f938d827ca", + "subject": "fix(setup): preserve source keys across configuration boundaries", + "body": "fix(setup): preserve source keys across configuration boundaries\n", + "parents": ["99d2d7ad22bcbd780919760008aba6a88e7d1077"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6c1b7f86d133c5e33ec687a981d131fc8b29819f", + "subject": "fix(setup): keep the CLI-only skill choice offered under a client ID (#6401)", + "body": "fix(setup): keep the CLI-only skill choice offered under a client ID (#6401)\n\n* fix(setup): keep the CLI-only skill choice offered under a client ID\n\n* test(setup): cover the accept-all CLI-only skill selection", + "parents": ["98ca6c82705bf8c44f814620636852f938d827ca"], + "authors": [ + { + "name": "pablodiazjorge", + "email": "102741971+pablodiazjorge@users.noreply.github.com", + "user": { + "login": "pablodiazjorge", + "__typename": "User" + } + } + ], + "pullRequests": [6401] + }, + { + "sha": "eab61d02a1fce6eda1a17b2e769999179555f063", + "subject": "fix(apple): report a read-denied selected archive as host access denial (#6479)", + "body": "fix(apple): report a read-denied selected archive as host access denial (#6479)\n\n* fix(apple): report a read-denied selected archive as host access denial\n\ninspect-keyed-archive reported a host read refusal on the caller-selected bundle entry as artifact_operation_failed/execution_failure with reason io, leaving EACCES or EPERM only inside message text. The caller selected that entry, so the refusal is a selection outcome with its own typed classification, system code and read-access recovery.\n\nDirectoryArtifactReader now marks a refused entry open with DirectoryArtifactEntryAccessDenied, which retains the host system code and the selected entry path. KeyedArchiveReader, which owns the caller's selection, maps it to the shared AnalysisAccessDeniedError, and artifact failure translation keeps that typed error instead of replacing it with a generic io failure. Other readers and other reader failures are unchanged; every existing reason keeps its current projection.\n\nAdds the access_denied projection coverage plus a real host refusal through the production reader and a non-permission control.\n\n* fix(apple): carry cleanup ownership and cover raw refusals for a denied selection\n\nAddresses the two review findings on the denied-selection classification:\n\n- The typed host access denial now carries the reader's cleanup observation, so a denied open that left a resource owned does not project as fully cleaned.\n- Adds coverage that starts from raw host EACCES/EPERM/EIO refusals with the real DirectoryArtifactReader open path, so the marker itself is exercised rather than constructed by the test. EIO stays an artifact failure.", + "parents": ["6c1b7f86d133c5e33ec687a981d131fc8b29819f"], + "authors": [ + { + "name": "吴佳浩Alben", + "email": "35291372+XiaoBinGan@users.noreply.github.com", + "user": { + "login": "XiaoBinGan", + "__typename": "User" + } + } + ], + "pullRequests": [6479] + }, + { + "sha": "f290b27299f61322d02df30f198bfa584f1ac57d", + "subject": "fix(native): report plist symlink loops and overlong paths as selection failures (#6371)", + "body": "fix(native): report plist symlink loops and overlong paths as selection failures (#6371)\n\nCo-authored-by: Abelo9996 ", + "parents": ["eab61d02a1fce6eda1a17b2e769999179555f063"], + "authors": [ + { + "name": "Abel Yagubyan", + "email": "abelyagubyan@berkeley.edu", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + }, + { + "name": "Abelo9996", + "email": "Abelo9996@users.noreply.github.com", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + } + ], + "pullRequests": [6371] + }, + { + "sha": "c9204b96d4a816256b2bd5415796aad8f7f80400", + "subject": "docs(cli): document opt-in Bash completion setup (#6250)", + "body": "docs(cli): document opt-in Bash completion setup (#6250)", + "parents": ["f290b27299f61322d02df30f198bfa584f1ac57d"], + "authors": [ + { + "name": "ShuaixinHuang", + "email": "1836656514@qq.com", + "user": { + "login": "ShuaixinHuang", + "__typename": "User" + } + } + ], + "pullRequests": [6250] + }, + { + "sha": "8f91e6055842caa6e7c551d639963b45b708d238", + "subject": "fix(doctor): check only the current platform's Hopper launcher candidates (#6253)", + "body": "fix(doctor): check only the current platform's Hopper launcher candidates (#6253)\n\n* fix(doctor): check only the current platform's Hopper launcher candidates\n\nDoctor built one launcher list for every platform, so on macOS it could\nreport a Linux-only path as a healthy Hopper ahead of a renamed bundle,\nand setup then registered that path. Give per-platform automatic\ncandidates one owner that runtime configuration and doctor both read,\nscan renamed macOS bundles and probe the Homebrew cask only on macOS,\nand share runtime's renamed-bundle scan with the doctor host.\n\nFixes #6228\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(doctor): keep the renamed Hopper bundle scan asynchronous\n\nSharing runtime's synchronous scan made the doctor host read\n~/Applications with readdirSync, which blocks the event loop on a slow\nor network-mounted home. Give MacHopperPaths an asynchronous scan for\ndoctor beside runtime's lazy synchronous one, sharing the directory\nfilter and candidate builder, and check that both return the same\ncandidates.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(doctor): model renamed launchers with runtime's POSIX joins\n\nSince #5235, runtime builds macOS launcher paths with posix.join, so on\nWindows the discovery table's native-join renamed launcher no longer\nmatched runtime's candidate. Model launchers with posix.join and keep\nfilesystem setup native, as MacHopperPaths.test.ts does.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["c9204b96d4a816256b2bd5415796aad8f7f80400"], + "authors": [ + { + "name": "Paritosh Lahre", + "email": "155938586+SandstromPL@users.noreply.github.com", + "user": { + "login": "SandstromPL", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6253] + }, + { + "sha": "e8dad898da181bc94e15c134e815d0077bea0517", + "subject": "fix(entropy): name offset when the byte window starts past EOF (#6495)", + "body": "fix(entropy): name offset when the byte window starts past EOF (#6495)\n\nFixes #6482\n\nCo-authored-by: Abelo9996 ", + "parents": ["8f91e6055842caa6e7c551d639963b45b708d238"], + "authors": [ + { + "name": "Abel Yagubyan", + "email": "abelyagubyan@berkeley.edu", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + }, + { + "name": "Abelo9996", + "email": "Abelo9996@users.noreply.github.com", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + } + ], + "pullRequests": [6495] + }, + { + "sha": "89fea8130ab0e6243d1fe0d0d297c7e38ac9f258", + "subject": "fix(sqlite): report result-column capacity refusals as capacity (#6327)", + "body": "fix(sqlite): report result-column capacity refusals as capacity (#6327)\n\nA projection wider than SQLite's native result-column limit failed with the\ngeneric \"too many columns in result set\" SQL error. The inspector could not\nattribute that error to a generated column, so the worker reported \"format\"\nand the parent blamed the caller's path as invalid_format even though the\nselected database was readable.\n\nClassify the refusal from SQLite's own column limit for the private\nconnection, carry the selected and engine counts through the worker reply,\nand project it as a capacity resource constraint. The database stays\nreadable, no partial rows are returned, and the recovery names the column\ncounts and splitting the projection across calls.", + "parents": ["e8dad898da181bc94e15c134e815d0077bea0517"], + "authors": [ + { + "name": "Dery Ferdika", + "email": "114888155+DeryFerd@users.noreply.github.com", + "user": { + "login": "DeryFerd", + "__typename": "User" + } + } + ], + "pullRequests": [6327] + }, + { + "sha": "b5dba08dba8a22994172f2bc8782c6832c91d53b", + "subject": "fix(web): refuse an existing script-export destination as invalid input (#6313)", + "body": "fix(web): refuse an existing script-export destination as invalid input (#6313)\n\n* fix(web): refuse an existing script-export destination as invalid input\n\nexport_web_scripts refused an existing output directory or link correctly,\nbut reported it as artifact_operation_failed / execution_failure with no\nfield issue or recovery. SafeOutputTree.create raises that refusal as a\npath failure before any output tree exists, and the export mapper wrapped\nit as an artifact failure.\n\nAttribute pre-admission path refusals to output_directory as an\nAnalysisInputError, as environment export already does for its directory.\nBoth now share one helper owned beside SafeOutputTree; failures after the\ntree is admitted keep their artifact semantics.\n\nFixes #6029\n\n* fix(artifacts): type SafeOutputTree destination refusals\n\nAdmission conversion treated any cleanup-free path failure raised before\nadmission as a refusal of the selected directory, so an acquired-tree setup\nfailure, such as being unable to restrict a created root to 0700, blamed\nvalid output_directory or directory input.\n\nSafeOutputTree.create now raises SafeOutputTreeDestinationRefusal for the\nrefusals of the selection itself: a relative or reserved root, an existing\nroot, and an accepted existing root that is not an empty directory. The shared\nconversion accepts only that type, directly or wrapped by\nSafeOutputTreeCreationFailure, so script and environment export no longer\ntrack admission separately.", + "parents": ["89fea8130ab0e6243d1fe0d0d297c7e38ac9f258"], + "authors": [ + { + "name": "Muhammad Hamza", + "email": "32600505+mhamzasakhi@users.noreply.github.com", + "user": { + "login": "mhamzasakhi", + "__typename": "User" + } + } + ], + "pullRequests": [6313] + }, + { + "sha": "fd782cf2b129a1b56c20a51940ad615d1dd97958", + "subject": "fix(evm): reject repeated container keys in Solidity metadata (#6230)", + "body": "fix(evm): reject repeated container keys in Solidity metadata (#6230)\n\n* fix(evm): reject repeated container keys in Solidity metadata\n\n* test(evm): check the repeat-key diagnostic for deeply nested keys", + "parents": ["b5dba08dba8a22994172f2bc8782c6832c91d53b"], + "authors": [ + { + "name": "Wade", + "email": "160517347+Sriram-PR@users.noreply.github.com", + "user": { + "login": "Sriram-PR", + "__typename": "User" + } + } + ], + "pullRequests": [6230] + }, + { + "sha": "1b3d57ca8aa392431e5e95b9a113f5b8fde7b5f0", + "subject": "docs(ci): add a repeatable static analysis example (#6496)", + "body": "docs(ci): add a repeatable static analysis example (#6496)\n\n* docs(ci): add a repeatable static analysis example\n\n* fix(ci): isolate example reports and repair the guide link\n\n---------\n\nCo-authored-by: gongfpp <22683417+gongfpp@users.noreply.github.com>", + "parents": ["fd782cf2b129a1b56c20a51940ad615d1dd97958"], + "authors": [ + { + "name": "gongfpp", + "email": "1360187968@qq.com", + "user": { + "login": "gongfpp", + "__typename": "User" + } + }, + { + "name": "gongfpp", + "email": "22683417+gongfpp@users.noreply.github.com", + "user": { + "login": "gongfpp", + "__typename": "User" + } + } + ], + "pullRequests": [6496] + }, + { + "sha": "a7180370332350bc0f998fbd643888221759570e", + "subject": "fix(setup): retain unresolved environment facts when deriving budgets", + "body": "fix(setup): retain unresolved environment facts when deriving budgets\n", + "parents": ["1b3d57ca8aa392431e5e95b9a113f5b8fde7b5f0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bd4f5e9c197ba942ed026c9fed6ff3fae663901d", + "subject": "fix(parsers): preserve format evidence and caller input identity", + "body": "fix(parsers): preserve format evidence and caller input identity\n\nRetain bounded FAT and offset-tagged PE observations through archive hashing,\nclassification, and content nodes. Preserve PyInstaller member paths according\nto the observed carrier dialect and share APK v1 signing-name semantics.\n\nRead SQLite's implicit sqlite_schema table without inventing a stored schema\ndeclaration. Distinguish unsupported ELF numbering and decoded-name admission\nfrom malformed data and fixed scan allowances. Preserve Sigrok basenames and\nclassify matching explicit input-format refusals at their owning boundary.\n\nValidation: 554 distinct tests passed, 3 skipped across serial focused runs;\nbuild, typecheck/lint, docs, formatting, and discovery (2141 files) passed.\nSigrok command-boundary simulators do not establish real-tool decoding.\nSmall repeated public PyInstaller CLI runs had equivalent inventory facts;\nwarm median elapsed 0.5431s before / 0.5426s after, with no speed claim.\n\nFixes #6733\nFixes #6741\nFixes #6722\nFixes #6732\nFixes #6736\nFixes #6734\nFixes #6764\nFixes #6766\nRefs #6739\n", + "parents": ["a7180370332350bc0f998fbd643888221759570e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6ba6aea5eb9ea1ef0075c6b3477449165298fa97", + "subject": "fix(parsers): respect container facts and real decoding boundaries", + "body": "fix(parsers): respect container facts and real decoding boundaries\n\nUse zip.js's parsed symlink fact for inventory and open refusal. Treat an\nunmatched Godot trailer as an unconfirmed candidate while preserving failures\nfor confirmed malformed packs. Report entropy path-resolution failures at the\nselected-input boundary.\n\nSeparate Go header discovery from inline string extents in ELF and Mach-O,\nand apply the aggregate content allowance after validating real source ranges.\nNormalize binary plist UID widths through the existing scalar-copy owner,\nbudget exact clone growth, preserve source identity, and refuse inexact UIDs.\n\nValidation: 389 distinct tests passed, one Linux /proc test skipped on Darwin;\nbuild, typecheck/lint, docs, single-thread formatting, and discovery (2142 files)\npassed. CLI/MCP Go fixtures and public ZIP/Godot/keyed-archive workflows ran.\nReal producer prevalence and external provider execution were not established.\n\nRepeated ordinary keyed-archive CLI inventory facts and estimated reply tokens\nwere equal before/after. Warm median elapsed was 0.5166s / 0.5177s; no speed claim.\n\nFixes #6751\nFixes #6763\nFixes #6754\nFixes #6767\nFixes #6762\nFixes #6779\n", + "parents": ["bd4f5e9c197ba942ed026c9fed6ff3fae663901d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c343b787f0e69b2b1d971ccb493535ef7fe2839d", + "subject": "refactor(mcp): consolidate Evidence recording and operation progress", + "body": "refactor(mcp): consolidate Evidence recording and operation progress\n", + "parents": ["6ba6aea5eb9ea1ef0075c6b3477449165298fa97"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "60accad2de8f2862fe91901502fe26cc5390fb36", + "subject": "fix(setup): reuse URL component admission for Hopper releases", + "body": "fix(setup): reuse URL component admission for Hopper releases\n", + "parents": ["c343b787f0e69b2b1d971ccb493535ef7fe2839d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b33f68deb76a8113b824e77a3e6ec6ac429cd1c6", + "subject": "refactor(providers): separate identities from workflow profiles", + "body": "refactor(providers): separate identities from workflow profiles\n", + "parents": ["60accad2de8f2862fe91901502fe26cc5390fb36"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6a34be416b355e197aa2c1efe4b2f110abe47de4", + "subject": "refactor(adapters): remove redundant error and provider facades", + "body": "refactor(adapters): remove redundant error and provider facades\n", + "parents": ["b33f68deb76a8113b824e77a3e6ec6ac429cd1c6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e2efd10b70a2b5f15a7ac1b5a457a9a1dbcab4d4", + "subject": "fix(comparison): reuse parsed native address coordinates", + "body": "fix(comparison): reuse parsed native address coordinates\n", + "parents": ["6a34be416b355e197aa2c1efe4b2f110abe47de4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "50af8de5e800ed2e562fbe3d64e67c6d11b5bf01", + "subject": "fix(reconstruction): validate all retained case Evidence references", + "body": "fix(reconstruction): validate all retained case Evidence references\n\nPreserve format and Evidence semantics at their owning boundaries, with focused regression coverage and documentation where applicable.\n\nFixes #6770\n", + "parents": ["e2efd10b70a2b5f15a7ac1b5a457a9a1dbcab4d4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7f613149be4ab34e202610978683ee4eef30373c", + "subject": "fix(model): accept released GGUF writer metadata and vocab-only output", + "body": "fix(model): accept released GGUF writer metadata and vocab-only output\n\nPreserve format and Evidence semantics at their owning boundaries, with focused regression coverage and documentation where applicable.\n\nFixes #6772\nFixes #6787\n", + "parents": ["50af8de5e800ed2e562fbe3d64e67c6d11b5bf01"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5af154fc4b3aac64fab5f7cfec6ea1454d29acff", + "subject": "fix(gpu): accept numeric percent-prefixed PTX identifiers", + "body": "fix(gpu): accept numeric percent-prefixed PTX identifiers\n\nPreserve format and Evidence semantics at their owning boundaries, with focused regression coverage and documentation where applicable.\n\nFixes #6771\n", + "parents": ["7f613149be4ab34e202610978683ee4eef30373c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b3995a2ae55c8cc95f10d9127b26d3aece4666da", + "subject": "fix(apple): preserve archived className fields and descriptor identity", + "body": "fix(apple): preserve archived className fields and descriptor identity\n\nPreserve format and Evidence semantics at their owning boundaries, with focused regression coverage and documentation where applicable.\n\nFixes #6776\n", + "parents": ["5af154fc4b3aac64fab5f7cfec6ea1454d29acff"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3d24683b06385170a7de0d854a6d527ba7144c39", + "subject": "fix(search): share Unicode literal matching and preserve field boundaries", + "body": "fix(search): share Unicode literal matching and preserve field boundaries\n\nPreserve format and Evidence semantics at their owning boundaries, with focused regression coverage and documentation where applicable.\n\nFixes #6785\nFixes #6714\nFixes #6735\nFixes #6750\n", + "parents": ["b3995a2ae55c8cc95f10d9127b26d3aece4666da"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a06dbd509df8516079027a6188cf3fa10e4bf6ec", + "subject": "fix(browser): retain unknown resource sizes and accessibility roles", + "body": "fix(browser): retain unknown resource sizes and accessibility roles\n\nPreserve format and Evidence semantics at their owning boundaries, with focused regression coverage and documentation where applicable.\n\nFixes #6773\nFixes #6786\n", + "parents": ["3d24683b06385170a7de0d854a6d527ba7144c39"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "40c235c6428f0be5c97d60f1a1d8aebc92e88768", + "subject": "fix(comparison): preserve decoding uncertainty and known string facts", + "body": "fix(comparison): preserve decoding uncertainty and known string facts\n\nPreserve format and Evidence semantics at their owning boundaries, with focused regression coverage and documentation where applicable.\n\nFixes #6774\n", + "parents": ["a06dbd509df8516079027a6188cf3fa10e4bf6ec"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "607f509505667a5c924e9d142b69a0b3abd71a0d", + "subject": "fix(flutter): ignore unused ELF DT_NULL values", + "body": "fix(flutter): ignore unused ELF DT_NULL values\n\nPreserve format and Evidence semantics at their owning boundaries, with focused regression coverage and documentation where applicable.\n\nFixes #6768\n", + "parents": ["40c235c6428f0be5c97d60f1a1d8aebc92e88768"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "567b55947486516b9d35d30b7202ac69c6f40f6d", + "subject": "fix(call-path): retain unresolved outgoing-call caveats", + "body": "fix(call-path): retain unresolved outgoing-call caveats\n\nPreserve format and Evidence semantics at their owning boundaries, with focused regression coverage and documentation where applicable.\n\nFixes #6788\n", + "parents": ["607f509505667a5c924e9d142b69a0b3abd71a0d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7fd722e15bea35255f5eadbd406948e28538d25f", + "subject": "fix(native): retain Objective-C implementation alternatives", + "body": "fix(native): retain Objective-C implementation alternatives\n", + "parents": ["567b55947486516b9d35d30b7202ac69c6f40f6d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "52b0a54afd4e02627bda9c8ef27e213c6fa59bca", + "subject": "fix(evm): reject nested duplicate CBOR map keys", + "body": "fix(evm): reject nested duplicate CBOR map keys\n\nPreserve boundary facts and uncertainty through their consumers. Add focused production-boundary regressions and update affected documentation.\n\nFixes #6780\n", + "parents": ["7fd722e15bea35255f5eadbd406948e28538d25f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "17cd07342d3e08f37b801a1b99649304d85a0a45", + "subject": "fix(cli): preserve selected JSON members and Markdown table text", + "body": "fix(cli): preserve selected JSON members and Markdown table text\n\nPreserve boundary facts and uncertainty through their consumers. Add focused production-boundary regressions and update affected documentation.\n\nFixes #6756\nFixes #6752\nFixes #6755\n", + "parents": ["52b0a54afd4e02627bda9c8ef27e213c6fa59bca"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c409a8bbe83e1afc181eb8841af73af4ac40038b", + "subject": "fix(managed): preserve native module names under platform loader rules", + "body": "fix(managed): preserve native module names under platform loader rules\n\nPreserve boundary facts and uncertainty through their consumers. Add focused production-boundary regressions and update affected documentation.\n\nFixes #6758\n", + "parents": ["17cd07342d3e08f37b801a1b99649304d85a0a45"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ecd997e512f6e1bc18c730e67366052e0285e1a8", + "subject": "fix(managed): compare catch types by scoped nominal identity", + "body": "fix(managed): compare catch types by scoped nominal identity\n\nPreserve boundary facts and uncertainty through their consumers. Add focused production-boundary regressions and update affected documentation.\n\nFixes #6760\n", + "parents": ["c409a8bbe83e1afc181eb8841af73af4ac40038b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7fbc2b56521504da4e565d8886d40fdd7a751d9c", + "subject": "refactor(cli): remove redundant runtime provider contexts", + "body": "refactor(cli): remove redundant runtime provider contexts\n", + "parents": ["ecd997e512f6e1bc18c730e67366052e0285e1a8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9066444f6b8e9ffe1607a9b02cde3895a37db431", + "subject": "fix(source-maps): reuse admitted source URL identities", + "body": "fix(source-maps): reuse admitted source URL identities\n", + "parents": ["7fbc2b56521504da4e565d8886d40fdd7a751d9c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8bf882f401400a6d1a48d2e78324995657ad5676", + "subject": "test(environment): derive capacity fixtures from current contracts", + "body": "test(environment): derive capacity fixtures from current contracts\n", + "parents": ["9066444f6b8e9ffe1607a9b02cde3895a37db431"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "169512a35bb015ff209168fb8bc1c9b31a2c678b", + "subject": "feat(cli): report version and runtime with an explicit output format (#6530)", + "body": "feat(cli): report version and runtime with an explicit output format (#6530)\n\n* feat(cli): report version and runtime with an explicit output format\n\n`rea --version --json` and `--version --format ` ignored the format\nand printed only the bare version, so support reports gathered the runtime\nand platform by hand.\n\nA root --version request that selects a format now renders a documented\nreport: package name and version, JavaScript runtime and version, platform,\narchitecture, and whether the runtime satisfies the supported range. It\ncontains no paths, environment values, user or host names, and starts no\nprovider. Plain --version is unchanged, --help keeps precedence, and other\noutput controls keep Incur's plain version.\n\nThe runtime verdict uses a new shared supportsJavaScriptRuntime rule that\nrea doctor now uses too, so both judge Bun by its Node.js compatibility\nversion. mcp doctor's private JSON/format renderer moves to cliOutput as\nrenderCliDocument and is shared with the version report.\n\nCloses #5483\n\n* refactor(errors): centralize input failure construction\n\nCarry caller messages through the existing schema issue owner instead of constructing and discarding an intermediate input error. Remove forwarding schema helpers and migrate equivalent constructors across investigation, firmware, dylib, process, and screenshot workflows while preserving diagnostic paths and causes.\n\n* docs(readme): add Roman Urdu edition (#6499)\n\n* docs(readme): add Roman Urdu edition\n\nRegister ur-Latn with a pending website catalog and preserve English command examples.\n\nScript-tag handling follows morluto's shared helper proposed in PR #2043 (c46f606c899e27b2e51c16500493413daf57ddad).\n\n* test(website): cover completed script-tag page metadata\n\n* fix(process): parse native teardown relation sentinels\n\n* fix(cli): make version report privacy checks environment-independent\n\nThe CLI test rejected any report containing the OS account name, so an\naccount named node, linux or rea failed a correct report. Check unique\ncaller-controlled HOME, cwd and environment markers instead; the strict\nschema still rejects any additional field.\n\nThe CLI guide said --version with other output controls prints the plain\nversion, but invalid combinations such as --json with --token-limit report\ntheir existing output-flag error first. Describe both outcomes and test them.\n\n* refactor(nativeaot): share report facts across budget stages\n\nCentralize parse-wide identity and coverage facts while keeping conservative admission values separate from measured rows and counters. Reuse the derived truncation reason and retain the final serialization bound.\n\nTighten the report-budget regression so unexpected parser finalization errors cannot be swallowed by its budget search.\n\n* fix(adb): preserve empty properties and verbatim version names\n\n* fix(artifacts): recognize empty Zip64 containers\n\nFixes #6540\n\n* fix(erlang): accept uninterpreted BEAM alignment bytes\n\nFixes #6517\n\n* fix(gpu): accept PTX entries without parameter lists\n\nFixes #6493\n\n* fix(python): preserve signed code-object line numbers\n\nFixes #6490\n\n* refactor(ghidra): centralize load image check recording\n\nShare expected and observed check construction across MZ, COM, and raw-binary attestations. Preserve format-specific rules and source coordinates, and derive mapping callback types from the recording owner.\n\n* fix(inspector): preserve script identity and parse-failure facts\n\nFixes #6535\n\nFixes #6546\n\n* fix(artifacts): recover malformed PYZ sizes without losing siblings\n\nFixes #6120\n\n* fix(erlang): accept extended BEAM atom lengths\n\nFixes #6503\n\n* refactor(erlang): reject overflowing BEAM atom lengths\n\n* fix(gpu): preserve PTX and AMD target facts\n\nFixes #6469\n\nFixes #6483\n\n* refactor(targets): preserve ambiguous MZ header evidence\n\n* fix(adb): retain refused activity launch reports\n\nParse complete nonzero Activity Manager reports while preserving other command failures and their captured output. Admit dollar signs only in the activity component name for nested Android classes.\n\nFixes #6528\n\nFixes #6527\n\n* fix(mcp): retain partial evidence through shared delivery\n\n* fix(python): honor version-specific code equality\n\nFixes #6547\n\n* fix(pyinstaller): preserve namespace declarations\n\nProject PYZ namespace packages as metadata so their query paths do not claim output directories. This lets independent CArchive files retain the same logical path and remain inspectable and extractable.\n\nFixes #6539\n\n* docs: clarify evidence ownership and verification guidance\n\n* docs(adb): clarify emulator observation field\n\n* docs(artifacts): clarify active-reader extraction scope\n\n* fix(erlang): select the last repeated BEAM chunk\n\nFixes #6518\n\n* fix(il2cpp): distinguish rank-one array types\n\nFixes #6534\n\n* fix(python): align pyc and PYZ marshal decoding\n\nFixes #6560\nFixes #6559\n\n* fix(browser): preserve frame identity across captures (#4040)\n\n* fix(browser): preserve capture evidence fidelity\n\n* fix(browser): align frame identity comparisons\n\n* fix(browser): retain historical frame evidence\n\n* fix(electron): retain same-document script owners\n\n* fix(electron): bind frame proof to tree reads\n\n* fix(browser): retain malformed frame scope\n\n* fix(browser): retain WebMCP event scope\n\n* fix(browser): retain malformed timeline identity\n\n* fix(browser): unify frame identity and scope\n\n* fix(electron): prove enclosing frame ancestry\n\n* fix(electron): separate ancestry from file policy\n\n* fix(browser): preserve transient fragment semantics\n\n* fix(browser): retry uncertain initial frame scope\n\n* fix(browser): preserve runtime frame identity\n\n* refactor(browser): separate independent capture fixes\n\n* fix(electron): detect tree-first document replacement\n\n* fix(electron): retain same-document tree authority\n\n---------\n\nCo-authored-by: eco-null \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>\n\n* fix(elf): resolve symbol versions from requirements\n\nFixes #6533\n\n* fix(elf): follow loader version index precedence\n\nVERDEF entries replace VERNEED names for shared indices, matching glibc lookup behavior.\n\n* test(firmware): bind owned producers and exercise real limits\n\n* fix(adb): preserve push target semantics\n\nFixes #6566\n\nFixes #6567\n\n* fix(cli): merge sibling output filter slices\n\nFixes #6542\n\n* fix(browser): preserve Link context semantics\n\nFixes #6504\n\nFixes #6505\n\nFixes #6506\n\n* fix(python): classify historical headers and signed flags\n\nFixes #6568, #6487\n\n* fix(python): normalize legacy code flags for equality\n\nPreserve CPython 3.7–3.10 constructor flag semantics in code keys.\n\n* fix(environment): compare captured bodies by representation\n\nKeep JSON, text, and retained bytes distinct through fidelity comparison. Compare binary bodies by bytes, including valid UTF-8 bytes against equivalent text, and keep empty-body compatibility explicit.\n\nFixes #6564\n\n* docs: clarify derived values and comparison controls\n\n* fix(environment): scope fidelity ID normalization\n\nReserve equal global ID pairs and stop normalizing contested pairings. Keep numeric measurements literal, scope keyed collection identities through learning and comparison, and normalize string references only where learning established the same field as an ID.\n\nFixes #6565\nFixes #6550\nFixes #6557\n\n* test(process): print the progress frames when the sparse-child bound fails (#6427)\n\nThe sparse-child capture test asserted the frame bound with a bare boolean,\nso a failure only printed \"expected false to be true\". The assertion now\ncarries the running progress details (elapsed time, frames, samples,\ninteractions) as its failure message. This only adds diagnostics to a\nfailure; it does not change what passes and does not fix the flake.\n\nRefs #5889.\n\n🤖 Generated with Claude Code (Sonnet 5.5) 🦊\n\nCo-authored-by: Claude Sonnet 5.5 \n\n* fix(il2cpp): name the metadata file when linking finds malformed metadata (#6425)\n\n* fix(flutter): honor ELF note alignment when reading build IDs (#6423)\n\n* fix(flutter): honor ELF note alignment when reading build IDs\n\n* test(flutter): key shared note ranges by effective alignment\n\nCover a program and section declaration that share one note range: differing effective alignments (8 and 4) must both be read, while declarations that both normalize to four bytes (1 and 4) still share one read. 24-byte build IDs pad identically at both alignments, so only the range key decides the read count.\n\n* refactor(firmware): centralize audited tool requirements\n\n* fix(javascript): associate requested bindings only with resolved native addons (#6402)\n\n* fix(javascript): associate requested bindings only with resolved native addons\n\n* test(javascript): cover the exact native addon association\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>\n\n* fix(python): reject code keys and set members with unhashable consts (#6424)\n\n* fix(python): reject code keys and set members with unhashable consts\n\n* fix(python): refuse to hash a tuple that is still being read\n\n* fix(python): hash a code object's co_consts tuple, not its item list\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>\n\n* fix(model): recognize named chat templates in summaries\n\nCount retained template content rather than only the default key; keep names-only inventories distinct.\n\nFixes #6569\n\n* fix(model): retain resolved GGUF alignment under cancellation\n\nPublish alignment from the parser when explicit metadata validates it, or when metadata completion establishes the default. Preserve that fact through later parsing and hashing failures.\n\nFixes #6579\n\n* fix(environment): reject out-of-range clock offsets\n\nReject invalid ISO offsets while preserving valid boundary values. Validate stored clock-format offsets through the same parser so malformed imported formats cannot reach rendering.\n\nFixes #6524\n\n* fix(environment): preserve submillisecond insert ordering\n\nCompare retained submillisecond components after milliseconds, so ordered collections recognize and place distinct timestamps correctly.\n\nFixes #6525\n\n* fix(environment): restrict epoch normalization to clock fields\n\nRequire a time-field token boundary before treating numeric values as epoch clocks, so identifiers such as media format codes remain literal. Clarify recognized field forms and clock offset and precision semantics in the fidelity guide.\n\nFixes #6551\n\n* fix(process): preserve sibling path identities\n\nKeep aliases on selected paths at clear text delimiters so a longer sibling filename is not rewritten as the executable. Version the normalization contract and cover source and actual PTY behavior.\n\nFixes #6586\n\n* fix(sigrok): retain recording suffix for autodetection\n\nCopy recordings under a private filename that retains the caller-selected final suffix, and pass that filename to sigrok. This restores filename-based autodetection without exposing the source directory.\n\nFixes #6580\n\n* test(go): assert unresolved MZ candidate boundary\n\n* fix(pe): ignore unused export ordinal slots\n\nFixes #6577\n\n* fix(macho): recognize arm64_32 binaries\n\nFixes #6581\n\n* fix(go): honor amd64p32 pointer width\n\nFixes #6590\n\n* fix(pe): accept BER indefinite CMS values\n\nFixes #6574\n\n* fix(browser): reject overlapping indexed source maps\n\nFixes #6562\n\n* fix(browser): resolve prefixed XHTML form actions\n\nFixes #6561\n\n* fix(browser): preserve well-known path case\n\nFixes #6571\n\n* docs(browser): clarify parser evidence contracts\n\n* fix(gpu): accept percent-prefixed PTX entry names\n\nFixes #6592\n\n* fix(gpu): accept PTX compute target aliases\n\nPreserve the source spelling of NVIDIA's documented compute_xx target synonym.\n\nFixes #6494\n\n* fix(gpu): parse legacy PTX body parameters\n\nPTX 1.0 through 1.3 declares kernel parameters inside the entry body. Keep later-version parameter-list parsing unchanged.\n\nFixes #6594\n\n* fix(gpu): keep unknown targets out of exact filters\n\nFixes #6599\n\n* fix(gpu): resolve extended CUBIN symbol sections\n\nFixes #6600\n\n* docs(firmware): document the Windows Unblob submodule checkout (#6464)\n\nOn Windows, the pinned Unblob commit cannot be checked out because 11\nupstream fixture paths under tests/integration/ are invalid on NTFS.\nDocument the verified sparse-checkout workaround and point Windows\ncontributors to it from CONTRIBUTING.\n\n\nClaude-Session: https://claude.ai/code/session_01LjhoPGpqAwHwcCgectzRsp\n\nCo-authored-by: Claude Opus 5.5 \n\n* fix(recovery): retain file outcomes and cleanup ownership\n\nUse shared owned-file and directory primitives throughout Wakaru discovery,\nsnapshots, report parsing and publication. Preserve primary read failures and\ncompleted fingerprints when final close fails or receives cancellation.\n\nRetain exact cleanup capabilities before retiring workspaces, block new work\nwhile cleanup is unresolved, and bind error status to the aggregate owner so\npartial cleanup and later retry keep resource attribution current.\n\n* fix(pe): preserve biased export ordinals\n\nAccept the format-derived ordinal range for PE export slots.\n\n* docs: clarify parser authority and compatibility evidence\n\n* fix(python): preserve code-name identity\n\nFixes #6593\n\n* fix(managed): validate metadata operands and locals declarations\n\nClassify MemberRef operands from parsed signatures, validate signature table references and LocalVarSig blobs, and compare observed locals declaration presence. Keep partial CIL facts and transient-budget ownership at the method reader.\n\nFixes #6578\nFixes #6572\nFixes #6558\nFixes #6513\n\n* fix(python): preserve historical signed code fields\n\nKeep signed co_stacksize and co_flags for historical magic entries whose constructors accepted them. Preserve magic 3410 with a constructor-revision limitation; reject negative values from 3411 onward.\n\nFixes #6487\n\n* fix(python): compare code objects without inline caches\n\nFixes #6597\n\n* fix(tests): stabilize process fixtures and malformed input coverage (#6570)\n\nPreserve renamed-executable identity, complete-line readiness and bounded child lifetimes. Use genuinely malformed Inspector input and explicit ADB file-probe/push/hash facts while preserving cancellation, cleanup, Evidence and completeness assertions. Adopt current main Go fixtures and retain malformed COFF coverage.\n\nFixes #6556\nRefs #6480\n\n* test(apktool): own lifecycle fixtures and process observations\n\n* refactor(mcp): reuse parsed Evidence tool parameters\n\n* fix(runtime): align remaining Node security pins and setup guidance (#6316)\n\nDerive exported Docker image versions from .nvmrc through generated package metadata. Align active setup translations with patched Node release floors and verify actual CLI exports, real Docker/agentenv, package and website workflows.\n\nEight built-test shards pass; three unrelated managed source failures reproduce on clean main and remain tracked in #6650.\n\nRefs #6480\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>\n\n* fix(model): retain exact safetensors shape dimensions\n\nKeep unsigned integer declarations exact until their owning field is interpreted. Bound actual offsets at conversion and validate shape products in declaration order, preserving large empty tensor shapes without hiding an earlier overflow.\n\nFixes #6627\n\n* fix(python): read legacy TYPE_INT64 marshal values\n\nFixes #6609\n\n* fix(apk): read constructed BER signer signatures\n\nShare the bounded BER tree reader between PE certificates and APK v1 CMS, then accept constructed OCTET STRING signature values while retaining the declared signer and certificate facts. Embedded X.509 certificate decoding keeps its DER requirement.\n\nFixes #6603\n\n* fix(adb): count Unicode requested permissions\n\nCount requested-permission rows containing Unicode names, and keep counting subsequent rows in the same dumpsys section.\n\nFixes #6584\n\n* fix(signals): reject missing sigrok channels\n\nRecognize the exact selected-channel diagnostic even when sigrok-cli exits successfully, while preserving partial producer output in the invalid-input details. Cover both public JSON adapters and add the missing-channel case to the Linux real-tool verifier.\n\nFixes #6631\n\n* fix(elf): reuse recognized machine architecture facts\n\nPreserve the shared EM_HEXAGON classification in Go and Rust image reports.\n\nFixes #6629\n\n* fix(asn1): decode four-byte BER lengths unsigned\n\nAccumulate length octets arithmetically so a four-octet length with bit 31 set remains a positive unsigned value and is rejected by the containing-range check rather than becoming a negative length.\n\n* fix(gpu): preserve parameter and target declarations\n\nDecode observed V2 CUDA parameters, retain qualified PTX parameter names and entry resource counts, and preserve family and feature target declarations through selection and consistency checks.\n\nFixes #6624\nFixes #6625\nFixes #6626\nFixes #6618\nFixes #6613\nFixes #6606\n\n* fix(captures): preserve canonical TShark alias fields\n\nTShark resolves selected field aliases before writing packet JSON. Keep the requested selector in Evidence while accepting the canonical field key produced for it.\n\nFixes #6595\n\n* fix(qlog): mark records with unknown STREAM FIN incomplete\n\nKeep known STREAM ranges and the unknown FIN value, while listing the source event among incomplete fact records so summary and retained views agree.\n\nFixes #6598\n\n* fix(pcap): retain absolute HTTP request targets\n\nReuse parsed URI facts and preserve uncertainty when mixed request records cannot all be resolved from the producer output.\n\nFixes #6537\n\n* fix(rust): preserve historical cargo-auditable feature facts\n\nAccept observed feature arrays, preserve omitted values as unknown across producer revisions, and keep older retained reports compatible. Reuse bounded JSON sizing before graph expansion.\n\nFixes #6622\n\n* fix(ptx): normalize parameter declarators once\n\nFixes #6606\n\n* fix(managed): compare observed call targets\n\nCompare aligned managed call edges by their reported declaring type and method name, keeping missing target facts unknown without comparing build-local tokens. Document the static comparison limits.\n\nFixes #6630\n\n* fix(artifacts): compare PyInstaller declaration facts\n\nCompare stable producer-tagged declarations independently of materialized payloads. Preserve missing facts as unknown without applying PyInstaller rules to foreign metadata or nested container entries.\n\nFixes #6484\nFixes #6485\n\n* test(managed): retain derived facts in cloned method fixtures\n\nClone caller-scoped call and field facts with the fixture methods. Keep known CIL changes alongside unavailable target metadata in the missing-row controls.\n\n* refactor(apk): consume shared BER node facts\n\nRemove the APK reader's pass-through children and content projections so format consumers read the shared BER owner's nodes directly. Keep only the encoded-span helper needed for exact issuer and certificate bytes, and describe CMS BER as this parser's structural owner.\n\n* fix(adb): delimit permission section by indentation\n\n* test(managed): preserve field-access owner identities\n\n* fix(managed): share reference instruction semantics\n\nUse the same parsed method/field operand predicate when producing member edges and comparing call and field shapes. Exclude ldtoken and operands without a value from both interpretations.\n\n* test(managed): align source goldens with metadata validation\n\nFixes #6650\n\n* fix(native): consolidate observed address validation\n\n* fix(gdb): separate queued work from MI synchronization\n\nQueued console followers have not dispatched MI records. Use active protocol requests when deciding whether the admitted close can verify and detach its inferior.\n\nFixes #6661\n\n* fix(gdb): wait for the outer console command to finish\n\nAfter a running result, queue a tokenized read-only MI query to establish that GDB has returned to its command loop. Keep collecting through intermediate inferior stops and retain the query reply as protocol Evidence.\n\nFixes #6660\n\n* fix(erlang): retain admission cancellation reason\n\nPreserve the caller's AbortSignal reason when BEAM inspection is cancelled before provider admission. Keep the production filesystem boundary and late-completion contracts covered.\n\nFixes #6658\n\n* fix(desktop): probe GameMaker data filenames\n\nSelect conventional Linux and macOS game data files for the existing bounded FORM/GEN8 probe. Add service-boundary regressions and document the selected names.\n\nFixes #6659\n\n* fix(harmony): exclude raw resources from manifests\n\nClassify known resource paths once and keep a raw resource named module.json from changing the package model or appearing as a manifest. Add a filesystem-boundary regression and clarify the documented hint.\n\nFixes #6638\n\n* fix(gpu): bound embedded section reads\n\nFixes #6657\n\n* fix(gpu): retain resources across entry pragmas\n\nFixes #6651\n\n* fix(reference-source): preserve raw POSIX filename identity\n\nMark directories with non-UTF-8 names unsupported without following replacement-character paths, while retaining readable sibling observations.\n\nFixes #6653\n\n* fix(reference-imports): retain exact dynamic import targets\n\nUse the shared exact-literal reader for dynamic imports, preserving expression-free templates and transparent TypeScript wrappers while leaving computed targets unknown.\n\nFixes #6654\n\n* fix(reference-imports): retain exported import-equals dependencies\n\nRoute exported external import-equals declarations through the same relationship owner as plain declarations so their required target is not dropped.\n\nFixes #6655\n\n* fix(managed): respect native module case semantics\n\nPreserve the observed native format when comparing module identities so ELF case-only differences remain mismatches while unknown platform behavior stays unresolved.\n\nFixes #6652\n\n* fix(il2cpp): reject duplicate method tokens per image\n\nReject duplicate MethodDef row identities within one owning image before publishing native addresses or Ghidra seeds, while retaining cross-image reuse and folded code addresses.\n\nFixes #6610\n\n* refactor(reference-imports): share exact literal parsing\n\nRoute legacy nested import-expression handling through the same exact-literal owner as dynamic imports, removing a duplicate string-only check.\n\nFixes #6654\n\n* fix(model): preserve optional metadata and tensor alignment\n\nFixes #6656\nFixes #6637\nFixes #6636\n\n* fix(macho): infer legacy Intel simulator platforms\n\nFixes #6649\n\n* fix(macho)!: preserve ambiguous chained import names\n\nKeep the exact producer expression and report unknown symbol identity when chained-import text cannot distinguish a binding addend from a literal name suffix.\n\nFixes #6648\n\nBREAKING CHANGE: inspect_macho import names can be null when identity is ambiguous. Use raw_name for the observed expression and name_status to distinguish it from an exact symbol name.\n\n* fix(elf): retain raw export name bytes\n\nFixes #6647\n\n* refactor(macho): separate dyld import and export parsing\n\nKeep mode-specific inputs and parsed row types at their respective parser boundaries.\n\n* fix(macho): preserve import identity in retained views\n\nUse distinct row contracts for imports and exports, retaining ambiguous names and historical import defaults without adding import-only fields to export pages. Verify the SDK-advertised schemas and both facets through MCP.\n\n* style(desktop): format GameMaker probe coverage\n\n* chore(deps): update Vite security patch and dependency inventory (#6416)\n\nUpdate Vite/PostCSS and refresh the lock-derived inventory while retaining TSRS platform selection and runtime dependency versions.\n\nSource/static checks, installed-platform signatures, full/production audits, real CLI/MCP workflows and all four package platforms pass. Portable CI retains the independently reproduced main PTX fixture failure tracked in #6675; use the owner-authorized existing PR-only baseline exception. Refs #6480.\n\n* fix(release): isolate npm publication from dependency execution (#6681)\n\nKeep dependency execution in read-only release jobs and validate the original qualified archive with Node built-ins before publication. Refresh registry state on every publisher attempt; retain exact bytes/channel verification, v1 read-only recovery, and installed CLI/MCP checks before MCP publication.\n\nStatic/docs checks, artifact/registry/recovery tests and real package/rehearsal verification pass. All four hosted package platforms pass. Portable CI retains the independently reproduced main PTX failure in #6675 and fail-fast missing coverage; use the owner-authorized existing PR-only exception, with limitations documented in the PR. Refs #6480.\n\n* refactor(json): consolidate representation size accounting\n\nShare bounded UTF-8 and UTF-16 JSON measurements across state serving, write retention and source-map admission. Remove duplicate counters and distinguish retained state estimates from encoded bytes while preserving limits and exact refusal diagnostics.\n\n* refactor(android): own search summaries at the producer boundary\n\nReuse validated class pages for inline pagination audits while retaining complete provider replies. Move retention into the shared Android workflow and remove the MCP-only service wrapper and application text reparser. Preserve unknown JSON metadata, late cancellation and retention failures.\n\n* test: align boundary fixtures with producer contracts\n\nModel GDB console completion, use real directory reads and cleanup for late-enumeration failures, and distinguish supported PTX pointer qualifiers from unknown declarations. Preserve original assertion and cleanup failures through scoped test finalizers.\n\n* fix(rust): retain parsed defaults in cached Evidence views\n\nBorrow sealed reports only when they match the parsed facts; otherwise cache the owned normalized snapshot. Keep historical feature omissions unknown through saved bundles and repeated retained pages without changing the source Evidence.\n\nFixes #6689\n\n* fix(model): retain parsed headers when hashing is interrupted\n\nShare partial observation ownership across GGUF and Safetensors. Preserve completed header facts through cancellation and MCP error delivery without claiming finalized digests or file identity.\n\nFixes #6684\n\n* fix(gpu): preserve PTX parameter and target facts\n\nFixes #6664\nFixes #6675\nFixes #6680\nFixes #6695\n\n* fix(go): read inline build strings from ELF mappings\n\nFixes #6716\n\n* fix(rust): scan read-only ELF load data\n\nFixes #6663\n\n* fix(il2cpp): deduplicate consistent ELF registration aliases\n\nFixes #6715\n\n* fix(il2cpp): track unresolved ELF relocation widths\n\nFixes #6701\n\n* fix(artifacts): preserve raw directory name identity\n\nFixes #6665\n\n* fix(desktop): retain unsupported filename coverage\n\nFixes #6665\n\n* fix: preserve unknown historical module resolution\n\nFixes #6679\n\nFixes #6678\n\nFixes #6612\n\n* fix: retain proven createRequire URL bases\n\nFixes #6612\n\nFixes #6678\n\n* fix(apple): preserve keyed archive table identity\n\nFixes #6662\n\n* fix(plist): reject XML dictionary keys without values\n\nFixes #6682\n\n* fix(apple): preserve NIBArchive special real values\n\nFixes #6583\n\n* fix(signals): reject missing targets and invalid UTF-8\n\nFixes #6671\n\nFixes #6693\n\n* fix(beam): accept bytes after declared form\n\nFixes #6717\n\n* fix(artifacts): compare source map target identity\n\nFixes #6706\n\n* fix(pyinstaller): retain executable member metadata\n\nFixes #6702\n\n* fix(pyinstaller): decode interned unicode names\n\nFixes #6676\n\n* fix(pyinstaller): retain colliding archive observations\n\nKeep source-distinct CArchive rows and decoded PYZ children in inventory. Refuse only when extraction reaches a destination conflict.\n\nFixes #6674\n\n* fix(dotnet): preserve managed metadata comparison facts\n\nDecode VARARG sentinels and allow omitted empty blob heaps while retaining failures for referenced missing data. Compare field and catch targets using owning parsed facts instead of build-local tokens.\n\nFixes #6720\nFixes #6686\nFixes #6713\nFixes #6712\n\n* fix(dotnet): keep TypeRef catch identity unknown\n\nFixes #6712\n\n* test(apple): assert projected interface builder facts\n\n* fix(dotnet): correct metadata comparison regressions\n\n* fix(il2cpp): deduplicate aliased registration fields\n\nFixes #6715\n\n* test(pyinstaller): match interned name producer encoding\n\nUse Python 3.13 PYZ magic with the matching archive version and exercise FLAG_REF with TYPE_INTERNED.\n\nFixes #6676\n\n* test(dotnet): split managed comparison blocks\n\n* test(apple): isolate NIBArchive real projection group\n\n* fix(parsers): correct Rust import and PTX alignment control\n\n* fix: recognize aliased createRequire bindings\n\nFixes #6612\n\nFixes #6678\n\n* test(apple): retain NIBArchive limitation path\n\n* fix(il2cpp): deduplicate aliased metadata registration\n\nFixes #6715\n\n* test(managed): retain observed target changes across member remaps\n\n* fix: track require.resolve references\n\nFixes #6678\n\n* test(pyinstaller): encode PYZ list length correctly\n\nWrite the marshal list length as its raw little-endian count and surface inventory limitations when completeness regresses.\n\nFixes #6676\n\n* fix(managed): retain unknown catch identity beside observed name changes\n\n* fix: retain require.resolve source facts\n\nFixes #6678\n\n* refactor(javascript): name retained require call facts explicitly\n\n* fix: resolve selected require call members\n\nFixes #6678\n\n* fix(javascript): keep unresolved created-loader bases unknown\n\n* refactor(artifacts): centralize completed file outcomes\n\nProject completed values and cancellation from the descriptor owner once across artifact consumers. Preserve completed void outcomes and format-specific validation and cleanup policies.\n\nKeep later aborts from replacing captured APK and SQLite close failures, and retain the exact APK cancellation reason. Exercise real descriptors, public workflows and cleanup retries.\n\n* fix(javascript): isolate package facts from host prototypes\n\nBuild frozen package field snapshots with a null prototype and restrict reference-source main lookup to own properties. Preserve declared null and empty values, index fallback, source identity and unavailable manifest evidence.\n\nCompare inherited main and exports lookup with the native Node resolver, retain package observation coverage and verify CLI/MCP package workflows.\n\n* fix(captures): advertise offline capture inspection without a browser provider (#6725)\n\n* fix(parsers): preserve format boundaries and query occurrence identity\n\nNormalize parsed facts at their owning boundaries across PE exports and certificates, ELF section names, GPU bundles, IL2CPP generic types, dyld slice selection, source maps, environment replay, and JavaScript mapped arguments. Preserve partial facts and explicit unsupported cases; clarify the corresponding documentation.\n\nValidation: 831 affected tests passed with one existing skip across 23 files; build, typecheck/lint, documentation, formatting, and 2133-file test discovery passed. Format controls are synthetic; real Unity, GPU, and ARM-device execution is unverified.\n\nFixes #6709\nFixes #6688\nFixes #6719\nFixes #6718\nFixes #6704\nFixes #6703\nFixes #6692\nFixes #6723\nFixes #6687\nFixes #6726\nFixes #6696\nFixes #6691\nFixes #6727\n\n* fix(process): require observed environment ownership tokens\n\nCentralize run-token extraction at the environment observation boundary and require an own field. Build decoded OS environment records without host prototypes while retaining source names, empty values and last-assignment precedence.\n\nReject inherited matching tokens before cleanup signaling, preserve normal owned-group behavior, and verify live Linux process environments alongside native CLI/MCP capture workflows.\n\n* fix(parsers): retain independent facts and boundary identity\n\nShare bounded ELF section-name decoding across native and note readers; retain read-only ranges and coverage reasons when names are unknown. Preserve ELF symbol-version bytes, dyld-bound method uncertainty, partial gRPC-Web trailers, and per-parent model identity checks. Compare GPU signatures as bytes and require a PTX module header. Share selected-path errno classification across EVM and BEAM.\n\nValidation: 397 shared-parser tests passed (one existing skip), 5 MCP schema tests passed, 14 EVM error-mapping tests passed, and 23 protobuf CLI/MCP matrix cases passed across focused runs. Build, typecheck/lint, docs, formatting, and 2134-file discovery passed. Full EVM provider workflow remains locally unverified on Darwin arm64; format controls are synthetic.\n\nFixes #6738\nFixes #6737\nFixes #6745\nFixes #6740\nFixes #6749\nFixes #6747\nFixes #6739\n\n* fix(setup): preserve source keys across configuration boundaries\n\n* fix(setup): keep the CLI-only skill choice offered under a client ID (#6401)\n\n* fix(setup): keep the CLI-only skill choice offered under a client ID\n\n* test(setup): cover the accept-all CLI-only skill selection\n\n* fix(apple): report a read-denied selected archive as host access denial (#6479)\n\n* fix(apple): report a read-denied selected archive as host access denial\n\ninspect-keyed-archive reported a host read refusal on the caller-selected bundle entry as artifact_operation_failed/execution_failure with reason io, leaving EACCES or EPERM only inside message text. The caller selected that entry, so the refusal is a selection outcome with its own typed classification, system code and read-access recovery.\n\nDirectoryArtifactReader now marks a refused entry open with DirectoryArtifactEntryAccessDenied, which retains the host system code and the selected entry path. KeyedArchiveReader, which owns the caller's selection, maps it to the shared AnalysisAccessDeniedError, and artifact failure translation keeps that typed error instead of replacing it with a generic io failure. Other readers and other reader failures are unchanged; every existing reason keeps its current projection.\n\nAdds the access_denied projection coverage plus a real host refusal through the production reader and a non-permission control.\n\n* fix(apple): carry cleanup ownership and cover raw refusals for a denied selection\n\nAddresses the two review findings on the denied-selection classification:\n\n- The typed host access denial now carries the reader's cleanup observation, so a denied open that left a resource owned does not project as fully cleaned.\n- Adds coverage that starts from raw host EACCES/EPERM/EIO refusals with the real DirectoryArtifactReader open path, so the marker itself is exercised rather than constructed by the test. EIO stays an artifact failure.\n\n* fix(native): report plist symlink loops and overlong paths as selection failures (#6371)\n\nCo-authored-by: Abelo9996 \n\n* docs(cli): document opt-in Bash completion setup (#6250)\n\n* fix(doctor): check only the current platform's Hopper launcher candidates (#6253)\n\n* fix(doctor): check only the current platform's Hopper launcher candidates\n\nDoctor built one launcher list for every platform, so on macOS it could\nreport a Linux-only path as a healthy Hopper ahead of a renamed bundle,\nand setup then registered that path. Give per-platform automatic\ncandidates one owner that runtime configuration and doctor both read,\nscan renamed macOS bundles and probe the Homebrew cask only on macOS,\nand share runtime's renamed-bundle scan with the doctor host.\n\nFixes #6228\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(doctor): keep the renamed Hopper bundle scan asynchronous\n\nSharing runtime's synchronous scan made the doctor host read\n~/Applications with readdirSync, which blocks the event loop on a slow\nor network-mounted home. Give MacHopperPaths an asynchronous scan for\ndoctor beside runtime's lazy synchronous one, sharing the directory\nfilter and candidate builder, and check that both return the same\ncandidates.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(doctor): model renamed launchers with runtime's POSIX joins\n\nSince #5235, runtime builds macOS launcher paths with posix.join, so on\nWindows the discovery table's native-join renamed launcher no longer\nmatched runtime's candidate. Model launchers with posix.join and keep\nfilesystem setup native, as MacHopperPaths.test.ts does.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 \n\n* fix(entropy): name offset when the byte window starts past EOF (#6495)\n\nFixes #6482\n\nCo-authored-by: Abelo9996 \n\n* fix(sqlite): report result-column capacity refusals as capacity (#6327)\n\nA projection wider than SQLite's native result-column limit failed with the\ngeneric \"too many columns in result set\" SQL error. The inspector could not\nattribute that error to a generated column, so the worker reported \"format\"\nand the parent blamed the caller's path as invalid_format even though the\nselected database was readable.\n\nClassify the refusal from SQLite's own column limit for the private\nconnection, carry the selected and engine counts through the worker reply,\nand project it as a capacity resource constraint. The database stays\nreadable, no partial rows are returned, and the recovery names the column\ncounts and splitting the projection across calls.\n\n* fix(web): refuse an existing script-export destination as invalid input (#6313)\n\n* fix(web): refuse an existing script-export destination as invalid input\n\nexport_web_scripts refused an existing output directory or link correctly,\nbut reported it as artifact_operation_failed / execution_failure with no\nfield issue or recovery. SafeOutputTree.create raises that refusal as a\npath failure before any output tree exists, and the export mapper wrapped\nit as an artifact failure.\n\nAttribute pre-admission path refusals to output_directory as an\nAnalysisInputError, as environment export already does for its directory.\nBoth now share one helper owned beside SafeOutputTree; failures after the\ntree is admitted keep their artifact semantics.\n\nFixes #6029\n\n* fix(artifacts): type SafeOutputTree destination refusals\n\nAdmission conversion treated any cleanup-free path failure raised before\nadmission as a refusal of the selected directory, so an acquired-tree setup\nfailure, such as being unable to restrict a created root to 0700, blamed\nvalid output_directory or directory input.\n\nSafeOutputTree.create now raises SafeOutputTreeDestinationRefusal for the\nrefusals of the selection itself: a relative or reserved root, an existing\nroot, and an accepted existing root that is not an empty directory. The shared\nconversion accepts only that type, directly or wrapped by\nSafeOutputTreeCreationFailure, so script and environment export no longer\ntrack admission separately.\n\n* fix(evm): reject repeated container keys in Solidity metadata (#6230)\n\n* fix(evm): reject repeated container keys in Solidity metadata\n\n* test(evm): check the repeat-key diagnostic for deeply nested keys\n\n* docs(ci): add a repeatable static analysis example (#6496)\n\n* docs(ci): add a repeatable static analysis example\n\n* fix(ci): isolate example reports and repair the guide link\n\n---------\n\nCo-authored-by: gongfpp <22683417+gongfpp@users.noreply.github.com>\n\n* fix(setup): retain unresolved environment facts when deriving budgets\n\n* fix(parsers): preserve format evidence and caller input identity\n\nRetain bounded FAT and offset-tagged PE observations through archive hashing,\nclassification, and content nodes. Preserve PyInstaller member paths according\nto the observed carrier dialect and share APK v1 signing-name semantics.\n\nRead SQLite's implicit sqlite_schema table without inventing a stored schema\ndeclaration. Distinguish unsupported ELF numbering and decoded-name admission\nfrom malformed data and fixed scan allowances. Preserve Sigrok basenames and\nclassify matching explicit input-format refusals at their owning boundary.\n\nValidation: 554 distinct tests passed, 3 skipped across serial focused runs;\nbuild, typecheck/lint, docs, formatting, and discovery (2141 files) passed.\nSigrok command-boundary simulators do not establish real-tool decoding.\nSmall repeated public PyInstaller CLI runs had equivalent inventory facts;\nwarm median elapsed 0.5431s before / 0.5426s after, with no speed claim.\n\nFixes #6733\nFixes #6741\nFixes #6722\nFixes #6732\nFixes #6736\nFixes #6734\nFixes #6764\nFixes #6766\nRefs #6739\n\n* fix(parsers): respect container facts and real decoding boundaries\n\nUse zip.js's parsed symlink fact for inventory and open refusal. Treat an\nunmatched Godot trailer as an unconfirmed candidate while preserving failures\nfor confirmed malformed packs. Report entropy path-resolution failures at the\nselected-input boundary.\n\nSeparate Go header discovery from inline string extents in ELF and Mach-O,\nand apply the aggregate content allowance after validating real source ranges.\nNormalize binary plist UID widths through the existing scalar-copy owner,\nbudget exact clone growth, preserve source identity, and refuse inexact UIDs.\n\nValidation: 389 distinct tests passed, one Linux /proc test skipped on Darwin;\nbuild, typecheck/lint, docs, single-thread formatting, and discovery (2142 files)\npassed. CLI/MCP Go fixtures and public ZIP/Godot/keyed-archive workflows ran.\nReal producer prevalence and external provider execution were not established.\n\nRepeated ordinary keyed-archive CLI inventory facts and estimated reply tokens\nwere equal before/after. Warm median elapsed was 0.5166s / 0.5177s; no speed claim.\n\nFixes #6751\nFixes #6763\nFixes #6754\nFixes #6767\nFixes #6762\nFixes #6779\n\n* refactor(mcp): consolidate Evidence recording and operation progress\n\n* fix(setup): reuse URL component admission for Hopper releases\n\n* perf(cli): avoid loading analysis commands for version reports\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>\nCo-authored-by: Hifza Zafar <152292315+hifzabuildsai@users.noreply.github.com>\nCo-authored-by: Can <159528514+eco-null@users.noreply.github.com>\nCo-authored-by: eco-null \nCo-authored-by: Cassie_Fox <249835913+CassieFox23@users.noreply.github.com>\nCo-authored-by: Claude Sonnet 5.5 \nCo-authored-by: Wade <160517347+Sriram-PR@users.noreply.github.com>\nCo-authored-by: RRFZ <247457381+Plastic-time@users.noreply.github.com>\nCo-authored-by: pablodiazjorge <102741971+pablodiazjorge@users.noreply.github.com>\nCo-authored-by: Ezra Brilliant <64943463+ezrabrilliant@users.noreply.github.com>\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>\nCo-authored-by: GamerDubz <105694977+GamerDubz@users.noreply.github.com>\nCo-authored-by: raidnouredden-ux \nCo-authored-by: 吴佳浩Alben <35291372+XiaoBinGan@users.noreply.github.com>\nCo-authored-by: Abel Yagubyan \nCo-authored-by: Abelo9996 \nCo-authored-by: ShuaixinHuang <1836656514@qq.com>\nCo-authored-by: Paritosh Lahre <155938586+SandstromPL@users.noreply.github.com>\nCo-authored-by: Dery Ferdika <114888155+DeryFerd@users.noreply.github.com>\nCo-authored-by: gongfpp <1360187968@qq.com>\nCo-authored-by: gongfpp <22683417+gongfpp@users.noreply.github.com>", + "parents": ["8bf882f401400a6d1a48d2e78324995657ad5676"], + "authors": [ + { + "name": "Muhammad Hamza", + "email": "32600505+mhamzasakhi@users.noreply.github.com", + "user": { + "login": "mhamzasakhi", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Hifza Zafar", + "email": "152292315+hifzabuildsai@users.noreply.github.com", + "user": { + "login": "hifzabuildsai", + "__typename": "User" + } + }, + { + "name": "Can", + "email": "159528514+eco-null@users.noreply.github.com", + "user": { + "login": "eco-null", + "__typename": "User" + } + }, + { + "name": "eco-null", + "email": "eco-null@users.noreply.github.com", + "user": { + "login": "eco-null", + "__typename": "User" + } + }, + { + "name": "Cassie_Fox", + "email": "249835913+CassieFox23@users.noreply.github.com", + "user": { + "login": "CassieFox23", + "__typename": "User" + } + }, + { + "name": "Claude Sonnet 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "Wade", + "email": "160517347+Sriram-PR@users.noreply.github.com", + "user": { + "login": "Sriram-PR", + "__typename": "User" + } + }, + { + "name": "RRFZ", + "email": "247457381+Plastic-time@users.noreply.github.com", + "user": { + "login": "Plastic-time", + "__typename": "User" + } + }, + { + "name": "pablodiazjorge", + "email": "102741971+pablodiazjorge@users.noreply.github.com", + "user": { + "login": "pablodiazjorge", + "__typename": "User" + } + }, + { + "name": "Ezra Brilliant", + "email": "64943463+ezrabrilliant@users.noreply.github.com", + "user": { + "login": "ezrabrilliant", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "GamerDubz", + "email": "105694977+GamerDubz@users.noreply.github.com", + "user": { + "login": "GamerDubz", + "__typename": "User" + } + }, + { + "name": "raidnouredden-ux", + "email": "raidnouredden@gmail.com", + "user": { + "login": "raidnouredden-ux", + "__typename": "User" + } + }, + { + "name": "吴佳浩Alben", + "email": "35291372+XiaoBinGan@users.noreply.github.com", + "user": { + "login": "XiaoBinGan", + "__typename": "User" + } + }, + { + "name": "Abel Yagubyan", + "email": "abelyagubyan@berkeley.edu", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + }, + { + "name": "Abelo9996", + "email": "Abelo9996@users.noreply.github.com", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + }, + { + "name": "ShuaixinHuang", + "email": "1836656514@qq.com", + "user": { + "login": "ShuaixinHuang", + "__typename": "User" + } + }, + { + "name": "Paritosh Lahre", + "email": "155938586+SandstromPL@users.noreply.github.com", + "user": { + "login": "SandstromPL", + "__typename": "User" + } + }, + { + "name": "Dery Ferdika", + "email": "114888155+DeryFerd@users.noreply.github.com", + "user": { + "login": "DeryFerd", + "__typename": "User" + } + }, + { + "name": "gongfpp", + "email": "1360187968@qq.com", + "user": { + "login": "gongfpp", + "__typename": "User" + } + }, + { + "name": "gongfpp", + "email": "22683417+gongfpp@users.noreply.github.com", + "user": { + "login": "gongfpp", + "__typename": "User" + } + } + ], + "pullRequests": [6530] + }, + { + "sha": "51e593877642ab42fb5bf25812f4a4110ee7ac26", + "subject": "fix(pcap): retain UTF-8 decoding failures across tool output", + "body": "fix(pcap): retain UTF-8 decoding failures across tool output\n\nValidate supervised text once before version or capture interpretation. Exercise POSIX client probes through compiled CLI and stdio MCP; capture-summary native bounds remain host-specific.\n\nFixes #6775\n", + "parents": ["169512a35bb015ff209168fb8bc1c9b31a2c678b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7ba05210feee64b270809e915d7df0055cb4fc94", + "subject": "fix(reference): preserve raw symlink target identity", + "body": "fix(reference): preserve raw symlink target identity\n\nRead link targets as bytes before strict UTF-8 admission. Retain malformed targets as unreadable with source hex; preserve literal replacement characters and valid BOM-prefixed targets.\n\nFixes #6765\n", + "parents": ["51e593877642ab42fb5bf25812f4a4110ee7ac26"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "866c72c907cd8fc28e2934dcf456f3b6f8d86c4c", + "subject": "docs(desktop): list all supported IL2CPP metadata versions", + "body": "docs(desktop): list all supported IL2CPP metadata versions\n\nMatch the declared probe versions and retain the version-24 layout limitation.\n\nFixes #6672\n", + "parents": ["7ba05210feee64b270809e915d7df0055cb4fc94"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "678c4cfa68e2fee12f620075e12dc87d9b1195b0", + "subject": "fix(flutter): preserve short GNU build IDs through public workflows", + "body": "fix(flutter): preserve short GNU build IDs through public workflows\n\nReuse the reader correction from PR #6705, and share the byte projection budget with output validation. Verify actual APK parsing through compiled CLI and stdio MCP at 0, 1, 2, 3, 64 and 65 descriptor bytes.\n\nCo-authored-by: Ezra <64943463+ezrabrilliant@users.noreply.github.com>\n\nFixes #6697\n", + "parents": ["866c72c907cd8fc28e2934dcf456f3b6f8d86c4c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9a3780229bb54a73c14f2bb1ec9b0684eb5479fc", + "subject": "test(search): pin native Unicode substring matching", + "body": "test(search): pin native Unicode substring matching\n\nThe shared literal owner already applies Unicode simple folding. Verify the reported production-helper cases across insensitive literal, sensitive literal and regex selection.\n\nFixes #6634\n", + "parents": ["678c4cfa68e2fee12f620075e12dc87d9b1195b0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f719dc46c51a55b3926eec9659d06e7dfb95132b", + "subject": "fix(views): select every retained module path without losing identity", + "body": "fix(views): select every retained module path without losing identity\n\nUse one retained-path owner for module references and items. Preserve selected paths and genuine ambiguity across module kinds; remove the superseded singular helper.\n\nFixes #6790\n", + "parents": ["9a3780229bb54a73c14f2bb1ec9b0684eb5479fc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ddd7ac7b846b48191ead1f7dcd0e3bd735468fa8", + "subject": "fix(javascript): preserve Next filesystem route spelling", + "body": "fix(javascript): preserve Next filesystem route spelling\n\nApply Next-specific uppercase %5F normalization while retaining ordinary percent sequences, encoded separators, and literal percent characters as distinct source segments.\n\nFixes #6641\n", + "parents": ["f719dc46c51a55b3926eec9659d06e7dfb95132b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "87fa1b613d2b6bda1722855a00f1390f27731b64", + "subject": "fix(managed): retain nested names and ReadyToRun observations", + "body": "fix(managed): retain nested names and ReadyToRun observations\n\nResolve attribute display names from validated nesting and parsed member facts, admit composed names before allocation, and preserve unknown malformed chains. Keep ReadyToRun classification ahead of metadata hints while retaining each observed hint.\n\nFixes #6815\nFixes #6810\n", + "parents": ["ddd7ac7b846b48191ead1f7dcd0e3bd735468fa8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b784912811fd10ac9dc425696dc0e9af632afa34", + "subject": "fix(cli): share Markdown formatting with standalone reports", + "body": "fix(cli): share Markdown formatting with standalone reports\n\nRoute version and doctor report tables through the same formatter used for command output, preserving escaped cells and structured JSON facts.\n", + "parents": ["87fa1b613d2b6bda1722855a00f1390f27731b64"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "96ea32b7e4e28d3c9cd79a1de4b8e1ba3b4244e9", + "subject": "perf(environment): decode only selected replay query values", + "body": "perf(environment): decode only selected replay query values\n", + "parents": ["b784912811fd10ac9dc425696dc0e9af632afa34"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fc63fe8682654086261540dcf3c59afc36c7d58f", + "subject": "fix(gpu): distinguish host descriptor failures from invalid targets", + "body": "fix(gpu): distinguish host descriptor failures from invalid targets\n\nShare selected-file errno ownership with model inspection and codec result accounting with Rust. Verify actual descriptor exhaustion and unchanged-input recovery in an isolated child.\n\nFixes #6666\n", + "parents": ["96ea32b7e4e28d3c9cd79a1de4b8e1ba3b4244e9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4c5fae5179dd54c4a0d427cd2a115b9c887e3841", + "subject": "fix(il2cpp): decode valid shared-suffix string offsets", + "body": "fix(il2cpp): decode valid shared-suffix string offsets\n\nPreserve bounds, termination and UTF-8 checks; verify CLI and stdio MCP preserve names and selected artifact identity.\n\nFixes #6808\n", + "parents": ["fc63fe8682654086261540dcf3c59afc36c7d58f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "929a0a76c870d9991e015dde58308fd9df0280b8", + "subject": "fix(rust): preserve JSON field identity and PE stream extents", + "body": "fix(rust): preserve JSON field identity and PE stream extents\n\nReject duplicate decoded JSON names before object conversion. Use one checksummed zlib stream parse and retained PE FileAlignment to distinguish exact zero padding from trailing payload bytes. Exercise public CLI and stdio MCP.\n\nFixes #6814\n\nFixes #6793\n", + "parents": ["4c5fae5179dd54c4a0d427cd2a115b9c887e3841"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6c6e2ad62b20f810b54f5a567e66fc55241514b2", + "subject": "fix(wasm): preserve core inspection with optional metadata warnings", + "body": "fix(wasm): preserve core inspection with optional metadata warnings\n\nRetain warnings from validator, objdump and decoder through one diagnostic owner. Keep uninterpretable name bytes and explicit name-metadata coverage in complete results and summaries.\n\nFixes #6812\n", + "parents": ["929a0a76c870d9991e015dde58308fd9df0280b8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4526862728af01f1135714079c0d8a8c754eb364", + "subject": "fix(apple): decode valid nonstandard plist table widths", + "body": "fix(apple): decode valid nonstandard plist table widths\n\nReuse preflight-parsed container references for bounded decoder-copy normalization. Preserve original artifact bytes, scalar provenance and reference order. Verify three-byte offset and reference encodings through CLI and stdio MCP.\n\nFixes #6805\n", + "parents": ["6c6e2ad62b20f810b54f5a567e66fc55241514b2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8d8d85ba22463b80715a1af1fdb51acc9b5d760b", + "subject": "refactor(cli): share parsed output controls across consumers", + "body": "refactor(cli): share parsed output controls across consumers\n", + "parents": ["4526862728af01f1135714079c0d8a8c754eb364"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a32d731ed7249a30d67c476926b55863fb5bb416", + "subject": "fix(providers): share selected-file error classification", + "body": "fix(providers): share selected-file error classification\n", + "parents": ["8d8d85ba22463b80715a1af1fdb51acc9b5d760b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "33f90f95b66a811ea5e159f797aa3bdaab6d9d26", + "subject": "test: validate evidence and select fixtures structurally", + "body": "test: validate evidence and select fixtures structurally\n", + "parents": ["a32d731ed7249a30d67c476926b55863fb5bb416"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d78892eb4ba41cf8746e5410b3ddf6e7f0ba524f", + "subject": "refactor: remove superseded Hopper and Babel compatibility paths", + "body": "refactor: remove superseded Hopper and Babel compatibility paths\n", + "parents": ["33f90f95b66a811ea5e159f797aa3bdaab6d9d26"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ccba355fa9dbddf7718d7255e87b39c747446768", + "subject": "fix(javascript): preserve map boundaries and loader provenance", + "body": "fix(javascript): preserve map boundaries and loader provenance\n\nShare embedded-map version admission and derive indexed overlap from represented mappings. Carry createRequire filename bases through worker facts and graph identity. Select factory export bindings at each bundler owner.\n\nValidated accepted and malformed source maps through real CLI and stdio MCP codec workflows; verified loader and esbuild graph output against Node runtime controls. Rebased consumer checks passed.\n\nFixes #6803\n\nFixes #6614\n\nFixes #6798\n\nFixes #6797\n", + "parents": ["d78892eb4ba41cf8746e5410b3ddf6e7f0ba524f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6fdcac6cadf690ee4fb1c0154e6e420336bd4c73", + "subject": "fix(sqlite): preserve catalog byte identity and worker context", + "body": "fix(sqlite): preserve catalog byte identity and worker context\n\nMatch table metadata by stored name bytes and fold only ASCII code units for relationships, reusing parsed facts without per-trigger queries. Preserve caller paths on structured worker limits and V8 heap failures.\n\nValidated invalid UTF-8 collisions, distinct UTF-16 names and real worker transport refusal through CLI and stdio MCP. Controlled stderr covers OOM classification; actual memory exhaustion was not induced.\n\nFixes #6795\n\nFixes #6607\n", + "parents": ["ccba355fa9dbddf7718d7255e87b39c747446768"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d4415444c43896f256b834340137a5413a6393fb", + "subject": "fix(native): retain processor, hidden-slice and property type facts", + "body": "fix(native): retain processor, hidden-slice and property type facts\n\nSeparate AMDGPU processors from feature-qualified note identities. Read Apple hidden ARM64 table rows once and preserve visibility through artifact, dylib and fuse consumers. Keep Objective-C++ template commas within type attributes and incomplete metadata unknown.\n\nValidated provider/parser and production property regressions, Electron CLI/MCP consumers, and native Apple lipo -hideARM64 output through the production slice reader and public artifact inspection. LLVM execution remains unverified.\n\nFixes #6806\n\nFixes #6799\n\nFixes #6801\n", + "parents": ["6fdcac6cadf690ee4fb1c0154e6e420336bd4c73"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "42e785925c9cb888139d2026afb526caa31fe8bb", + "subject": "fix(adb): accept Android Java float spellings unchanged", + "body": "fix(adb): accept Android Java float spellings unchanged\n\nUse Float.valueOf grammar at shared admission and retain selected spelling through am --ef. Validated scientific notation, malformed controls and exact MCP forwarding with a source-owned ADB fixture; no device execution.\n\nFixes #6796\n", + "parents": ["d4415444c43896f256b834340137a5413a6393fb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3e7e102a518b9112a2a8aa0590ae6f6951fd0635", + "subject": "fix(rust): separate section storage from compressed stream admission", + "body": "fix(rust): separate section storage from compressed stream admission\n\nKeep validated PE padding in the selected Evidence range while consumed zlib bytes own compressed and inflate-ratio limits. Preserve typed resource failures and bounded allocation. Validated accepted padding, over-ratio and compressed-size controls through source, real CLI and stdio MCP workflows.\n", + "parents": ["42e785925c9cb888139d2026afb526caa31fe8bb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6cd3fa09b10b15ca352bbac41217a3c597a9c264", + "subject": "refactor(process): centralize post-run artifact verification", + "body": "refactor(process): centralize post-run artifact verification\n", + "parents": ["3e7e102a518b9112a2a8aa0590ae6f6951fd0635"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f276bcbf6ce2cdf05ca382678868ac2cd42f426c", + "subject": "refactor(javascript): own paired graph evidence resolution", + "body": "refactor(javascript): own paired graph evidence resolution\n", + "parents": ["6cd3fa09b10b15ca352bbac41217a3c597a9c264"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d0432d63c9fd359ee722c232993523765fe84cf9", + "subject": "refactor(managed): share decoded type definition facts", + "body": "refactor(managed): share decoded type definition facts\n", + "parents": ["f276bcbf6ce2cdf05ca382678868ac2cd42f426c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2443b949a48c3b2eba687e7381682e49e909d5b9", + "subject": "docs: clarify evidence applicability and boundary limitations", + "body": "docs: clarify evidence applicability and boundary limitations\n", + "parents": ["d0432d63c9fd359ee722c232993523765fe84cf9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f8f52f205a22270c96ef7d6ebcb936e5aef40193", + "subject": "fix(python): preserve marshal names and packaged bytecode", + "body": "fix(python): preserve marshal names and packaged bytecode\n\nUse one marshal surrogatepass decoder for PYZ directories and Python bytecode.\nValidate ordinary UTF-8 spans with the native fatal decoder, preserving BOMs,\nlone surrogates, raw bytes and marshal reference slots.\n\nDistinguish legacy full-pyc CArchive modules from modern marshal-only modules\nbefore reconstructing headers. Share typed source/codec failures between stream\noutput and completion while retaining native-read drain and cleanup ownership.\n\nValidated focused producer, reader, lifecycle, CLI and MCP regressions, plus\npublic inventory/extraction of CPython 3.14-generated marshal tables and code.\nNo packaged application was executed. Document original versus derived bytes.\n\nFixes #6800\nFixes #6789\n", + "parents": ["2443b949a48c3b2eba687e7381682e49e909d5b9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d137a4cdde0049de967f1d5cd429ed9e1f7d0a10", + "subject": "fix(android): preserve metadata dialect and root manifest identity", + "body": "fix(android): preserve metadata dialect and root manifest identity\n\nRead Apktool 3's producer string dialect before YAML can discard hashes or\nreinterpret values. Preserve older YAML behavior and decode producer escapes once.\n\nSelect the exact root AndroidManifest.xml resource in REA's JADX bridge and\nderive summaries once with namespace-aware XML parsing. Preserve decoded text,\nsummarize before its display cap, invalidate cached facts with the loaded session,\nand remove superseded upstream manifest handlers. Keep the engine pinned to 0.7.1.\n\nValidated Apktool parser/provider and public adapter controls; compiled the bridge\nagainst the verified pinned JAR and ran its real Java regressions plus public CLI\nand stdio MCP manifest parity checks. Real Apktool execution remains unverified;\nthe new manifest fixtures use plain XML. No Android application was executed.\n\nFixes #6804\nFixes #6866\nFixes #6863\nFixes #6819\n", + "parents": ["f8f52f205a22270c96ef7d6ebcb936e5aef40193"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "39a91d4db96ca13224c25936330ea84fe78970e5", + "subject": "fix(gpu): preserve declaration grammar and partial resource coverage", + "body": "fix(gpu): preserve declaration grammar and partial resource coverage\n\nShare AMDGPU triple grammar between bundle and note owners so modern target\nspellings participate in processor/feature conflict detection. Propagate CUBIN\nregister conflicts into object, target and report coverage.\n\nNormalize adjacent PTX dot keywords in the lexer, removing the downstream pointer\nsplitter. Parse post-type alignment while distinguishing parameter and pointee\nlayout, preserving names and byte provenance when layout remains unknown.\n\nValidated production-boundary matrices and public CLI/MCP coverage workflows with\ninert fixtures. Correct the HIP-v3 control's ELF processor declaration. Real GPU,\nassembler and compiler-produced modern-note behavior remains unverified.\n\nFixes #6844\nFixes #6823\nFixes #6858\nFixes #6868\nFixes #6861\n", + "parents": ["d137a4cdde0049de967f1d5cd429ed9e1f7d0a10"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ef475fcf8b0601c61052b7091568ba574546417d", + "subject": "fix(sqlite): distinguish query capacity and unavailable row sources", + "body": "fix(sqlite): distinguish query capacity and unavailable row sources\n\nUse one bound JSON selection set for inventory metadata, keeping raw-name byte\ncomparison and filtering inside SQLite while preserving caller projection order\nand repetition. Large requests reach native result-column capacity attribution.\n\nSeparate unavailable row sources from generated-expression failures. Preserve\nSQLite's reason and selected table/path, offer schema-only recovery, and avoid\nclaiming corruption or recommending unreadable columns.\n\nValidated UTF-8/UTF-16 identity, native inspection/worker tests and CLI/MCP failure\nand recovery workflows. The large CLI selection uses the existing framed CLI\nfixture to avoid host argv limits. Source bytes and identity remain unchanged.\n\nFixes #6855\nFixes #6604\n", + "parents": ["39a91d4db96ca13224c25936330ea84fe78970e5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "92f28b2f561118004ac3332cd39dabc0ef4ee0ae", + "subject": "refactor(evidence): share comparison payload interpretation", + "body": "refactor(evidence): share comparison payload interpretation\n\nDecode named comparison payloads and validate nested citations at one domain boundary. Preserve workflow-specific authentication, source closure policy and validation order; cover malformed payloads and citation boundaries.\n", + "parents": ["ef475fcf8b0601c61052b7091568ba574546417d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cee14e1fda67448790be5d3a73f60ccc797b418f", + "subject": "refactor(javascript): reuse semantic member-chain facts", + "body": "refactor(javascript): reuse semantic member-chain facts\n\nResolve member structure through the existing AST owner while preserving binding, shadowing and global process identity checks in their consumers.\n", + "parents": ["92f28b2f561118004ac3332cd39dabc0ef4ee0ae"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a496131e5a35b07eb2b209c62f5f8ecacc4613bd", + "subject": "refactor(qlog): reuse capture redaction policy", + "body": "refactor(qlog): reuse capture redaction policy\n\nReuse credential header classification and lossless numeric redaction while preserving qlog event scopes, source literals and provenance pointers. Cover HTTP and extension fields plus explicit numeric sensitivity.\n", + "parents": ["cee14e1fda67448790be5d3a73f60ccc797b418f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "592c46b001e46072a68915d093519b89e6baab5f", + "subject": "test(managed): preserve token identity in graph assertions", + "body": "test(managed): preserve token identity in graph assertions\n\nReplace ambiguous display-label sorting with exact relation assertions keyed by metadata tokens. Distinguish same-name methods and verify directed ownership, edge counts, properties and Evidence without depending on graph order.\n", + "parents": ["a496131e5a35b07eb2b209c62f5f8ecacc4613bd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f8b65e78723b1e2169f94dd1226198ea3139707e", + "subject": "fix(reconstruction)!: bind proof to owner and obligation revision", + "body": "fix(reconstruction)!: bind proof to owner and obligation revision\n\nParse a named proof contract once and qualify exact obligation, owner, revision, fixture/case, and verifier/claim tuples. Preserve unavailable proof separately from applicable failed outcomes.\n\nBREAKING CHANGE: ID-array reconstruction proof records no longer qualify for verified or ready ledgers. Producers must supply implementation and revision bindings with individual claim outcomes; ledger diagnostics now distinguish inapplicable, unavailable, and failed proof.\n", + "parents": ["592c46b001e46072a68915d093519b89e6baab5f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8aa40e9a61155cff8b6f3c138c601bf805b20653", + "subject": "fix(cache): scope Evidence display refresh to matching snapshot bindings", + "body": "fix(cache): scope Evidence display refresh to matching snapshot bindings\n", + "parents": ["f8b65e78723b1e2169f94dd1226198ea3139707e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5e4ec0fa1b678aa3bf20704ec9110224ba8c1676", + "subject": "perf: retain call path ancestry once per visited node", + "body": "perf: retain call path ancestry once per visited node\n", + "parents": ["8aa40e9a61155cff8b6f3c138c601bf805b20653"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0c6fed90b74c75a9fd23d1ec1b510a7274f85887", + "subject": "perf: batch modern IDA callee function lookups", + "body": "perf: batch modern IDA callee function lookups\n", + "parents": ["5e4ec0fa1b678aa3bf20704ec9110224ba8c1676"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b3c912ab79ad147a37b6cfbe1552a1a5eecec629", + "subject": "fix(filesystem): retain read cleanup capabilities across retries", + "body": "fix(filesystem): retain read cleanup capabilities across retries\n", + "parents": ["0c6fed90b74c75a9fd23d1ec1b510a7274f85887"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "211e3533b34f81ae0910ad4f53f2a3d3c8587d3e", + "subject": "fix(setup): retain skill publication ownership through rollback", + "body": "fix(setup): retain skill publication ownership through rollback\n", + "parents": ["b3c912ab79ad147a37b6cfbe1552a1a5eecec629"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "edf7b3d32c3248f221e27f7ce5a3d34e8590285b", + "subject": "fix(native): preserve endpoint context in function comparisons", + "body": "fix(native): preserve endpoint context in function comparisons\n", + "parents": ["211e3533b34f81ae0910ad4f53f2a3d3c8587d3e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a0c22ff0125b8af7612db54d3708413e2bfecb25", + "subject": "fix(browser): preserve correspondence and uncertainty in capture comparisons", + "body": "fix(browser): preserve correspondence and uncertainty in capture comparisons\n", + "parents": ["edf7b3d32c3248f221e27f7ce5a3d34e8590285b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f5d791f2a17ead3bd57b2fe07560c2409e9e2ddc", + "subject": "fix(setup): preserve client-owned MCP policy on refresh", + "body": "fix(setup): preserve client-owned MCP policy on refresh\n", + "parents": ["a0c22ff0125b8af7612db54d3708413e2bfecb25"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "357e354ac7f5aed8e90c209dff30327d6bf212dc", + "subject": "fix(managed): preserve member scope and nominal edge identity", + "body": "fix(managed): preserve member scope and nominal edge identity\n", + "parents": ["f5d791f2a17ead3bd57b2fe07560c2409e9e2ddc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "693a3851ec4cd837d26dfae6af7c52629c90fe6c", + "subject": "test(managed): bound capacity fixtures with reserved budgets", + "body": "test(managed): bound capacity fixtures with reserved budgets\n", + "parents": ["357e354ac7f5aed8e90c209dff30327d6bf212dc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8f29c7ab66ea34fcf9f5a7bc9b634a2d3a1acc2e", + "subject": "fix(artifacts): preserve extraction coverage and provenance", + "body": "fix(artifacts): preserve extraction coverage and provenance\n", + "parents": ["693a3851ec4cd837d26dfae6af7c52629c90fe6c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "78f8eca53120b69a61ff2f55a691438e0818de30", + "subject": "fix(apple): preserve bundle discovery coverage and decode failures", + "body": "fix(apple): preserve bundle discovery coverage and decode failures\n", + "parents": ["8f29c7ab66ea34fcf9f5a7bc9b634a2d3a1acc2e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "aedd394471daa2c3642013a5702f1aea7912a6b2", + "subject": "perf(tests): share native Interface Builder encoding production", + "body": "perf(tests): share native Interface Builder encoding production\n", + "parents": ["78f8eca53120b69a61ff2f55a691438e0818de30"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "37122745b6e0deab4faad25e032e91d6ec309645", + "subject": "fix: retain status observations when session cleanup fails", + "body": "fix: retain status observations when session cleanup fails\n", + "parents": ["aedd394471daa2c3642013a5702f1aea7912a6b2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "48f700ee35e0988ed973e5486dc9db33f2a5d944", + "subject": "fix!: retain Frida observations through shared finalization", + "body": "fix!: retain Frida observations through shared finalization\n\nReuse the shared one-shot finalizer for discovery and instrumentation, preserve finalization cancellation with completed observations, and bind Frida cleanup errors to exact owners so confirmed retry recovers the primary error.\n\nBREAKING CHANGE: instrument-with-frida JSON now returns the canonical Evidence record directly. Read normalized_result.cleanup_error instead of the earlier top-level cleanup_error wrapper field.\n", + "parents": ["37122745b6e0deab4faad25e032e91d6ec309645"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6e324b224405f2befd953234f6dc210cf72ad50a", + "subject": "fix(javascript): share accessor selection and invocation effects", + "body": "fix(javascript): share accessor selection and invocation effects\n", + "parents": ["48f700ee35e0988ed973e5486dc9db33f2a5d944"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a8276d128992218a4b01ad9071ef3ec8ed6f5c73", + "subject": "docs: clarify capture comparison coverage and identity", + "body": "docs: clarify capture comparison coverage and identity\n", + "parents": ["6e324b224405f2befd953234f6dc210cf72ad50a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2732d538e8ea77f5eed910f59bfc7a03e8fdcf9e", + "subject": "fix(session): own target admission descriptors through finalization", + "body": "fix(session): own target admission descriptors through finalization\n", + "parents": ["a8276d128992218a4b01ad9071ef3ec8ed6f5c73"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "88bb8d5fe325fd213587d1196d3ad1d7e4e11c29", + "subject": "test(frida): pass the signal to finalization listeners", + "body": "test(frida): pass the signal to finalization listeners\n", + "parents": ["2732d538e8ea77f5eed910f59bfc7a03e8fdcf9e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1e539337867aa9648ff46ddef094b356e4a894fe", + "subject": "test(session): acquire provider before mixed cleanup recovery", + "body": "test(session): acquire provider before mixed cleanup recovery\n", + "parents": ["88bb8d5fe325fd213587d1196d3ad1d7e4e11c29"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4f3d486d8f909f65f2f411aa801fd4e8e4466e29", + "subject": "fix(setup): retain TOML comments from replaced registration code", + "body": "fix(setup): retain TOML comments from replaced registration code\n", + "parents": ["1e539337867aa9648ff46ddef094b356e4a894fe"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5feac72c79eae052e030829c7821b01c5d9c0579", + "subject": "test: reuse Frida SDK setup across status scenarios", + "body": "test: reuse Frida SDK setup across status scenarios\n", + "parents": ["4f3d486d8f909f65f2f411aa801fd4e8e4466e29"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a8758da09bcabd3963d48a3ba228aba24a401a51", + "subject": "fix(apple): account for roots skipped by ordered reads", + "body": "fix(apple): account for roots skipped by ordered reads\n", + "parents": ["5feac72c79eae052e030829c7821b01c5d9c0579"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7665bf0831cd6df421eb1bc6f058e7136cf4a0f7", + "subject": "test(apple): separate catalog traversal coverage cases", + "body": "test(apple): separate catalog traversal coverage cases\n", + "parents": ["a8758da09bcabd3963d48a3ba228aba24a401a51"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8ad3e0ea30300df0443a395884212c10accf6cec", + "subject": "test(managed): split edge comparison scenarios by semantics", + "body": "test(managed): split edge comparison scenarios by semantics\n", + "parents": ["7665bf0831cd6df421eb1bc6f058e7136cf4a0f7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "162b9e5863091fe5410d8e8d3bf037379d5ccf4d", + "subject": "test: share Frida SDK connection setup within fixtures", + "body": "test: share Frida SDK connection setup within fixtures\n", + "parents": ["8ad3e0ea30300df0443a395884212c10accf6cec"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d1fea89e1e595fd04075ae8cf825715094c013a0", + "subject": "style: format integrated boundary fixes", + "body": "style: format integrated boundary fixes\n", + "parents": ["162b9e5863091fe5410d8e8d3bf037379d5ccf4d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5e4004c41315928515828fee0a3f8f6292533f5a", + "subject": "fix(artifacts): preserve traversal coverage through bundle workflows", + "body": "fix(artifacts): preserve traversal coverage through bundle workflows\n\nRetain producer traversal uncertainty through inventory, extraction, Interface Builder decoding and executable-root discovery. Keep known copied files and decoded facts with honest coverage; share omission normalization and bound omitted archive paths with their source reasons.\n\nFixes #6852\nFixes #6825\nFixes #6582\n", + "parents": ["592c46b001e46072a68915d093519b89e6baab5f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6fbe67d66e3d716db69929503a3a232a7ada0860", + "subject": "fix(apple)!: use archive UIDs for keyed nib identity", + "body": "fix(apple)!: use archive UIDs for keyed nib identity\n\nUse original object-table UIDs for inventory, hierarchy and connector references. Retain authored identity fields as data, refuse forged reference aliases and select UIKit top-level collections without substituting unrelated roots.\n\nBREAKING CHANGE: Keyed archives that previously used authored objectID or object-id graph identities now use decimal table UIDs. Authored values remain attributes; ibtool and native NIBArchive identities retain their existing source semantics.\n\nFixes #6849\nFixes #6850\n", + "parents": ["5e4004c41315928515828fee0a3f8f6292533f5a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "907f4d99f5c1dd8b57cc90fd53503f67d3d3f47d", + "subject": "fix(flutter): derive dynamic symbol tables from their source", + "body": "fix(flutter): derive dynamic symbol tables from their source\n\nDecode only consumed dynamic-entry payloads. Discover PT_DYNAMIC symbols when retained sections omit SHT_DYNSYM, with table provenance governing section-index applicability. Preserve malformed present-table failures and shared source fixtures.\n\nFixes #6851\nFixes #6884\n", + "parents": ["6fbe67d66e3d716db69929503a3a232a7ada0860"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6911a609f18de3ca1c42b107edacc5939be5eebf", + "subject": "fix(model): preserve uncertainty across released GGUF layouts", + "body": "fix(model): preserve uncertainty across released GGUF layouts\n\nSeparate common row constraints from established storage sizes. Preserve Q8_1 and K-layout uncertainty, plus numeric IDs and ambiguous textual identities for historically shifted IDs16–25. Keep zero-byte facts and identity limitations independently, and propagate producer facts through totals, cancellation and retained views. Pin released source evidence and document the compatibility cost.\n\nFixes #6848\n", + "parents": ["907f4d99f5c1dd8b57cc90fd53503f67d3d3f47d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "80d5c8dc80c65bed9b7409f0bdd059e024a34ac4", + "subject": "fix(comparison): preserve call procedure endpoint identity", + "body": "fix(comparison): preserve call procedure endpoint identity\n\nShare endpoint identity and repeated-name ambiguity across call and reference dimensions. Compare same-artifact procedure entries by canonical coordinates while retaining raw reference sites and source Evidence. Keep observed comparison status separate from reconstruction proof.\n\nFixes #6853\n", + "parents": ["6911a609f18de3ca1c42b107edacc5939be5eebf"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "878da39caff40d3d206c3630cefeb5304e112793", + "subject": "chore: reconcile current main boundary fixes", + "body": "chore: reconcile current main boundary fixes\n", + "parents": [ + "d1fea89e1e595fd04075ae8cf825715094c013a0", + "80d5c8dc80c65bed9b7409f0bdd059e024a34ac4" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1de720e02e0b35d67235af5766d4ab183a7554eb", + "subject": "docs: stop and profile unexpectedly costly test runs", + "body": "docs: stop and profile unexpectedly costly test runs\n", + "parents": ["878da39caff40d3d206c3630cefeb5304e112793"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5e8f8b3163e4ff731b2c391a897e5b7e6a0f1a90", + "subject": "fix(paths): honor physical caller selection and refuse extraction overlap", + "body": "fix(paths): honor physical caller selection and refuse extraction overlap\n", + "parents": ["1de720e02e0b35d67235af5766d4ab183a7554eb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cebd46d15b954e14a3d495897affbe8b61e8c3d0", + "subject": "fix(native): validate matching observation context at selection", + "body": "fix(native): validate matching observation context at selection\n", + "parents": ["5e8f8b3163e4ff731b2c391a897e5b7e6a0f1a90"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a732bd0656419734cb3de17121026e6379da7e9d", + "subject": "fix(native): distinguish malformed navigation from procedure absence", + "body": "fix(native): distinguish malformed navigation from procedure absence\n", + "parents": ["cebd46d15b954e14a3d495897affbe8b61e8c3d0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "243790adc9c6ce147ba10e330209bfc2422b7923", + "subject": "fix(firmware): derive extraction failure from producer severity", + "body": "fix(firmware): derive extraction failure from producer severity\n", + "parents": ["a732bd0656419734cb3de17121026e6379da7e9d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c062788b2172e4d6f47f5a073ffd3fdc503767b2", + "subject": "fix(ghidra): preserve stable JDK registration paths", + "body": "fix(ghidra): preserve stable JDK registration paths\n", + "parents": ["243790adc9c6ce147ba10e330209bfc2422b7923"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "db923eba44f8703708c380966f3a7498db6fdd69", + "subject": "fix(managed): preserve verification input and coverage semantics", + "body": "fix(managed): preserve verification input and coverage semantics\n", + "parents": ["c062788b2172e4d6f47f5a073ffd3fdc503767b2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "26031bcd2630d8c5dd7e3ae498f7d11b39990daf", + "subject": "fix(il2cpp): honor loader pointers and registration field layout", + "body": "fix(il2cpp): honor loader pointers and registration field layout\n", + "parents": ["db923eba44f8703708c380966f3a7498db6fdd69"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8ba739fd3c7980b53aa715e70b418593912bc88b", + "subject": "fix(android): preserve graph occurrence and library identity", + "body": "fix(android): preserve graph occurrence and library identity\n", + "parents": ["26031bcd2630d8c5dd7e3ae498f7d11b39990daf"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dab18c1a3fc27909f8d74ee04cf5abda6d33713e", + "subject": "docs(il2cpp): clarify supported views and native slice selection", + "body": "docs(il2cpp): clarify supported views and native slice selection\n", + "parents": ["8ba739fd3c7980b53aa715e70b418593912bc88b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0f07810f7a0e16b3904d461c20b6415663377779", + "subject": "test(il2cpp): retain refusal for uncovered registration tails", + "body": "test(il2cpp): retain refusal for uncovered registration tails\n", + "parents": ["dab18c1a3fc27909f8d74ee04cf5abda6d33713e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8e57b7672b525d6f7405b746a1c8a1dec478b05c", + "subject": "docs(mcp): describe exact IL2CPP names filter coverage", + "body": "docs(mcp): describe exact IL2CPP names filter coverage\n", + "parents": ["0f07810f7a0e16b3904d461c20b6415663377779"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "57e3e0b04dccbd889d1904d1303d73999248bc03", + "subject": "fix(adb): preserve numeric intent and typed acquisition outcomes", + "body": "fix(adb): preserve numeric intent and typed acquisition outcomes\n", + "parents": ["8e57b7672b525d6f7405b746a1c8a1dec478b05c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2aa8d737147c500c9166f6cd3ace88b34c530ab3", + "subject": "fix(apktool): retain acquisition and launcher failure reasons", + "body": "fix(apktool): retain acquisition and launcher failure reasons\n", + "parents": ["57e3e0b04dccbd889d1904d1303d73999248bc03"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b31f52946fa78ca1df95d641e1611c5144f7a9bd", + "subject": "fix(android): honor selected Java paths and retain input issues", + "body": "fix(android): honor selected Java paths and retain input issues\n", + "parents": ["2aa8d737147c500c9166f6cd3ace88b34c530ab3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "75ca7c02ec40c5d64cc43de45b36e35269ad3990", + "subject": "refactor(adb): encode package verdict certainty in the result type", + "body": "refactor(adb): encode package verdict certainty in the result type\n", + "parents": ["b31f52946fa78ca1df95d641e1611c5144f7a9bd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "597aecfb7d6f41aaa3bf1425de9eb7724d4a02d0", + "subject": "fix: bind Electron actions to the selected native window", + "body": "fix: bind Electron actions to the selected native window\n", + "parents": ["75ca7c02ec40c5d64cc43de45b36e35269ad3990"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5cded74b6d7c6854c12e9adbaf0b16fd908a4e05", + "subject": "fix: bound browser scenario initial navigation during startup", + "body": "fix: bound browser scenario initial navigation during startup\n", + "parents": ["597aecfb7d6f41aaa3bf1425de9eb7724d4a02d0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c10a360cab970f09c563d279cc48828fdba01895", + "subject": "fix: share ordered process text normalization rules", + "body": "fix: share ordered process text normalization rules\n", + "parents": ["5cded74b6d7c6854c12e9adbaf0b16fd908a4e05"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d3305887cb12253e29f8af00a20824f28dc03da4", + "subject": "fix: reject PTY environment names the backend cannot preserve", + "body": "fix: reject PTY environment names the backend cannot preserve\n", + "parents": ["c10a360cab970f09c563d279cc48828fdba01895"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e327baa7b86145e720184454772233518ab5184b", + "subject": "fix(browser): validate HAR timing and preserve opaque body encodings", + "body": "fix(browser): validate HAR timing and preserve opaque body encodings\n", + "parents": ["d3305887cb12253e29f8af00a20824f28dc03da4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "23ab2c4069a335d87bdc4a3bce6bfaebecce05e4", + "subject": "fix(environment): preserve literal values and recorded comparison chronology", + "body": "fix(environment): preserve literal values and recorded comparison chronology\n", + "parents": ["e327baa7b86145e720184454772233518ab5184b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "06fe7eecbc8c387414b4c1aa0d88ad6314f54f0c", + "subject": "perf: schedule batch decompilation reads on demand", + "body": "perf: schedule batch decompilation reads on demand\n", + "parents": ["23ab2c4069a335d87bdc4a3bce6bfaebecce05e4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dba4178465819aaf4de9ed5bd5ac0e7f754d15ab", + "subject": "fix: skip unrelated kernel scans during ELF layout inspection", + "body": "fix: skip unrelated kernel scans during ELF layout inspection\n", + "parents": ["06fe7eecbc8c387414b4c1aa0d88ad6314f54f0c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ce61680c04c95a9cdfad5335632a99542af26d37", + "subject": "perf(nativeaot): index type closure and preserve scan coverage", + "body": "perf(nativeaot): index type closure and preserve scan coverage\n", + "parents": ["dba4178465819aaf4de9ed5bd5ac0e7f754d15ab"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "049bc2d055bfde6265ccd97ba116c2d05bc6bdbd", + "subject": "fix(analysis): preserve operation input correction fields", + "body": "fix(analysis): preserve operation input correction fields\n", + "parents": ["ce61680c04c95a9cdfad5335632a99542af26d37"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3f49545320c524ac0f0ca018973eedeea178238f", + "subject": "fix(cli): preserve canonical input bounds and required choices", + "body": "fix(cli): preserve canonical input bounds and required choices\n", + "parents": ["049bc2d055bfde6265ccd97ba116c2d05bc6bdbd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "19986406692be3316434122dcebfd37f267ffa5a", + "subject": "fix(reference): scope ignore rules and honor local Git case policy", + "body": "fix(reference): scope ignore rules and honor local Git case policy\n", + "parents": ["3f49545320c524ac0f0ca018973eedeea178238f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5cbcd5855055574938612e676bc6b213f3d6734f", + "subject": "fix(javascript): bind bundle exports and mutations to factory roles", + "body": "fix(javascript): bind bundle exports and mutations to factory roles\n", + "parents": ["19986406692be3316434122dcebfd37f267ffa5a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fba4faf88a58f674b89c814f56ece1add61b2bdf", + "subject": "fix(javascript): preserve initializer execution and lexical ownership", + "body": "fix(javascript): preserve initializer execution and lexical ownership\n", + "parents": ["5cbcd5855055574938612e676bc6b213f3d6734f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d1fbebb578538dc94fd5e376e6e1959218efa835", + "subject": "fix(setup): retain selected skill and maintenance uncertainty", + "body": "fix(setup): retain selected skill and maintenance uncertainty\n", + "parents": ["fba4faf88a58f674b89c814f56ece1add61b2bdf"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a47788a6a4abb067273f954275a9d0a269adf1e7", + "subject": "fix(sqlite): budget emitted schema names across text encodings", + "body": "fix(sqlite): budget emitted schema names across text encodings\n", + "parents": ["d1fbebb578538dc94fd5e376e6e1959218efa835"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "06032237c6755e3dd5f9a8db732c89958b238cc7", + "subject": "fix(python): preserve marshal scalar identity and decode limits", + "body": "fix(python): preserve marshal scalar identity and decode limits\n", + "parents": ["a47788a6a4abb067273f954275a9d0a269adf1e7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c46064c3f6eaba121c5de7b17390bfdecdd132ef", + "subject": "fix(beam): distinguish empty optional chunk payloads", + "body": "fix(beam): distinguish empty optional chunk payloads\n", + "parents": ["06032237c6755e3dd5f9a8db732c89958b238cc7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "66671e874888e98f7e2b27e68a7c6fb320bbb827", + "subject": "fix(pe): retain resource directory branch identities", + "body": "fix(pe): retain resource directory branch identities\n", + "parents": ["c46064c3f6eaba121c5de7b17390bfdecdd132ef"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9fb8c114a03ad60e57c11586967c6df845a3f97e", + "subject": "fix(elf): classify compressed note sections as unsupported", + "body": "fix(elf): classify compressed note sections as unsupported\n", + "parents": ["66671e874888e98f7e2b27e68a7c6fb320bbb827"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "03077d54afc49613db4e38f70c506bc60f5223aa", + "subject": "fix(pe): separate certificate content from counted alignment", + "body": "fix(pe): separate certificate content from counted alignment\n", + "parents": ["9fb8c114a03ad60e57c11586967c6df845a3f97e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f6a1e2c892dc23c7583c3d03af9edb01632ff5a5", + "subject": "fix(gpu): derive legacy bundle extents from codec framing", + "body": "fix(gpu): derive legacy bundle extents from codec framing\n", + "parents": ["03077d54afc49613db4e38f70c506bc60f5223aa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8425c36da2dbcf9dffc6d40140604d5108e437eb", + "subject": "fix(pyinstaller): attribute malformed TOC rows at their owner", + "body": "fix(pyinstaller): attribute malformed TOC rows at their owner\n", + "parents": ["f6a1e2c892dc23c7583c3d03af9edb01632ff5a5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a35b9335a0124674ee5e3abe8c075f1fff6b4fa6", + "subject": "fix(reconstruction): evaluate one effective completion scope", + "body": "fix(reconstruction): evaluate one effective completion scope\n\nInclude required-claim surfaces and reachable dependencies in ownership, verifier commitments, contradiction, package proof and summary checks. Preserve all applicable package outcomes instead of accepting any passing proof.\n\nAdds authenticated synthetic scope cases and a shared public CLI/MCP regression workflow. Validation is pending the centrally coordinated lane; single-file formatting and lint completed.\n", + "parents": ["8425c36da2dbcf9dffc6d40140604d5108e437eb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f5b11131b35289eca9e7b4746ca2663830d4d838", + "subject": "fix(readiness): account for every retained outcome and closure identity", + "body": "fix(readiness): account for every retained outcome and closure identity\n\nCompare all CLI/MCP repeats within their operation, call kind and expected-success group. Reconcile closure decreases with unique required obligations in the supplied ledger, retaining malformed observations in findings and snapshots.\n\nValidation is pending the centrally coordinated lane; single-file formatting and lint completed.\n", + "parents": ["a35b9335a0124674ee5e3abe8c075f1fff6b4fa6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7b77db7effa533c6ce038ff2e8ff6daebf1a5eb1", + "subject": "fix(reconstruction): include constituent unknowns in overall function claims", + "body": "fix(reconstruction): include constituent unknowns in overall function claims\n\nHave the function observation owner select aggregate dimensions before residual-unknown lookup. Retain independent dimension scope, unknown citations and recommended probes through the public MCP verifier.\n\nValidation is pending the centrally coordinated lane; single-file formatting and lint completed.\n", + "parents": ["f5b11131b35289eca9e7b4746ca2663830d4d838"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e76f308d26954c5ee9acc6032b45e0c381e08562", + "subject": "fix(evidence): preserve integrity contradiction provenance through comparisons", + "body": "fix(evidence): preserve integrity contradiction provenance through comparisons\n\nArtifact comparison owns the inventory Evidence identities whose integrity mismatched. Residual unknowns consume those identities and static/runtime correlation keeps contradictory or unresolved findings separate from observed changes.\n\nAdds a real-ASAR MCP comparison and correlation regression with ordinary-content controls. Validation is pending the centrally coordinated lane; single-file formatting and lint completed.\n", + "parents": ["7b77db7effa533c6ce038ff2e8ff6daebf1a5eb1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4345a45982da76c44acb22ff66ac40b53e49b5dc", + "subject": "fix(managed): share source identity and input failure ownership", + "body": "fix(managed): share source identity and input failure ownership\n", + "parents": ["e76f308d26954c5ee9acc6032b45e0c381e08562"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ddb3987bb4b01f6f6dd09614938da7c2373dcfde", + "subject": "fix(reference): project import failures through the canonical error contract", + "body": "fix(reference): project import failures through the canonical error contract\n", + "parents": ["4345a45982da76c44acb22ff66ac40b53e49b5dc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e2eacf6f29c153e94f08b1288419666d9846f2cf", + "subject": "fix(artifacts): sync nested publication and retire admitted file state", + "body": "fix(artifacts): sync nested publication and retire admitted file state\n", + "parents": ["ddb3987bb4b01f6f6dd09614938da7c2373dcfde"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b5e43edf7faaab91d771191c9c048a2cc32ae3e0", + "subject": "fix(cli): reject empty desktop paths before resolution", + "body": "fix(cli): reject empty desktop paths before resolution\n", + "parents": ["e2eacf6f29c153e94f08b1288419666d9846f2cf"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5c16a85a6701525939959b420cd9909603d93312", + "subject": "fix(reference): bind Git metadata joins to physical directories", + "body": "fix(reference): bind Git metadata joins to physical directories\n", + "parents": ["b5e43edf7faaab91d771191c9c048a2cc32ae3e0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5f13ddd755bfbf0f0d9ce163191f90da0114eb0a", + "subject": "fix(javascript): require API identity for static application roles", + "body": "fix(javascript): require API identity for static application roles\n", + "parents": ["5c16a85a6701525939959b420cd9909603d93312"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ee0ad17a1a430b9f813ff11aef7c3895dd58b668", + "subject": "test(sourcemaps): verify shared nested map admission", + "body": "test(sourcemaps): verify shared nested map admission\n", + "parents": ["5f13ddd755bfbf0f0d9ce163191f90da0114eb0a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "38ecc0248e1993d25a2f7dd350024484cce797bb", + "subject": "fix(javascript): preserve route flag values and lexical RPC names", + "body": "fix(javascript): preserve route flag values and lexical RPC names\n", + "parents": ["ee0ad17a1a430b9f813ff11aef7c3895dd58b668"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "99745126009b15060d71c38809418858a07d5afa", + "subject": "fix(web): select source grammar for module tracing", + "body": "fix(web): select source grammar for module tracing\n", + "parents": ["38ecc0248e1993d25a2f7dd350024484cce797bb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f2e5fd148a85fa737302dd194a33172c4561093e", + "subject": "fix(reference): preserve module syntax and loader request identity", + "body": "fix(reference): preserve module syntax and loader request identity\n", + "parents": ["99745126009b15060d71c38809418858a07d5afa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "baf16784af3592534687052431c145daef55cfd1", + "subject": "fix(reference): apply package main to directory requests", + "body": "fix(reference): apply package main to directory requests\n", + "parents": ["f2e5fd148a85fa737302dd194a33172c4561093e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "75daf0c7df108f04ab41f34aec1a31d4a7ceb322", + "subject": "fix(javascript): preserve loader classification and exact source targets", + "body": "fix(javascript): preserve loader classification and exact source targets\n", + "parents": ["baf16784af3592534687052431c145daef55cfd1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5a7bddb3aeb0345854e76b79d529aed1c40e2054", + "subject": "fix(electron): consume shared native loader and export facts", + "body": "fix(electron): consume shared native loader and export facts\n", + "parents": ["75daf0c7df108f04ab41f34aec1a31d4a7ceb322"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b3c3b21e43cab4e71b460d08829d8c6e4e9b9c21", + "subject": "fix(protobuf): preserve wire grammar and schema admission facts", + "body": "fix(protobuf): preserve wire grammar and schema admission facts\n", + "parents": ["5a7bddb3aeb0345854e76b79d529aed1c40e2054"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "af8f0badf64fd3546392b6aa4625777904b2f051", + "subject": "fix(wasm): preserve ambiguous identity and partial metadata", + "body": "fix(wasm): preserve ambiguous identity and partial metadata\n", + "parents": ["b3c3b21e43cab4e71b460d08829d8c6e4e9b9c21"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f783f0f1e82472cdddd4de2156d974f729e332a6", + "subject": "fix(apk): bind certificate facts and signer comparisons to identity", + "body": "fix(apk): bind certificate facts and signer comparisons to identity\n", + "parents": ["af8f0badf64fd3546392b6aa4625777904b2f051"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "928ba76882bfd216dde8ed79118789b2c3aad4f9", + "subject": "fix(signals): preserve selected file and format semantics", + "body": "fix(signals): preserve selected file and format semantics\n", + "parents": ["f783f0f1e82472cdddd4de2156d974f729e332a6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4cb1f1d820df4498ee464bcf72a5f47d40cf8dab", + "subject": "fix(pcap): preserve HTTP/2 URI and selected-tool admission facts", + "body": "fix(pcap): preserve HTTP/2 URI and selected-tool admission facts\n", + "parents": ["928ba76882bfd216dde8ed79118789b2c3aad4f9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7784fdbad78f8b384d513f0e7dae8e983cd48ef8", + "subject": "fix(native): retain search row qualifications in feature traces", + "body": "fix(native): retain search row qualifications in feature traces\n", + "parents": ["4cb1f1d820df4498ee464bcf72a5f47d40cf8dab"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e639edf6204c05285d96840478926592daf95876", + "subject": "fix(reverse): retain output loss after successful command exit", + "body": "fix(reverse): retain output loss after successful command exit\n", + "parents": ["7784fdbad78f8b384d513f0e7dae8e983cd48ef8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "171b33b2c4defc6cbea49545bedf4272b72d1ea2", + "subject": "fix(providers): retain physical refusal and diagnostic facts", + "body": "fix(providers): retain physical refusal and diagnostic facts\n", + "parents": ["e639edf6204c05285d96840478926592daf95876"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "99ccfb6e709ac4bc0afe176315280abde9ebcb9f", + "subject": "fix(ida): preserve readiness and workspace refusal semantics", + "body": "fix(ida): preserve readiness and workspace refusal semantics\n", + "parents": ["171b33b2c4defc6cbea49545bedf4272b72d1ea2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "93de7bc7e324a761162a31625b838ba0d4e3824d", + "subject": "fix: preserve mixed Swift demangler record outcomes", + "body": "fix: preserve mixed Swift demangler record outcomes\n", + "parents": ["99ccfb6e709ac4bc0afe176315280abde9ebcb9f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3f9357b5990d166a38440f56f439452266650093", + "subject": "fix: report JavaScript worker phases and parent budget recovery", + "body": "fix: report JavaScript worker phases and parent budget recovery\n", + "parents": ["93de7bc7e324a761162a31625b838ba0d4e3824d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a0fcc60d89eb0cc09b08181eb9f961acfd07d8e9", + "subject": "fix(browser): budget retained observations independently of wire data", + "body": "fix(browser): budget retained observations independently of wire data\n", + "parents": ["3f9357b5990d166a38440f56f439452266650093"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5934387f4185129efe9dc8b7338d8bc3fa5b25bd", + "subject": "fix: attribute rendered frame omissions to their producing stage", + "body": "fix: attribute rendered frame omissions to their producing stage\n", + "parents": ["a0fcc60d89eb0cc09b08181eb9f961acfd07d8e9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1707d171d750955bf6387e028e378183b360ffe3", + "subject": "fix: retain Electron window handles through cancelled selection", + "body": "fix: retain Electron window handles through cancelled selection\n", + "parents": ["5934387f4185129efe9dc8b7338d8bc3fa5b25bd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5eada7e410aa60329b22c1378aa5fa3fdcfa9e99", + "subject": "refactor: centralize Electron execution limits and action projection", + "body": "refactor: centralize Electron execution limits and action projection\n", + "parents": ["1707d171d750955bf6387e028e378183b360ffe3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4e2a566d6c7e053ecbbee1b684311ed31ea163bf", + "subject": "fix: retain cancellation during Electron handle finalization", + "body": "fix: retain cancellation during Electron handle finalization\n", + "parents": ["5eada7e410aa60329b22c1378aa5fa3fdcfa9e99"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d3700f709bd962e9a096351c123597e62ceed06c", + "subject": "fix(evaluation): align scenario prompts and outcome gates", + "body": "fix(evaluation): align scenario prompts and outcome gates\n", + "parents": ["4e2a566d6c7e053ecbbee1b684311ed31ea163bf"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "816a9dc98886e6d824cd8ae88b68731b161d5dda", + "subject": "fix(electron): block trash calls in active observation hook", + "body": "fix(electron): block trash calls in active observation hook\n", + "parents": ["d3700f709bd962e9a096351c123597e62ceed06c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4fb936fe86bb7a07f94f819ae8510301f2ef69c9", + "subject": "fix(prompts): keep process capture preparation nonexecuting", + "body": "fix(prompts): keep process capture preparation nonexecuting\n", + "parents": ["816a9dc98886e6d824cd8ae88b68731b161d5dda"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "22cf9646a79de861f3cb96f00199ab223ad387d7", + "subject": "docs(skill): route native runtime questions through explicit workflows", + "body": "docs(skill): route native runtime questions through explicit workflows\n", + "parents": ["4fb936fe86bb7a07f94f819ae8510301f2ef69c9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bc2d494030efd1ccabaeaa0bd49226aa87c378a2", + "subject": "fix(managed): retain declaration kind and runtime implementation facts", + "body": "fix(managed): retain declaration kind and runtime implementation facts\n", + "parents": ["22cf9646a79de861f3cb96f00199ab223ad387d7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b7eededf5af5061a834f93f57f2c888acf870344", + "subject": "fix(setup): share effective client dialect and alias bindings", + "body": "fix(setup): share effective client dialect and alias bindings\n", + "parents": ["bc2d494030efd1ccabaeaa0bd49226aa87c378a2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ad629b2e31c3a9495b27179360b508fa021fe86a", + "subject": "fix(pcap): share capture host admission with discovery", + "body": "fix(pcap): share capture host admission with discovery\n", + "parents": ["b7eededf5af5061a834f93f57f2c888acf870344"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2ebaadfa847d3fd2e745a4619c44d3911efde2da", + "subject": "docs(contracts): align examples and guidance with produced evidence", + "body": "docs(contracts): align examples and guidance with produced evidence\n", + "parents": ["ad629b2e31c3a9495b27179360b508fa021fe86a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "91f06f55a32968b47b825f8373616ce9e4f9a02a", + "subject": "ci(docs): render documentation in the selected docs lane", + "body": "ci(docs): render documentation in the selected docs lane\n", + "parents": ["2ebaadfa847d3fd2e745a4619c44d3911efde2da"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ba781330d6d28b22d15498e63c144fb40e086156", + "subject": "fix(browser): separate domain readiness and worker attribution coverage", + "body": "fix(browser): separate domain readiness and worker attribution coverage\n", + "parents": ["91f06f55a32968b47b825f8373616ce9e4f9a02a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1f0eb228e50908ee2a2aaa72d329178ae1a2cdbd", + "subject": "fix(managed): derive selected scope from parsed declarations", + "body": "fix(managed): derive selected scope from parsed declarations\n", + "parents": ["ba781330d6d28b22d15498e63c144fb40e086156"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "115a78fe241276c34917b496621954c5f29bfc15", + "subject": "fix(apk): retain raw issuer identity when matching rules are unknown", + "body": "fix(apk): retain raw issuer identity when matching rules are unknown\n", + "parents": ["1f0eb228e50908ee2a2aaa72d329178ae1a2cdbd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7298bd08d134860b84b4073f6703021916a5a4c5", + "subject": "fix(firmware): retain independent failures at each extraction owner", + "body": "fix(firmware): retain independent failures at each extraction owner\n", + "parents": ["115a78fe241276c34917b496621954c5f29bfc15"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0a1ad0d4658919da65d67b4f7d267aa8ae85fa96", + "subject": "docs(inspector): distinguish passive commands from uninterrupted execution", + "body": "docs(inspector): distinguish passive commands from uninterrupted execution\n", + "parents": ["7298bd08d134860b84b4073f6703021916a5a4c5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "80bc0f5ede815a5d9e1a5e97ba20dea5ea7831e3", + "subject": "docs: correct setup capture and recovery boundary guidance", + "body": "docs: correct setup capture and recovery boundary guidance\n", + "parents": ["0a1ad0d4658919da65d67b4f7d267aa8ae85fa96"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2596667bafb5115172849311452be2b66ece44fa", + "subject": "docs: repair localized anchors and agent terminology", + "body": "docs: repair localized anchors and agent terminology\n", + "parents": ["80bc0f5ede815a5d9e1a5e97ba20dea5ea7831e3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f461146403e7427c0f82ae885a4e1012599cbaf5", + "subject": "fix(native): own contiguous image span mapping across consumers", + "body": "fix(native): own contiguous image span mapping across consumers\n", + "parents": ["2596667bafb5115172849311452be2b66ece44fa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c85e6d9513ff66f05afdfbec620fffd427ba3333", + "subject": "refactor(native): retain contained-span mapping fast path", + "body": "refactor(native): retain contained-span mapping fast path\n", + "parents": ["f461146403e7427c0f82ae885a4e1012599cbaf5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0d849b1ae88c4e0e62cc8aaed8bcafd2e8f4e038", + "subject": "docs: separate retained notices from provider version support", + "body": "docs: separate retained notices from provider version support\n", + "parents": ["c85e6d9513ff66f05afdfbec620fffd427ba3333"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5f2a06f1f89c319162559378020d5255d598a9a0", + "subject": "fix(native): preserve physical plist path selection", + "body": "fix(native): preserve physical plist path selection\n", + "parents": ["0d849b1ae88c4e0e62cc8aaed8bcafd2e8f4e038"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bbc75545ec8026a883add4c64491f145822f4971", + "subject": "fix(artifacts): preserve source names and describe materialized reader output", + "body": "fix(artifacts): preserve source names and describe materialized reader output\n", + "parents": ["5f2a06f1f89c319162559378020d5255d598a9a0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1ddb32956ad4381d7ad8ec7142f440e016cf9bce", + "subject": "fix(reference): keep unresolved root and Git directory reads as failures", + "body": "fix(reference): keep unresolved root and Git directory reads as failures\n", + "parents": ["bbc75545ec8026a883add4c64491f145822f4971"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4b2a4e8eaef2d7645db0014b2aee826cd1436997", + "subject": "fix(evm): preserve reply allowance failures and selected limits", + "body": "fix(evm): preserve reply allowance failures and selected limits\n", + "parents": ["1ddb32956ad4381d7ad8ec7142f440e016cf9bce"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6c4313b93eca07e060a55639dbdc5e3711903e35", + "subject": "test(reconstruction): copy readonly citations for matcher input", + "body": "test(reconstruction): copy readonly citations for matcher input\n", + "parents": ["4b2a4e8eaef2d7645db0014b2aee826cd1436997"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ebe4e879e8d108f7d235f05f96d0cdc2d07ec7d4", + "subject": "fix(harmony): retain path-only package and signing observations", + "body": "fix(harmony): retain path-only package and signing observations\n", + "parents": ["6c4313b93eca07e060a55639dbdc5e3711903e35"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6cfb998af493f26e5d900fdcb699b72e19ffaedd", + "subject": "fix(managed): accept immutable parsed type selection facts", + "body": "fix(managed): accept immutable parsed type selection facts\n", + "parents": ["ebe4e879e8d108f7d235f05f96d0cdc2d07ec7d4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f3bb6b1ed05ade37d7fb0f1f75a09c3bb01c73c5", + "subject": "fix(discovery): use contract prerequisites and provider effects", + "body": "fix(discovery): use contract prerequisites and provider effects\n", + "parents": ["6cfb998af493f26e5d900fdcb699b72e19ffaedd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9927cd1677b91b85edaf2df45ecea381cfe5b06d", + "subject": "fix(ida): exclude transport secrets from analysis identity", + "body": "fix(ida): exclude transport secrets from analysis identity\n", + "parents": ["f3bb6b1ed05ade37d7fb0f1f75a09c3bb01c73c5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ec0259de89403d0ada72945d3e12a688daf5c27a", + "subject": "test(ida): remove readiness fixture override after refusal", + "body": "test(ida): remove readiness fixture override after refusal\n", + "parents": ["9927cd1677b91b85edaf2df45ecea381cfe5b06d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "44efd920c6f920b9443195bb600ad695b656b5cd", + "subject": "fix: retain discriminated Electron action outcomes in projection", + "body": "fix: retain discriminated Electron action outcomes in projection\n", + "parents": ["ec0259de89403d0ada72945d3e12a688daf5c27a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "905ae1845180b451ae961cfab179459dc85fa2a4", + "subject": "fix(javascript): retain implicit property conversion and disposal effects", + "body": "fix(javascript): retain implicit property conversion and disposal effects\n", + "parents": ["44efd920c6f920b9443195bb600ad695b656b5cd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "97e1b93f13e6b78fdaab9c209132a2f00dabadf2", + "subject": "fix(reference): consume Babel 8 import-type source field", + "body": "fix(reference): consume Babel 8 import-type source field\n", + "parents": ["905ae1845180b451ae961cfab179459dc85fa2a4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c3e4c116d598135a2f65fe195f97245223e657bd", + "subject": "fix(reference): retain unknown package scope for JavaScript loaders", + "body": "fix(reference): retain unknown package scope for JavaScript loaders\n", + "parents": ["97e1b93f13e6b78fdaab9c209132a2f00dabadf2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fd08a2274247e62086cbcbdaf0df3ed09c2e76c9", + "subject": "fix(wasm): parse source-phase import glue without evaluation", + "body": "fix(wasm): parse source-phase import glue without evaluation\n", + "parents": ["c3e4c116d598135a2f65fe195f97245223e657bd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "463c4993b4aa1287081f9d504d6526914b23829b", + "subject": "test(javascript): bind parameterized workflows to CLI fixtures", + "body": "test(javascript): bind parameterized workflows to CLI fixtures\n", + "parents": ["fd08a2274247e62086cbcbdaf0df3ed09c2e76c9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4c776d5918f0d9847f9be631632ae326945a8a7b", + "subject": "docs: explain native matching summary construction costs", + "body": "docs: explain native matching summary construction costs\n", + "parents": ["463c4993b4aa1287081f9d504d6526914b23829b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6eb9d09268b59b28e5c62842ebb4b0effd207936", + "subject": "fix(mcp): enforce initialization and discovery contracts", + "body": "fix(mcp): enforce initialization and discovery contracts\n", + "parents": ["4c776d5918f0d9847f9be631632ae326945a8a7b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e0da397deef7e4ad410f6157ac8de810d4ca8405", + "subject": "fix(cdp): preserve explicitly selected default ports", + "body": "fix(cdp): preserve explicitly selected default ports\n", + "parents": ["6eb9d09268b59b28e5c62842ebb4b0effd207936"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3602cc851f1b7d4c999822ee84f441efdc3e209a", + "subject": "fix(inspector): preserve discovery uncertainty and correction paths", + "body": "fix(inspector): preserve discovery uncertainty and correction paths\n", + "parents": ["e0da397deef7e4ad410f6157ac8de810d4ca8405"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "39f362dcee26664560c65b06a58d1be543ea492d", + "subject": "fix(protocols): make admission and certificate success types exact", + "body": "fix(protocols): make admission and certificate success types exact\n", + "parents": ["3602cc851f1b7d4c999822ee84f441efdc3e209a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5d2c8c2b78d2552da0e13a11d3e2678efb69810d", + "subject": "feat(cli)!: export row-oriented results as JSON Lines (#5629)", + "body": "feat(cli)!: export row-oriented results as JSON Lines (#5629)\n\n* feat(cli): add JSON Lines output for row-oriented results (#5487)\n\n- Support opt-in JSON Lines format (--format jsonl) for row-oriented results and collection views with clear record boundaries\n- Preserve stable source identities and stream records deterministically line-by-line\n- Emit final coverage and limitation metadata as a distinct line with https://rea.dev/schemas/jsonl-coverage-v1.json to prevent confusion with data rows\n- Distinguish error outputs with https://rea.dev/schemas/jsonl-error-v1.json\n- Reject non-row-oriented results that lack record boundaries with an unreadable_output error\n- Document JSON Lines streaming conventions in docs/cli.md\n- Add boundary tests covering empty results, multiline strings, partial coverage, large fields, and non-row rejection\n\n* fix(cli): preserve diagnostics, provenance, and nested collections in JSONL\n\n* fix(cli): frame classified failures and reject unrepresented JSONL facets\n\n---------\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["1de720e02e0b35d67235af5766d4ab183a7554eb"], + "authors": [ + { + "name": "kiran", + "email": "vijayakiranyarra@gmail.com", + "user": { + "login": "vijaykiran06", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5629] + }, + { + "sha": "3787ec5f83eae15f8342c4191bdb88ab690adc13", + "subject": "test(ida): align native search fixtures with Unicode folding (#6898)", + "body": "test(ida): align native search fixtures with Unicode folding (#6898)", + "parents": ["5d2c8c2b78d2552da0e13a11d3e2678efb69810d"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6898] + }, + { + "sha": "25aaf8928763c60f84c4d5bb4f369d976d2d6a92", + "subject": "fix(sqlite): budget schema names by returned JSON text", + "body": "fix(sqlite): budget schema names by returned JSON text\n\nCharge the whole-catalog admission guard by escaped decoded names, preserving raw-byte lookup identity and final worker reply limits. Keep UTF-16 inventory and detailed-schema results whose returned facts fit the documented allowance.\n\nFixes #6888\n", + "parents": ["3787ec5f83eae15f8342c4191bdb88ab690adc13"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "75a757d8ef41772d04bdc7963c95bc2fb08d7025", + "subject": "fix(elf): distinguish compressed note storage from decoded notes", + "body": "fix(elf): distinguish compressed note storage from decoded notes\n\nRefuse compressed note sections with typed unsupported-target semantics before framing or decoding, preserving stored-range checks and physical descriptor-offset provenance. Flutter retains independent build IDs with partial coverage when compressed notes are skipped. Verify the existing shared alignment fix with prefixed notes across classes and table kinds.\n\nFixes #6869\nCloses #6563\n", + "parents": ["25aaf8928763c60f84c4d5bb4f369d976d2d6a92"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e737e6c1c642bc8c12b14b1f27afa18859697ed4", + "subject": "fix(erlang): distinguish empty optional BEAM chunks", + "body": "fix(erlang): distinguish empty optional BEAM chunks\n\nSelect legacy Atom when AtU8 is empty and skip zero-byte optional FunT. Preserve explicitly empty counted arrays, malformed nonempty failures, last-occurrence selection and original chunk provenance. Share structural fixtures across producer and public workflow regressions.\n\nFixes #6816\nFixes #6874\n", + "parents": ["75a757d8ef41772d04bdc7963c95bc2fb08d7025"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "635f673a8c281cc4f7424ca571094093d8f4a1ab", + "subject": "fix(gpu): own CCOB boundaries and payload representations", + "body": "fix(gpu): own CCOB boundaries and payload representations\n\nUse completed codec input to establish legacy CCOB extents, preserving declaration/integrity failures independently. Reuse bounded input windows, charge actual reads and decoding attempts, and qualify recovery after incomplete decoding. Publish only established or qualified terminal extents so interruption retains completed declarations. Recognize bitcode representation in HIP bundles while leaving inner facts unsupported.\n\nFixes #6887\nFixes #6880\n", + "parents": ["e737e6c1c642bc8c12b14b1f27afa18859697ed4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f91b7f8009c9af27a5e0148e3b07d20bfe3b7a2a", + "subject": "fix(javascript): distinguish resolver discovery from module loading", + "body": "fix(javascript): distinguish resolver discovery from module loading\n\nPreserve load and resolve operations through semantic facts, worker transfer and graph Evidence. Only loads propagate executable ownership. Project ambient member writes and escapes through the shared path- and site-aware mutation owner; retain source literals, bases and uncertainty. Cover ownership and mutation boundaries through CLI and MCP.\n", + "parents": ["635f673a8c281cc4f7424ca571094093d8f4a1ab"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "34563fcc9bd92af30668820dcac5635e27181094", + "subject": "fix(process): own bounded worker control framing", + "body": "fix(process): own bounded worker control framing\n\nShare incremental replacement UTF-8 decoding across web and JavaScript workers, bound content before complete-line allocation and handle split CRLF consistently. Keep named schemas, request versus checkpoint failures, worker reuse and stream cleanup authority in their servers. Cover real server recovery and deterministic byte boundaries.\n", + "parents": ["f91b7f8009c9af27a5e0148e3b07d20bfe3b7a2a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0c4bf68ce8f0cd27822c4f1c194ca9c0b6f51f4c", + "subject": "merge: reconcile concurrent main fixes with issue remediation", + "body": "merge: reconcile concurrent main fixes with issue remediation\n", + "parents": [ + "39f362dcee26664560c65b06a58d1be543ea492d", + "34563fcc9bd92af30668820dcac5635e27181094" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f19aebab76c23888c3b4f471855143f89b7f2100", + "subject": "test(cli): retain schema selection tuple types", + "body": "test(cli): retain schema selection tuple types\n", + "parents": ["0c4bf68ce8f0cd27822c4f1c194ca9c0b6f51f4c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "adafef2c9ea17075dd1c849ac285bd9f79274df0", + "subject": "fix(setup): preserve equivalent caller launcher paths", + "body": "fix(setup): preserve equivalent caller launcher paths\n", + "parents": ["f19aebab76c23888c3b4f471855143f89b7f2100"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fc05f68406e076c4581177b9a46df3bd834a9da1", + "subject": "fix(setup): purge caches from their producing path owners", + "body": "fix(setup): purge caches from their producing path owners\n", + "parents": ["adafef2c9ea17075dd1c849ac285bd9f79274df0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d8e90fe621b970ad028554ab9c7c79ef391d4200", + "subject": "fix(nativeaot): retain snapshot digest mismatch and recovery", + "body": "fix(nativeaot): retain snapshot digest mismatch and recovery\n", + "parents": ["fc05f68406e076c4581177b9a46df3bd834a9da1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7fba9919a2b43f4a4faf8f2b43db5d0a961e83c9", + "subject": "fix(apple): preserve bundle occurrence identity and framework roles", + "body": "fix(apple): preserve bundle occurrence identity and framework roles\n", + "parents": ["d8e90fe621b970ad028554ab9c7c79ef391d4200"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8b93eff452904919cd3333f5d06fd30027eaa735", + "subject": "fix(apple): preserve archive admission and authored UI dispatch coverage", + "body": "fix(apple): preserve archive admission and authored UI dispatch coverage\n", + "parents": ["7fba9919a2b43f4a4faf8f2b43db5d0a961e83c9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2e31d13e077caa572f344bd19859715bb337d40b", + "subject": "fix(native): share Swift context and preserve partial protocol facts", + "body": "fix(native): share Swift context and preserve partial protocol facts\n", + "parents": ["8b93eff452904919cd3333f5d06fd30027eaa735"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2721650884eda5fcf1c76c1920d364f5f1f9b70b", + "subject": "fix(native): bind signing facts and preserve native output semantics", + "body": "fix(native): bind signing facts and preserve native output semantics\n", + "parents": ["2e31d13e077caa572f344bd19859715bb337d40b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f8876e5405659e5d9b7eec1704197109454cb3c4", + "subject": "fix(native): attribute deferred Evidence input failures", + "body": "fix(native): attribute deferred Evidence input failures\n", + "parents": ["2721650884eda5fcf1c76c1920d364f5f1f9b70b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1bc27d237836a7e1987076876338a1b718c7f488", + "subject": "fix(analysis): preserve snapshot mismatch recovery", + "body": "fix(analysis): preserve snapshot mismatch recovery\n", + "parents": ["f8876e5405659e5d9b7eec1704197109454cb3c4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9b4deb2655ab471698daca8d5d8449fec29fcbb1", + "subject": "fix(core): bind numeric type identities and qualify note owners", + "body": "fix(core): bind numeric type identities and qualify note owners\n", + "parents": ["1bc27d237836a7e1987076876338a1b718c7f488"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "549f2402104354d5fa13891f0c16fcaa52564e83", + "subject": "fix(applications): route bundles by discovered layout and preserve access failures", + "body": "fix(applications): route bundles by discovered layout and preserve access failures\n", + "parents": ["9b4deb2655ab471698daca8d5d8449fec29fcbb1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a2d2e705d35a31fa7a86706c964a01878a89b03a", + "subject": "fix(artifacts): retain caller selection and applicable publication recovery", + "body": "fix(artifacts): retain caller selection and applicable publication recovery\n", + "parents": ["549f2402104354d5fa13891f0c16fcaa52564e83"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "35aa8ef83964e21441b62f55f57de62d86dea475", + "subject": "fix(artifacts): retain DMG producer failures and bound integrity recovery claims", + "body": "fix(artifacts): retain DMG producer failures and bound integrity recovery claims\n", + "parents": ["a2d2e705d35a31fa7a86706c964a01878a89b03a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9038589e7660b8396eac30fccf2a0c3a2f6d0aae", + "subject": "fix(apk): classify malformed supported Zip64 records as input failures", + "body": "fix(apk): classify malformed supported Zip64 records as input failures\n", + "parents": ["35aa8ef83964e21441b62f55f57de62d86dea475"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "65e423eba6516550bda7463ba2111c3e9d9b3ea7", + "subject": "fix(browser): compare script and tool facts without metadata identity churn", + "body": "fix(browser): compare script and tool facts without metadata identity churn\n", + "parents": ["9038589e7660b8396eac30fccf2a0c3a2f6d0aae"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f49e2eeacc1cb35ada6fc8aa6923b83e88998dac", + "subject": "fix(environment): retain path segments counters and parent diagnostics", + "body": "fix(environment): retain path segments counters and parent diagnostics\n", + "parents": ["65e423eba6516550bda7463ba2111c3e9d9b3ea7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "19d4a314f80d45067bba7e2207e783e44e66545e", + "subject": "fix(discovery): retain Frida optional provider failure dispatch", + "body": "fix(discovery): retain Frida optional provider failure dispatch\n", + "parents": ["f49e2eeacc1cb35ada6fc8aa6923b83e88998dac"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c394fb105dfa49fbb3b47bceb83a89aa348d49ed", + "subject": "test(native): share Swift context in vtable fixture admission", + "body": "test(native): share Swift context in vtable fixture admission\n", + "parents": ["19d4a314f80d45067bba7e2207e783e44e66545e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0211b65a81955d8fe509bffdb3af3b309f049820", + "subject": "fix(native): narrow capability refusal before retaining its reason", + "body": "fix(native): narrow capability refusal before retaining its reason\n", + "parents": ["c394fb105dfa49fbb3b47bceb83a89aa348d49ed"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "787726817c0f6bf2df64703b647cb7a71e83c5ee", + "subject": "fix(javascript): retain private receiver and iterative disposal effects", + "body": "fix(javascript): retain private receiver and iterative disposal effects\n", + "parents": ["0211b65a81955d8fe509bffdb3af3b309f049820"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c20b70768050d85cbcce9a5e293cd307341bb117", + "subject": "fix(native): preserve negative Mach-O admission identity", + "body": "fix(native): preserve negative Mach-O admission identity\n", + "parents": ["787726817c0f6bf2df64703b647cb7a71e83c5ee"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5ee5e49cb4356c10ba284089b8be9b15f588f622", + "subject": "fix(javascript): bind Next page admission to source context", + "body": "fix(javascript): bind Next page admission to source context\n", + "parents": ["c20b70768050d85cbcce9a5e293cd307341bb117"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2f6e0506f0845ce13b438d101691d8a44e8ff740", + "subject": "fix: preserve process filesystem scope and admission failures", + "body": "fix: preserve process filesystem scope and admission failures\n", + "parents": ["5ee5e49cb4356c10ba284089b8be9b15f588f622"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f1dfd10bb0d24caa19c2972b6a9fc7749ca5d2dc", + "subject": "fix(evidence): reject runtime locations for managed static facts", + "body": "fix(evidence): reject runtime locations for managed static facts\n", + "parents": ["2f6e0506f0845ce13b438d101691d8a44e8ff740"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c70f5f332763fada73f34f46710f9c446d907fa9", + "subject": "fix(hopper): bind ordinary executable opens to selected bytes", + "body": "fix(hopper): bind ordinary executable opens to selected bytes\n", + "parents": ["f1dfd10bb0d24caa19c2972b6a9fc7749ca5d2dc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9dac74c5681548c3fc9b72fbe14a1be9722c7444", + "subject": "fix(browser): admit legacy capture uncertainty at retained input boundaries", + "body": "fix(browser): admit legacy capture uncertainty at retained input boundaries\n", + "parents": ["c70f5f332763fada73f34f46710f9c446d907fa9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e713c753292b358fa4a3bfcf4d395390c8eda4de", + "subject": "fix(unknowns): distinguish rejected creation from committed mutation delivery", + "body": "fix(unknowns): distinguish rejected creation from committed mutation delivery\n", + "parents": ["9dac74c5681548c3fc9b72fbe14a1be9722c7444"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "546b2a6cf6ffbf4ca693799ec6ae587c23157501", + "subject": "fix(evidence): preserve authentication failures and diagnose prior commitments", + "body": "fix(evidence): preserve authentication failures and diagnose prior commitments\n", + "parents": ["e713c753292b358fa4a3bfcf4d395390c8eda4de"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b885f44bef05f4f0b0edc36d8846f035e770a3e9", + "subject": "fix(cli): preserve explicit Evidence record pairing in bundle comparison", + "body": "fix(cli): preserve explicit Evidence record pairing in bundle comparison\n", + "parents": ["546b2a6cf6ffbf4ca693799ec6ae587c23157501"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bd8e1fb2c1957e02dfbaba4c551071df5dcf08ea", + "subject": "fix(artifacts): publish addressable inspection sources through both adapters", + "body": "fix(artifacts): publish addressable inspection sources through both adapters\n", + "parents": ["b885f44bef05f4f0b0edc36d8846f035e770a3e9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "990d1de4d0bfcd82f2984681e005ecdcbf6380b6", + "subject": "docs(evidence): define authentication and committed delivery recovery", + "body": "docs(evidence): define authentication and committed delivery recovery\n", + "parents": ["bd8e1fb2c1957e02dfbaba4c551071df5dcf08ea"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "965aff805d592b9e7307424347e49087e500af1e", + "subject": "fix(javascript): own reference roles and invocation result identities", + "body": "fix(javascript): own reference roles and invocation result identities\n", + "parents": ["990d1de4d0bfcd82f2984681e005ecdcbf6380b6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "324ca9453e9a37a82332ce5a0cf5cff2d18f833b", + "subject": "fix(hopper): pass private X authority cookie through stdin", + "body": "fix(hopper): pass private X authority cookie through stdin\n", + "parents": ["965aff805d592b9e7307424347e49087e500af1e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3e112595dac80cd544968171c56c6d0ae3e1abe3", + "subject": "fix(ghidra): preserve catalog and metadata admission failures", + "body": "fix(ghidra): preserve catalog and metadata admission failures\n", + "parents": ["324ca9453e9a37a82332ce5a0cf5cff2d18f833b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0f5ece1d58bfdd713a0cb4ce0e5c5d65fae79223", + "subject": "fix(jeb): retain selected inputs and completed primary replies", + "body": "fix(jeb): retain selected inputs and completed primary replies\n", + "parents": ["3e112595dac80cd544968171c56c6d0ae3e1abe3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b413332bd8b9536001037ead7e222a50a6c997e7", + "subject": "fix(native): preserve literal environment map members", + "body": "fix(native): preserve literal environment map members\n", + "parents": ["0f5ece1d58bfdd713a0cb4ce0e5c5d65fae79223"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2d069922198a3692998f45a60a44195a8b75ae86", + "subject": "test: retain direct hash cleanup retainer contract", + "body": "test: retain direct hash cleanup retainer contract\n", + "parents": ["b413332bd8b9536001037ead7e222a50a6c997e7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "98c3d2ff9321d52c56bf12e15065386850e772fe", + "subject": "test: distinguish corrected port normalization commitment", + "body": "test: distinguish corrected port normalization commitment\n", + "parents": ["2d069922198a3692998f45a60a44195a8b75ae86"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0729aba6d70a6fb99a965ce9438b32ce943a6c42", + "subject": "fix: recheck attached worker policy after final artifacts", + "body": "fix: recheck attached worker policy after final artifacts\n", + "parents": ["98c3d2ff9321d52c56bf12e15065386850e772fe"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e597e090b0c8e2e35584b9b3be680ecb8fd5680f", + "subject": "fix(javascript): share iteration and equality invocation facts", + "body": "fix(javascript): share iteration and equality invocation facts\n", + "parents": ["0729aba6d70a6fb99a965ce9438b32ce943a6c42"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "34552ff0df29195837257d509fb1853ba5e8afb9", + "subject": "fix(artifacts): preserve typed resource limit diagnoses", + "body": "fix(artifacts): preserve typed resource limit diagnoses\n", + "parents": ["e597e090b0c8e2e35584b9b3be680ecb8fd5680f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cf5e4f6fa370ae12412e7750715822ff8ed4afd8", + "subject": "fix(javascript): preserve semantic query identity and source coverage", + "body": "fix(javascript): preserve semantic query identity and source coverage\n", + "parents": ["34552ff0df29195837257d509fb1853ba5e8afb9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9b656dda291ae9e60f35d955e90a1c1cd52efb2f", + "subject": "docs(readme): align translated setup and analysis facts", + "body": "docs(readme): align translated setup and analysis facts\n", + "parents": ["cf5e4f6fa370ae12412e7750715822ff8ed4afd8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ca8b6727c3a978b466229498112dbc21d29acbaa", + "subject": "fix(cli): reject surplus positional arguments before execution", + "body": "fix(cli): reject surplus positional arguments before execution\n", + "parents": ["9b656dda291ae9e60f35d955e90a1c1cd52efb2f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9d8ede44d0e79ff8ac2e6d9070bafc390bd53334", + "subject": "fix(kuna): retain setting-specific doctor recovery", + "body": "fix(kuna): retain setting-specific doctor recovery\n", + "parents": ["ca8b6727c3a978b466229498112dbc21d29acbaa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "25d7135f60f40aef5b490734e4be063002d870c6", + "subject": "fix(setup): preserve semantic configuration refusal during uninstall", + "body": "fix(setup): preserve semantic configuration refusal during uninstall\n", + "parents": ["9d8ede44d0e79ff8ac2e6d9070bafc390bd53334"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "756701dfe542fc5d931614160cf8cef0b4bf51a5", + "subject": "fix(setup): retain publication operation failures and recovery facts", + "body": "fix(setup): retain publication operation failures and recovery facts\n", + "parents": ["25d7135f60f40aef5b490734e4be063002d870c6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "87c5967c866adef19a68566903277cf7d67a9307", + "subject": "fix(setup): distinguish Hopper inspection and archive staging failures", + "body": "fix(setup): distinguish Hopper inspection and archive staging failures\n", + "parents": ["756701dfe542fc5d931614160cf8cef0b4bf51a5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "08e8a568f8dbdf77d804cbae5dc9ad4dd9aa9d45", + "subject": "docs(managed): distinguish oracle conformance from host verification", + "body": "docs(managed): distinguish oracle conformance from host verification\n", + "parents": ["87c5967c866adef19a68566903277cf7d67a9307"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0a0f98ca4ca2aa5a56a868dc6af0d8a553730f3b", + "subject": "docs(skill): keep one setup prerequisite policy", + "body": "docs(skill): keep one setup prerequisite policy\n", + "parents": ["08e8a568f8dbdf77d804cbae5dc9ad4dd9aa9d45"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "15450643f7502114c4f0755416f97b8f0b358b69", + "subject": "fix(firmware): preserve admission and extraction coverage outcomes", + "body": "fix(firmware): preserve admission and extraction coverage outcomes\n", + "parents": ["0a0f98ca4ca2aa5a56a868dc6af0d8a553730f3b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "88e378063da73df6347d899bb746c3a204c0416c", + "subject": "fix(contracts): preserve safe defaults and client literal guidance", + "body": "fix(contracts): preserve safe defaults and client literal guidance\n", + "parents": ["15450643f7502114c4f0755416f97b8f0b358b69"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5f21aeeeb386f23fe688e2123b811adaca3ba9dc", + "subject": "fix(javascript): retain worker storage and projection failures", + "body": "fix(javascript): retain worker storage and projection failures\n", + "parents": ["88e378063da73df6347d899bb746c3a204c0416c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4a24b7e154398a38c1e8b6513524b0bf88df0b41", + "subject": "fix(evidence): preserve valid output paths near filesystem pathname limits", + "body": "fix(evidence): preserve valid output paths near filesystem pathname limits\n", + "parents": ["5f21aeeeb386f23fe688e2123b811adaca3ba9dc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4990a0b9f157489b9389bb99203be848276354d7", + "subject": "fix(cli): accept named native API selectors beginning with a dash", + "body": "fix(cli): accept named native API selectors beginning with a dash\n", + "parents": ["4a24b7e154398a38c1e8b6513524b0bf88df0b41"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "03ae514069475e4490c3fea87d3c57b2d291c3fc", + "subject": "fix(artifacts): retain DMG carrier observations when child traversal is unavailable", + "body": "fix(artifacts): retain DMG carrier observations when child traversal is unavailable\n", + "parents": ["4990a0b9f157489b9389bb99203be848276354d7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "612bbee947ef0f14709cf9830397e1bd35193f70", + "subject": "fix(artifacts): retain dylib enumeration readers through failed cleanup", + "body": "fix(artifacts): retain dylib enumeration readers through failed cleanup\n", + "parents": ["03ae514069475e4490c3fea87d3c57b2d291c3fc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c3dcc69c2d48ea0245a54d3fbe37244f710c7742", + "subject": "fix(browser): resolve empty storage-world origins from exact frame evidence", + "body": "fix(browser): resolve empty storage-world origins from exact frame evidence\n", + "parents": ["612bbee947ef0f14709cf9830397e1bd35193f70"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d93c70c11bffb869e31b64adc8720e7e2333563c", + "subject": "fix(browser): retain unknown popup storage initialization coverage", + "body": "fix(browser): retain unknown popup storage initialization coverage\n", + "parents": ["c3dcc69c2d48ea0245a54d3fbe37244f710c7742"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "63370e930033dabb81f81f1a560f787364f18828", + "subject": "test(reconstruction): isolate derived surface ownership in fixtures", + "body": "test(reconstruction): isolate derived surface ownership in fixtures\n", + "parents": ["d93c70c11bffb869e31b64adc8720e7e2333563c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d0375a1ed0cd6ab49bdc8f109cefa2aeada1a214", + "subject": "test(filesystem): probe actual permission denial before host assertions", + "body": "test(filesystem): probe actual permission denial before host assertions\n", + "parents": ["63370e930033dabb81f81f1a560f787364f18828"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dac544be20d1bdf59719dc2af450d1d0507c4d2b", + "subject": "test(managed): assert large issue retention without full-array diffs", + "body": "test(managed): assert large issue retention without full-array diffs\n", + "parents": ["d0375a1ed0cd6ab49bdc8f109cefa2aeada1a214"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c8f8ec656ced0b7f7afe8c0cc31db6873bd2d881", + "subject": "fix(javascript): preserve source facts across graph projections", + "body": "fix(javascript): preserve source facts across graph projections\n", + "parents": ["dac544be20d1bdf59719dc2af450d1d0507c4d2b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "22068221093e56ed7474ede7b7820dbe102f9069", + "subject": "fix(javascript): preserve copied values and export publication lifetimes", + "body": "fix(javascript): preserve copied values and export publication lifetimes\n", + "parents": ["c8f8ec656ced0b7f7afe8c0cc31db6873bd2d881"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f1a9d85de505512c2e348a60d2e620cdf915cad3", + "subject": "fix(javascript): preserve per-field publication and provenance coverage", + "body": "fix(javascript): preserve per-field publication and provenance coverage\n", + "parents": ["22068221093e56ed7474ede7b7820dbe102f9069"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dd55e2c7d5355f5198d04964ebba9a483985e1e6", + "subject": "fix(javascript): retain initialized class self binding at body reads", + "body": "fix(javascript): retain initialized class self binding at body reads\n", + "parents": ["f1a9d85de505512c2e348a60d2e620cdf915cad3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "693ecec082b3c928da7702f038084e7de4d06587", + "subject": "fix(artifacts): retain permission omissions through JavaScript lookups", + "body": "fix(artifacts): retain permission omissions through JavaScript lookups\n", + "parents": ["dd55e2c7d5355f5198d04964ebba9a483985e1e6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "80bb0b4f01de0b1b61bc1fb6f803bee5ca5889cd", + "subject": "test(graph): narrow summary owner and complete PE fixture facts", + "body": "test(graph): narrow summary owner and complete PE fixture facts\n", + "parents": ["693ecec082b3c928da7702f038084e7de4d06587"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b5d83d2bff92157b772959ed62954d27562c1c23", + "subject": "test(javascript): supply source graph to native handoff checks", + "body": "test(javascript): supply source graph to native handoff checks\n", + "parents": ["80bb0b4f01de0b1b61bc1fb6f803bee5ca5889cd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d56a25e64f5613fdaea74fffc46f588922ba1fa1", + "subject": "fix(sourcemaps): bind cleanup status to remaining codec owners", + "body": "fix(sourcemaps): bind cleanup status to remaining codec owners\n", + "parents": ["b5d83d2bff92157b772959ed62954d27562c1c23"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e8374f4e58fb11c563bce3a1ee09110947229dd3", + "subject": "fix(browser): retain excluded source-map declaration coverage", + "body": "fix(browser): retain excluded source-map declaration coverage\n", + "parents": ["d56a25e64f5613fdaea74fffc46f588922ba1fa1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b4502be51a2898308cd5fb5cea6f04c3e1c52c2b", + "subject": "test(javascript): preserve exact empty property keys in declarations", + "body": "test(javascript): preserve exact empty property keys in declarations\n", + "parents": ["e8374f4e58fb11c563bce3a1ee09110947229dd3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "209c42c34689252d402a8737459fe6ca00f82d4b", + "subject": "fix(browser): keep code absence unknown without worker inventory", + "body": "fix(browser): keep code absence unknown without worker inventory\n", + "parents": ["b4502be51a2898308cd5fb5cea6f04c3e1c52c2b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b29aa6043f6469024b86ea28757dba464c04dbe2", + "subject": "fix(browser): preserve WebMCP optional fields and replay coverage gaps", + "body": "fix(browser): preserve WebMCP optional fields and replay coverage gaps\n", + "parents": ["209c42c34689252d402a8737459fe6ca00f82d4b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1275817c75cf8d76109fcf0621e1a9beaeb1d11c", + "subject": "fix(browser): publish executable examples with truthful capture coverage", + "body": "fix(browser): publish executable examples with truthful capture coverage\n", + "parents": ["b29aa6043f6469024b86ea28757dba464c04dbe2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "590bab9adac0bca82be0e4c39d7270575fa61a73", + "subject": "fix(browser): preserve observed document invalidation and scope recovery", + "body": "fix(browser): preserve observed document invalidation and scope recovery\n", + "parents": ["1275817c75cf8d76109fcf0621e1a9beaeb1d11c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c313f33674fa198a14f50c23c716b1f7e4b9f32e", + "subject": "fix(native): share exact-name xref ambiguity resolution", + "body": "fix(native): share exact-name xref ambiguity resolution\n", + "parents": ["590bab9adac0bca82be0e4c39d7270575fa61a73"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "51612c804f227619d8f330fd51d593c9f1cb47b8", + "subject": "fix(hopper): own bookmark API capability checks", + "body": "fix(hopper): own bookmark API capability checks\n", + "parents": ["c313f33674fa198a14f50c23c716b1f7e4b9f32e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5ecd7deea7bb3f86f4f78072e4f275b0abe927a8", + "subject": "fix(native): preserve procedure selector coordinate intent", + "body": "fix(native): preserve procedure selector coordinate intent\n", + "parents": ["51612c804f227619d8f330fd51d593c9f1cb47b8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "02c5e13cee3245725d51f580b7f079c39fe6a6b0", + "subject": "test(discovery): select the declared GDB console contract", + "body": "test(discovery): select the declared GDB console contract\n", + "parents": ["5ecd7deea7bb3f86f4f78072e4f275b0abe927a8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "45abd4d44e3f4ee2e8400e013fb0a4106fbdc778", + "subject": "fix(ghidra): bind session refusal to retained cleanup owner", + "body": "fix(ghidra): bind session refusal to retained cleanup owner\n", + "parents": ["02c5e13cee3245725d51f580b7f079c39fe6a6b0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b488a10d9683f243b819a324b871baaf67b49f0d", + "subject": "fix(apple): retain selected dylib identity after path removal", + "body": "fix(apple): retain selected dylib identity after path removal\n", + "parents": ["45abd4d44e3f4ee2e8400e013fb0a4106fbdc778"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dbbaf2abb0abbb9a86c7a5f365c296bf0502b7a5", + "subject": "fix(apple): preserve asset failures and authored resource coverage", + "body": "fix(apple): preserve asset failures and authored resource coverage\n", + "parents": ["b488a10d9683f243b819a324b871baaf67b49f0d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1c57eed275a03c5fc9a7ed41e21eb8082757df8c", + "subject": "fix(apple): retain binary UID identity through archive projection", + "body": "fix(apple): retain binary UID identity through archive projection\n", + "parents": ["dbbaf2abb0abbb9a86c7a5f365c296bf0502b7a5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "661aef55a9027f245f7eb74215c04f776ade18b5", + "subject": "fix: retain completed historical replies through finalization", + "body": "fix: retain completed historical replies through finalization\n", + "parents": ["1c57eed275a03c5fc9a7ed41e21eb8082757df8c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cbfc2bd9c9839e776121882398c34a11d4d025df", + "subject": "fix: retain unresolved browser secret declarations as input errors", + "body": "fix: retain unresolved browser secret declarations as input errors\n", + "parents": ["661aef55a9027f245f7eb74215c04f776ade18b5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "62d19a72896ef12fe65dfcbbb5367f625b8a85a0", + "subject": "test(browser): resolve network fixture secrets through typed input contract", + "body": "test(browser): resolve network fixture secrets through typed input contract\n", + "parents": ["cbfc2bd9c9839e776121882398c34a11d4d025df"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7479f0a464fb1a471fc87b06e3983eeb92a0aea3", + "subject": "fix(environment): distinguish destination refusal and write access failures", + "body": "fix(environment): distinguish destination refusal and write access failures\n", + "parents": ["62d19a72896ef12fe65dfcbbb5367f625b8a85a0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4d3a7a0589c47001642051eb2d4701dd476ed47e", + "subject": "fix(artifacts): preserve exact ZIP and DMG caller cancellation reasons", + "body": "fix(artifacts): preserve exact ZIP and DMG caller cancellation reasons\n", + "parents": ["7479f0a464fb1a471fc87b06e3983eeb92a0aea3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b165b0e8301bfbb507921e4ad615da0682a419a3", + "subject": "fix(artifacts): require regular source-map target occurrences", + "body": "fix(artifacts): require regular source-map target occurrences\n", + "parents": ["4d3a7a0589c47001642051eb2d4701dd476ed47e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cae03361cfbc5bac0f88c16b011a47141e1372ea", + "subject": "fix(reference): separate local filesystem diagnostics from graph commitments", + "body": "fix(reference): separate local filesystem diagnostics from graph commitments\n", + "parents": ["b165b0e8301bfbb507921e4ad615da0682a419a3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0326ad95f65eb432e5683f6c7488a58161743824", + "subject": "fix(setup): retain proven PATH aliases in installed registrations", + "body": "fix(setup): retain proven PATH aliases in installed registrations\n", + "parents": ["cae03361cfbc5bac0f88c16b011a47141e1372ea"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cb689fae96cbe115f81e6dadef448d4c6bc8139d", + "subject": "test(package): join owned updater after registry fixture failure", + "body": "test(package): join owned updater after registry fixture failure\n", + "parents": ["0326ad95f65eb432e5683f6c7488a58161743824"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e00b2eda0b4c3459b9b9f23cc26d3cbdd8c52476", + "subject": "fix(javascript): preserve recovery acquisition and cancellation failures", + "body": "fix(javascript): preserve recovery acquisition and cancellation failures\n", + "parents": ["cb689fae96cbe115f81e6dadef448d4c6bc8139d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9becdfe8f4765775116d0edf4b2c25cef62fab33", + "subject": "fix(session): retain cleanup blockers and snapshot request identity", + "body": "fix(session): retain cleanup blockers and snapshot request identity\n", + "parents": ["e00b2eda0b4c3459b9b9f23cc26d3cbdd8c52476"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "271fecf53add685ac16a28ad54dcb0a43a14521c", + "subject": "fix(evidence): preserve format-owned JSON recovery diagnostics", + "body": "fix(evidence): preserve format-owned JSON recovery diagnostics\n", + "parents": ["9becdfe8f4765775116d0edf4b2c25cef62fab33"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7685deecf6a242180167a3e64276f2be30232af4", + "subject": "test(evidence): cover BOM recovery across bundle commands", + "body": "test(evidence): cover BOM recovery across bundle commands\n", + "parents": ["271fecf53add685ac16a28ad54dcb0a43a14521c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "48af28bf71223e3db549a8a8a497d2e2a3d0f5a5", + "subject": "fix(tracing): retain caller reasons at traversal checkpoints", + "body": "fix(tracing): retain caller reasons at traversal checkpoints\n", + "parents": ["7685deecf6a242180167a3e64276f2be30232af4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "27e927f70fd710ce0097d4549cd94d7d692d1ad8", + "subject": "fix(inventory): require released cleanup before capability fallback", + "body": "fix(inventory): require released cleanup before capability fallback\n", + "parents": ["48af28bf71223e3db549a8a8a497d2e2a3d0f5a5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "25b28ffe8b0efd5d8b3a59d2957e55d5a72b8255", + "subject": "fix(hopper): drain retained publishers after current close failure", + "body": "fix(hopper): drain retained publishers after current close failure\n", + "parents": ["27e927f70fd710ce0097d4549cd94d7d692d1ad8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "84f4eb42e1ae7e9f2af89c8299d023b4b727e3b6", + "subject": "fix(native): preserve unknown Swift extension contexts", + "body": "fix(native): preserve unknown Swift extension contexts\n", + "parents": ["25b28ffe8b0efd5d8b3a59d2957e55d5a72b8255"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "79323128f23b74536c026c0fbe4f5a00ff245772", + "subject": "fix(apple): qualify unexamined nib content coverage", + "body": "fix(apple): qualify unexamined nib content coverage\n", + "parents": ["84f4eb42e1ae7e9f2af89c8299d023b4b727e3b6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3a62b961942fffba673e3d512f3e8760824ffcab", + "subject": "fix(frida): preserve session refusal and close execution effects", + "body": "fix(frida): preserve session refusal and close execution effects\n", + "parents": ["79323128f23b74536c026c0fbe4f5a00ff245772"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "57aa21af26a6997b10ecc6ae14d8cfbac2174b7f", + "subject": "fix(rizin): retain cancellation and recover cleanup correlation", + "body": "fix(rizin): retain cancellation and recover cleanup correlation\n", + "parents": ["3a62b961942fffba673e3d512f3e8760824ffcab"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e94d5a5c74456edc69d092f700155638abd4fa9c", + "subject": "fix: retain Electron file admission facts across adapters", + "body": "fix: retain Electron file admission facts across adapters\n", + "parents": ["57aa21af26a6997b10ecc6ae14d8cfbac2174b7f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6aae8efd354ccf9f0c36585914d46a7cae235374", + "subject": "fix: preserve selected Electron display authorization", + "body": "fix: preserve selected Electron display authorization\n", + "parents": ["e94d5a5c74456edc69d092f700155638abd4fa9c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f36893a1a204b57b2fc0a15aaeb62fa1465fc7ee", + "subject": "fix(javascript): retain unavailable HTML reference scopes", + "body": "fix(javascript): retain unavailable HTML reference scopes\n", + "parents": ["6aae8efd354ccf9f0c36585914d46a7cae235374"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "da0480a665f515505106398260b129cfaaddcf0c", + "subject": "fix(javascript): preserve capture timing and detached receiver authority", + "body": "fix(javascript): preserve capture timing and detached receiver authority\n", + "parents": ["f36893a1a204b57b2fc0a15aaeb62fa1465fc7ee"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a4e9b61e9ff7a25156a17cae9b23b148f7372162", + "subject": "fix(ida): preserve producer failure and caller abort outcomes", + "body": "fix(ida): preserve producer failure and caller abort outcomes\n", + "parents": ["da0480a665f515505106398260b129cfaaddcf0c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3f5d87941498835055a586eac161b8ab074d02eb", + "subject": "fix(cli): retain nested facts in Markdown tables", + "body": "fix(cli): retain nested facts in Markdown tables\n", + "parents": ["a4e9b61e9ff7a25156a17cae9b23b148f7372162"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4b029a693db606780c98959293faa156821bb5ae", + "subject": "fix(cli): present argument guidance without validator cause dumps", + "body": "fix(cli): present argument guidance without validator cause dumps\n", + "parents": ["3f5d87941498835055a586eac161b8ab074d02eb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8bb466d0dce039d5c14a5743463e134839c92b4a", + "subject": "docs(setup): define optional native update verification limits", + "body": "docs(setup): define optional native update verification limits\n", + "parents": ["4b029a693db606780c98959293faa156821bb5ae"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b791f029aa74873389ddab6003eee1fe1188697e", + "subject": "docs(clients): distinguish discovery and schema recovery boundaries", + "body": "docs(clients): distinguish discovery and schema recovery boundaries\n", + "parents": ["8bb466d0dce039d5c14a5743463e134839c92b4a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "292f1058d9f031b53ae5cb586a28ce378a665fae", + "subject": "docs(setup): explain npm workspace launcher failures", + "body": "docs(setup): explain npm workspace launcher failures\n", + "parents": ["b791f029aa74873389ddab6003eee1fe1188697e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ca01cf5a1f1f04ebca8ce048b4f4b515329d4ef1", + "subject": "fix(verification): bind Copilot schema profile to observed inputs", + "body": "fix(verification): bind Copilot schema profile to observed inputs\n", + "parents": ["292f1058d9f031b53ae5cb586a28ce378a665fae"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6103fddd45072fbf79bebd467d58a03b8d6bece6", + "subject": "fix(javascript): scope Next package admission by container identity", + "body": "fix(javascript): scope Next package admission by container identity\n", + "parents": ["ca01cf5a1f1f04ebca8ce048b4f4b515329d4ef1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0321bb91a71b2b8c90a8249dde8acda8985492fb", + "subject": "fix(apple): align asset allowance and category fixture types", + "body": "fix(apple): align asset allowance and category fixture types\n", + "parents": ["6103fddd45072fbf79bebd467d58a03b8d6bece6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5f3b92531ebaee81a907823468a5a4e52b73b0db", + "subject": "fix(protocols): honor runtime queue and Frida identity types", + "body": "fix(protocols): honor runtime queue and Frida identity types\n", + "parents": ["0321bb91a71b2b8c90a8249dde8acda8985492fb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c0e35c2e93dd1b1131d8e86ff46ac259d09c35e1", + "subject": "test: parse Electron listing Evidence before comparison", + "body": "test: parse Electron listing Evidence before comparison\n", + "parents": ["5f3b92531ebaee81a907823468a5a4e52b73b0db"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a954e9f488ff52707112bc584df19fad5d0e6c44", + "subject": "fix(evidence): omit absent format recovery metadata", + "body": "fix(evidence): omit absent format recovery metadata\n", + "parents": ["c0e35c2e93dd1b1131d8e86ff46ac259d09c35e1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "562966500faf45525b4f61e4b8100026bed5671d", + "subject": "fix(contracts): validate historical source examples as exact JSON values", + "body": "fix(contracts): validate historical source examples as exact JSON values\n", + "parents": ["a954e9f488ff52707112bc584df19fad5d0e6c44"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9c4d194f14fd3686b5271ba3704ad63ebf38cbd8", + "subject": "fix(javascript): consume per-field CommonJS publication facts", + "body": "fix(javascript): consume per-field CommonJS publication facts\n", + "parents": ["562966500faf45525b4f61e4b8100026bed5671d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f3df653d9bdc7c2f3a54a4f5543b1410c65f0fb2", + "subject": "fix(gdb): correlate raw-output completion and retain read-only TTY proof", + "body": "fix(gdb): correlate raw-output completion and retain read-only TTY proof\n", + "parents": ["9c4d194f14fd3686b5271ba3704ad63ebf38cbd8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ef64631f0712d71c1e22e8a03ed595f5168a4cf5", + "subject": "fix(native): retain completed LLDB facts across output-close cancellation", + "body": "fix(native): retain completed LLDB facts across output-close cancellation\n", + "parents": ["f3df653d9bdc7c2f3a54a4f5543b1410c65f0fb2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2fe5d972cca34c499dcf2d2c5601f75b6c2d2868", + "subject": "fix(hopper): retain failed private-display probe cleanup authority", + "body": "fix(hopper): retain failed private-display probe cleanup authority\n", + "parents": ["ef64631f0712d71c1e22e8a03ed595f5168a4cf5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9b7ba06661a298824077b9b78a1c0016776d77b7", + "subject": "style(lifecycle): format traversal and fallback edits", + "body": "style(lifecycle): format traversal and fallback edits\n", + "parents": ["2fe5d972cca34c499dcf2d2c5601f75b6c2d2868"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "584791fedffe88a77b556faaa0ecf3c7643fd480", + "subject": "fix(apple): own ordered nib collections and registry parentage", + "body": "fix(apple): own ordered nib collections and registry parentage\n", + "parents": ["9b7ba06661a298824077b9b78a1c0016776d77b7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "254439750ab81510ca7656e1b1858fe4fa8604fa", + "subject": "fix(process): attribute trace omissions without changing shared successors", + "body": "fix(process): attribute trace omissions without changing shared successors\n", + "parents": ["584791fedffe88a77b556faaa0ecf3c7643fd480"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cd128795eb013b06ed6b5adeaf5b04bbcf8df55e", + "subject": "fix(cli): share builtin argument ownership with MCP routing", + "body": "fix(cli): share builtin argument ownership with MCP routing\n", + "parents": ["254439750ab81510ca7656e1b1858fe4fa8604fa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fc404f008d7a6f1dfc8337288a28691b76a977ce", + "subject": "fix(cli): count emitted documents and normalize token windows", + "body": "fix(cli): count emitted documents and normalize token windows\n", + "parents": ["cd128795eb013b06ed6b5adeaf5b04bbcf8df55e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "09b188bb0daca1fdf62915e99aafcadfbbce66c6", + "subject": "fix(inspector): retain captures through authorization cleanup failures", + "body": "fix(inspector): retain captures through authorization cleanup failures\n", + "parents": ["fc404f008d7a6f1dfc8337288a28691b76a977ce"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e21b131f2538af5308438d6ba9ed0c4ecc7590be", + "subject": "fix(apple): classify Interface Builder edges at their source", + "body": "fix(apple): classify Interface Builder edges at their source\n\nPass hierarchy or connection identity from the producing call rather than\nsearching graph IDs containing caller-selected paths and authored IDs. Keep\nconnection omissions from making a retained hierarchy appear partial.\n\nReplace mirrored ID-substring test oracles with exact endpoint relationships.\nCover marker-bearing paths and authored identities through domain, CLI/MCP,\nsummary and byte-retention boundaries.\n\nValidation: affected source and compiled/public tests passed, including native\nFoundation/ibtool fixture lanes; one Linux-only invalid-byte filename case\nskipped on macOS. Static, docs and discovery checks passed.\n", + "parents": ["34563fcc9bd92af30668820dcac5635e27181094"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "21ff4911bfc2a10ba15560c8d3c2daca1fb04793", + "subject": "refactor(setup): share publication byte verification", + "body": "refactor(setup): share publication byte verification\n\nUse one bounded positional byte comparator for client configuration and skill\npublication readback. Keep pathname identity, rollback, mode restoration,\ncleanup and retry authority in the existing publication owners.\n\nPreserve short-read progress, EOF, empty-file equality and original I/O errors.\nExtend existing byte-exact skill recovery coverage to empty originals.\n\nValidation: client configuration transaction, skill publication recovery and\nprocess-global rollback suites passed; static, docs and discovery checks passed.\n", + "parents": ["e21b131f2538af5308438d6ba9ed0c4ecc7590be"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1a3874529534750c5b7acfc4366c16db5d96c80e", + "subject": "refactor(ghidra): centralize shared profile commitments", + "body": "refactor(ghidra): centralize shared profile commitments\n\nGive raw and header-selected imports one owner for their twelve identical\nsemantic revision declarations. Preserve property order, parameter values,\nomissions and all provider/language/processor override precedence.\n\nValidation: Ghidra behavior and MIPS/RISC-V/PowerPC profile suites passed.\nSeventy direct before/after cases retained identical Results, serialization,\nparameter order and digests. No real Ghidra process verification was performed.\n", + "parents": ["21ff4911bfc2a10ba15560c8d3c2daca1fb04793"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6b56ba2d63b97465b11a8d90c71543202ac0b505", + "subject": "test(javascript): separate map format and row-limit failures", + "body": "test(javascript): separate map format and row-limit failures\n\nUse a valid canonical embedded map in the decoder row-budget regression.\nThe old empty map fails version admission before it can reach the row limit.\nRetain that malformed-map case separately and assert typed constraint metadata\nfor format, external-section and capacity failures from the real codec process.\n\nValidation: source-map source suites and all sixteen physical decoder boundary\ntests passed. Static, documentation and test-discovery checks passed.\n", + "parents": ["1a3874529534750c5b7acfc4366c16db5d96c80e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9bea4d10dee7f9b2da548a05d56805ec2f1fff8c", + "subject": "ci: raise duplication threshold to 4 percent", + "body": "ci: raise duplication threshold to 4 percent\n\nSet the repository jscpd ceiling to the requested 4%. Preserve the scan\ninventory, token/line minima, ignore rules and report failure propagation.\n\nValidation: npm run jscpd passed at 3.59% duplication; scoped format check passed.\n", + "parents": ["6b56ba2d63b97465b11a8d90c71543202ac0b505"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bded9c628de23643aab81f98959b6a473318a240", + "subject": "test(cli): repair Markdown capacity recovery coverage (#6903)", + "body": "test(cli): repair Markdown capacity recovery coverage (#6903)\n\n* test(cli): repair Markdown capacity recovery coverage\n\n* test(cli): assert the full Markdown recovery envelope", + "parents": ["9bea4d10dee7f9b2da548a05d56805ec2f1fff8c"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6903] + }, + { + "sha": "254a8e7018e6b984d1cbc607e11dbab0866c9ff7", + "subject": "fix(capture): own HAR schema and response interpretation", + "body": "fix(capture): own HAR schema and response interpretation\n\nCorrect the pinned HAR schema's missing object types and duration constraints at the shared decoder boundary. Preserve optional omission and the -1 sentinel without repairing producer measurements, and identify the owned corrections in decoder provenance.\n\nKeep unsupported or redacted response encodings unavailable to replay and state extraction. Empty-response classification now uses the same body owner, preserving known empty content separately from unavailable content. Regenerate contract examples from decoded fixture bytes and the shared view service.\n\nValidation: focused decoder, replay/state, CLI and MCP regressions, including unselected malformed records and confirmed write responses. Contract examples reproduce through MCP. Authored capture controls do not establish real-browser producer coverage.\n\nFixes #6890\nFixes #6889\n", + "parents": ["bded9c628de23643aab81f98959b6a473318a240"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "15190ffc490a98d4d6ec066880f7c10ca693776e", + "subject": "fix(pe): preserve resource directory paths and source ranges", + "body": "fix(pe): preserve resource directory paths and source ranges\n\nRetain each resource directory's type/name path and incoming entry ranges before metadata accounting. Empty branches keep their identity, and shared directory bytes retain each distinct incoming path. Validate the expanded facts in the shared service and advertise them through the canonical contract.\n\nValidation: parser, service, filesystem and public CLI/MCP regressions cover numeric/named empty branches, shared directories and unchanged artifact/payload hashes. Controls use authored PE32/PE32+ files; Windows loader behavior remains unverified.\n\nFixes #6872\n", + "parents": ["254a8e7018e6b984d1cbc607e11dbab0866c9ff7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0bbd635ab811b6d6c05cb73188225dbce2d31aa1", + "subject": "fix(environment): preserve clock years and exact probe chronology", + "body": "fix(environment): preserve clock years and exact probe chronology\n\nReuse the shared offset-instant owner for calendar validation and exact probe ordering. Preserve first-century years, arbitrary recorded fraction digits in the supported offset profile, ordinal ties and legacy native-Date fallback. Keep original clock spelling when conversion leaves the supported four-digit year range, and refuse unrepresentable generated clocks before committing state.\n\nValidation: focused clock/comparison and public CLI regressions cover leap years, offset equivalence, precise DELETE/GET order, spelling classification and refusal atomicity. Replay/state compatibility checks pass. Numeric state intervals and generated-clock progression retain their documented millisecond limits.\n\nFixes #6835\nFixes #6643\n", + "parents": ["15190ffc490a98d4d6ec066880f7c10ca693776e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8b7de17833e00f5b89547e0b9790c222785b55f2", + "subject": "merge: reconcile upstream boundary and format fixes", + "body": "merge: reconcile upstream boundary and format fixes\n", + "parents": [ + "09b188bb0daca1fdf62915e99aafcadfbbce66c6", + "0bbd635ab811b6d6c05cb73188225dbce2d31aa1" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6c307e9c8627a574885b82f1571ace823ce922a9", + "subject": "fix(artifacts): retain declared ASAR companion occurrence facts", + "body": "fix(artifacts): retain declared ASAR companion occurrence facts\n", + "parents": ["8b7de17833e00f5b89547e0b9790c222785b55f2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f6b525d3af5234e6802155418ec1920b7bc909ef", + "subject": "fix(javascript): separate endpoint syntax correspondence from target identity", + "body": "fix(javascript): separate endpoint syntax correspondence from target identity\n", + "parents": ["6c307e9c8627a574885b82f1571ace823ce922a9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b2cb9b6596100080d9ca7a8b9fd70e07567160e5", + "subject": "fix: distinguish native process exit from sampling failure", + "body": "fix: distinguish native process exit from sampling failure\n", + "parents": ["f6b525d3af5234e6802155418ec1920b7bc909ef"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "77ed32fabc35d22faa0c4a75884e77baf1d34f00", + "subject": "fix(javascript): retain selected-root access and filesystem failure facts", + "body": "fix(javascript): retain selected-root access and filesystem failure facts\n", + "parents": ["b2cb9b6596100080d9ca7a8b9fd70e07567160e5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f01f56156efb0a98e35718c69374bcb3b6c9694b", + "subject": "fix(browser): retain truthful cleanup facts and document request ownership", + "body": "fix(browser): retain truthful cleanup facts and document request ownership\n", + "parents": ["77ed32fabc35d22faa0c4a75884e77baf1d34f00"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "782c6c6636e08cb4d46ca32e1e2a403cb41dd835", + "subject": "fix(native): share exact Objective-C class symbol interpretation", + "body": "fix(native): share exact Objective-C class symbol interpretation\n", + "parents": ["f01f56156efb0a98e35718c69374bcb3b6c9694b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3f519c55879c62395c2d536c79f048baab62ca3e", + "subject": "fix(go): retain completed artifact facts through finalization", + "body": "fix(go): retain completed artifact facts through finalization\n", + "parents": ["782c6c6636e08cb4d46ca32e1e2a403cb41dd835"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e1d9ebd3cf18e07ec96681c6224a2f67b2121159", + "subject": "fix(native): preserve seed analysis failures in value traces", + "body": "fix(native): preserve seed analysis failures in value traces\n", + "parents": ["3f519c55879c62395c2d536c79f048baab62ca3e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f83d97fe928dc21730f4f01b5c31bb4d9fafc150", + "subject": "fix(native): classify observed dSYM inspection refusal", + "body": "fix(native): classify observed dSYM inspection refusal\n", + "parents": ["e1d9ebd3cf18e07ec96681c6224a2f67b2121159"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d98105d650a63c2398ad31247886f09db9082111", + "subject": "test(apple): assert observed collection edge contract", + "body": "test(apple): assert observed collection edge contract\n", + "parents": ["f83d97fe928dc21730f4f01b5c31bb4d9fafc150"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ef00b2115a1b934cff265a8d868b7151bb2519a2", + "subject": "fix(javascript): retain primary interruption through worker cleanup", + "body": "fix(javascript): retain primary interruption through worker cleanup\n", + "parents": ["d98105d650a63c2398ad31247886f09db9082111"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "60a0acb396bc75f7db703fcce0581f55f3e5b6da", + "subject": "fix(cutter): retain completion-read failures during cleanup retry", + "body": "fix(cutter): retain completion-read failures during cleanup retry\n", + "parents": ["ef00b2115a1b934cff265a8d868b7151bb2519a2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "59f0eb424480608094eb9c5a3d291fc842a78959", + "subject": "fix(cli): validate output windows and finish pending writes", + "body": "fix(cli): validate output windows and finish pending writes\n", + "parents": ["60a0acb396bc75f7db703fcce0581f55f3e5b6da"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4e7fb1ee8a7fad5b15bbb3042a625cfe21992209", + "subject": "fix(mcp): require absolute JavaScript application inputs", + "body": "fix(mcp): require absolute JavaScript application inputs\n", + "parents": ["59f0eb424480608094eb9c5a3d291fc842a78959"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f8248417d7f66d6abd46095a877959348d75dd7e", + "subject": "fix(capabilities): report missing navigation targets", + "body": "fix(capabilities): report missing navigation targets\n", + "parents": ["4e7fb1ee8a7fad5b15bbb3042a625cfe21992209"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7eb9eb021cc8e7b0db47a13484c9c15e4757d046", + "subject": "fix(cli): support system Bash completion registration", + "body": "fix(cli): support system Bash completion registration\n", + "parents": ["f8248417d7f66d6abd46095a877959348d75dd7e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ce9cb72559f95b25b30b81e68df947c1a24b7e9a", + "subject": "fix(cli): retain narrowed token-count format handling", + "body": "fix(cli): retain narrowed token-count format handling\n", + "parents": ["7eb9eb021cc8e7b0db47a13484c9c15e4757d046"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f33ab9bf38248cb7fbb142ac16d21b4af70f737c", + "subject": "test(ida): preserve exact optional resource method shape", + "body": "test(ida): preserve exact optional resource method shape\n", + "parents": ["ce9cb72559f95b25b30b81e68df947c1a24b7e9a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dfafc04f6d697acf56cbb9a60d70c598b3789543", + "subject": "test(javascript): retain valid unknown endpoint coverage shape", + "body": "test(javascript): retain valid unknown endpoint coverage shape\n", + "parents": ["f33ab9bf38248cb7fbb142ac16d21b4af70f737c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6ff682505cade8d2e349911f6c2c22873d370066", + "subject": "fix(ghidra): try keg JDKs after failed PATH launchers", + "body": "fix(ghidra): try keg JDKs after failed PATH launchers\n", + "parents": ["dfafc04f6d697acf56cbb9a60d70c598b3789543"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "88bbf9c00673ba797804f5dbad5867ca5ed00cf8", + "subject": "fix(browser): retain capacity refusal through terminal progress", + "body": "fix(browser): retain capacity refusal through terminal progress\n", + "parents": ["6ff682505cade8d2e349911f6c2c22873d370066"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "779242aef00d0bd6aaec23186d3519f9df892181", + "subject": "fix(reference): require exact optional JSON diagnostics at the source schema", + "body": "fix(reference): require exact optional JSON diagnostics at the source schema\n", + "parents": ["88bbf9c00673ba797804f5dbad5867ca5ed00cf8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "59a00d77fbe56e7a93cfb40c94e6f146c6b4d495", + "subject": "fix(apple): retain reader outcomes and cleanup ownership", + "body": "fix(apple): retain reader outcomes and cleanup ownership\n", + "parents": ["779242aef00d0bd6aaec23186d3519f9df892181"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0a9bcbed42b8224a886d389ba230124d7b7dcbea", + "subject": "fix(elf): qualify exports without dynamic symbol declarations", + "body": "fix(elf): qualify exports without dynamic symbol declarations\n", + "parents": ["59a00d77fbe56e7a93cfb40c94e6f146c6b4d495"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "22d3236c31f22928d3b9b227c287ae161143f15b", + "subject": "fix(mips): retain unexamined RELR declaration coverage", + "body": "fix(mips): retain unexamined RELR declaration coverage\n", + "parents": ["0a9bcbed42b8224a886d389ba230124d7b7dcbea"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e909a927c42eec090db464df12a5a3f80c8b8da8", + "subject": "fix(metadata): preserve canonical PowerPC subject identity", + "body": "fix(metadata): preserve canonical PowerPC subject identity\n", + "parents": ["22d3236c31f22928d3b9b227c287ae161143f15b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "301993db04819432588734edabdebed882e2a2d5", + "subject": "fix(native): preserve LLDB discovery failure classifications", + "body": "fix(native): preserve LLDB discovery failure classifications\n", + "parents": ["e909a927c42eec090db464df12a5a3f80c8b8da8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a2d0af602321ba60fadf7c098231f80ce165a53d", + "subject": "fix(native): report absent launch process before cleanup classification", + "body": "fix(native): report absent launch process before cleanup classification\n", + "parents": ["301993db04819432588734edabdebed882e2a2d5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cab652712538f15e60a801b5bec52c3e779bcd7b", + "subject": "fix(rizin): preserve primary outcomes across final cleanup", + "body": "fix(rizin): preserve primary outcomes across final cleanup\n", + "parents": ["a2d0af602321ba60fadf7c098231f80ce165a53d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c86288db1b79cf4edf96c3d1618d5b71ee36c042", + "subject": "fix(browser): preserve admission failures and retain policy transport cleanup", + "body": "fix(browser): preserve admission failures and retain policy transport cleanup\n", + "parents": ["cab652712538f15e60a801b5bec52c3e779bcd7b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "76381b29d47e9e3b25078cd5e2c4cbd7a0537e03", + "subject": "fix(objdump): preserve input issues and provider launch failures", + "body": "fix(objdump): preserve input issues and provider launch failures\n", + "parents": ["c86288db1b79cf4edf96c3d1618d5b71ee36c042"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c6bc25f5935f1cff52a1d101db30cbbcdde71d8c", + "subject": "test(apple): attribute omitted edges to their node capacity limit", + "body": "test(apple): attribute omitted edges to their node capacity limit\n", + "parents": ["76381b29d47e9e3b25078cd5e2c4cbd7a0537e03"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "94081b0103a872f30e6e6664978bdea86a093075", + "subject": "chore(metadata): synchronize packaged skill version", + "body": "chore(metadata): synchronize packaged skill version\n", + "parents": ["c6bc25f5935f1cff52a1d101db30cbbcdde71d8c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fc706570d914367bca45a015de92b5ba2c96a231", + "subject": "fix(cli): consume canonical output validation state", + "body": "fix(cli): consume canonical output validation state\n", + "parents": ["94081b0103a872f30e6e6664978bdea86a093075"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fc528589662b4c372f178cce4826e3389cc3fb45", + "subject": "fix(views): preserve owning layout field diagnostics", + "body": "fix(views): preserve owning layout field diagnostics\n", + "parents": ["fc706570d914367bca45a015de92b5ba2c96a231"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fc11134242211207be351116cc67b685ebdb6110", + "subject": "test(pyinstaller): distinguish path and metadata allowance failures", + "body": "test(pyinstaller): distinguish path and metadata allowance failures\n", + "parents": ["fc528589662b4c372f178cce4826e3389cc3fb45"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "53405fbe44a6564e78043cfed1b2c58e679409d8", + "subject": "fix(native): compose the selected command cause once", + "body": "fix(native): compose the selected command cause once\n", + "parents": ["fc11134242211207be351116cc67b685ebdb6110"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "18acae9188a049115a5680205131d2deb0743227", + "subject": "fix(setup): require HTTPS throughout Hopper download redirects", + "body": "fix(setup): require HTTPS throughout Hopper download redirects\n", + "parents": ["53405fbe44a6564e78043cfed1b2c58e679409d8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "98ddd04433f8fa1028eaf597390e6772fa66e134", + "subject": "fix(ghidra): narrow fallback probe failures before projection", + "body": "fix(ghidra): narrow fallback probe failures before projection\n", + "parents": ["18acae9188a049115a5680205131d2deb0743227"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "62f7b5e4cd76cfc34fac9a0def0b68a9e175159b", + "subject": "fix(native): require observed symbol origin for named identity", + "body": "fix(native): require observed symbol origin for named identity\n", + "parents": ["98ddd04433f8fa1028eaf597390e6772fa66e134"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1cc16128ea1a9bbf3470859a93a868661051bec5", + "subject": "fix(javascript): retain unavailable source processing scopes", + "body": "fix(javascript): retain unavailable source processing scopes\n", + "parents": ["62f7b5e4cd76cfc34fac9a0def0b68a9e175159b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ee2433a408974277220247ab1cc1336f8a15b3c5", + "subject": "fix(cli): share declared output-error redaction", + "body": "fix(cli): share declared output-error redaction\n", + "parents": ["1cc16128ea1a9bbf3470859a93a868661051bec5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cc983b323555db84cbf9189c6791e9183b3ce08b", + "subject": "docs(windows): explain MCP registration launcher limits", + "body": "docs(windows): explain MCP registration launcher limits\n", + "parents": ["ee2433a408974277220247ab1cc1336f8a15b3c5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6f8dc9c139c9cc1be999baf969e457a781bd5973", + "subject": "fix(session): preserve binding commitments during restoration", + "body": "fix(session): preserve binding commitments during restoration\n", + "parents": ["cc983b323555db84cbf9189c6791e9183b3ce08b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "77ebfb5f8a9b1b7dd86a51a2ad67fcefe0f05fb3", + "subject": "fix(environment): retain primary facts through server cleanup failure", + "body": "fix(environment): retain primary facts through server cleanup failure\n", + "parents": ["6f8dc9c139c9cc1be999baf969e457a781bd5973"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d9d77726fffd92c33c52410516f1a9a9b9608f8a", + "subject": "fix(pe): distinguish unsupported overlapping header layouts", + "body": "fix(pe): distinguish unsupported overlapping header layouts\n", + "parents": ["77ebfb5f8a9b1b7dd86a51a2ad67fcefe0f05fb3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1bf9191bd0a0644105d9e1183c35f77597657c9c", + "subject": "fix(cli): keep positional admission placeholders omittable", + "body": "fix(cli): keep positional admission placeholders omittable\n", + "parents": ["d9d77726fffd92c33c52410516f1a9a9b9608f8a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "701519a5ced3f76e01d1b9e1aba31caf1d434beb", + "subject": "test(cli): expose JavaScript progress workflow failure output", + "body": "test(cli): expose JavaScript progress workflow failure output\n", + "parents": ["1bf9191bd0a0644105d9e1183c35f77597657c9c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b3433d01871925787ba9b925ba70a4e66877b469", + "subject": "test(browser): match retained subframe limitations structurally", + "body": "test(browser): match retained subframe limitations structurally\n", + "parents": ["701519a5ced3f76e01d1b9e1aba31caf1d434beb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c6ac60acfe61edbd41ef35a9e13758e144b48fd7", + "subject": "fix(javascript): preserve capture and property-key effect ownership", + "body": "fix(javascript): preserve capture and property-key effect ownership\n", + "parents": ["b3433d01871925787ba9b925ba70a4e66877b469"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "84c327ee6555b9d529f8f7fdec1e536bb2d18aab", + "subject": "fix(ghidra): attribute import policy conflicts to settings", + "body": "fix(ghidra): attribute import policy conflicts to settings\n", + "parents": ["c6ac60acfe61edbd41ef35a9e13758e144b48fd7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5796220f23d60381f96c00114a89cc70bb90cdf6", + "subject": "fix(native): validate Mach-O command framing before admission", + "body": "fix(native): validate Mach-O command framing before admission\n", + "parents": ["84c327ee6555b9d529f8f7fdec1e536bb2d18aab"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "aad3d88cc018fa7c9175a024cf12f68fead1b559", + "subject": "docs(mcp): state plist inspection session prerequisite", + "body": "docs(mcp): state plist inspection session prerequisite\n", + "parents": ["5796220f23d60381f96c00114a89cc70bb90cdf6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "df00588325a86fe542ff894d60fe8941c2592a6b", + "subject": "fix(electron): separate script frame admission from declared source labels", + "body": "fix(electron): separate script frame admission from declared source labels\n", + "parents": ["aad3d88cc018fa7c9175a024cf12f68fead1b559"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c5d86a164d168aa0497a1bbc229e3c0c3db351f6", + "subject": "test(environment): read asynchronous owner observations through contracts", + "body": "test(environment): read asynchronous owner observations through contracts\n", + "parents": ["df00588325a86fe542ff894d60fe8941c2592a6b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "80d4a74a06d1b6143e622763d040bc94b70242fa", + "subject": "test(javascript): distinguish resolver URLs from existing module targets", + "body": "test(javascript): distinguish resolver URLs from existing module targets\n", + "parents": ["c5d86a164d168aa0497a1bbc229e3c0c3db351f6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ecfac46c8d887fa5c93cc7c3e30077db3ec879b7", + "subject": "fix(ghidra): retain neutral recovery for observed SIGKILL", + "body": "fix(ghidra): retain neutral recovery for observed SIGKILL\n", + "parents": ["80d4a74a06d1b6143e622763d040bc94b70242fa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "23664efdbbf855d6d0490ae0b2ee4348084e7eda", + "subject": "fix(hopper): preserve unknown relationship completeness", + "body": "fix(hopper): preserve unknown relationship completeness\n", + "parents": ["ecfac46c8d887fa5c93cc7c3e30077db3ec879b7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d397ac7427f8bf72b4f8f579de7b74cd52b17e40", + "subject": "docs(native): clarify Darwin runtime breakpoint names", + "body": "docs(native): clarify Darwin runtime breakpoint names\n", + "parents": ["23664efdbbf855d6d0490ae0b2ee4348084e7eda"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d9a855f5cb7f96fd906c13979356b82f97c1deff", + "subject": "fix(browser): preserve unknown script ownership through reconciliation", + "body": "fix(browser): preserve unknown script ownership through reconciliation\n", + "parents": ["d397ac7427f8bf72b4f8f579de7b74cd52b17e40"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7d941e279905d9e4c7cad3a51d15eee05364d3e4", + "subject": "fix(electron): keep optional provenance fields within JSON evidence values", + "body": "fix(electron): keep optional provenance fields within JSON evidence values\n", + "parents": ["d9a855f5cb7f96fd906c13979356b82f97c1deff"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a03096cb85a82e0887b52ba8264df6d905746735", + "subject": "fix(native): retain Mach-O architecture discriminant narrowing", + "body": "fix(native): retain Mach-O architecture discriminant narrowing\n", + "parents": ["7d941e279905d9e4c7cad3a51d15eee05364d3e4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a3eae6e236e48b951ee4b6e9cf896169ddac3f4a", + "subject": "test: give oversized registration groups semantic owners", + "body": "test: give oversized registration groups semantic owners\n", + "parents": ["a03096cb85a82e0887b52ba8264df6d905746735"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9877ab7d1dc20ed3a65fd644e303f8954b3d48b2", + "subject": "test: group boundary registration by observed behavior", + "body": "test: group boundary registration by observed behavior\n", + "parents": ["a3eae6e236e48b951ee4b6e9cf896169ddac3f4a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "20ff68914bf175b1ce35b8360677d502bf9d76a1", + "subject": "fix: normalize retained terminal observations with sampled identities", + "body": "fix: normalize retained terminal observations with sampled identities\n", + "parents": ["9877ab7d1dc20ed3a65fd644e303f8954b3d48b2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6739b3cd80a6cc8db1215f51ac6437b48c2ed74b", + "subject": "fix: identify missing Electron lineage ownership markers", + "body": "fix: identify missing Electron lineage ownership markers\n", + "parents": ["20ff68914bf175b1ce35b8360677d502bf9d76a1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "75dfd1c74722e68bc4e80007b4f9afd8a1d833cb", + "subject": "fix(ida): retain registration constraints and identity refusal guidance", + "body": "fix(ida): retain registration constraints and identity refusal guidance\n", + "parents": ["6739b3cd80a6cc8db1215f51ac6437b48c2ed74b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bbf7943ba6536f22473b50297bb54355f1eca63b", + "subject": "fix(kuna): retain published exports through staging cleanup failures", + "body": "fix(kuna): retain published exports through staging cleanup failures\n", + "parents": ["75dfd1c74722e68bc4e80007b4f9afd8a1d833cb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6b0c4b43a44af04e75a1cf3c76a250da31168e9f", + "subject": "fix(nativeaot): charge only examined candidate table entries", + "body": "fix(nativeaot): charge only examined candidate table entries\n", + "parents": ["bbf7943ba6536f22473b50297bb54355f1eca63b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bfa60d596edfe7cd8fcf986346e801b272a2b6fb", + "subject": "docs: clarify batch decompilation retention limits", + "body": "docs: clarify batch decompilation retention limits\n", + "parents": ["6b0c4b43a44af04e75a1cf3c76a250da31168e9f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9fb63ad066fb62eaf705f7d26c885616372bcaaa", + "subject": "fix(javascript): distinguish deferred bootstrap installer writes", + "body": "fix(javascript): distinguish deferred bootstrap installer writes\n", + "parents": ["bfa60d596edfe7cd8fcf986346e801b272a2b6fb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cc90771af14f045538651615147d8bf86b576549", + "subject": "fix(native)!: preserve UI scalar facts and selection failures", + "body": "fix(native)!: preserve UI scalar facts and selection failures\n\nBREAKING CHANGE: Accessibility node value can also be a JSON number or boolean. Strings and null retain their prior meaning.\n", + "parents": ["9fb63ad066fb62eaf705f7d26c885616372bcaaa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1872fef5c007dd62deb4622ab38d51dfbff5ca6f", + "subject": "fix(javascript): retain activation order for captured scope exits", + "body": "fix(javascript): retain activation order for captured scope exits\n", + "parents": ["cc90771af14f045538651615147d8bf86b576549"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "afc72f32e3c7da317ccdc9f360de28920999560f", + "subject": "test(pyinstaller): use an absolute drive path for refusal coverage", + "body": "test(pyinstaller): use an absolute drive path for refusal coverage\n", + "parents": ["1872fef5c007dd62deb4622ab38d51dfbff5ca6f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f97747c2fb688f1cd9686a4469c980702539b29c", + "subject": "fix(javascript): preserve route selection owners and uncertainty", + "body": "fix(javascript): preserve route selection owners and uncertainty\n", + "parents": ["afc72f32e3c7da317ccdc9f360de28920999560f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "55437c1431196738562cdcea3efb3d2877927bf9", + "subject": "fix(javascript): prove native URL constructor paths", + "body": "fix(javascript): prove native URL constructor paths\n", + "parents": ["f97747c2fb688f1cd9686a4469c980702539b29c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d2dc3cfc34e87d008b4b09abbbd3593eacdd2741", + "subject": "refactor(tests): separate fixtures and registration groups", + "body": "refactor(tests): separate fixtures and registration groups\n", + "parents": ["55437c1431196738562cdcea3efb3d2877927bf9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "aa521d434862033cb9d0d3562292a87807b0d8f1", + "subject": "test(native): distinguish qualified symbol identity controls", + "body": "test(native): distinguish qualified symbol identity controls\n", + "parents": ["d2dc3cfc34e87d008b4b09abbbd3593eacdd2741"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "19f367257d687dd57f11d0da84248f786efa14a4", + "subject": "fix(ida): preserve busy details across timeout attribution", + "body": "fix(ida): preserve busy details across timeout attribution\n", + "parents": ["aa521d434862033cb9d0d3562292a87807b0d8f1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a31b4a393a90382c0ddd99868b9964ac9d7800bd", + "subject": "fix(cli): unify builtin and global completion scope", + "body": "fix(cli): unify builtin and global completion scope\n", + "parents": ["19f367257d687dd57f11d0da84248f786efa14a4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1dff1b15fb90ca521590b7be0554634f0d4c2569", + "subject": "test(ghidra): group exit-signal evidence controls", + "body": "test(ghidra): group exit-signal evidence controls\n", + "parents": ["a31b4a393a90382c0ddd99868b9964ac9d7800bd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "96e1a607492638782d6bc48f889537c2b7336ec9", + "subject": "fix: retain narrowed terminal observation values", + "body": "fix: retain narrowed terminal observation values\n", + "parents": ["1dff1b15fb90ca521590b7be0554634f0d4c2569"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "094d39926b1f705883d9c4a3810e097afc4bf78b", + "subject": "fix(cli): bind completion input to public registry type", + "body": "fix(cli): bind completion input to public registry type\n", + "parents": ["96e1a607492638782d6bc48f889537c2b7336ec9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9cd46d61929319480dd8aa38d1caa7eca1977e1f", + "subject": "fix(flutter): qualify unsupported unified snapshot profiles", + "body": "fix(flutter): qualify unsupported unified snapshot profiles\n", + "parents": ["094d39926b1f705883d9c4a3810e097afc4bf78b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7e8c7865d4e4ebb7ff4a0a56f56cbf56eb552b27", + "subject": "test(native): bind origin comparison to containing entries", + "body": "test(native): bind origin comparison to containing entries\n", + "parents": ["9cd46d61929319480dd8aa38d1caa7eca1977e1f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fd254b5e37d4f8301441c00a1b39b9e73851d2ee", + "subject": "fix(cli): remove completion markers on system Bash", + "body": "fix(cli): remove completion markers on system Bash\n", + "parents": ["7e8c7865d4e4ebb7ff4a0a56f56cbf56eb552b27"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "85292fdb26dcb7bb75e4bca8e8e30308ca63daf5", + "subject": "test(ida): preserve physical workspace traversal controls", + "body": "test(ida): preserve physical workspace traversal controls\n", + "parents": ["fd254b5e37d4f8301441c00a1b39b9e73851d2ee"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a51a9228bef079a45350895a3a15c3dcf76af4a9", + "subject": "fix(native): retain unknown UI executable identity", + "body": "fix(native): retain unknown UI executable identity\n", + "parents": ["85292fdb26dcb7bb75e4bca8e8e30308ca63daf5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6e40f9f0540f24145b3effc546cfd2ecdd6c7174", + "subject": "fix(native): unify LLDB discovery preparation failures", + "body": "fix(native): unify LLDB discovery preparation failures\n", + "parents": ["a51a9228bef079a45350895a3a15c3dcf76af4a9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c2cc81927a7fab7dcb40a2d9b55d362ee97a7a39", + "subject": "fix(evidence): preserve primary semantics during pending cleanup", + "body": "fix(evidence): preserve primary semantics during pending cleanup\n", + "parents": ["6e40f9f0540f24145b3effc546cfd2ecdd6c7174"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "640a0cf423ab4a8601d38bb0e669acce305441c6", + "subject": "fix(evidence): retain owner finalization reports across cleanup envelopes", + "body": "fix(evidence): retain owner finalization reports across cleanup envelopes\n", + "parents": ["c2cc81927a7fab7dcb40a2d9b55d362ee97a7a39"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c8be9df211a009032acc319c8d698be7c93d857e", + "subject": "test(browser): inspect provenance in owned graph observations", + "body": "test(browser): inspect provenance in owned graph observations\n", + "parents": ["640a0cf423ab4a8601d38bb0e669acce305441c6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5a099ef9ef07e414372913bc72d7080ef37801ec", + "subject": "test(flutter): assert canonical unsupported profile error code", + "body": "test(flutter): assert canonical unsupported profile error code\n", + "parents": ["c8be9df211a009032acc319c8d698be7c93d857e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "27b077edea844dd998bb7176053ed4d3e7517aa7", + "subject": "fix(javascript): capture primitive return values at evaluation", + "body": "fix(javascript): capture primitive return values at evaluation\n", + "parents": ["5a099ef9ef07e414372913bc72d7080ef37801ec"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9fd78a74f84a8e924bd58e7deaf5934bfb24f53c", + "subject": "fix(native): preserve unknown ELF export coverage without a dynsym section", + "body": "fix(native): preserve unknown ELF export coverage without a dynsym section\n\nCloses #6792.\n\nELF images with `PT_DYNAMIC` but no `SHT_DYNSYM` section incorrectly reported a complete, empty export inventory. The shared ELF directory reader now owns the dynamic-segment observation; CLI/MCP report `unsupported` with a reason. Existing symbol-table results remain intact. Read-only format correction; no new execution authority or public schema.\n\nValidation on the current main integration:\n\n- `npm run check`, test discovery, and 166 selected Linux tests pass, including actual CLI/stdio MCP cases and PE/IL2CPP/GPU/Rust reader consumers. Original author validation: 113 tests on macOS, including regressions that failed before the fix; test discovery passed.\n- Real Debian libc (1,926,232 bytes) and libLLVM 14 (109,967,296 bytes), with only section-header-count/name-index bytes changed, reproduce the old false absence in both public adapters. The reviewed implementation returns unsupported in both adapters. Independent Python maps unchanged `PT_DYNAMIC` declarations and selected symbol bytes; original `readelf` agrees. The reduced files are not loaded or executed; `readelf -D` itself cannot enumerate these reduced layouts, and that failed oracle attempt is retained.\n- Unmodified libc still returns all 3,025 exports, byte-identical complete Evidence and the same Evidence ID as the baseline. Resource-guarded public probes completed without stops or payload leftovers. No speed, memory or model-token improvement is claimed for this coverage fix.\n\nCodex review completed with no findings. CI failed: all 61 observed failures (including 47 omitted from the aggregate report by canceled shards) reproduce with identical complete failure diagnostics on the exact CI base and merge trees. Baseline-only bypass is explicitly authorized for this maintenance session; canceled/skipped coverage remains unverified. See the final CI attribution comment. The original author's readiness declaration below is preserved.\n\n## Author readiness\n\nHuman owner: @leeguooooo\n\n- [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.\n- [x] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.\n- [x] I declare this PR ready for initial maintainer review.", + "parents": ["0bbd635ab811b6d6c05cb73188225dbce2d31aa1"], + "authors": [ + { + "name": "郭立 Guo Li", + "email": "leeguoo@163.com", + "user": { + "login": "leeguooooo", + "__typename": "User" + } + } + ], + "pullRequests": [6827] + }, + { + "sha": "f713087132021d235682f908a1c0f3bc6ab8762d", + "subject": "fix(adb): pass int intent extras to am without leading zeros (#6843)", + "body": "fix(adb): pass int intent extras to am without leading zeros (#6843)\n\nFixes #6807\n\nCo-authored-by: Abelo9996 \nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["9fd78a74f84a8e924bd58e7deaf5934bfb24f53c"], + "authors": [ + { + "name": "Abel Yagubyan", + "email": "abelyagubyan@berkeley.edu", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + }, + { + "name": "Abelo9996", + "email": "Abelo9996@users.noreply.github.com", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6843] + }, + { + "sha": "af3b039d31d56017169608bb85ab65fde6a0aa0d", + "subject": "fix(native): preserve whitespace in Mach-O segment and section names (#6842)", + "body": "fix(native): preserve whitespace in Mach-O segment and section names (#6842)\n\nFixes #6818\n\nCo-authored-by: Abelo9996 \nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["f713087132021d235682f908a1c0f3bc6ab8762d"], + "authors": [ + { + "name": "Abel Yagubyan", + "email": "abelyagubyan@berkeley.edu", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + }, + { + "name": "Abelo9996", + "email": "Abelo9996@users.noreply.github.com", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6842] + }, + { + "sha": "09ba16873c3b133bd6aa42d0418bc7fa91499810", + "subject": "fix(gpu): compare AMDGPU processors from parsed target facts", + "body": "fix(gpu): compare AMDGPU processors from parsed target facts\n\nGive accepted target IDs one owner for processor identity and canonical case,\nwhile preserving exact target spelling for selection and Evidence. Use that\nfact for payload/bundle comparison instead of splitting on a colon.\n\nKeep feature differences unknown unless exact target keys agree. Cover legacy\nplus-feature declarations in both directions and mixed processor case with\nindividually named physical-byte regressions. The original code failed twelve\nof the twenty-one comparison cases; the updated matrix passes all cases.\n\nValidation: GPU source, physical boundary, compiled CLI and lifecycle suites\npassed. Static, docs, schema and duplication checks passed. No GPU execution.\n", + "parents": ["af3b039d31d56017169608bb85ab65fde6a0aa0d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ce3c27fe9219dfe7523c694147a6cb429fd433d1", + "subject": "refactor(managed): unify coded-index identity and validation", + "body": "refactor(managed): unify coded-index identity and validation\n\nDecode metadata coded indexes once into null, valid or invalid facts. Migrate\nall existing consumers and remove parallel token and failure-reason decoders.\nKeep required-null policy with each column, preserving tokens, reason text,\noffsets, issue ordering and readable partial metadata.\n\nRetain known table/row coordinates even when invalid; TypeRef regressions\npreserve row-zero and out-of-range enclosing facts without granting validity.\nAttribute naming consumes the same validated constructor coordinate.\n\nValidation: metadata/member/native-boundary/signature source suites and public\nCLI/MCP recovery workflows passed; static, docs and duplication checks passed.\n", + "parents": ["09ba16873c3b133bd6aa42d0418bc7fa91499810"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5477a6b83eaf7baf66a8e0bd8cf729075a87e659", + "subject": "refactor(hopper): reuse canonical Mach-O header facts", + "body": "refactor(hopper): reuse canonical Mach-O header facts\n\nUse the existing bounded thin-header decoder for loaded and embedded FAT\nidentities, thin-image resolution, and both prepared-copy readback paths.\nPreserve raw unsigned CPU/subtype facts and endian handling.\n\nKeep the initial eight-byte dispatch, FAT framing, selection and ranking,\nsource digests, error ordering, cancellation and cleanup authority local.\n\nValidation: Mach-O container, Hopper image/copy lifecycle and file-offset close\nboundary suites passed. No attached Hopper GUI or real-provider run performed.\n", + "parents": ["ce3c27fe9219dfe7523c694147a6cb429fd433d1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d69752fd52510d0fb98c487ab82914dd09556ae8", + "subject": "refactor(filesystem): share stable read state comparisons", + "body": "refactor(filesystem): share stable read state comparisons\n\nReuse sameRegularFileState for artifact, native plist and entropy readback.\nRemove private copies of identity/size/timestamp checks and consistently include\nmode in the existing stable-state contract.\n\nKeep initial identity-only artifact admission, byte-count checks, capacity and\nerror precedence, symlink choices, cancellation and descriptor cleanup intact.\n\nValidation: stable-file, plist, artifact outcome, entropy and public CLI/MCP\nlifecycle regressions passed; static and documentation checks passed.\n", + "parents": ["5477a6b83eaf7baf66a8e0bd8cf729075a87e659"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b7ebccf8d3c06b637bbca4dc3038e8e5175b0bfc", + "subject": "fix(navigation): reject malformed containing-procedure results", + "body": "fix(navigation): reject malformed containing-procedure results\n\nMove the unchanged resolution contract into its domain owner and use it when\nbuilding navigation context. Preserve provider failures instead of guessing\nabsence from error text or malformed result shapes. Return null only for an\nexplicit valid negative resolution.\n\nRemove the obsolete error-message matcher and partial name parser. Cover four\nmalformed result shapes, original error identity, valid positive/negative facts\nand the typed MCP unreadable-output response. Original source failed six cases.\n\nValidation: navigation source/MCP and advertised schema checks passed. Compact\nand full generated catalogs are byte-identical to the parent. Static, docs,\ndiscovery and duplication checks passed.\n", + "parents": ["d69752fd52510d0fb98c487ab82914dd09556ae8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8b3902d3776e9f6be9ec699fbfb88c1a1c9dc356", + "subject": "fix(native): own complete metadata mappings and ambiguity", + "body": "fix(native): own complete metadata mappings and ambiguity\n\nResolve Go pointer descriptors and strings across complete, consistent file-backed spans, including PE headers and adjacent ELF load ranges. Reuse the canonical image-mapping selection for native exports. Preserve existing gaps, alias, zero-fill and capacity refusals.\n\nForward parsed zero-fill ownership through IL2CPP relocation tables, destinations and mapped-span checks. Distinguish missing spans from ambiguous ownership in the shared mapping failure: unresolved relocation targets may remain unknown, while ambiguous raw registration bytes cannot be reused as a resolved count.\n\nValidation: parser, provider, service, native-export, IL2CPP and public CLI/MCP regressions cover PE32/PE32+ headers, split ELF descriptors/contents, relocation count conflicts, ordinary unresolved targets and unchanged inputs. Authored carriers establish static parsing, not Windows loading or actual legacy Go linker emission.\n\nFixes #6831\nFixes #6830\n", + "parents": ["b7ebccf8d3c06b637bbca4dc3038e8e5175b0bfc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1e688e4201d0bedad911dba3eead18505eea00e9", + "subject": "fix(wasm): preserve partial name observations and coverage", + "body": "fix(wasm): preserve partial name observations and coverage\n\nRetain module-name displays observed before optional metadata failure so strict objdump framing can use those facts. Preserve uncertainty across name sections and report unknown completeness when unattributed producer warnings concern skipped custom metadata; keep exact warnings, core validation, WAT and artifact provenance.\n\nValidation: focused source/process regressions and 61 real WABT1.0.42 CLI/MCP verifier cases pass. The unmodified official macOS arm64 archive matches its published SHA-256. Coverage includes outer/inner malformed name metadata, valid empty-map controls, stable core/interface facts and cleanup. No inspected WASM target was executed.\n\nFixes #6885\n", + "parents": ["8b3902d3776e9f6be9ec699fbfb88c1a1c9dc356"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "85b8624a980376d049a755f38964df3a5b48fdb3", + "subject": "fix(readiness): reconcile closure identities and outcome variants", + "body": "fix(readiness): reconcile closure identities and outcome variants\n\nCount each verified required obligation once across retained closure observations and validate their finite status/count rules against the supplied final ledger. Compare every retained semantic outcome variant across CLI/MCP instead of selecting the first pair, preserving all observations and Evidence.\n\nValidation: evaluator regressions reject duplicate closure, contradictory intermediate status, and later outcome drift while retaining valid controls. The readiness verifier passes with the source-owned C fixture and actual CLI/stdio-MCP static JavaScript/Electron workflows. Variant sets do not establish equal repeat counts or run pairing; final-ledger consistency does not authenticate historical ledgers or proof freshness.\n\nFixes #6893\nFixes #6894\n", + "parents": ["1e688e4201d0bedad911dba3eead18505eea00e9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0929fa42098b1d8fb2276e66ebd4a46708faaaea", + "subject": "docs(architecture): clarify map scope and provider wiring", + "body": "docs(architecture): clarify map scope and provider wiring\n\nDescribe the diagram as selected layer owners and dependency paths. Link the canonical composition factories and direct Frida/Cutter entry wiring, and add the omitted Kuna deep-provider node and its verified dependencies.\n\nDocumentation checks cover source links and generated facts; no exhaustive directory inventory or new provider capability is claimed.\n\nFixes #6901\n", + "parents": ["85b8624a980376d049a755f38964df3a5b48fdb3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a91412aaf992929595e005e1cf7b8cbc0c322002", + "subject": "feat(native): export function pseudocode to resumable directories (#6170)", + "body": "feat(native): export function pseudocode to resumable directories (#6170)\n\n* feat(decompile): write function pseudocode to a directory and return a manifest\n\nAdd decompile_all and `rea decompile-all` so a caller can write one\nprovider pseudocode file per function, or a filtered set, and receive\nonly a small manifest. The result stays bounded when the program is\nlarger than a local model's tool-result cap.\n\nResume continues an export for the same target digest, provider,\nanalysis profile, and layout. Matching files are skipped, conflicting\nfiles stay unchanged, and one function's failure does not stop the\nrest. Cancellation leaves files already written. Requesting dwarf\nlayout reports that compilation-unit paths are unavailable.\n\nSimulated-provider tests cover the manifest, resume, filters, limits,\ncancellation, and the failure cap. MCP registration, CLI coverage,\nschema validity, the product catalog, check:fast, and docs:check\npassed. Real Ghidra was not exercised.\n\nRefs #6090\n\n* fix(decompile): keep unknown export identity unresumable and recover torn journals\n\nResume treated two missing target or profile digests as a match, so an\nexport of one binary could continue into another. Resume now requires both\ndigests, and a decompiler observation without the export's profile, or with\na different target, is recorded as profile_changed.\n\nA crash during a journal append left a torn final line that made the export\nunresumable. Text after the last newline is now treated as uncommitted and\ntruncated before the next append, and stale temporary files are removed.\n\nAn inventory row with an empty address aborted the whole export because its\nfailure record failed the journal schema. Such rows are now excluded and\ncounted in the limitations.\n\nA limited resume retried the same recorded failures first and never reached\nnew functions. Functions not yet attempted now run before retries. File path\nreservations come from every journal line, so an output_io record no longer\nreleases a path. The index is rebuilt from the journal in numeric address\norder, and journal close and cleanup failures return a Result.\n\nThe cancellation test now cancels after a file is committed and checks that\nfile survives and is skipped on resume. Redundant snapshot-replay checks are\nremoved, the CLI limit uses the contract constant, and --snapshot no longer\nclaims decompile-all updates it.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* fix(decompile): refuse resume of a missing export and repair journals by byte offset\n\nA second review round found that resume against a directory that does not\nexist silently started a full new export and reported it as resumed. Resume\nnow requires an existing export directory.\n\nThe torn-line repair measured the committed journal from decoded text, so\ndamaged UTF-8 could move the truncation point past the end of the file. The\njournal is now read as bytes and cut at the last newline byte, and an intact\njournal is not truncated, so a concurrent append is kept.\n\nA per-function observation for a different target is now recorded as\ntarget_changed instead of profile_changed. A failure to remove a partly\ncreated output directory is reported instead of hidden. The journal handle is\nclosed on every path again, including an unexpected throw. The path allocator\nno longer gives up after 1,000 collisions and reuses a taken name.\n\nTests now use createTestTempDirectory, assert journal lines against the\njournal schema, and cover resume of a missing directory, resume with an\nunknown analysis profile, and a target-mismatched observation.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* fix(decompile): keep a function's first file name across failed retries\n\nReserving every journal path stopped other addresses from taking a path, but\nan address looked up only its latest record. After its file went missing and\na retry failed without a path, the next resume moved the function to a\nhash-suffixed name and orphaned the original. Each address now keeps the\nfirst path the journal gave it.\n\nA matched commit still ran the decompiler but did not count toward limit.\nThe limit now counts every function taken on after skipping verified files.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* fix(decompile): never follow a journal symlink and check procedure_info identity\n\nTorn-line repair truncates the journal, and the journal was opened through\nany symlink in the export directory, so repair could truncate a file outside\nit. The journal must now be a regular file and is opened without following\nsymlinks where the platform supports it.\n\nBody ranges from procedure_info were written without checking that the\nobservation belonged to this export or described the requested function. An\nobservation with a different provider, profile or target, or another entry\npoint, now leaves the body unavailable with that reason.\n\nFile, journal and index writes now use FileHandle.writeFile, which writes the\nwhole buffer instead of trusting one write call. The stale temporary sweep is\nremoved: a matching file name does not prove this export created the file.\nThe inverted-range test now uses one address space so it reaches the\ninversion check.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* fix(decompile): bound returned caveats and keep verified checksums\n\nGhidra names each terminal call's address in its per-function caveats,\nso decompile_all copied one new caveat per function into the returned\nEvidence and the answer grew with the program. The returned Evidence\nnow keeps the eight most often observed distinct per-function caveats,\ngrouped by provider and text as they are rendered, plus a count of the\nrest. Inventory caveats are unchanged, and other workflows are not\nbounded. Each function keeps the caveats of the observations it used:\na written file in its header, now including procedure_info caveats,\nand a failed attempt in its journal and index record. A procedure_info\nobservation for another target or profile is foreign and contributes\nnone.\n\nA failure record for a function that was already written replaced the\nrecord holding its checksum, so after a transient read error a resume\ndecompiled that function again. The journal now keeps the last\nsuccessful write separately from the latest attempt. Resume verifies\nagainst that write and records it again once the file verifies.\n\nA caller abort that arrives while the export finishes now returns\ncancellation with the caller's reason instead of a success manifest,\nas #6143 does for other late finalization. A publish, index or close\nfailure stays the primary error.\n\nAlso make the missing-journal resume error say what to do, and add\nboundary tests: one runs decompile-all through the real CLI against a\nfake Kuna to check flag mapping, the relative output directory,\nfilters and limit; one runs decompile_all through production MCP\nregistration to check that the caveat bound is applied.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* fix(decompile): keep each function's complete caveats in the index\n\nThe returned Evidence keeps eight distinct per-function caveats and\ncounts the rest, pointing readers at the export. A written function's\nfile header truncates its caveats after 4,000 characters, and its\njournal record kept none, so a large function with many terminal calls\ncould lose caveats from both the answer and the export.\n\nEvery journal record, written or failed, now keeps the complete caveats\nof the observations its attempt used, and decompile-index.json carries\nthem. The header stays a readable summary and, when truncated, says\nthat the index keeps the complete list.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* fix(decompile): report external functions instead of failing them\n\nGhidra classifies imports as external functions with an empty body and\nreturns null pseudocode for them, as its limitations state. decompile_all\nrecorded each one as an invalid_pseudocode failure (\"not text\"), so a\ndynamically linked program reported every import as a decompiler failure:\n34 of 116 functions in /usr/bin/xxd.\n\nprocedure_info owns the external classification. When it classifies a\nfunction as external, the export now records status \"external\", counts it\nin counts.external, writes no file and requests no pseudocode. The record\nkeeps the body fact as observed. The journal header pins the target,\nprovider and profile, so a resume skips a recorded external function\nwithout asking the provider again; a limit below the external count still\nleaves nothing remaining. A null pseudocode result for a function whose\nclassification is not external is reported as no_pseudocode.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* fix(decompile): report finalization failures after a cancelled export\n\nWhen the caller's abort stopped the publish loop, decompile_all returned\nthat cancellation before checking the index write and the journal close,\nwhich had already run. A failure to finalize the export was hidden, so\nthe caller could not tell the saved index or journal was incomplete.\n\nPublish failures stay primary, then index and close failures. A\ncancellation counts as the caller's only when the caller's signal is\naborted, and is then reported after a successful finalization with the\ncaller's own reason. A provider's own cancellation, without a caller\nabort, stays a publish failure like any other. Tests cover an index\nfailure and a close failure after the caller stops the loop, a stopped\nloop with a successful finalization keeping the caller's reason, and a\nprovider cancellation staying primary over an index failure.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* fix(decompile): remove a created output directory that cannot be secured\n\ncreatePrivateDirectory ran mkdir and chmod as one step. When mkdir\nsucceeded and chmod failed, it returned an error before #create reached\nits cleanup, leaving an empty directory behind. A fresh export then\nrefused the existing directory, and a resume refused it for having no\njournal, so the caller had to remove it by hand.\n\nmkdir and chmod are now separate. A mkdir failure created nothing, so\nnothing is removed. A chmod failure after this call created the\ndirectory removes it with a non-recursive rmdir: it is still empty, so a\npath another process filled or replaced meanwhile is refused rather than\ndeleted, and that refusal is reported.\n\nA filesystem boundary test fails chmod for the new root and checks the\ndirectory is gone and a retry succeeds. A module test confirms that a\nfunction written earlier and now classified as external still reports a\nchanged file at its path as output_exists.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* refactor(process): share the socket lease with owners other than Hopper\n\nThe socket lease that keeps two REA processes from opening the same Hopper\ndocument lived only in HopperLease, with Hopper error messages built in.\nA decompile export needs the same guarantee for its output directory.\n\nOwnedLease now holds the lease mechanism unchanged: a listening local\nsocket that the operating system ends with its process, owner identity\nanswered by the live holder, and recovery of a stale socket serialized\nthrough a recovery directory. Callers map a tagged LeaseFailure to their\nown error. HopperLease keeps its exports and maps each failure to the\nsame HopperStartError message as before. On Windows the lease is a named\npipe, which needs no stale recovery.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* fix(decompile): hold the output directory per run and stop on repeated write failures\n\nTwo runs could resume the same output directory at once. Each read the\njournal once, and the index each wrote reflected only its own view, so\nthe last writer could drop the other run's records. A run's torn-line\nrepair could also truncate the other run's append.\n\nDecompileExport now holds a lease on the output directory, named by its\ndevice and inode, from before the journal is read (or, for a new export,\nfrom just after the directory is created and before its journal exists)\nuntil the journal is closed. A second run is refused as a retryable\ncapacity constraint that reports the holder's process ID. The lease ends\nwith its process, so a crashed run leaves no lock to clear. The lease is\nreleased on every open failure, and a failed release is reported.\n\nAn export also kept decompiling every remaining function when its files\nhad stopped being writable mid-run, for example on a full disk, failing\neach one with output_io. After five consecutive functions whose files\ncould not be written or read, the export now stops with an output error\nthat carries the counts and the last failures. A verified file or any\nother outcome ends a run of failures. Committed files and records stay,\nthe index is still written, and a later resume continues.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* docs(native): record directory export verification\n\nRecord matched real Ghidra outputs, bounded caveat and cleanup regressions,\nactual catalog-inclusive context estimates, runtime measurements and coverage\nlimits for the pinned integration.\n\n* fix(native): bound export summaries and reserve portable paths\n\nUse one case-folded reservation owner for allocation and resumed journals.\nBudget inline failures and provider caveats by encoded JSON bytes while\nretaining complete records in the output index. Align the tool contract\nwith the collector order and verify SDK result-window behavior.\n\n* docs(native): refresh final export measurements\n\n---------\n\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["0929fa42098b1d8fb2276e66ebd4a46708faaaea"], + "authors": [ + { + "name": "Aaron K. Clark", + "email": "cryptojones@owasp.org", + "user": { + "login": "CryptoJones", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6170] + }, + { + "sha": "9e6c6241d7e595c6f3e90d23f30f3d43bc8c9527", + "subject": "fix(environment): match served items whose route repeats a separator (#6876)", + "body": "fix(environment): match served items whose route repeats a separator (#6876)\n\n* fix(environment): match served items whose route repeats a separator\n\ncallSegments split the tool path template itself and dropped empty literal\nsegments, while the held collection is split by segmentsOf, which keeps an\ninternal empty segment. A captured item route such as /api//books/{id} was\nstored under collection /api//books but searched with [\"api\",\"books\"], so\ncollectionMatch rejected it and a served item read reported the extracted\nentity as missing.\n\nSplit the call template through segmentsOf, the same owner used for the held\ncollection path, so a repeated separator is preserved on both sides and the\nitem answers from its extracted collection. Single-separator routes stay\ndistinct and param positions are unchanged.\n\nFixes #6847\n\n* fix(environment): keep repeated-separator collections writable\n\nPreserving empty literal segments in callSegments made createdCollection's\nmissing-argument guard reject a create whose route repeats a separator, such\nas POST /api//books: the empty literal segment tripped the\nsegments.some(text.length === 0) check and answerCreate refused the valid\nroute. Restrict the guard to empty supplied parameter segments, so a missing\npath argument is still refused while a repeated-separator collection stays\nwritable as well as readable.\n\n---------\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["a91412aaf992929595e005e1cf7b8cbc0c322002"], + "authors": [ + { + "name": "Muhammad Hamza", + "email": "32600505+mhamzasakhi@users.noreply.github.com", + "user": { + "login": "mhamzasakhi", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6876] + }, + { + "sha": "bc1c5073dfe365e1f70e3ae7dc24442c1ee66a6f", + "subject": "refactor(managed): carry parsed signature type coordinates", + "body": "refactor(managed): carry parsed signature type coordinates\n", + "parents": ["9e6c6241d7e595c6f3e90d23f30f3d43bc8c9527"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9c0c2765c52f224aae47c6cf6b0b0d19d16993e0", + "subject": "refactor(browser): share cleanup observation facts", + "body": "refactor(browser): share cleanup observation facts\n", + "parents": ["bc1c5073dfe365e1f70e3ae7dc24442c1ee66a6f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f2db494bfca62528a48fc219038a2bd883dbb9f3", + "subject": "refactor(artifacts): remove obsolete contradiction identity input", + "body": "refactor(artifacts): remove obsolete contradiction identity input\n", + "parents": ["9c0c2765c52f224aae47c6cf6b0b0d19d16993e0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7356434202aac79df6b163dc4b06aea8683ca3cd", + "subject": "merge: consolidate upstream ownership and coverage fixes", + "body": "merge: consolidate upstream ownership and coverage fixes\n", + "parents": [ + "27b077edea844dd998bb7176053ed4d3e7517aa7", + "f2db494bfca62528a48fc219038a2bd883dbb9f3" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2a4c70e3b759ba4656f13c8fe724a6ebe25392d5", + "subject": "fix(mcp): own cancellation and raw input throughout startup", + "body": "fix(mcp): own cancellation and raw input throughout startup\n", + "parents": ["7356434202aac79df6b163dc4b06aea8683ca3cd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9ecf48bd9de1a214a9306810d6263aa819596ce4", + "subject": "test(ghidra): construct exact import policy targets", + "body": "test(ghidra): construct exact import policy targets\n", + "parents": ["2a4c70e3b759ba4656f13c8fe724a6ebe25392d5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b9212b59793db763474c007b09d8ccad30be498c", + "subject": "fix(gdb): preserve configured executable launch recovery", + "body": "fix(gdb): preserve configured executable launch recovery\n", + "parents": ["9ecf48bd9de1a214a9306810d6263aa819596ce4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b03a15e6d1d710ffd8e9c844ddce4ab5d38f65fa", + "subject": "test(ghidra): own fixed import target fixtures", + "body": "test(ghidra): own fixed import target fixtures\n", + "parents": ["b9212b59793db763474c007b09d8ccad30be498c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fc2d91a45fc42ade4bffade22af7c7950446106f", + "subject": "docs(readme): align localized guide link occurrences", + "body": "docs(readme): align localized guide link occurrences\n", + "parents": ["b03a15e6d1d710ffd8e9c844ddce4ab5d38f65fa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1849a828b2c87837cd383e7e5326fa046fd3bb34", + "subject": "test(evidence): retain structured input issues through cleanup owners", + "body": "test(evidence): retain structured input issues through cleanup owners\n", + "parents": ["fc2d91a45fc42ade4bffade22af7c7950446106f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d1fdaaf3861be1310b00347a00468f7201e28928", + "subject": "test(mcp): await observed EOF before releasing startup", + "body": "test(mcp): await observed EOF before releasing startup\n", + "parents": ["1849a828b2c87837cd383e7e5326fa046fd3bb34"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "aa4572828f454f093f5cd16232070a1a352f01b9", + "subject": "fix(electron): retain bounded source frame claims", + "body": "fix(electron): retain bounded source frame claims\n", + "parents": ["d1fdaaf3861be1310b00347a00468f7201e28928"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "651afa445571017be461d92f7a9cd263de6d4248", + "subject": "fix(elf): validate declared file extents before provider admission", + "body": "fix(elf): validate declared file extents before provider admission\n", + "parents": ["aa4572828f454f093f5cd16232070a1a352f01b9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e8a44f8679d5eeba1f3b30923f0507fe0114528f", + "subject": "fix(elf): align metadata and admission fixture error types", + "body": "fix(elf): align metadata and admission fixture error types\n", + "parents": ["651afa445571017be461d92f7a9cd263de6d4248"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "52ca222bd0da4835f2b88e49f13d153e1a832c8c", + "subject": "fix(il2cpp): preserve loader ownership and ABI field boundaries", + "body": "fix(il2cpp): preserve loader ownership and ABI field boundaries\n\nResolve pointer and scalar facts through their shared loader-aware owners before registration search or type rendering. Preserve unresolved names and attributes, read count fields at their declared width, and admit declared zero-fill registration tails without accepting unmapped bytes.\n\nCover relocation overlap and adjacency, loader-bound fields, ABI padding, nullable names, and CLI/MCP behavior; document format and verification limits.\n\nFixes #6881\nFixes #6873\nFixes #6871\n", + "parents": ["f2db494bfca62528a48fc219038a2bd883dbb9f3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3b94f2c2ef3fea23efb370af98b1f4929358a23e", + "subject": "fix(signals): honor selected files and input format options", + "body": "fix(signals): honor selected files and input format options\n\nKeep staged recording names as relative file operands, including a literal dash. Recognize exact selected input-option refusal captions even when sigrok exits successfully or a caller key contains a newline; retain producer diagnostics and typed request failures across CLI/MCP.\n\nFixes #6875\nFixes #6839\n", + "parents": ["52ca222bd0da4835f2b88e49f13d153e1a832c8c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3e3c9eadb5371794a5df1046f1c0d3bb31f8e9cb", + "subject": "fix(protobuf): reject ambiguous descriptor identities", + "body": "fix(protobuf): reject ambiguous descriptor identities\n\nValidate message-local field numbers and fully qualified registry identities during existing descriptor admission before constructing the schema registry. Preserve repeated wire occurrences, enum aliases and independent scopes, with bounded name allocation and retained capture provenance through CLI/MCP refusals.\n\nFixes #6834\n", + "parents": ["3b94f2c2ef3fea23efb370af98b1f4929358a23e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "87a5be3000b7cf4c3038277a7e809319c13cb2cd", + "subject": "fix(environment): normalize values from owned response facts", + "body": "fix(environment): normalize values from owned response facts\n\nRequire a real clock-field context for numeric time normalization and actual rendered write rules for generated strings. Preserve literal read, replay and missing-response values, and retain generated aliases and distinctness within each response.\n\nKeep clock context separate from entity identity while traversing arrays. Add domain and public CLI controls for measurements, business strings, confirmed writes, missing responses and generated-value relationships, with documented inference limits.\n\nFixes #6878\nFixes #6837\n", + "parents": ["3e3c9eadb5371794a5df1046f1c0d3bb31f8e9cb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6d4cc6e6a4877a03bf9407022a32406651232779", + "subject": "refactor(managed): share compressed integer format decoding", + "body": "refactor(managed): share compressed integer format decoding\n", + "parents": ["87a5be3000b7cf4c3038277a7e809319c13cb2cd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "171f56a5ed78085003c0076b2df72af30d26f9f2", + "subject": "refactor(setup): own parsed registration command facts", + "body": "refactor(setup): own parsed registration command facts\n", + "parents": ["6d4cc6e6a4877a03bf9407022a32406651232779"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5f4bd6ba341e3ce0efd89a70b088b54a0b8feeee", + "subject": "refactor(cli): execute validated model and GPU requests", + "body": "refactor(cli): execute validated model and GPU requests\n", + "parents": ["171f56a5ed78085003c0076b2df72af30d26f9f2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2b8e388bbe5129a956ba1527dced9f9999347613", + "subject": "fix(native): unify legacy Mach-O platform interpretation", + "body": "fix(native): unify legacy Mach-O platform interpretation\n", + "parents": ["5f4bd6ba341e3ce0efd89a70b088b54a0b8feeee"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "beb41f8145017346e588b13c193a66dce9769ace", + "subject": "docs(website): add dark-mode styles to the favicon and social card (#6909)", + "body": "docs(website): add dark-mode styles to the favicon and social card (#6909)\n\nThe favicon tile (#20252b) is almost invisible on a dark browser tab\nstrip, and the social card opened on its own is light only. Add one\nprefers-color-scheme: dark block to each SVG. Each edit is a pure\ninsertion, and the light render is 0 pixels different in magick and in\nCairoSVG. CairoSVG ignores the block, so the PNG that link previews\nfetch stays light. website/figures.md says so.\n\n🤖 Generated with Claude Code (Sonnet 5.5) 🦊\n\nCo-authored-by: Claude Sonnet 5.5 ", + "parents": ["2b8e388bbe5129a956ba1527dced9f9999347613"], + "authors": [ + { + "name": "Cassie_Fox", + "email": "249835913+CassieFox23@users.noreply.github.com", + "user": { + "login": "CassieFox23", + "__typename": "User" + } + }, + { + "name": "Claude Sonnet 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6909] + }, + { + "sha": "d29ae43aeb522559da6f25faae29b5d907e1fe40", + "subject": "docs: add missing src/ directories to architecture.mermaid (#6908)", + "body": "docs: add missing src/ directories to architecture.mermaid (#6908)\n\n* docs: add 21 missing src/ dirs to architecture.mermaid (#6901)\n\n* docs: restore KUNA and AUX node declarations lost in merge\n\n* docs: remove final conflict marker", + "parents": ["beb41f8145017346e588b13c193a66dce9769ace"], + "authors": [ + { + "name": "PJY | ProviDER", + "email": "128478616+uyg7x@users.noreply.github.com", + "user": { + "login": "uyg7x", + "__typename": "User" + } + } + ], + "pullRequests": [6908] + }, + { + "sha": "57b1f8236717185815f21e0bf421fbeb380cc8e7", + "subject": "perf(native): query retained export table facts (#6907)", + "body": "perf(native): query retained export table facts (#6907)\n\n* perf(native): query retained export table facts\n\n* docs(perf): record native export task comparisons\n\n* fix(native): preserve omitted export projection fields\n\n* docs(perf): refresh final export view qualification\n\n* test(native): verify sparse export view digests", + "parents": ["d29ae43aeb522559da6f25faae29b5d907e1fe40"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6907] + }, + { + "sha": "d65c027c2d207ce399d69a8568bc42d849d71465", + "subject": "fix(wasm): retain glue query and fragment across line terminators (#6802)", + "body": "fix(wasm): retain glue query and fragment across line terminators (#6802)\n\nfix(wasm): retain multiline glue query and fragment literals\n\nCo-authored-by: gongfpp <22683417+gongfpp@users.noreply.github.com>\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["57b1f8236717185815f21e0bf421fbeb380cc8e7"], + "authors": [ + { + "name": "gongfpp", + "email": "1360187968@qq.com", + "user": { + "login": "gongfpp", + "__typename": "User" + } + }, + { + "name": "gongfpp", + "email": "22683417+gongfpp@users.noreply.github.com", + "user": { + "login": "gongfpp", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6802] + }, + { + "sha": "250e209f32a94c94b381b2ab582b7461ba0c17ff", + "subject": "refactor(managed): give MethodDef row facts one owner", + "body": "refactor(managed): give MethodDef row facts one owner\n", + "parents": ["d65c027c2d207ce399d69a8568bc42d849d71465"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e05beb39c2a3f2b89a0374b9df95d86aa2de257f", + "subject": "refactor(apple): reuse artifact stream byte validation", + "body": "refactor(apple): reuse artifact stream byte validation\n", + "parents": ["250e209f32a94c94b381b2ab582b7461ba0c17ff"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "33d00a06010e0d890bb66fc68b91e2653f3c0390", + "subject": "test(mcp): verify recovery guidance through initialized clients", + "body": "test(mcp): verify recovery guidance through initialized clients\n", + "parents": ["e05beb39c2a3f2b89a0374b9df95d86aa2de257f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d13a036e34b1c8e8d9a28368ddfc55d08287929f", + "subject": "fix(reconstruction): retain scoped unknowns in overall claims", + "body": "fix(reconstruction): retain scoped unknowns in overall claims\n\nSelect active constituent-dimension unknowns for an overall comparison claim while preserving comparison identity and exact scope for individual claims. Use the same selected facts for classification, citations, limitations and recommended probes; remove redundant aliases.\n\nCover stdio MCP registration, aggregate and independent claims, resolved latest revisions, source provenance and foreign comparison scopes.\n\nFixes #6879\n", + "parents": ["33d00a06010e0d890bb66fc68b91e2653f3c0390"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1081f81484e9c8e9c8193101aa1731d64974a14c", + "subject": "fix(browser): preserve unknown worker target ownership", + "body": "fix(browser): preserve unknown worker target ownership\n\nParse optional CDP worker relationships once for browser and Electron collectors. Keep absent ownership unavailable, malformed relationships invalid, and proven foreign targets outside the selected scope; retain existing origin and file authorization.\n\nAdd public CLI protocol fixtures and documentation for coverage and withheld details.\n\nFixes #6475\n", + "parents": ["d13a036e34b1c8e8d9a28368ddfc55d08287929f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "462b73ac9b1caefcc4dcc0e6cbdc476a66e818a2", + "subject": "fix(native): bind core segment names to their architecture", + "body": "fix(native): bind core segment names to their architecture\n\nValidate recorded-core program-header projections against the selected pyelftools architecture table after binding e_machine to the snapshot. Preserve numeric unknowns and reject names borrowed from another machine or inconsistent header bytes.\n\nAdd source-binding malformed controls and authored auxiliary-header carriers to the existing real CLI/MCP verification lane. Document pinned parser semantics separately from payload interpretation and real crash coverage.\n\nFixes #6538\n", + "parents": ["1081f81484e9c8e9c8193101aa1731d64974a14c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a8fc3307cd2f21f4202def78bd2783216c5f7f6a", + "subject": "fix(protobuf): own descriptor file identity before registry admission", + "body": "fix(protobuf): own descriptor file identity before registry admission\n\nCoalesce equal parsed file definitions and reject conflicting same-name definitions before registry import resolution. Preserve field presence, known and opaque facts through one budgeted SDK parse while retaining original descriptor bytes and digest.\n\nKeep unique files in their original order, reuse the existing admission traversal, and cover public CLI/MCP import, ordering, presence and source-provenance controls. Document REA ambiguity policy separately from protoc precedence.\n", + "parents": ["462b73ac9b1caefcc4dcc0e6cbdc476a66e818a2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a8609d562f4d5931ce40ac265705125e4d4d25fb", + "subject": "fix(process): preserve observation-root failures and omitted symlinks", + "body": "fix(process): preserve observation-root failures and omitted symlinks\n\nKeep typed search denial and acquired snapshot facts through cleanup and finalization. Record unfollowed symlink coverage at the snapshot owner, preserve physically enumerated parents, and retain uncertainty beneath omitted links without losing proven sibling deletions.\n\nUpdate parsed omission contracts, public CLI/MCP regressions and documentation without introducing a new lifecycle or coverage framework.\n\nFixes #6446\nFixes #6444\n", + "parents": ["a8fc3307cd2f21f4202def78bd2783216c5f7f6a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a2235b09acce184570f5287d650906e3981f0baa", + "subject": "fix(apk): classify damaged Zip64 tail framing", + "body": "fix(apk): classify damaged Zip64 tail framing\n\nSeparate malformed locators and fixed records from unsupported disk layouts or numeric representation limits at the ZIP tail owner. Preserve the classic 65535-entry fallback and existing downstream parsed facts.\n\nAdd public CLI and stdio MCP valid, damaged, restored and unsupported controls; document the bounded validation scope.\n\nFixes #6471\n", + "parents": ["a8609d562f4d5931ce40ac265705125e4d4d25fb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "53601d0bdfe99a2cd4ce1b5ef492609114805e23", + "subject": "merge: consolidate upstream identity and representation owners", + "body": "merge: consolidate upstream identity and representation owners\n", + "parents": [ + "e8a44f8679d5eeba1f3b30923f0507fe0114528f", + "a2235b09acce184570f5287d650906e3981f0baa" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c25ee582c5031b35564b4dbd245a1de7630c1b94", + "subject": "test(wasm): place parsed interface comparison at provider boundary", + "body": "test(wasm): place parsed interface comparison at provider boundary\n", + "parents": ["53601d0bdfe99a2cd4ce1b5ef492609114805e23"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0adcd83b1a5a58dde22931898a183c9783050258", + "subject": "test(ida): place capability composition at provider boundary", + "body": "test(ida): place capability composition at provider boundary\n", + "parents": ["c25ee582c5031b35564b4dbd245a1de7630c1b94"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "872d46a0d9776dde4bae97d238736e83b8af1253", + "subject": "test(browser): place PNG contract execution at provider boundary", + "body": "test(browser): place PNG contract execution at provider boundary\n", + "parents": ["0adcd83b1a5a58dde22931898a183c9783050258"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "59094307719bdd65199d7b56320e183fd6ef6074", + "subject": "perf(test): share SDK catalog compilation across deferred clients", + "body": "perf(test): share SDK catalog compilation across deferred clients\n", + "parents": ["872d46a0d9776dde4bae97d238736e83b8af1253"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "eac392d0850882204f931e50e62cfca934f51919", + "subject": "revert(test): remove unproven SDK compiler sharing", + "body": "revert(test): remove unproven SDK compiler sharing\n\nThis reverts commit 56eca648d. The equivalent completed two-client measurement increased elapsed and CPU time, so compiler sharing has not established a benefit.\n", + "parents": ["59094307719bdd65199d7b56320e183fd6ef6074"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "271ef32f0c23749a2f4da6bb3037a4e42f5ba66f", + "subject": "refactor(managed): retain decoded metadata token facts", + "body": "refactor(managed): retain decoded metadata token facts\n", + "parents": ["a2235b09acce184570f5287d650906e3981f0baa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f4179f511fc78f14d422c42408ecff7336a8d1eb", + "subject": "test(managed): scope cleanup failures to snapshot reads", + "body": "test(managed): scope cleanup failures to snapshot reads\n", + "parents": ["271ef32f0c23749a2f4da6bb3037a4e42f5ba66f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8d3ed58cb7d630d02c32ca8ccc17f7ddc5e6eb08", + "subject": "merge: consolidate upstream managed token facts", + "body": "merge: consolidate upstream managed token facts\n", + "parents": [ + "eac392d0850882204f931e50e62cfca934f51919", + "f4179f511fc78f14d422c42408ecff7336a8d1eb" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ac6e0e258a2c7301d67d68e3ff6632b60ed3f8e6", + "subject": "test(mips): distinguish damaged ELF admission from partial ABI evidence", + "body": "test(mips): distinguish damaged ELF admission from partial ABI evidence\n", + "parents": ["8d3ed58cb7d630d02c32ca8ccc17f7ddc5e6eb08"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5ddd7dc0d4634c4a8d300b573dd4f7780642f496", + "subject": "test(reconstruction): declare authored function symbol identity", + "body": "test(reconstruction): declare authored function symbol identity\n", + "parents": ["ac6e0e258a2c7301d67d68e3ff6632b60ed3f8e6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "658c29c9d610557ed209e4da167a7e95294e2837", + "subject": "test(rizin): register terminal admission at provider boundary", + "body": "test(rizin): register terminal admission at provider boundary\n", + "parents": ["5ddd7dc0d4634c4a8d300b573dd4f7780642f496"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b227c301e5c8285da45b09ba620e59759835b820", + "subject": "test(process): align root admission fixture with observer allocation ownership", + "body": "test(process): align root admission fixture with observer allocation ownership\n", + "parents": ["658c29c9d610557ed209e4da167a7e95294e2837"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "360ced26d175b06acb34c3cde8302c8e0840e652", + "subject": "test(mips): project inspected ABI facts without undefined overrides", + "body": "test(mips): project inspected ABI facts without undefined overrides\n", + "parents": ["b227c301e5c8285da45b09ba620e59759835b820"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "81727c3da3e04f6644942f9062a93b536695eea9", + "subject": "test(process): assert canonical admission failure through cleanup envelopes", + "body": "test(process): assert canonical admission failure through cleanup envelopes\n", + "parents": ["360ced26d175b06acb34c3cde8302c8e0840e652"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1778a3d49419425feecc49c2b8daf68145af9d62", + "subject": "refactor(browser): remove obsolete web script reconciliation", + "body": "refactor(browser): remove obsolete web script reconciliation\n", + "parents": ["f4179f511fc78f14d422c42408ecff7336a8d1eb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "15edc7191419716c1be1b05e70db457617e24bc5", + "subject": "refactor(javascript): remove obsolete in-process projection runner", + "body": "refactor(javascript): remove obsolete in-process projection runner\n", + "parents": ["1778a3d49419425feecc49c2b8daf68145af9d62"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f470350528ffdfd3f1ec800ffafbf24ae5c7b593", + "subject": "refactor(managed): retain TypeDef row ownership through projections", + "body": "refactor(managed): retain TypeDef row ownership through projections\n", + "parents": ["15edc7191419716c1be1b05e70db457617e24bc5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "097b6040396d825dc197daacf78e746acf8f16c6", + "subject": "merge: consolidate upstream projection cleanup", + "body": "merge: consolidate upstream projection cleanup\n", + "parents": [ + "81727c3da3e04f6644942f9062a93b536695eea9", + "f470350528ffdfd3f1ec800ffafbf24ae5c7b593" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bcd18d289845051b0f0513e11bc1aefd3f766902", + "subject": "fix(managed): select types from retained definition records", + "body": "fix(managed): select types from retained definition records\n", + "parents": ["097b6040396d825dc197daacf78e746acf8f16c6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "36cae9016117f49a2cd0823137456ae804ef7035", + "subject": "docs(readme): show a dark showcase image on dark themes (#6915)", + "body": "docs(readme): show a dark showcase image on dark themes (#6915)\n\nThe showcase illustration was a single light PNG, so it stayed a white\nslab on GitHub's dark themes. Redraw it as a light and a dark SVG, and\nswap the linked image in README.md and all 21 translations for a\n with a prefers-color-scheme: dark source. Alt text and link\ntargets are unchanged. The PNG is deleted because nothing else uses it.\nwebsite/figures.md notes the pair.\n\n🤖 Generated with Claude Code (Sonnet 5.5) 🦊\n\nCo-authored-by: Claude Sonnet 5.5 ", + "parents": ["bcd18d289845051b0f0513e11bc1aefd3f766902"], + "authors": [ + { + "name": "Cassie_Fox", + "email": "249835913+CassieFox23@users.noreply.github.com", + "user": { + "login": "CassieFox23", + "__typename": "User" + } + }, + { + "name": "Claude Sonnet 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6915] + }, + { + "sha": "960b742581f6f71a573dc30701806f315a9ee986", + "subject": "fix(ghidra): report kernel OOM kills as a memory constraint (#6748)", + "body": "fix(ghidra): report kernel OOM kills as a memory constraint (#6748)\n\n* fix(ghidra): report kernel OOM kills as a memory constraint\n\nA kernel or container OOM killer ends Ghidra with SIGKILL and prints no\njava.lang.OutOfMemoryError, so the failure fell through to the generic\nexecution_failure that points at `rea doctor`.\n\nOn Linux with cgroup v2, read the process's own memory.events oom_kill\ncount before launch and again after a SIGKILL. When it rose, project\nresource_constraint (memory) with the group's memory.max, and advise on\nthe whole process tree (native decompiler processes included) instead of\na larger Java heap. Otherwise name the signal as a possible OOM kill.\n\nFixes #5859\n\n* fix(ghidra): scope OOM-kill attribution to what the cgroup proves\n\nReview follow-up for the SIGKILL projection:\n\n- The process supervisor records stop_requested before it sends any\n signal, and Ghidra diagnostics carry it, so a SIGKILL from REA's own\n stop is never reported as an outside kill. Only process and protocol\n failures qualify; launcher (start) failures can include REA's rollback.\n- Word the memory constraint as an OOM kill in REA's cgroup or a child\n group; the count is per cgroup, not per process tree.\n- Keep the open_binary reopen guidance for an established session.\n- Resolve the cgroup directory through the cgroup2 mount in\n /proc/self/mountinfo, so subtree mounts are joined from their root,\n and read kernel files to EOF within a budget.\n- Report memory_max as \"max\" for an unlimited group and null only when\n the limit could not be read.", + "parents": ["36cae9016117f49a2cd0823137456ae804ef7035"], + "authors": [ + { + "name": "Akshat Gupta", + "email": "118071260+akshatgg@users.noreply.github.com", + "user": { + "login": "akshatgg", + "__typename": "User" + } + } + ], + "pullRequests": [6748] + }, + { + "sha": "0a91b6c67b6fa89391db8c51fdadbe40e410acbc", + "subject": "fix(adb): retain malformed numeric listing evidence", + "body": "fix(adb): retain malformed numeric listing evidence\n", + "parents": ["960b742581f6f71a573dc30701806f315a9ee986"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1252f17f0ebd9a072e30b97056be503590a81dd9", + "subject": "fix(ci): model bundled runtime entries and dispatcher fixtures", + "body": "fix(ci): model bundled runtime entries and dispatcher fixtures\n", + "parents": ["0a91b6c67b6fa89391db8c51fdadbe40e410acbc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ba9c5bc6867272d02d2fcc9d5c7c2ea83f234067", + "subject": "fix(pe): accept WIN_CERTIFICATE padding counted in dwLength (#6721)", + "body": "fix(pe): accept WIN_CERTIFICATE padding counted in dwLength (#6721)\n\n* fix(pe): accept WIN_CERTIFICATE padding counted in dwLength\n\n* perf(pe): reuse decoded PKCS#7 ASN.1 tree\n\n* style: format files inherited from main for CI\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["1252f17f0ebd9a072e30b97056be503590a81dd9"], + "authors": [ + { + "name": "Deepak Kambala", + "email": "deepakkambala07@gmail.com", + "user": { + "login": "Deepak-Kambala", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6721] + }, + { + "sha": "3914e72f1b5811cda02576616942cc23d474274a", + "subject": "fix(setup): admit client policy from the current snapshot", + "body": "fix(setup): admit client policy from the current snapshot\n", + "parents": ["ba9c5bc6867272d02d2fcc9d5c7c2ea83f234067"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a5de93a2148327a5409c0f5a7c11f0ad0e492573", + "subject": "fix(reconstruction): qualify original process evidence at its owner", + "body": "fix(reconstruction): qualify original process evidence at its owner\n", + "parents": ["3914e72f1b5811cda02576616942cc23d474274a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "836cbd3244cd244441493d7f6d9dd339e31f86e1", + "subject": "fix(browser): retain composed artifact cleanup owners across retries", + "body": "fix(browser): retain composed artifact cleanup owners across retries\n", + "parents": ["a5de93a2148327a5409c0f5a7c11f0ad0e492573"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "59022b6a3a11056f486919581346b14ab3ed053c", + "subject": "fix(browser): share decoded response emptiness across capture views", + "body": "fix(browser): share decoded response emptiness across capture views\n", + "parents": ["836cbd3244cd244441493d7f6d9dd339e31f86e1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cef641414d25cb7c2b0633d235c9233465a3176d", + "subject": "fix(native): validate thin Mach-O CPU identity before decoding", + "body": "fix(native): validate thin Mach-O CPU identity before decoding\n", + "parents": ["59022b6a3a11056f486919581346b14ab3ed053c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "488c21ab2eae21482816b3bdd1410a3fa4466c21", + "subject": "test(ghidra): distinguish stopped signal evidence from OOM attribution", + "body": "test(ghidra): distinguish stopped signal evidence from OOM attribution\n", + "parents": ["cef641414d25cb7c2b0633d235c9233465a3176d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9dde3fd6a4da2a4b00141e59771b7c6765e1bfb9", + "subject": "fix(cli): advertise required CLI selector choices (#6759)", + "body": "fix(cli): advertise required CLI selector choices (#6759)\n\n* fix(artifacts): retain caller selection and applicable publication recovery\n\n* fix(artifacts): retain DMG producer failures and bound integrity recovery claims\n\n* fix(apk): classify malformed supported Zip64 records as input failures\n\n* fix(browser): compare script and tool facts without metadata identity churn\n\n* fix(environment): retain path segments counters and parent diagnostics\n\n* fix(discovery): retain Frida optional provider failure dispatch\n\n* test(native): share Swift context in vtable fixture admission\n\n* fix(native): narrow capability refusal before retaining its reason\n\n* fix(javascript): retain private receiver and iterative disposal effects\n\n* fix(native): preserve negative Mach-O admission identity\n\n* fix(javascript): bind Next page admission to source context\n\n* fix: preserve process filesystem scope and admission failures\n\n* fix(evidence): reject runtime locations for managed static facts\n\n* fix(hopper): bind ordinary executable opens to selected bytes\n\n* fix(browser): admit legacy capture uncertainty at retained input boundaries\n\n* fix(unknowns): distinguish rejected creation from committed mutation delivery\n\n* fix(evidence): preserve authentication failures and diagnose prior commitments\n\n* fix(cli): preserve explicit Evidence record pairing in bundle comparison\n\n* fix(artifacts): publish addressable inspection sources through both adapters\n\n* docs(evidence): define authentication and committed delivery recovery\n\n* fix(javascript): own reference roles and invocation result identities\n\n* fix(hopper): pass private X authority cookie through stdin\n\n* fix(ghidra): preserve catalog and metadata admission failures\n\n* fix(jeb): retain selected inputs and completed primary replies\n\n* fix(native): preserve literal environment map members\n\n* test: retain direct hash cleanup retainer contract\n\n* test: distinguish corrected port normalization commitment\n\n* fix: recheck attached worker policy after final artifacts\n\n* fix(javascript): share iteration and equality invocation facts\n\n* fix(artifacts): preserve typed resource limit diagnoses\n\n* fix(javascript): preserve semantic query identity and source coverage\n\n* docs(readme): align translated setup and analysis facts\n\n* fix(cli): reject surplus positional arguments before execution\n\n* fix(kuna): retain setting-specific doctor recovery\n\n* fix(setup): preserve semantic configuration refusal during uninstall\n\n* fix(setup): retain publication operation failures and recovery facts\n\n* fix(setup): distinguish Hopper inspection and archive staging failures\n\n* docs(managed): distinguish oracle conformance from host verification\n\n* docs(skill): keep one setup prerequisite policy\n\n* fix(firmware): preserve admission and extraction coverage outcomes\n\n* fix(contracts): preserve safe defaults and client literal guidance\n\n* fix(javascript): retain worker storage and projection failures\n\n* fix(evidence): preserve valid output paths near filesystem pathname limits\n\n* fix(cli): accept named native API selectors beginning with a dash\n\n* fix(artifacts): retain DMG carrier observations when child traversal is unavailable\n\n* fix(artifacts): retain dylib enumeration readers through failed cleanup\n\n* fix(browser): resolve empty storage-world origins from exact frame evidence\n\n* fix(browser): retain unknown popup storage initialization coverage\n\n* test(reconstruction): isolate derived surface ownership in fixtures\n\n* test(filesystem): probe actual permission denial before host assertions\n\n* test(managed): assert large issue retention without full-array diffs\n\n* fix(javascript): preserve source facts across graph projections\n\n* fix(javascript): preserve copied values and export publication lifetimes\n\n* fix(javascript): preserve per-field publication and provenance coverage\n\n* fix(javascript): retain initialized class self binding at body reads\n\n* fix(artifacts): retain permission omissions through JavaScript lookups\n\n* test(graph): narrow summary owner and complete PE fixture facts\n\n* test(javascript): supply source graph to native handoff checks\n\n* fix(sourcemaps): bind cleanup status to remaining codec owners\n\n* fix(browser): retain excluded source-map declaration coverage\n\n* test(javascript): preserve exact empty property keys in declarations\n\n* fix(browser): keep code absence unknown without worker inventory\n\n* fix(browser): preserve WebMCP optional fields and replay coverage gaps\n\n* fix(browser): publish executable examples with truthful capture coverage\n\n* fix(browser): preserve observed document invalidation and scope recovery\n\n* fix(native): share exact-name xref ambiguity resolution\n\n* fix(hopper): own bookmark API capability checks\n\n* fix(native): preserve procedure selector coordinate intent\n\n* test(discovery): select the declared GDB console contract\n\n* fix(ghidra): bind session refusal to retained cleanup owner\n\n* fix(apple): retain selected dylib identity after path removal\n\n* fix(apple): preserve asset failures and authored resource coverage\n\n* fix(apple): retain binary UID identity through archive projection\n\n* fix: retain completed historical replies through finalization\n\n* fix: retain unresolved browser secret declarations as input errors\n\n* test(browser): resolve network fixture secrets through typed input contract\n\n* fix(environment): distinguish destination refusal and write access failures\n\n* fix(artifacts): preserve exact ZIP and DMG caller cancellation reasons\n\n* fix(artifacts): require regular source-map target occurrences\n\n* fix(reference): separate local filesystem diagnostics from graph commitments\n\n* fix(setup): retain proven PATH aliases in installed registrations\n\n* test(package): join owned updater after registry fixture failure\n\n* fix(javascript): preserve recovery acquisition and cancellation failures\n\n* fix(session): retain cleanup blockers and snapshot request identity\n\n* fix(evidence): preserve format-owned JSON recovery diagnostics\n\n* test(evidence): cover BOM recovery across bundle commands\n\n* fix(tracing): retain caller reasons at traversal checkpoints\n\n* fix(inventory): require released cleanup before capability fallback\n\n* fix(hopper): drain retained publishers after current close failure\n\n* fix(native): preserve unknown Swift extension contexts\n\n* fix(apple): qualify unexamined nib content coverage\n\n* fix(frida): preserve session refusal and close execution effects\n\n* fix(rizin): retain cancellation and recover cleanup correlation\n\n* fix: retain Electron file admission facts across adapters\n\n* fix: preserve selected Electron display authorization\n\n* fix(javascript): retain unavailable HTML reference scopes\n\n* fix(javascript): preserve capture timing and detached receiver authority\n\n* fix(ida): preserve producer failure and caller abort outcomes\n\n* fix(cli): retain nested facts in Markdown tables\n\n* fix(cli): present argument guidance without validator cause dumps\n\n* docs(setup): define optional native update verification limits\n\n* docs(clients): distinguish discovery and schema recovery boundaries\n\n* docs(setup): explain npm workspace launcher failures\n\n* fix(verification): bind Copilot schema profile to observed inputs\n\n* fix(javascript): scope Next package admission by container identity\n\n* fix(apple): align asset allowance and category fixture types\n\n* fix(protocols): honor runtime queue and Frida identity types\n\n* test: parse Electron listing Evidence before comparison\n\n* fix(evidence): omit absent format recovery metadata\n\n* fix(contracts): validate historical source examples as exact JSON values\n\n* fix(javascript): consume per-field CommonJS publication facts\n\n* fix(gdb): correlate raw-output completion and retain read-only TTY proof\n\n* fix(native): retain completed LLDB facts across output-close cancellation\n\n* fix(hopper): retain failed private-display probe cleanup authority\n\n* style(lifecycle): format traversal and fallback edits\n\n* fix(apple): own ordered nib collections and registry parentage\n\n* fix(process): attribute trace omissions without changing shared successors\n\n* fix(cli): share builtin argument ownership with MCP routing\n\n* fix(cli): count emitted documents and normalize token windows\n\n* fix(inspector): retain captures through authorization cleanup failures\n\n* fix(artifacts): retain declared ASAR companion occurrence facts\n\n* fix(javascript): separate endpoint syntax correspondence from target identity\n\n* fix: distinguish native process exit from sampling failure\n\n* fix(javascript): retain selected-root access and filesystem failure facts\n\n* fix(browser): retain truthful cleanup facts and document request ownership\n\n* fix(native): share exact Objective-C class symbol interpretation\n\n* fix(go): retain completed artifact facts through finalization\n\n* fix(native): preserve seed analysis failures in value traces\n\n* fix(native): classify observed dSYM inspection refusal\n\n* test(apple): assert observed collection edge contract\n\n* fix(javascript): retain primary interruption through worker cleanup\n\n* fix(cutter): retain completion-read failures during cleanup retry\n\n* fix(cli): validate output windows and finish pending writes\n\n* fix(mcp): require absolute JavaScript application inputs\n\n* fix(capabilities): report missing navigation targets\n\n* fix(cli): support system Bash completion registration\n\n* fix(cli): retain narrowed token-count format handling\n\n* test(ida): preserve exact optional resource method shape\n\n* test(javascript): retain valid unknown endpoint coverage shape\n\n* fix(ghidra): try keg JDKs after failed PATH launchers\n\n* fix(browser): retain capacity refusal through terminal progress\n\n* fix(reference): require exact optional JSON diagnostics at the source schema\n\n* fix(apple): retain reader outcomes and cleanup ownership\n\n* fix(elf): qualify exports without dynamic symbol declarations\n\n* fix(mips): retain unexamined RELR declaration coverage\n\n* fix(metadata): preserve canonical PowerPC subject identity\n\n* fix(native): preserve LLDB discovery failure classifications\n\n* fix(native): report absent launch process before cleanup classification\n\n* fix(rizin): preserve primary outcomes across final cleanup\n\n* fix(browser): preserve admission failures and retain policy transport cleanup\n\n* fix(objdump): preserve input issues and provider launch failures\n\n* test(apple): attribute omitted edges to their node capacity limit\n\n* chore(metadata): synchronize packaged skill version\n\n* fix(cli): consume canonical output validation state\n\n* fix(views): preserve owning layout field diagnostics\n\n* test(pyinstaller): distinguish path and metadata allowance failures\n\n* fix(native): compose the selected command cause once\n\n* fix(setup): require HTTPS throughout Hopper download redirects\n\n* fix(ghidra): narrow fallback probe failures before projection\n\n* fix(native): require observed symbol origin for named identity\n\n* fix(javascript): retain unavailable source processing scopes\n\n* fix(cli): share declared output-error redaction\n\n* docs(windows): explain MCP registration launcher limits\n\n* fix(session): preserve binding commitments during restoration\n\n* fix(environment): retain primary facts through server cleanup failure\n\n* fix(pe): distinguish unsupported overlapping header layouts\n\n* fix(cli): keep positional admission placeholders omittable\n\n* test(cli): expose JavaScript progress workflow failure output\n\n* test(browser): match retained subframe limitations structurally\n\n* fix(javascript): preserve capture and property-key effect ownership\n\n* fix(ghidra): attribute import policy conflicts to settings\n\n* fix(native): validate Mach-O command framing before admission\n\n* docs(mcp): state plist inspection session prerequisite\n\n* fix(electron): separate script frame admission from declared source labels\n\n* test(environment): read asynchronous owner observations through contracts\n\n* test(javascript): distinguish resolver URLs from existing module targets\n\n* fix(ghidra): retain neutral recovery for observed SIGKILL\n\n* fix(hopper): preserve unknown relationship completeness\n\n* docs(native): clarify Darwin runtime breakpoint names\n\n* fix(browser): preserve unknown script ownership through reconciliation\n\n* fix(electron): keep optional provenance fields within JSON evidence values\n\n* fix(native): retain Mach-O architecture discriminant narrowing\n\n* test: give oversized registration groups semantic owners\n\n* test: group boundary registration by observed behavior\n\n* fix: normalize retained terminal observations with sampled identities\n\n* fix: identify missing Electron lineage ownership markers\n\n* fix(ida): retain registration constraints and identity refusal guidance\n\n* fix(kuna): retain published exports through staging cleanup failures\n\n* fix(nativeaot): charge only examined candidate table entries\n\n* docs: clarify batch decompilation retention limits\n\n* fix(javascript): distinguish deferred bootstrap installer writes\n\n* fix(native)!: preserve UI scalar facts and selection failures\n\nBREAKING CHANGE: Accessibility node value can also be a JSON number or boolean. Strings and null retain their prior meaning.\n\n* fix(javascript): retain activation order for captured scope exits\n\n* test(pyinstaller): use an absolute drive path for refusal coverage\n\n* fix(javascript): preserve route selection owners and uncertainty\n\n* fix(javascript): prove native URL constructor paths\n\n* refactor(tests): separate fixtures and registration groups\n\n* test(native): distinguish qualified symbol identity controls\n\n* fix(ida): preserve busy details across timeout attribution\n\n* fix(cli): unify builtin and global completion scope\n\n* test(ghidra): group exit-signal evidence controls\n\n* fix: retain narrowed terminal observation values\n\n* fix(cli): bind completion input to public registry type\n\n* fix(flutter): qualify unsupported unified snapshot profiles\n\n* test(native): bind origin comparison to containing entries\n\n* fix(cli): remove completion markers on system Bash\n\n* test(ida): preserve physical workspace traversal controls\n\n* fix(native): retain unknown UI executable identity\n\n* fix(native): unify LLDB discovery preparation failures\n\n* fix(evidence): preserve primary semantics during pending cleanup\n\n* fix(evidence): retain owner finalization reports across cleanup envelopes\n\n* test(browser): inspect provenance in owned graph observations\n\n* test(flutter): assert canonical unsupported profile error code\n\n* fix(javascript): capture primitive return values at evaluation\n\n* fix(mcp): own cancellation and raw input throughout startup\n\n* test(ghidra): construct exact import policy targets\n\n* fix(gdb): preserve configured executable launch recovery\n\n* test(ghidra): own fixed import target fixtures\n\n* docs(readme): align localized guide link occurrences\n\n* test(evidence): retain structured input issues through cleanup owners\n\n* test(mcp): await observed EOF before releasing startup\n\n* fix(electron): retain bounded source frame claims\n\n* fix(elf): validate declared file extents before provider admission\n\n* fix(elf): align metadata and admission fixture error types\n\n* test(wasm): place parsed interface comparison at provider boundary\n\n* test(ida): place capability composition at provider boundary\n\n* test(browser): place PNG contract execution at provider boundary\n\n* perf(test): share SDK catalog compilation across deferred clients\n\n* fix(cli): trim repeated selector discovery guidance\n\n* revert(test): remove unproven SDK compiler sharing\n\nThis reverts commit 56eca648d. The equivalent completed two-client measurement increased elapsed and CPU time, so compiler sharing has not established a benefit.\n\n* refactor(managed): retain decoded metadata token facts\n\n* test(managed): scope cleanup failures to snapshot reads\n\n* test(cli): bound selector rejection cases by command\n\n* test(mips): distinguish damaged ELF admission from partial ABI evidence\n\n* test(reconstruction): declare authored function symbol identity\n\n* test(rizin): register terminal admission at provider boundary\n\n* test(process): align root admission fixture with observer allocation ownership\n\n* test(mips): project inspected ABI facts without undefined overrides\n\n* refactor(browser): remove obsolete web script reconciliation\n\n* refactor(javascript): remove obsolete in-process projection runner\n\n* refactor(managed): retain TypeDef row ownership through projections\n\n* test(process): assert canonical admission failure through cleanup envelopes\n\n* fix(managed): select types from retained definition records\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["488c21ab2eae21482816b3bdd1410a3fa4466c21"], + "authors": [ + { + "name": "Matt Van Horn", + "email": "mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6759] + }, + { + "sha": "30db499db310f073d9bf3d3acfd77985e1cb7e2e", + "subject": "fix(javascript): preserve graph facts across omissions and versions", + "body": "fix(javascript): preserve graph facts across omissions and versions\n\nOmit absent inventory facts without erasing explicit unknowns. Compare canonical file occurrences by source path and digest while preserving complete container provenance in observations and Evidence.\n\nConsolidate candidate-capacity fixtures around unresolved alternatives and update inventory coverage and source-occurrence oracles. Preserve resource, identity, relationship uncertainty, cancellation, and transfer regressions.\n", + "parents": ["9dde3fd6a4da2a4b00141e59771b7c6765e1bfb9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "52aeeee764c407a1888931ecbc9c46f6536650cc", + "subject": "fix(ida): preserve native workspace admission and startup outcomes", + "body": "fix(ida): preserve native workspace admission and startup outcomes\n\nValidate the selected workspace lookup through stat before canonicalization,\npreserving typed configuration causes and physical traversal semantics. Cover\nreadiness without writes and tie startup cleanup regressions to explicit\ncancellation or timeout producer outcomes.\n\nFixes #6828\n", + "parents": ["30db499db310f073d9bf3d3acfd77985e1cb7e2e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d5df7fd9448f370c8f3fc4f54cf2cf83613bb511", + "subject": "fix(reference): preserve source scope and loader authority", + "body": "fix(reference): preserve source scope and loader authority\n\nShare parser-owned package and runtime facts across dependency consumers.\nPreserve uncertain loader requests and explicit wrapper bindings without\ninventing unbound require authority in known modules. Cover selected source\ngrammar through the public MCP boundary and retain ambient/type dependencies.\n\nOpen each selected directory before loading its scoped policy, retaining\npartial directory failures and cleanup ownership. Preserve explicit caller\nnegation precedence and source diagnostics across inventory projections.\n\nClarify how version comparison retains container provenance without claiming\nsemantic drift. Use independent unknown source inputs to keep candidate-limit\nfixtures meaningful as conditional branch evaluation becomes more precise.\n\nFixes #6891\nFixes #6882\nFixes #6883\nFixes #6859\n", + "parents": ["52aeeee764c407a1888931ecbc9c46f6536650cc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b6e107aded72854e4c4aaf7817984d869dc07488", + "subject": "fix(process): quiesce terminal producers before final observation", + "body": "fix(process): quiesce terminal producers before final observation\n\nStop interactions and sampling before final observation, and stop the owned\ntarget before failure-path rendering. Cache finalized terminal facts through\ndisposal and cleanup retry while preserving the original failure.\n\nVersion deferred terminal observation order for every normalization profile,\nincluding disabled PID and port normalization. Add public CLI/MCP descendant,\npartial-evidence and compatibility controls without replacing upstream owners.\n\nFixes #6443\n", + "parents": ["d5df7fd9448f370c8f3fc4f54cf2cf83613bb511"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0b1af48a3718ae3d2cfd83aa21cd7ca88f3a6629", + "subject": "fix(protobuf): preserve MIME admission and transport facts", + "body": "fix(protobuf): preserve MIME admission and transport facts\n\nParse MIME parameters once with strict quoted-value and duplicate handling,\nand compare equivalent default binary profiles. Keep excluded HAR MIME\nunknown, explicit framing independent, and nominal gRPC sanitization intact\nacross malformed or repeated declarations.\n\nAdd public CLI/MCP and native-header regressions with source identity and\npartial-coverage assertions. Preserve upstream wire and schema admission.\n\nFixes #6836\n", + "parents": ["b6e107aded72854e4c4aaf7817984d869dc07488"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "667ab5ae08a098494ef2ffaddf37a05d1c1e91c0", + "subject": "fix(adb): own numeric declaration validation and diagnostics", + "body": "fix(adb): own numeric declaration validation and diagnostics\n\nParse declarations before selecting values, admit safe integers once, and retain bounded raw numeric issues. Preserve display and package selection policies while distinguishing absent and malformed values.\n\nKeep completed display facts in typed physical-size failures, share the existing diagnostic sample limit, and verify real CLI/MCP contracts with a strict fake ADB.\n", + "parents": ["0b1af48a3718ae3d2cfd83aa21cd7ca88f3a6629"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1081008c9dba4b895c90faac504d14bd5dd39758", + "subject": "fix(python): preserve source boundaries in pyc previews (#6492)", + "body": "fix(python): preserve source boundaries in pyc previews (#6492)\n\nPreserve source code-point prefix endpoints in the shared marshal UTF-8 decoder, including separately encoded surrogate values. Keep native TextDecoder spans, full validation, byte identity and the existing 80-unit budget. Update the PyInstaller consumer without changing its text contract.\n\nValidation: 207 relevant source tests;24 affected compiled CLI/MCP/filesystem CI tests; independent CPython3.11.2 compiler/marshal oracle and real argparse;18 equivalent performance tasks; build/check passed. Codex reviewed7c0f7abc6b without major findings.\n\nCI bypass authorized for demonstrated baseline-only failures:101 source and179 built cases reproduced on actual tested main ba9c5bc68. Cancelled shard remainder is unverified. See PR body and discussion for scope and evidence.\n\nFixes #6476", + "parents": ["667ab5ae08a098494ef2ffaddf37a05d1c1e91c0"], + "authors": [ + { + "name": "xjh", + "email": "87483213+xiajiahang@users.noreply.github.com", + "user": { + "login": "xiajiahang", + "__typename": "User" + } + } + ], + "pullRequests": [6492] + }, + { + "sha": "d7efb409970befe6fc48bfc94abaca45310cad64", + "subject": "test(ghidra): decouple stopped signal regression from recovery prose", + "body": "test(ghidra): decouple stopped signal regression from recovery prose\n", + "parents": ["1081008c9dba4b895c90faac504d14bd5dd39758"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3472cc4570128357e8516c4392fb430884e4374b", + "subject": "test: require retained authority and successful empty-child updates", + "body": "test: require retained authority and successful empty-child updates\n", + "parents": ["d7efb409970befe6fc48bfc94abaca45310cad64"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dbf8e1eacc22da774ce4e373ffd6499bae2060f1", + "subject": "test(browser): cover SAZ capture-level null member limitation", + "body": "test(browser): cover SAZ capture-level null member limitation\n", + "parents": ["3472cc4570128357e8516c4392fb430884e4374b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2886cc1efe3ac14d47eb2cdc2ffc9330449ad619", + "subject": "test(process): compare progress with retained PTY chunks", + "body": "test(process): compare progress with retained PTY chunks\n", + "parents": ["dbf8e1eacc22da774ce4e373ffd6499bae2060f1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "91c28e2735565f56df3c0564884489c17d882fbe", + "subject": "fix(apple): preserve XML plist UID reference identity", + "body": "fix(apple): preserve XML plist UID reference identity\n", + "parents": ["2886cc1efe3ac14d47eb2cdc2ffc9330449ad619"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1a808dd2a239f5259af549de3a40103a03d4c05d", + "subject": "test(perf): reuse keyed archive CLI and MCP sessions", + "body": "test(perf): reuse keyed archive CLI and MCP sessions\n", + "parents": ["91c28e2735565f56df3c0564884489c17d882fbe"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f8ff1579ad535fb0e63f6d247865207ca446d893", + "subject": "test(reference): preserve optional resolver identity regressions (#6913)", + "body": "test(reference): preserve optional resolver identity regressions (#6913)\n\nfix(reference): retain optional CommonJS resolver dependencies\n\nCo-authored-by: Plastic-time \nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["1a808dd2a239f5259af549de3a40103a03d4c05d"], + "authors": [ + { + "name": "RRFZ", + "email": "247457381+Plastic-time@users.noreply.github.com", + "user": { + "login": "Plastic-time", + "__typename": "User" + } + }, + { + "name": "Plastic-time", + "email": "Plastic-time@users.noreply.github.com", + "user": { + "login": "Plastic-time", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6913] + }, + { + "sha": "60bb202ca3a13e063eb9f2417b1fe6e9bd43a8fc", + "subject": "test(providers): assert runtime and snapshot ownership contracts", + "body": "test(providers): assert runtime and snapshot ownership contracts\n\nKeep the selected running JVM visible when its version is unsupported, while retaining missing-runtime fallback controls. Assert the native snapshot binding and composed workflow Evidence profiles separately, preserving their exact commitments through a rejected snapshot switch.\n", + "parents": ["f8ff1579ad535fb0e63f6d247865207ca446d893"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "091d6209af03e44f6d39a9b4e3463674d0520956", + "subject": "fix(managed): compare retained declaring-type selection scope", + "body": "fix(managed): compare retained declaring-type selection scope\n\nDerive aggregate selected-scope agreement from retained nominal type identities instead of requested spellings. Keep incomplete or historical selected scope unknown while preserving caller selections, whole-inventory distinction, paging and member absence behavior.\n\nCover equivalent requests, same-label nested owners, missing and partial identity facts, and complete empty selections. Exercise CLI inspection Evidence through stdio MCP comparison after removing its selected source file.\n", + "parents": ["60bb202ca3a13e063eb9f2417b1fe6e9bd43a8fc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0134e15ab1a79e0d7b3b13c6ae50c9a324aa3fd4", + "subject": "refactor(process): centralize captured command failure facts", + "body": "refactor(process): centralize captured command failure facts\n\nProject admitted output facts beside the command owner and remove adapter-local copies. Preserve byte-count omission, explicit signal and exit facts, and caller-specific truncation and failure policies.\n\nUpdate ADB timeout regressions to assert the existing prerequisite frame and original process cause, including captured output on both frames.\n", + "parents": ["091d6209af03e44f6d39a9b4e3463674d0520956"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "edc805eca2b2e68a45280042b789ecb1c130945a", + "subject": "refactor(process): own selected artifact read failures", + "body": "refactor(process): own selected artifact read failures\n\nClassify selected-input read failures at the shared artifact boundary and remove duplicate phase-based translations from TShark and sigrok. Keep other read stages raw for their existing owners and retain cleanup resources until retry succeeds.\n\nExtend the descriptor outcome matrix with post-run private-copy integrity failures, late cancellation, retained command output, failed cleanup, and successful retry.\n", + "parents": ["0134e15ab1a79e0d7b3b13c6ae50c9a324aa3fd4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "13fcf582766b2cb1cae09619b3c909769969306b", + "subject": "fix(session): own selected snapshot read cleanup", + "body": "fix(session): own selected snapshot read cleanup\n\nRoute MCP snapshot reads through the session's existing file-resource owner so cleanup remains visible, blocks replacement, and can be retried by close_binary. Keep reads inside the serialized open callback and remove superseded adapter resource plumbing.\n\nValidate typed errors, exact descriptor recovery, unchanged source bytes, replay provenance, and same-connection lifecycle ordering. Focused snapshot, target cleanup, and MCP lifecycle checks passed with simulated providers; no live provider was exercised.\n\nFixes #6216\n", + "parents": ["edc805eca2b2e68a45280042b789ecb1c130945a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "794932e033762948dd196f6af90b20ec194b82e2", + "subject": "test(setup): isolate registration failure recovery intent", + "body": "test(setup): isolate registration failure recovery intent\n\nSelect registration without skill installation in the synthetic-client recovery matrix. Preserve all four specific remediation assertions and verify the plan, failure reason, and absence of unrelated installation work.\n", + "parents": ["13fcf582766b2cb1cae09619b3c909769969306b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0785223582e5ecef4150e8bb736b9c6857703699", + "subject": "fix(managed): share nominal scope across member comparisons", + "body": "fix(managed): share nominal scope across member comparisons\n\nResolve declaring TypeDef tokens within their own source and reuse the retained nominal identities for pairing, absence, and aggregate coverage. Remove display-name membership interpretation while preserving partial known pairs and whole-inventory matching.\n\nA generated managed fixture reproduced false additions and removals for distinct nested owners sharing a display name before this change. All 305 focused producer and public CLI-to-stdio-MCP checks passed, including comparisons after source removal, missing identities, and genuine whole-inventory changes. Clarify selected-scope semantics in the docs; no live managed runtime was used.\n", + "parents": ["794932e033762948dd196f6af90b20ec194b82e2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3d4f55652b25856a9ee810b786e19847fa622a29", + "subject": "refactor(mcp): consolidate contract and summary policy owners", + "body": "refactor(mcp): consolidate contract and summary policy owners\n\nResolve application and managed workflow contracts through the canonical name-based resolver, removing catalog-position overloads and the obsolete local facade.\n\nUse the existing retained-summary policy for eight offline registrations. Pass only validated delivery detail to that owner while preserving exact typed service inputs and validation, admission, logging, and Evidence recording order.\n\nAlign export-shape MCP parity coverage with the existing absolute-path contract using an absolute dot alias. Preserve exact caller-path parameters, canonical artifact parity, distinct Evidence identity, and the export comparison assertions.\n", + "parents": ["0785223582e5ecef4150e8bb736b9c6857703699"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "231e458246c05c15fd2dcd1061d0dfa3d03139f9", + "subject": "fix(native): preserve parsed section and architecture facts", + "body": "fix(native): preserve parsed section and architecture facts\n\nClassify lipo parse failures once for native and artifact consumers, retain valid read-only ELF ranges independently of optional section names, and map IL2CPP reader architecture through the existing CPU identity owner before Mach-O parsing.\n\nRegression-first checks reproduced malformed lipo output, lost unnamed-section compiler paths, and the amd64/x86_64 adapter mismatch. Focused parser, artifact, Rust CLI/MCP, Go, and IL2CPP controls passed; authored fixtures do not establish real-provider behavior.\n\nFixes #5982\n\nFixes #3397\n", + "parents": ["3d4f55652b25856a9ee810b786e19847fa622a29"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9d7779d36541628cd516bbef5d3d6f2cd7bbf8a5", + "subject": "fix(cli): validate selected local paths before resolution", + "body": "fix(cli): validate selected local paths before resolution\n\nReuse the nonempty NUL-free local path contract before normalization in artifact commands, auxiliary inputs, and output destinations. Empty selections now fail at parsing instead of selecting the working directory; explicit relative paths preserve their target.\n\nPublic CLI checks cover primary and auxiliary empty paths, exact relative-file digest, explicit current-directory selection, symlink parent semantics, and environment export inputs. Correct the desktop fixture to assert the existing CLI validation envelope.\n", + "parents": ["231e458246c05c15fd2dcd1061d0dfa3d03139f9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "36f528efcb9133016fcae55df3bfc7b54f917590", + "subject": "fix(javascript): share immediately returned loader facts", + "body": "fix(javascript): share immediately returned loader facts\n\nReuse the existing direct-call returned-reference owner for immediate synchronous function results and feed proven loader facts into historical imports. Simple returned require retains its identity; mixed, opaque, and canonical shim alternatives retain explicit uncertainty rather than disappearing.\n\nFocused semantic, Electron, and public CLI regressions passed, including CommonJS, ESM, async/generator, mutable argument, direct-loader, and source-provenance controls. No runtime target or Proxy evaluator was introduced.\n\nFixes #3535\n", + "parents": ["9d7779d36541628cd516bbef5d3d6f2cd7bbf8a5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fc2dddc1d9b7f1d26423240ac6f87794428d3b76", + "subject": "fix(managed): retain facts without inventing delta identities", + "body": "fix(managed): retain facts without inventing delta identities\n\nRecognize baseline-dependent #JTD metadata at the shared layout owner before table sizing and decoding. Report unsupported partial metadata across all inspection workflows, preserve admitted PE/CLI and metadata header facts, and keep member identities and inventories unknown without the baseline.\n\nA generated PE carrier reproduced complete coverage and a wrong standalone MethodDef token before the fix. Producer and actual CLI/MCP checks now cover all three inspections, normal metadata, retained comparison after source deletion, exact caller selection, source digests, unchanged bytes, and known header facts. Released .NET writer/reader sources establish framing applicability; natural PE occurrence and real CLR/Edit-and-Continue execution were not verified.\n", + "parents": ["36f528efcb9133016fcae55df3bfc7b54f917590"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a062529bb2aa064be37e82df39c59c4fa798fe50", + "subject": "feat(ghidra): bound one procedure's decompile without closing the session (#5662)", + "body": "feat(ghidra): bound one procedure's decompile without closing the session (#5662)\n\n* feat(ghidra): bound one procedure's decompile without closing the session\n\nFixes #5340\n\n* fix(ghidra): report decompile limit as a request timeout\n\nKeeps BinarySession from marking every Ghidra operation unavailable after one procedure's decompile reaches the limit, and names the MCP tool-call deadline in the remediation.\n\n* fix(ghidra): budget the decompile limit and report cancellation-closed sessions\n\nAdds REA_GHIDRA_DECOMPILE_TIMEOUT_SECONDS to the derived Codex/Kimi tool deadline and forwards it through setup. Marks a remote failure that settles after caller cancellation so the timeout projection no longer promises session reuse.\n\n* fix(ghidra): align deadline bounds and cancellation outcomes\n\n* refactor(ghidra): shorten deadline recovery guidance\n\n* fix(mcp): clarify the scope of inferred decompile deadlines\n\n* test(ghidra): verify deadline workflows and document measured costs\n\nSeparate failure and registration cases by their distinct contracts.\nRecord actual Linux Ghidra, CLI and MCP evidence with measured context,\nelapsed time, CPU and memory, and explicit remaining coverage limits.\n\n* docs(ghidra): pin integration and distinguish baseline format failures\n\n* fix(ghidra): own failure lifecycle wording in the provider\n\n* test(ghidra): budget timeout fixture generation before allocation\n\n* fix(ghidra): align capability and traversal deadline guidance\n\n* style(config): align deadline guidance formatting\n\n* docs(ghidra): record capability and traversal verification\n\n---------\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["fc2dddc1d9b7f1d26423240ac6f87794428d3b76"], + "authors": [ + { + "name": "Syed Rishad", + "email": "rishadzzzz@gmail.com", + "user": { + "login": "RishTheFish21", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5662] + }, + { + "sha": "4610843efd3dbfa63a15677fa8c0376b1efc6fff", + "subject": "fix(filesystem): preserve failure provenance across cleanup owners", + "body": "fix(filesystem): preserve failure provenance across cleanup owners\n\nCarry descriptor outcomes, cancellation, retention and physical origin as named facts so wrappers cannot drop ownership context. Replace raw primary failure unwrapping with provenance facts across artifact consumers, and use Result for Kuna span reads including undefined rejections.\n\nExercise actual descriptors, rollback, cancellation and cleanup retry; update brittle snapshot and completion fixtures to use their producing boundaries.\n", + "parents": ["a062529bb2aa064be37e82df39c59c4fa798fe50"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f65a98f9ad0d5c862a5f2403880fed4139d9bea1", + "subject": "fix(web): track aggregate cleanup through live owners", + "body": "fix(web): track aggregate cleanup through live owners\n\nBind multi-owner shutdown errors to their live typed cleanup dependencies so retained aggregates narrow and clear as each resource is released. Keep unknown or already-resolved rejections conservatively incomplete.\n\nCover both release orders, retained MCP Evidence, late cancellation and retry through the SDK session shutdown boundary.\n", + "parents": ["4610843efd3dbfa63a15677fa8c0376b1efc6fff"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f11892265d6db6294ba5c527ae64361163d3f2b9", + "subject": "fix(ghidra): preserve unknown process stop facts", + "body": "fix(ghidra): preserve unknown process stop facts\n\nProject the supervisor's compact stop flag to an explicit boolean only when an owned snapshot is available. Require confirmed false before treating SIGKILL as external or attaching cgroup kill evidence, so missing diagnostics remain unknown.\n\nCover known false, true and missing facts while preserving operation-scoped OOME precedence and real owner cleanup behavior.\n", + "parents": ["f65a98f9ad0d5c862a5f2403880fed4139d9bea1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6b3eee1ccf4c51f23bef7a0007c7b8e892f662db", + "subject": "test(setup): assert registration facts through their owner", + "body": "test(setup): assert registration facts through their owner\n\nVerify fresh provider budget resolution without coupling inspection to probe counts, while preserving caller-selected positive timeouts and file bytes. Compare effective peer registrations before and after updates instead of rebuilding legacy OpenCode entries in a different representation.\n", + "parents": ["f11892265d6db6294ba5c527ae64361163d3f2b9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f90d40720f92ee083ae7e44e8924a397973791ed", + "subject": "refactor: retire redundant parsing and workflow facades", + "body": "refactor: retire redundant parsing and workflow facades\n\nKeep Mach-O UUID interpretation at reconciliation, environment values at the details owner, and inventory scope admission at the public operation. Remove the obsolete UUID scalar, duplicate DSH dispatch, two intermediate inventory exports, and unused body-cutoff predicate.\n\nKeep test resource scopes explicit and cover oversized bodies through the real comparison workflow. Correct stale DSH invalid-result assertions and model DMG cancellation with the command owner, retaining an opaque AbortError control and mount cleanup checks.\n", + "parents": ["6b3eee1ccf4c51f23bef7a0007c7b8e892f662db"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "79805f244a1ec0850f3109929168a9c8ebb1b908", + "subject": "fix(web): preserve JSON identity and coverage contracts", + "body": "fix(web): preserve JSON identity and coverage contracts\n\nDecode base64 JSON body bytes at the shape owner without replacement characters. Keep incomplete request correspondence unknown and use explicitly complete authored inventories for positive comparison controls. Repair semantic truncation and storage fixtures to satisfy their owning contracts without weakening assertions.\n", + "parents": ["f90d40720f92ee083ae7e44e8924a397973791ed"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "64fa1db1309218283df19f3ee4dba61f5fbd2a67", + "subject": "fix(managed): honor native platform symbol lookup", + "body": "fix(managed): honor native platform symbol lookup\n\nRestrict Windows A/W suffix and stdcall candidates to their applicable native format. Preserve original metadata and per-observation Evidence ownership. Exercise identity contradictions and wrong-role controls through the shared CLI and stdio MCP workflows.\n\nFixes #6926\n", + "parents": ["79805f244a1ec0850f3109929168a9c8ebb1b908"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "76500f12b54e07b1ea700a403b2593890d63b42a", + "subject": "fix(native): preserve selected paths and binding identities", + "body": "fix(native): preserve selected paths and binding identities\n\nReuse filesystem-aware path selection for resource-only plist sessions so directory symlinks and trailing separators retain their meaning. Parse dyld bind names once as lossless text or exact bytes, preserving partial binding facts and independent valid metadata without invented class identities. Keep coverage issues separate from known opcode applicability and exercise both producer and generated Mach-O consumers.\n", + "parents": ["64fa1db1309218283df19f3ee4dba61f5fbd2a67"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bf6e49a8f4be52fcfe4e258ce17cf771ede5ddd5", + "subject": "refactor(native): retain one plist JSON parse owner", + "body": "refactor(native): retain one plist JSON parse owner\n\nKeep the JSON parse attempt and exact numeric source literals together through optional XML classification. Replace the probing parse and raw-string parser with readPlistJson, preserving duplicate-key behavior, signed zero, ambiguous number types, prototype omissions and failure precedence.\n\nProject fresh results from private facts and preserve native command controls, captures and provenance. Verify parser reuse and real provider-boundary conversion choices, plus compiled CLI and MCP behavior with real plutil.\n", + "parents": ["76500f12b54e07b1ea700a403b2593890d63b42a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1a48a820208880c0cc383d196c7ed96d35479412", + "subject": "feat(analysis)!: default function MCP output to retained summaries (#5660)", + "body": "feat(analysis)!: default function MCP output to retained summaries (#5660)\n\n* feat(ghidra): bound one procedure's decompile without closing the session\n\nFixes #5340\n\n* fix(ghidra): report decompile limit as a request timeout\n\nKeeps BinarySession from marking every Ghidra operation unavailable after one procedure's decompile reaches the limit, and names the MCP tool-call deadline in the remediation.\n\n* fix(ghidra): budget the decompile limit and report cancellation-closed sessions\n\nAdds REA_GHIDRA_DECOMPILE_TIMEOUT_SECONDS to the derived Codex/Kimi tool deadline and forwards it through setup. Marks a remote failure that settles after caller cancellation so the timeout projection no longer promises session reuse.\n\n* feat(ghidra)!: default analyze_function to a retained summary\n\nanalyze_function was the one analysis tool never wired into REA's\ndetail: summary|complete convention, so it always returned the complete\nnative dossier inline (0.2-10 MB, dominated by value-flow and\nreferences). Agents on tool-result-capped harnesses never reached the\npseudocode.\n\nAdd `detail` to analyze_function, defaulting to summary: return a\ncompact dossier (procedure identity, pseudocode size, facet counts,\nvalue-flow availability) and retain the complete dossier Evidence in\nthe session. Page pseudocode, references, assembly and value-flow\nthrough normalized_result.parent_evidence_id with inspect_analysis_view,\nwhich already projects every native facet. detail: complete returns the\nfull dossier inline as before. Delivery detail never reaches the\nprovider or Evidence identity.\n\nBREAKING CHANGE: analyze_function now defaults to the compact summary\nview instead of the complete dossier inline. Pass detail: \"complete\"\nfor the previous behavior.\n\nCo-Authored-By: Claude Opus 4.8 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* feat(cli): expose analyze_function detail on the function command\n\nWire `rea function` into the shared CLI detail-delivery convention\n(--detail, --evidence_output) so the CLI and MCP adapters offer the same\nsummary | complete choice for analyze_function. Summary delivery writes\nthe complete dossier Evidence to a bundle and returns the compact\nsummary view; it fails before analysis when --evidence_output is\nmissing, so no provider work is wasted. The CLI default stays complete\nbecause a one-shot command has no in-process Evidence retention.\n\nCo-Authored-By: Claude Opus 4.8 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* refactor(ghidra): harden analyze_function summary after independent review\n\nFlatlineRoundtable cross-model review (6 lanes) converged on the summary\nprojection's availability semantics being underspecified. Document that\nfacet_availability is authoritative over raw pseudocode length, that\ncode_units are UTF-16 (the unit inspect_analysis_view pages by), and that\nvalue_flow.truncated is meaningful only when value-flow is available.\nParenthesize the nullish-coalescing/comparison for clarity. No behavior\nchange; declined claims (value-flow \"truncated collapse\", unresolved_calls\ndead code) were schema-impossible or already correct.\n\nCo-Authored-By: Claude Opus 4.8 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* test(ghidra): cover analyze_function detail wiring on both adapters\n\nClose the roundtable's top convergent finding: the summary path had only\ndomain-projection coverage, not the server/CLI wiring where the breaking\nbehavior lives.\n\nMCP server (registerEnhancedTools): the default delivers a retained\nsummary whose complete parent is recorded for paging; delivery detail is\nstripped before the provider request; detail: complete returns the full\ndossier inline; a registration without retention rejects a summary\nrequest before any provider work.\n\nCLI (rea function): the default returns the complete dossier; --detail\nsummary without --evidence_output fails before analysis; with the bundle\nsink it returns the compact summary and writes the complete Evidence\nbundle.\n\nCo-Authored-By: Claude Opus 4.8 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* fix(ghidra): keep analyze_function delivery detail out of provider inputs\n\nAddress the five automated review findings on #5660.\n\nP1: `detail` lived in the shared enhancedInputSchemas.analyze_function, so\ninspect_native_api composed `{procedure, detail: \"summary\"}` and the strict\nGhidra analyze_function schema rejected it. Delivery detail is now owned by\nthe analyze_function MCP tool contract; the handler separates it before any\nprovider call, and executeFunctionAnalysisEvidence parses the provider input\nonly. The MCP regression test validates provider input exactly as the\nproduction Ghidra client does and exercises inspect_native_api.\n\nP2: the analyze_function summary Evidence now carries the parent's\nrelationship_coverage like native facet views, so partial or unknown\ncaller/callee discovery is not reported as complete.\n\nP2: the summary reports the dossier's declared facet_availability, nulls the\ncounts of facets the provider declared unavailable, and lists each reason in\nunknowns, so Kuna's empty references, comments and basic blocks are not\nmistaken for observed absence.\n\nP2: inspect-analysis-view evidence-file sources accept the Evidence bundle\nthat --evidence_output writes, selecting a record with source.evidence_id\nwhen the bundle holds several; the CLI test reads the saved bundle back\nthrough that route.\n\nTests that assert the complete dossier over public analyze_function now pass\ndetail complete, and the oversized-dossier test asserts the summary view it\npreviously expected to be unsupported.\n\nCo-Authored-By: Claude Fable 5.1 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* fix(ghidra): keep omitted function facets unknown in the summary\n\nThe analyze_function summary coerced an omitted unresolved_calls record to\na count of 0 while the native facet view reports the same dossier as \"not\nrecorded\", and it carried no counts at all for the pageable\nswift_string_literals facets. Count optional records as null when the\ndossier omits them, name them in unknowns, and add nullable counts for both\nSwift literal facets. The summary Evidence envelope also dropped the\nfunction address: createAnalysisViewEvidence now derives one function-view\npredicate for both the address location and relationship coverage.\n\nCo-Authored-By: Claude Fable 5.1 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* fix(scripts): request complete analyze_function dossiers in real-provider checks\n\nThe real-provider check scripts call analyze_function over MCP and then\nconsume the complete dossier: requireFunctionDossier, functionDossierSchema,\n.procedure/.pseudocode reads, operation assertions, compare_functions inputs\nand the oversized-dossier rejection path. The summary default broke them.\nEvery such call site now passes detail: \"complete\". Provider-direct callers\nare unchanged because detail is an MCP contract field; the admission-error\nsites stay unchanged because provider failures return before the summary\nbranch.\n\nCo-Authored-By: Claude Fable 5.1 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* fix(ghidra): keep unavailable value-flow counts unknown in the summary\n\nsummarizeDossier coerced the five value_flow_* counts to zero when\nnative_value_flow was null (IDA, Kuna) or declared unavailable (Ghidra),\nso the summary reported empty collections while value_flow.available said\notherwise. The counts are now null unless value flow is available, with the\nreason already named in unknowns.\n\nCo-Authored-By: Claude Fable 5.1 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* fix(evidence): budget authentication headroom by file shape and serialized size\n\nThe evidence-file headroom reserved two parsed copies, calibrated for one\nrecord, and charged strings at two bytes per character. Bundle\nauthentication additionally holds the schema-parsed bundle, the re-parsed\nrecords and two JSON.stringify results, which expand control characters and\nlone surrogates sixfold: a bundle whose raw_result is a million NUL\ncharacters estimated at 2 MB parsed but needed 12 MB of serialized text.\n\nThe budget now has a parsed term and a serialized term per file shape, owned\nby EvidenceAuthenticationHeadroom and shared by the analysis-view reader and\nthe bundle importer, which had no guard. Two transient peaks the budget did\nnot name are removed at their producers: the canonical digest hashes a large\nleaf directly instead of concatenating it into its buffer, and the JSON\nvalidator walks containers by cursor so a wide array no longer queues one\nentry per member.\n\nCo-Authored-By: Claude Fable 5.1 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* fix(mcp): route analyze_function summary replies to dossier consumers in docs and prompts\n\nThe MCP guide, the version-comparison and crash-triage prompt contracts,\nthe authored skill and the Kuna, IDA and function-matching docs still told\nagents to pass analyze_function replies straight to compare_functions or\nbuild_call_path. Under the summary default those consumers reject the reply.\nThey now name the retained-evidence reference for compare_functions, the\nobservations fields of match_native_functions, and detail: \"complete\" for\nbuild_call_path, which accepts only inline dossiers.\n\nCo-Authored-By: Claude Fable 5.1 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* test(evidence): pin validator member order and keep interrupted validation yielding\n\nIndependent review of the cursor validator found the interrupted-validation\nfixture relied on the old last-first walk: its over-deep head was reached\nbefore the first cooperative yield. The padding now precedes the deep\nelement so the walk yields first, which is the invariant the test guards.\nA new case pins first-defect-in-member-order reporting, skipped\nnon-enumerable keys no longer count toward the yield cadence, and the\nimport-headroom test loads the reader through a fresh module graph so it\nholds under the services project's shared workers.\n\nCo-Authored-By: Claude Fable 5.1 \nClaude-Session: https://claude.ai/code/session_01AoJZDPcrgmMsCqLG4LfiFb\n\n* fix(ghidra): align deadline bounds and cancellation outcomes\n\n* refactor(ghidra): shorten deadline recovery guidance\n\n* fix(mcp): clarify the scope of inferred decompile deadlines\n\n* test(ghidra): verify deadline workflows and document measured costs\n\nSeparate failure and registration cases by their distinct contracts.\nRecord actual Linux Ghidra, CLI and MCP evidence with measured context,\nelapsed time, CPU and memory, and explicit remaining coverage limits.\n\n* docs(ghidra): pin integration and distinguish baseline format failures\n\n* fix(ghidra): own failure lifecycle wording in the provider\n\n* test(ghidra): budget timeout fixture generation before allocation\n\n* fix(analysis): preserve summary provenance and bound bundle guidance\n\n* fix(ghidra): align capability and traversal deadline guidance\n\n* style(config): align deadline guidance formatting\n\n* docs(ghidra): record capability and traversal verification\n\n* docs(analysis): use absolute paths for Evidence files\n\n* docs(analysis): record completed function summary measurements\n\n* docs(analysis): update main integration validation\n\n---------\n\nCo-authored-by: Syed Rishad \nCo-authored-by: Claude Opus 4.8 \nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["bf6e49a8f4be52fcfe4e258ce17cf771ede5ddd5"], + "authors": [ + { + "name": "Aaron K. Clark", + "email": "cryptojones@owasp.org", + "user": { + "login": "CryptoJones", + "__typename": "User" + } + }, + { + "name": "Syed Rishad", + "email": "rishadzzzz@gmail.com", + "user": { + "login": "RishTheFish21", + "__typename": "User" + } + }, + { + "name": "Claude Opus 4.8", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5660] + }, + { + "sha": "4d88e4f07e374e3ec5fe9ed0980eb488dddb704c", + "subject": "test(setup): isolate multi-client recovery from skill admission", + "body": "test(setup): isolate multi-client recovery from skill admission\n", + "parents": ["1a48a820208880c0cc383d196c7ed96d35479412"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e389d6ea4ef56d8e03c98efc1e24a0bbf4267c83", + "subject": "fix(ci): filter finalized release proposals before pagination", + "body": "fix(ci): filter finalized release proposals before pagination\n", + "parents": ["4d88e4f07e374e3ec5fe9ed0980eb488dddb704c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "54a663ddd5df198834fe941b405c66a8b3bb1db6", + "subject": "test(lifecycle): align cleanup fixtures with owned resource contracts", + "body": "test(lifecycle): align cleanup fixtures with owned resource contracts\n", + "parents": ["e389d6ea4ef56d8e03c98efc1e24a0bbf4267c83"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c3ad8fc02403ed017ac8049004ff2717f8702afc", + "subject": "test(javascript): preserve fixture runtime context for path analysis", + "body": "test(javascript): preserve fixture runtime context for path analysis\n", + "parents": ["54a663ddd5df198834fe941b405c66a8b3bb1db6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "59553c76be24e7756a380e000e9806186ee37cd8", + "subject": "test(javascript): align semantic fixtures with runtime context", + "body": "test(javascript): align semantic fixtures with runtime context\n", + "parents": ["c3ad8fc02403ed017ac8049004ff2717f8702afc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "07005b8fe629c24b7f3e630c058dcac86615ae89", + "subject": "fix(javascript): preserve local reference store ownership", + "body": "fix(javascript): preserve local reference store ownership\n", + "parents": ["59553c76be24e7756a380e000e9806186ee37cd8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6323013d83c25e342855e7651586341201768991", + "subject": "fix(javascript): bound query unions and refresh semantic fixtures", + "body": "fix(javascript): bound query unions and refresh semantic fixtures\n", + "parents": ["07005b8fe629c24b7f3e630c058dcac86615ae89"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "11feab01da77339943d88a2f12e09f8f7d76aa37", + "subject": "fix(environment): return input permission refusals through Result", + "body": "fix(environment): return input permission refusals through Result\n", + "parents": ["6323013d83c25e342855e7651586341201768991"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7c88ef14afb4c53bbbb8b5a0e5a9056fecccb0aa", + "subject": "fix(artifacts): retain failed native DMG attachment provenance", + "body": "fix(artifacts): retain failed native DMG attachment provenance\n", + "parents": ["11feab01da77339943d88a2f12e09f8f7d76aa37"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f42ade1dda9e7abf449f554f88c661ae24ddcb5f", + "subject": "fix(ghidra): admit observed procedure symbol metadata", + "body": "fix(ghidra): admit observed procedure symbol metadata\n", + "parents": ["7c88ef14afb4c53bbbb8b5a0e5a9056fecccb0aa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "46a5f55f74fee74a46e194c8e37cb4345b052fab", + "subject": "test(providers): preserve cleanup and uncertainty contracts", + "body": "test(providers): preserve cleanup and uncertainty contracts\n", + "parents": ["f42ade1dda9e7abf449f554f88c661ae24ddcb5f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "455f816d0b03f8d67ebbf8da1a95be1b2e41f253", + "subject": "fix(ida): separate explicit secrets from HTTP credentials", + "body": "fix(ida): separate explicit secrets from HTTP credentials\n", + "parents": ["46a5f55f74fee74a46e194c8e37cb4345b052fab"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9a165287addf808434fd2e809f98d915b54fb136", + "subject": "fix(ghidra): centralize SIGKILL evidence projection", + "body": "fix(ghidra): centralize SIGKILL evidence projection\n", + "parents": ["455f816d0b03f8d67ebbf8da1a95be1b2e41f253"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1be8e9601b26d79053d7f924db3b36c7aa72cd3c", + "subject": "test(contracts): align catalog and admission fixtures with current contracts", + "body": "test(contracts): align catalog and admission fixtures with current contracts\n", + "parents": ["9a165287addf808434fd2e809f98d915b54fb136"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "de9d52cb5d1b4527f1e335a2ce9364ad33be7a68", + "subject": "fix(setup): preserve rejected registration setting details", + "body": "fix(setup): preserve rejected registration setting details\n", + "parents": ["1be8e9601b26d79053d7f924db3b36c7aa72cd3c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4d22c83b07f4eef0c62fb60f7ddd93e932feaedf", + "subject": "test(setup): align boundary assertions with owned contracts", + "body": "test(setup): align boundary assertions with owned contracts\n", + "parents": ["de9d52cb5d1b4527f1e335a2ce9364ad33be7a68"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "396dcb2b0f64857ae8597bb10a8270d40db765fb", + "subject": "fix(domain): preserve structured cleanup failure reasons", + "body": "fix(domain): preserve structured cleanup failure reasons\n", + "parents": ["4d22c83b07f4eef0c62fb60f7ddd93e932feaedf"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c6104d5095b6c218479f33fa38313118af8d8502", + "subject": "test(lifecycle): isolate provider cleanup ownership fixtures", + "body": "test(lifecycle): isolate provider cleanup ownership fixtures\n", + "parents": ["396dcb2b0f64857ae8597bb10a8270d40db765fb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5c5f8e7cc42eb53526c55e2dbc26a3ba80695e69", + "subject": "fix(ci): reject omitted release proposal repository identity", + "body": "fix(ci): reject omitted release proposal repository identity\n", + "parents": ["c6104d5095b6c218479f33fa38313118af8d8502"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "800454c0eed85f5392b58b3d658ec0209150824a", + "subject": "test(setup): assert invalid DSH override inspection results", + "body": "test(setup): assert invalid DSH override inspection results\n", + "parents": ["5c5f8e7cc42eb53526c55e2dbc26a3ba80695e69"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9d569c344a7b0d26545fb1d4549f567ac2a4423e", + "subject": "fix(cli): coerce web execution observation duration", + "body": "fix(cli): coerce web execution observation duration\n", + "parents": ["800454c0eed85f5392b58b3d658ec0209150824a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4becc220b8ae08375c13c3231afd4d1892f1b5dc", + "subject": "test(browser): preserve partial capture and ownership contracts", + "body": "test(browser): preserve partial capture and ownership contracts\n", + "parents": ["9d569c344a7b0d26545fb1d4549f567ac2a4423e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7f3e32c69b27e6a1059e73769b806bd49484a010", + "subject": "fix(verify): compare matching browser source selections", + "body": "fix(verify): compare matching browser source selections\n", + "parents": ["4becc220b8ae08375c13c3231afd4d1892f1b5dc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "002f9df43adc900e9911b3b23cd1b26cc2248c6f", + "subject": "fix(javascript): derive program strictness from parser context", + "body": "fix(javascript): derive program strictness from parser context\n", + "parents": ["7f3e32c69b27e6a1059e73769b806bd49484a010"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "934f538f64b4282980924d19277d1e63497443cf", + "subject": "test(javascript): align public fixtures with proven source facts", + "body": "test(javascript): align public fixtures with proven source facts\n", + "parents": ["002f9df43adc900e9911b3b23cd1b26cc2248c6f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4118004348ef2da109dab1e342c4334fade5f8b7", + "subject": "test(browser): distinguish partial HTTP samples from closed inventories", + "body": "test(browser): distinguish partial HTTP samples from closed inventories\n", + "parents": ["934f538f64b4282980924d19277d1e63497443cf"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d1585fc6008a547c16ed6968e8eabe43f717ad7a", + "subject": "fix(ci): constrain SQLite runtimes to supported security patches", + "body": "fix(ci): constrain SQLite runtimes to supported security patches\n", + "parents": ["4118004348ef2da109dab1e342c4334fade5f8b7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "48821e82a1d62f0e9b0bca7dd5711f7eb897b977", + "subject": "fix(native): distinguish Swift protocol identity from member context", + "body": "fix(native): distinguish Swift protocol identity from member context\n", + "parents": ["d1585fc6008a547c16ed6968e8eabe43f717ad7a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "64f261bc6fddc322b74846be82e4f78cc361373a", + "subject": "test(native): preserve admitted identity and partial boundary facts", + "body": "test(native): preserve admitted identity and partial boundary facts\n", + "parents": ["48821e82a1d62f0e9b0bca7dd5711f7eb897b977"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a4e4863029100011dc450f0342f448f0277c0b40", + "subject": "test(apple): distinguish root discovery from dylib resolution coverage", + "body": "test(apple): distinguish root discovery from dylib resolution coverage\n", + "parents": ["64f261bc6fddc322b74846be82e4f78cc361373a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "36f26a1bfe2de255f21a297421bae7c3278a06c4", + "subject": "test(binary): compare bounded layouts against identical mutated bytes", + "body": "test(binary): compare bounded layouts against identical mutated bytes\n", + "parents": ["a4e4863029100011dc450f0342f448f0277c0b40"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d421e3eeef5bf52fe9bcd88d228883629eb2b16e", + "subject": "fix(cli): retain SIGPIPE status through dispatch cleanup", + "body": "fix(cli): retain SIGPIPE status through dispatch cleanup\n", + "parents": ["36f26a1bfe2de255f21a297421bae7c3278a06c4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4f6166e04df0c2923af75a97a70ab9ab3e9f2725", + "subject": "fix(process): retain CLI input owners through final cleanup", + "body": "fix(process): retain CLI input owners through final cleanup\n", + "parents": ["d421e3eeef5bf52fe9bcd88d228883629eb2b16e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0de322eb91432dd2ad1b4d98ea64b17a0bafedaa", + "subject": "fix(contracts): retain option descriptions and portable float patterns", + "body": "fix(contracts): retain option descriptions and portable float patterns\n", + "parents": ["4f6166e04df0c2923af75a97a70ab9ab3e9f2725"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c010fafe45aad3c8a9a9e96556d35d2965763e2c", + "subject": "test(cli): align fixtures with current owning contracts", + "body": "test(cli): align fixtures with current owning contracts\n", + "parents": ["0de322eb91432dd2ad1b4d98ea64b17a0bafedaa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "04ba5caf63adc31a45b3239bec024ad4ee9f43fd", + "subject": "fix(artifacts): preserve cancellation observed during directory sync", + "body": "fix(artifacts): preserve cancellation observed during directory sync\n", + "parents": ["c010fafe45aad3c8a9a9e96556d35d2965763e2c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "662e79330f72c2c924e60b7dea920122acc9bf08", + "subject": "test(apple): author admitted archives and typed binary UID references", + "body": "test(apple): author admitted archives and typed binary UID references\n", + "parents": ["04ba5caf63adc31a45b3239bec024ad4ee9f43fd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "67d02f478754e81eec36802f33d8d6df34c9f7c7", + "subject": "test(artifacts): bind workflow provenance and retained evidence sources", + "body": "test(artifacts): bind workflow provenance and retained evidence sources\n", + "parents": ["662e79330f72c2c924e60b7dea920122acc9bf08"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "27976a8fcb44375cc40809c190d60928204d7520", + "subject": "test(mcp): preserve typed input refusal and finalization contracts", + "body": "test(mcp): preserve typed input refusal and finalization contracts\n", + "parents": ["67d02f478754e81eec36802f33d8d6df34c9f7c7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cc4f805541184d8cc8505a037573136eb9385026", + "subject": "fix(javascript): retain unresolved export iteration sources", + "body": "fix(javascript): retain unresolved export iteration sources\n", + "parents": ["27976a8fcb44375cc40809c190d60928204d7520"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2496256cb7e3fcd83737cf3f0446dee408ccf609", + "subject": "fix(javascript): require complete receiver ownership proofs", + "body": "fix(javascript): require complete receiver ownership proofs\n", + "parents": ["cc4f805541184d8cc8505a037573136eb9385026"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4643844ea574a0447653ecf84b2c4124e743c078", + "subject": "test(kuna): wait for probe readiness within command deadline", + "body": "test(kuna): wait for probe readiness within command deadline\n", + "parents": ["2496256cb7e3fcd83737cf3f0446dee408ccf609"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c2455152c901270eb5e5cdce8f967b646ddb522f", + "subject": "fix(pcap): retain independent probe cleanup owners", + "body": "fix(pcap): retain independent probe cleanup owners\n", + "parents": ["4643844ea574a0447653ecf84b2c4124e743c078"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5940600a22763c6dea5eced7ab628485aeabccbf", + "subject": "fix(reference): preserve historical backslash import bases", + "body": "fix(reference): preserve historical backslash import bases\n", + "parents": ["c2455152c901270eb5e5cdce8f967b646ddb522f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d442ac752e07d9f2a878d56439ff36e7253cb8b4", + "subject": "fix(javascript): retain completed recovery hashes on cancellation", + "body": "fix(javascript): retain completed recovery hashes on cancellation\n", + "parents": ["5940600a22763c6dea5eced7ab628485aeabccbf"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fcd5192743a7c1824732929fd3a191ece295ec2a", + "subject": "test(lifecycle): target owned finalization boundaries", + "body": "test(lifecycle): target owned finalization boundaries\n", + "parents": ["d442ac752e07d9f2a878d56439ff36e7253cb8b4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "be2a0b98ae34e6dfcbf91fab4f6dad8681b0800f", + "subject": "test(apple): preserve serialized UID and cancellation identities", + "body": "test(apple): preserve serialized UID and cancellation identities\n", + "parents": ["fcd5192743a7c1824732929fd3a191ece295ec2a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5502a563d593342e34dd2fab404317cf4676dbfb", + "subject": "test(javascript): preserve module and renderer fixture authority", + "body": "test(javascript): preserve module and renderer fixture authority\n", + "parents": ["be2a0b98ae34e6dfcbf91fab4f6dad8681b0800f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d3a33fcfca2e284737b1a8a1694e48e1592ce6c3", + "subject": "test(browser): separate resource metadata and omission scenarios", + "body": "test(browser): separate resource metadata and omission scenarios\n", + "parents": ["5502a563d593342e34dd2fab404317cf4676dbfb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "eb721ebbf11e8681ccd793d6bb8dffeabf91df33", + "subject": "fix(javascript): retain stored receiver capture authority", + "body": "fix(javascript): retain stored receiver capture authority\n", + "parents": ["d3a33fcfca2e284737b1a8a1694e48e1592ce6c3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4394e8b592161aaa97cefbaf8544ebd1fd1a5c57", + "subject": "fix(javascript): bound precise alias projection histories before expansion", + "body": "fix(javascript): bound precise alias projection histories before expansion\n", + "parents": ["eb721ebbf11e8681ccd793d6bb8dffeabf91df33"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "aeeb4b72c102b2e23c5742452ae41166e108df24", + "subject": "test(javascript): preserve authenticated filesystem coverage facts", + "body": "test(javascript): preserve authenticated filesystem coverage facts\n", + "parents": ["4394e8b592161aaa97cefbaf8544ebd1fd1a5c57"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3e6ac23b50eb59321013a92053be588bdcf4f371", + "subject": "perf(javascript): defer ancestry for member identifier roles", + "body": "perf(javascript): defer ancestry for member identifier roles\n", + "parents": ["aeeb4b72c102b2e23c5742452ae41166e108df24"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0ba81bd9e48eaea77154f3bc5f80dfa01a7cbceb", + "subject": "test(ghidra): isolate start failure from stop evidence", + "body": "test(ghidra): isolate start failure from stop evidence\n", + "parents": ["3e6ac23b50eb59321013a92053be588bdcf4f371"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2ff85c0e4cc9e5161ed297577da7937de543aaf6", + "subject": "fix(javascript): separate stored receiver and initializer traversal", + "body": "fix(javascript): separate stored receiver and initializer traversal\n", + "parents": ["0ba81bd9e48eaea77154f3bc5f80dfa01a7cbceb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6ed96f43729051b00a3c83346172ae41942ee5bd", + "subject": "test(javascript): separate option ownership and capture scenarios", + "body": "test(javascript): separate option ownership and capture scenarios\n", + "parents": ["2ff85c0e4cc9e5161ed297577da7937de543aaf6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e6f252509f6c891d3de2081fa8ae477d7aaae627", + "subject": "test(ghidra): retain endpoint failure ownership facts", + "body": "test(ghidra): retain endpoint failure ownership facts\n", + "parents": ["6ed96f43729051b00a3c83346172ae41942ee5bd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f2dfda4b36ec6fe75dc1ddad935d557ff79ef699", + "subject": "test(contracts): consolidate concurrent limitation fixtures", + "body": "test(contracts): consolidate concurrent limitation fixtures\n", + "parents": ["e6f252509f6c891d3de2081fa8ae477d7aaae627"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c765b3b4136da5aeba88da2ad10521c00335b185", + "subject": "fix(browser): report launch timeout stage and startup diagnostics", + "body": "fix(browser): report launch timeout stage and startup diagnostics\n", + "parents": ["f2dfda4b36ec6fe75dc1ddad935d557ff79ef699"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b7c1d79da3ecbe3ccf4b1f259b9a35c72443b54a", + "subject": "test(ghidra): distinguish descriptor failure origin from callback tagging", + "body": "test(ghidra): distinguish descriptor failure origin from callback tagging\n", + "parents": ["c765b3b4136da5aeba88da2ad10521c00335b185"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e8b2273ab6f308c7b5a56f659d42d3ae660ebd9f", + "subject": "style(tests): format merged DMG cancellation coverage", + "body": "style(tests): format merged DMG cancellation coverage\n", + "parents": ["b7c1d79da3ecbe3ccf4b1f259b9a35c72443b54a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1c07bee5b6262a537758e8bfa235e90d99e35d71", + "subject": "refactor(providers): retire obsolete decoding paths", + "body": "refactor(providers): retire obsolete decoding paths\n\nRemove the test-only Objective-C property facade that discarded completeness. Verify its remaining semantics through portable Mach-O metadata decoding, including retained partial properties and located issues.\n\nDecode the single IDA text result directly while preserving native JSON and structured-content precedence. Update the stale SDK deadline assertion to check the busy tool through its diagnostic owner.\n", + "parents": ["e8b2273ab6f308c7b5a56f659d42d3ae660ebd9f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9d4293be275f14a24aae5855ee66648704fdbbda", + "subject": "fix(apple): preserve byte identity in metadata names", + "body": "fix(apple): preserve byte identity in metadata names\n\nUse one lossless Mach-O name projection for symbols and dependency paths, retaining undecodable bytes and partial binding facts. Keep referenced NIB string failures unknown and preserve their source nodes through the shared lazy projection. Valid Unicode, readable sibling metadata and weak-bind scope remain usable.\n\nExercise the producer and CLI/MCP consumers, and align date-overlap and object-capacity fixtures with their owning archive contracts without relaxing admission or omission assertions.\n", + "parents": ["1c07bee5b6262a537758e8bfa235e90d99e35d71"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3c0b26df677103b1889f3052e119411cae8b1a05", + "subject": "refactor(gpu): retain parsed AMD target identities", + "body": "refactor(gpu): retain parsed AMD target identities\n\nCarry exact target keys and canonical processor facts from Clang bundle and ELF metadata producers into inventory agreement checks. Remove the string-only handoff and downstream reparsing while keeping public spelling, selection, uncertainty and admission behavior.\n\nCover unrecognized targets, conflicting notes and identity retained before malformed notes through the provider boundary. Preserve distinct unselected-payload behavior for standalone ELF and known bundle targets.\n", + "parents": ["9d4293be275f14a24aae5855ee66648704fdbbda"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "06bafdef1426707335d2a78334b481ecc86fd475", + "subject": "fix(verify): unwrap canonical popup scenario secrets", + "body": "fix(verify): unwrap canonical popup scenario secrets\n", + "parents": ["3c0b26df677103b1889f3052e119411cae8b1a05"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a4172090809d7bd26e919d6c0b0e96f6b0cdf923", + "subject": "fix(browser): keep transport credentials out of timeout diagnostics", + "body": "fix(browser): keep transport credentials out of timeout diagnostics\n", + "parents": ["06bafdef1426707335d2a78334b481ecc86fd475"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0ee3a35bd0184d8260c6a3e965b0f02ce8d23171", + "subject": "test(binary): compare layout evidence under the same resource budget", + "body": "test(binary): compare layout evidence under the same resource budget\n", + "parents": ["a4172090809d7bd26e919d6c0b0e96f6b0cdf923"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f1dc595272751774434ff88e8daadc641074c107", + "subject": "test(macho): frame load commands beyond the target probe", + "body": "test(macho): frame load commands beyond the target probe\n", + "parents": ["0ee3a35bd0184d8260c6a3e965b0f02ce8d23171"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "09c2a2d241fe8f2967fedf81366f7c9d98c46e85", + "subject": "fix(browser): preserve main-frame identity and scope refusal context", + "body": "fix(browser): preserve main-frame identity and scope refusal context\n\nRead screenshot identity from the selected frame-tree root instead of a\nfiltered inventory that could substitute a child. Reuse the frame record\nparser for initial and event identities, rejecting malformed roots before\ncapture while preserving known origin refusals.\n\nShare explicit origin-scope diagnostics across CDP workflows without\nchanging policy or conflating startup uncertainty, document replacement,\nworker protection, and Inspector restrictions. Document the recovery and\nmake screenshot navigation fixture ordering explicit.\n\nValidation: 577 focused checks passed across 13 files; one platform-specific\ninvalid-byte-filename case skipped. Build, typecheck, lint, formatting,\ngenerated documentation checks, README conformance, and discovery passed.\nNo full suite or live browser/provider execution.\n", + "parents": ["f1dc595272751774434ff88e8daadc641074c107"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9adc61243b35bd9f78d14ba25c9a7194e7a1f1d1", + "subject": "refactor(evm): project admitted interface facts once", + "body": "refactor(evm): project admitted interface facts once\n\nValidate engine output in the worker and transport output at reply admission. Have the typed function projector consume admitted producer facts in the provider, removing the fused parse/project facade and discarded worker projection.\n\nPreserve duplicate order, missing inferences and raw metadata. Keep malformed producer checks at the schema and cover the provider handoff with source identity, diagnostics and cleanup assertions.\n", + "parents": ["09c2a2d241fe8f2967fedf81366f7c9d98c46e85"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8681752c7b597dee5f77eba82e72a94526a082b3", + "subject": "fix(cli): share doctor argument ownership across dispatchers", + "body": "fix(cli): share doctor argument ownership across dispatchers\n\nUse the existing builtin argument split for the invalid-log-level doctor exemption, removing independent flag scanners from the launcher and reusable CLI test worker. Empty output values and doctor-looking command data now preserve configuration refusal precedence; shell completion stays transport data.\n\nCheck fresh and shared frontends with production argument parsing, retain both doctor readiness paths, and verify non-doctor requests stop before the real launcher imports command handlers.\n", + "parents": ["9adc61243b35bd9f78d14ba25c9a7194e7a1f1d1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "54646e8dc4aaa647d1b66db26d2cddffebf91753", + "subject": "fix(environment): preserve raw UTF-16 token boundaries", + "body": "fix(environment): preserve raw UTF-16 token boundaries\n\nPair a preceding low surrogate only with its adjacent high surrogate.\nUnpaired code units must not make an earlier letter become the token's\nneighbor. Keep UTF-16 offsets and source strings unchanged at the shared\ndelimiter owner used by rule discovery, copy checks, and replacement.\n\nCover valid astral letters, digits, emoji, and lone-surrogate controls,\nplus create/read behavior through a CLI-started environment MCP server.\nValidation: regression-first run had 4 expected failures; after the fix,\n437 selected domain, application, and server-boundary tests passed.\n", + "parents": ["8681752c7b597dee5f77eba82e72a94526a082b3"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d81d6b67077b5acdcdb13330eb4e140905bc4e2a", + "subject": "fix(javascript): preserve semantic gaps for unparseable sources", + "body": "fix(javascript): preserve semantic gaps for unparseable sources\n\nSuccessful worker transport can carry an explicit failed parser status\nwith no semantic projection. Preserve that producer fact through the\nshared source-availability interpretation used by full and incremental\ngraph construction, rather than dropping the source's semantic scope.\n\nRetain the module when capacity permits, per-family incomplete-module\nunknowns, and unknown omitted extents. Preserve existing operational\nfailure reasons and limits without classifying syntax as resource loss.\nDocument this coverage behavior.\n\nValidation: regression-first run had 3 expected failures; all 22 selected\nprojection and public CLI source-selection/HTML cases passed after repair.\nNo JavaScript target execution or live external provider was involved.\n", + "parents": ["54646e8dc4aaa647d1b66db26d2cddffebf91753"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "446333cb7fd6d3d53e0b223e5d3bf5fce2d3c40a", + "subject": "fix(javascript): deduplicate shared projected source facts", + "body": "fix(javascript): deduplicate shared projected source facts\n", + "parents": ["d81d6b67077b5acdcdb13330eb4e140905bc4e2a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1d2b26e2d5944d77068dbd1ff3f70b3be1a5ebb4", + "subject": "test(mcp): avoid exact prose in retained native view discovery", + "body": "test(mcp): avoid exact prose in retained native view discovery\n", + "parents": ["446333cb7fd6d3d53e0b223e5d3bf5fce2d3c40a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "673a65907457a8d5f80837f97238dbdbce51ed4a", + "subject": "test: isolate module mocks without changing test groups", + "body": "test: isolate module mocks without changing test groups\n", + "parents": ["1d2b26e2d5944d77068dbd1ff3f70b3be1a5ebb4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "45d0c3e299305597670004f8c30cfeb32d997167", + "subject": "fix(javascript): retain proven browser global receivers", + "body": "fix(javascript): retain proven browser global receivers\n", + "parents": ["673a65907457a8d5f80837f97238dbdbce51ed4a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "31de177404461d122761d8243abe4fd24564f4da", + "subject": "perf(javascript): preselect captured prefix replacements", + "body": "perf(javascript): preselect captured prefix replacements\n", + "parents": ["45d0c3e299305597670004f8c30cfeb32d997167"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "eea3271a33dc48d9bd3746917b964a8026f1c9ad", + "subject": "test(cli): load only Frida contracts for focused CLI checks", + "body": "test(cli): load only Frida contracts for focused CLI checks\n", + "parents": ["31de177404461d122761d8243abe4fd24564f4da"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "54f5c55f623ef8a4e54d1fdfdaef76a9fbc54e61", + "subject": "fix(verify): assert structured source-map omission coverage", + "body": "fix(verify): assert structured source-map omission coverage\n", + "parents": ["eea3271a33dc48d9bd3746917b964a8026f1c9ad"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3d3ee837c42f85cf4e1830d55bdd10326a8b291d", + "subject": "test(mcp): reuse immutable schema validators within analysis view suite", + "body": "test(mcp): reuse immutable schema validators within analysis view suite\n", + "parents": ["54f5c55f623ef8a4e54d1fdfdaef76a9fbc54e61"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3ae7daa101543cc60ae24be1e9dd6bd5f0194b59", + "subject": "fix(test): match the optional Ajv diagnostics contract", + "body": "fix(test): match the optional Ajv diagnostics contract\n", + "parents": ["3d3ee837c42f85cf4e1830d55bdd10326a8b291d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8defd220a9f3fa9f200dd47104bc1e1de313dbba", + "subject": "refactor(objc): retire obsolete class discovery paths", + "body": "refactor(objc): retire obsolete class discovery paths\n\nRemove the test-only selection/projection facade and its unused synthesized binding scan. Keep lexical and identity controls at their active owners, with combined behavior covered through EnhancedTools.\n", + "parents": ["3ae7daa101543cc60ae24be1e9dd6bd5f0194b59"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b6519aa4104710b043605501c39563dc251b11bd", + "subject": "refactor(go): retain parsed build module facts", + "body": "refactor(go): retain parsed build module facts\n\nParse module metadata at the image reader that validates its framing. Consume those facts in the provider while preserving raw bytes, text uncertainty, source locations, parser semantics and the public report contract.\n", + "parents": ["8defd220a9f3fa9f200dd47104bc1e1de313dbba"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "87745af52ab0ccd3a172c2534c516d41b0095035", + "subject": "fix(il2cpp): consume resolved ELF program declarations", + "body": "fix(il2cpp): consume resolved ELF program declarations\n\nRetain relevant program facts in the shared native directory and consume them for mappings and relocations. Remove redundant table coordinates and presence flags. This preserves extended program counts so PT_DYNAMIC beyond the raw sentinel remains visible, while load and relocation admission keep their distinct policies.\n", + "parents": ["b6519aa4104710b043605501c39563dc251b11bd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "676d29f9eef794cea668f5f09f0ff510c848a513", + "subject": "fix(native): preserve qualified feature trace observations", + "body": "fix(native): preserve qualified feature trace observations\n\nUse one containing-procedure parser beside its declared schema for\nnavigation, address facets, and feature trace references. Keep the trace\ncache and reference type bound to parsed facts, returning typed malformed\noutput before SDK projection instead of passing unchecked JSON onward.\n\nRetain same-address search alternatives such as Kuna's distinct string\nencodings. References identify target addresses, so observe and emit each\ntarget once while retaining duplicate rows from the provider observation.\nRemove address-only match collapse and redundant residual deduplication.\nDocument these semantics.\n\nValidation: regression-first runs reproduced four malformed-resolution\nfailures and three alternative/reference-replay failures. Focused MCP and\nconsumer controls passed after repair. Real native engines were not run.\n", + "parents": ["87745af52ab0ccd3a172c2534c516d41b0095035"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "96ad94f69eda5d68c7335ff775b6927b1376fd2b", + "subject": "fix(managed): attribute malformed comparison inputs to their arguments", + "body": "fix(managed): attribute malformed comparison inputs to their arguments\n\nPass the caller-selected input field to the shared managed parse-failure\nowner. Derive filename and field from one comparison selection, reporting\nleftPath or rightPath while ordinary inspection continues to report path.\nPreserve typed input classification and completed-left partial Evidence.\n\nReplace weaker direct malformed-input cases with a compiled CLI workflow\ncovering both sides, the healthy comparison, and sibling inspection.\nDocument the input-attribution contract.\n\nValidation: the public regression reproduced the generic path issue;\nfocused CLI, comparison and shared-reader controls passed after repair.\nNo managed assembly or external analysis provider was executed.\n", + "parents": ["676d29f9eef794cea668f5f09f0ff510c848a513"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "06822aed63a20ebda18bf8cc5b1589bf14761838", + "subject": "fix(native): require canonical dispatch inventory rows", + "body": "fix(native): require canonical dispatch inventory rows\n\nRemove the undocumented name alias from list_names fallback and validate the canonical value rows with the existing strict policy. Keep record defaults in the public input contract and require explicit decoder budgets. Preserve provenance, partial coverage, source coordinates and typed failures in active application and MCP tests.\n", + "parents": ["96ad94f69eda5d68c7335ff775b6927b1376fd2b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "959ab0c10b46921978b9bf0ffed6cbe51c8160ab", + "subject": "refactor(firmware): remove unused hardware attribution scaffolding", + "body": "refactor(firmware): remove unused hardware attribution scaffolding\n\nRemove the unintegrated memory-map and peripheral-attribution modules with their dedicated tests. No application, CLI/MCP contract, verifier or package export consumes them; the shipped firmware analysis and publication workflows remain unchanged.\n", + "parents": ["06822aed63a20ebda18bf8cc5b1589bf14761838"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9c8f4044216df15453afdb65a847a8eb061622a6", + "subject": "refactor(artifacts): retire the test-only materialization facade", + "body": "refactor(artifacts): retire the test-only materialization facade\n\nUse the active in-scope materializer directly from the existing inventory fixture, with the same explicit resource-scope admission and cleanup owner. Keep staged snapshot mutation and extraction lifecycle regressions intact.\n", + "parents": ["959ab0c10b46921978b9bf0ffed6cbe51c8160ab"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7eaa7920a751d8c61cc33e1e270045d6fe7472f0", + "subject": "fix(process): validate rendered omission causes in saved captures", + "body": "fix(process): validate rendered omission causes in saved captures\n\nReject normalization omission counts that exceed unknown-size rendered frames at the shared capture parser. Preserve historical captures without the optional stage counter and expose the same constraint through CLI and MCP diagnostics.\n", + "parents": ["9c8f4044216df15453afdb65a847a8eb061622a6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "33f384120a7d34f38e2d172d1c3481fc2b3cad1c", + "subject": "fix(apple): preserve asset catalog rejection context", + "body": "fix(apple): preserve asset catalog rejection context\n\nRetain the selected catalog path with captured assetutil failures and malformed metadata. Map two explicit selected-path invalid-catalog diagnostics to the existing format error while preserving other failure classifications. Verify the observed diagnostic through the real CLI and stdio MCP using a truncated temporary catalog and an unchanged valid control.\n", + "parents": ["7eaa7920a751d8c61cc33e1e270045d6fe7472f0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "85e38ac199dff15e8c43343d9170db7e0e46d284", + "subject": "perf(apple): reuse scalar schema during plist projection", + "body": "perf(apple): reuse scalar schema during plist projection\n", + "parents": ["33f384120a7d34f38e2d172d1c3481fc2b3cad1c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f975f98ef4517b267f9b0f9d810fb8f515d1934c", + "subject": "refactor(verification): remove unintegrated conformance replay scaffolding", + "body": "refactor(verification): remove unintegrated conformance replay scaffolding\n\nRemove the isolated package, replay and trust-gate modules with their synthetic-only tests. No application, CLI/MCP, verifier or package export consumes them. Keep active provider completion, managed conformance, fixture verification, readiness and reconstruction coverage paths.\n", + "parents": ["85e38ac199dff15e8c43343d9170db7e0e46d284"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3da7454ed86cba31bb0e019076e9a3463b4cfa7a", + "subject": "refactor(manifests): consolidate commitment ownership", + "body": "refactor(manifests): consolidate commitment ownership\n\nRemove test-only completion and historical manifest parsers, use authoritative completion schemas, and keep graph hashing with the validated manifest producer. Verify commitments with independent canonical JSON and SHA-256 checks through domain and public CLI workflows.\n", + "parents": ["f975f98ef4517b267f9b0f9d810fb8f515d1934c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "044c9705eadf62f7c47ddd42a0b2dc065b26b228", + "subject": "refactor(validation): exercise authentication headroom at its boundary", + "body": "refactor(validation): exercise authentication headroom at its boundary\n\nRemove the unused estimator export. Check storage and escaping through typed authentication refusals with fixed allowances, preserving bounded traversal and acceptance controls.\n", + "parents": ["3da7454ed86cba31bb0e019076e9a3463b4cfa7a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "254f9d9ea22f15265c52f07404ae15bc5268d4c7", + "subject": "refactor(coverage): move fixture authoring out of the runtime", + "body": "refactor(coverage): move fixture authoring out of the runtime\n\nRetire test-only coverage and verifier constructors while preserving the live authenticated reader and evaluation path. Derive fixture inputs from the canonical contract schema and author commitments with an independent canonical JSON hash. Remove redundant success assertions while retaining typed failures and semantic controls.\n", + "parents": ["044c9705eadf62f7c47ddd42a0b2dc065b26b228"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "584120e802d09eeb3e42376df71ad1edbcc02613", + "subject": "refactor(process): remove the redundant scenario parsing alias", + "body": "refactor(process): remove the redundant scenario parsing alias\n\nUse the authoritative scenario schema directly in all 25 test consumers. Preserve unknown-input annotations and every lifecycle, permission, normalization, identity and cleanup assertion; retain the separate branded capture validation boundary.\n", + "parents": ["254f9d9ea22f15265c52f07404ae15bc5268d4c7"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fb9f35cf7b4f1a4d1e2950083cc45380dc920c4d", + "subject": "test(javascript): expose subsequent analysis recovery errors", + "body": "test(javascript): expose subsequent analysis recovery errors\n", + "parents": ["584120e802d09eeb3e42376df71ad1edbcc02613"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2968d1e932ebd519692fff47af81c05dab07bf89", + "subject": "test(snapshot): author canonical native inventory rows", + "body": "test(snapshot): author canonical native inventory rows\n", + "parents": ["fb9f35cf7b4f1a4d1e2950083cc45380dc920c4d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9df94a62cd56b6ab29d55d56cb7db87ad8e5e439", + "subject": "feat(javascript): link assignment right-hand sides to their writes (#6206)", + "body": "feat(javascript): link assignment right-hand sides to their writes (#6206)\n\n* feat(javascript): link assignment right-hand sides to their writes\n\nA declaration carries its value forward, but a later assignment to a\nvariable, a property or through a compound operator stopped the forward\ntrace at the right-hand-side read. The semantic IR now records one\nsyntactic assignment flow per simple assignment target (ranges, operator,\nowning callable), and the graph projection connects each retained read\nof the right-hand side to the write occurrence through a defines\nrelation. Compound assignments also consume the previous value of the\ntarget; the written value itself stays unknown, keeping the boundary of\n#4342 intact.\n\nFixes #6193\n\n* fix(javascript): preserve computed key assignment ownership\n\n* test(javascript): retain nested callback assignment ownership\n\n* docs(javascript): record assignment influence verification\n\n* test(mcp): isolate mocks and acknowledge cancellation boundaries\n\n* test(javascript): retain CLI diagnostics and current-main verification\n\n---------\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["2968d1e932ebd519692fff47af81c05dab07bf89"], + "authors": [ + { + "name": "Iven Koo", + "email": "73214171+IvenKooLab@users.noreply.github.com", + "user": { + "login": "IvenKooLab", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6206] + }, + { + "sha": "6298c84eea0e36a7e3779497160e2bbb4907a0d5", + "subject": "refactor(javascript): consolidate semantic graph boundaries", + "body": "refactor(javascript): consolidate semantic graph boundaries\n\nRetire the unused graph serialization facade and use one typed query implementation after canonical request admission. Migrate tests to the owning schemas while preserving graph commitments, Unicode transport, provenance, uncertainty, traversal and reconstruction controls.\n", + "parents": ["9df94a62cd56b6ab29d55d56cb7db87ad8e5e439"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "263a98c6ce2d19fcda87569165695fc4d20c74ec", + "subject": "fix(managed): preserve malformed signature uncertainty in comparisons", + "body": "fix(managed): preserve malformed signature uncertainty in comparisons\n\nConsume the signature producer status before inferring operand-resolution limits. Preserve exact byte-match provenance while malformed paired signatures remain unknown through current and historical Evidence, CLI and MCP.\n", + "parents": ["6298c84eea0e36a7e3779497160e2bbb4907a0d5"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "37f24125ad17facc7bb20b6dde347b3479d7f21c", + "subject": "fix(javascript): resolve proven URL constructor aliases", + "body": "fix(javascript): resolve proven URL constructor aliases\n\nRemove the redundant spelling gate after the shared intrinsic owner proves native constructor and source-base identity. Retain local-constructor and replaced-export uncertainty through public application analysis.\n", + "parents": ["263a98c6ce2d19fcda87569165695fc4d20c74ec"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2f2b07f7502d8d69d519b3d3a10a505f689d8bc9", + "subject": "fix(environment): count scenario bodies after request admission", + "body": "fix(environment): count scenario bodies after request admission\n\nMove body-retention coverage accounting to the manifest request-line owner. Preserve source retention facts by ordinal and remove the competing eligibility rule from scenario projection.\n", + "parents": ["37f24125ad17facc7bb20b6dde347b3479d7f21c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cc18e9ad0d7a8e3581b091a0229033804964aaad", + "subject": "fix(native): decode plist sources within result capacity", + "body": "fix(native): decode plist sources within result capacity\n\nDerive ordinary plist depth from existing JSON result capacity while preserving archive limits. Decode supported XML and safe JSON directly from owned source bytes; retain conversion for OpenStep, unsafe numeric classification and unsupported encodings. Preserve typed scalar facts, truthful provenance, cleanup ownership and explicit capacity recovery.\n", + "parents": ["2f2b07f7502d8d69d519b3d3a10a505f689d8bc9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "315b23403f0819967878cee418c3f9cb4b1a69d9", + "subject": "perf(cli): prepare positional token schemas only for the selected command", + "body": "perf(cli): prepare positional token schemas only for the selected command\n", + "parents": ["cc18e9ad0d7a8e3581b091a0229033804964aaad"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e2463372eae6dcd0ec558d1e4668cfc3814c04a0", + "subject": "feat(python): query selected pyc code-object facts (#6928)", + "body": "feat(python): query selected pyc code-object facts (#6928)\n\n* feat(python): query retained pyc code-object facts\n\n* test(python): bind complete pyc selection benchmark tasks\n\n* test(python): include server instructions in token accounting\n\n* docs(perf): record pyc selected-facts task measurements\n\n* test(python): keep oracle dependencies separate from selected targets\n\n* docs(perf): record guarded oracle requalification\n\n* test(python): narrow complete Evidence through its owning contract", + "parents": ["315b23403f0819967878cee418c3f9cb4b1a69d9"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6928] + }, + { + "sha": "bd1b2c74ae29af310f6ef6cef1a8b305811249bb", + "subject": "fix(browser): resolve companions from the selected manifest directory", + "body": "fix(browser): resolve companions from the selected manifest directory\n\nResolve the filesystem-selected manifest parent once before deriving script paths and reuse the shared containment rule. Preserve selected manifest spelling and capture metadata while retaining source integrity, symlink refusal and cleanup. Cover differing and identical lexical siblings through both artifact consumers and public CLI/MCP parity.\n", + "parents": ["e2463372eae6dcd0ec558d1e4668cfc3814c04a0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e09b06369d923e9cccedd91f6839ba643dfbd893", + "subject": "refactor(cli): remove redundant alias coverage metadata", + "body": "refactor(cli): remove redundant alias coverage metadata\n\nRemove the duplicate command-alias enumeration and convention-equivalent tool mappings. Keep explicit semantic exceptions, independent MCP-only policy and exact runtime alias-target coverage.\n", + "parents": ["bd1b2c74ae29af310f6ef6cef1a8b305811249bb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7958e15892a59d313d90bd678273271593dc10b4", + "subject": "fix(pcap): preserve header snapshot limit with inferred lengths", + "body": "fix(pcap): preserve header snapshot limit with inferred lengths\n", + "parents": ["e09b06369d923e9cccedd91f6839ba643dfbd893"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6021efd37185d6da71fca863b51a95471f949c81", + "subject": "refactor(browser): move bundle fixture composition out of runtime", + "body": "refactor(browser): move bundle fixture composition out of runtime\n", + "parents": ["7958e15892a59d313d90bd678273271593dc10b4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2bd981b0179cc1e4cfdb6ab52ab83c0d4c6c07ed", + "subject": "refactor(tests): consolidate compiled CLI session ownership", + "body": "refactor(tests): consolidate compiled CLI session ownership\n", + "parents": ["6021efd37185d6da71fca863b51a95471f949c81"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9f5dd56e2f2da18d16f17abd594f108ca43e5e4f", + "subject": "fix(native): validate XML plist source admission", + "body": "fix(native): validate XML plist source admission\n", + "parents": ["2bd981b0179cc1e4cfdb6ab52ab83c0d4c6c07ed"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "7f70797b98c226009163358f91a9cfcedf03b390", + "subject": "test(native): align plist fixtures with selected source validation", + "body": "test(native): align plist fixtures with selected source validation\n", + "parents": ["9f5dd56e2f2da18d16f17abd594f108ca43e5e4f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cad14f3b35f59084be6e1418bcceac01545c373f", + "subject": "test(javascript): cover primitive spread changes through CLI and MCP", + "body": "test(javascript): cover primitive spread changes through CLI and MCP\n", + "parents": ["7f70797b98c226009163358f91a9cfcedf03b390"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f3269feaad5432a59363715cc3dc43c22c430573", + "subject": "test(mobile): preserve encrypted bundle path facts across adapters", + "body": "test(mobile): preserve encrypted bundle path facts across adapters\n", + "parents": ["cad14f3b35f59084be6e1418bcceac01545c373f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "80b7bbc8bdab2c694fa12fdb79d651d0fbd318a8", + "subject": "fix(environment): share exact recorded timestamp interpretation", + "body": "fix(environment): share exact recorded timestamp interpretation\n", + "parents": ["f3269feaad5432a59363715cc3dc43c22c430573"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cd10ee1f8a8e124be4864e77750a16e76c561809", + "subject": "refactor(macho): centralize FAT declaration facts", + "body": "refactor(macho): centralize FAT declaration facts\n", + "parents": ["80b7bbc8bdab2c694fa12fdb79d651d0fbd318a8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "008931a178918e37fb950eaff4ac11339af36b1a", + "subject": "refactor(hopper): move verifier assertions out of runtime", + "body": "refactor(hopper): move verifier assertions out of runtime\n", + "parents": ["cd10ee1f8a8e124be4864e77750a16e76c561809"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d662fa54a67bf24bd4800d1867231662019d91c6", + "subject": "fix(test): reserve heap headroom for shared CLI workers (#6941)", + "body": "fix(test): reserve heap headroom for shared CLI workers (#6941)", + "parents": ["008931a178918e37fb950eaff4ac11339af36b1a"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6941] + }, + { + "sha": "41e10b240cec68308456056a2b4102b72199b227", + "subject": "fix(filesystem): distinguish admission and bound-target failures", + "body": "fix(filesystem): distinguish admission and bound-target failures\n", + "parents": ["d662fa54a67bf24bd4800d1867231662019d91c6"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1564fc8d9b7c212bfc191c4a2500b0c9cbe9576d", + "subject": "fix(managed): retain completed facts through close cancellation", + "body": "fix(managed): retain completed facts through close cancellation\n", + "parents": ["41e10b240cec68308456056a2b4102b72199b227"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ba6cec31f580c40b801727b0eac553ae471232ac", + "subject": "fix(native): preserve plist admission through finalization", + "body": "fix(native): preserve plist admission through finalization\n", + "parents": ["1564fc8d9b7c212bfc191c4a2500b0c9cbe9576d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fbe77dc4797f2be69252574a11fd557e7a88ff18", + "subject": "refactor(verification): separate readiness evidence scopes", + "body": "refactor(verification): separate readiness evidence scopes\n\nMove the synthetic evaluator and its unchanged semantic tests out of the shipped runtime. Retain actual CLI and MCP Evidence separately from the synthetic nine-stage baseline in a versioned verifier artifact, execute its reported conformance checks, and assign the verifier to its CI lane.\n\nValidation: evaluator/state/classifier source suites, compiled CLI/MCP views, verify:readiness, static checks, build and docs passed. Readiness observed coverage is static analysis; fixture runtime behavior and reconstruction closure were not executed.\n", + "parents": ["ba6cec31f580c40b801727b0eac553ae471232ac"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0f411508c3a34d0572d0f9884e92bbee71100e92", + "subject": "fix(environment): decouple capture chronology from clock formats", + "body": "fix(environment): decouple capture chronology from clock formats\n\nUse exact recorded start facts for state extraction independently of derived clock formatting limits. Preserve millisecond interval policy, missing-time fallback, redacted-write cutoffs, and bounded timestamp retention; remove the superseded clock comparator.\n\nTwo source and two compiled CLI regressions reproduced post-write values being selected as initial state. State/clock/date, CLI/MCP view, and static checks passed after the fix.\n", + "parents": ["fbe77dc4797f2be69252574a11fd557e7a88ff18"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8736fe32260c9a4aa5350e235fcbbd2cfdc23104", + "subject": "fix(release): avoid unused root commit file lookups", + "body": "fix(release): avoid unused root commit file lookups\n", + "parents": ["0f411508c3a34d0572d0f9884e92bbee71100e92"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dd198d037fcd8e2d313dff2147d7a80c436f3e5c", + "subject": "test(native): distinguish plist validation from conversion", + "body": "test(native): distinguish plist validation from conversion\n", + "parents": ["8736fe32260c9a4aa5350e235fcbbd2cfdc23104"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ae24b7879cec6ef6ff14781a1e96d2077a796737", + "subject": "refactor(native): consolidate command operation admission", + "body": "refactor(native): consolidate command operation admission\n", + "parents": ["dd198d037fcd8e2d313dff2147d7a80c436f3e5c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "39aca922398812bc1733296c513901e44afc4be1", + "subject": "fix(windows): explain when Windows refuses to load the verified native addon (#6832)", + "body": "fix(windows): explain when Windows refuses to load the verified native addon (#6832)\n\nWhen Smart App Control or an App Control policy refuses\nrea-windows-x64.node, the loader reported the failure as the artifact\nstage. Doctor and provider diagnostics then told the user to restore or\nrebuild the native files, although their version and SHA-256 had\nalready matched the package manifest.\n\nThe loader now tags a failure of the module load itself, after the\nmanifest and digest checks pass, as the load stage. The reason keeps the\nWindows error text and says that restoring the file cannot help, that\nGhidra and JADX need the native controls, that rea setup can still\nregister clients, and that REA must run where policy allows the file or\nthe maintainers can be asked about a signed build. Readiness keeps the\ndocumented runtime_missing code for unloadable artifacts.\n\nSetup does not depend on the native controls: with the addon\nunavailable, the published 6.7.0 CLI still planned and applied the\nclaude_code registration, so no setup gate is changed.\n\nFixes #5723", + "parents": ["ae24b7879cec6ef6ff14781a1e96d2077a796737"], + "authors": [ + { + "name": "Hasan Zayni", + "email": "36798269+dark13b@users.noreply.github.com", + "user": { + "login": "dark13b", + "__typename": "User" + } + } + ], + "pullRequests": [6832] + }, + { + "sha": "f2eb27206fb767dfa24d02685acd475f1d619654", + "subject": "refactor(release): remove obsolete tag CLI and proposal output", + "body": "refactor(release): remove obsolete tag CLI and proposal output\n", + "parents": ["39aca922398812bc1733296c513901e44afc4be1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f508a1a47e651f3b39194a9d130cee8fcab69520", + "subject": "refactor(native): remove unreachable command routing branches", + "body": "refactor(native): remove unreachable command routing branches\n", + "parents": ["f2eb27206fb767dfa24d02685acd475f1d619654"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4ef916da03d93729041f79cec0ee243cd2d3097d", + "subject": "feat(pe): inspect import and delay-load tables (#6509)", + "body": "feat(pe): inspect import and delay-load tables (#6509)\n\n* feat(pe): inspect import and delay-load tables\n\nAdd inspect_pe_imports / inspect-pe-imports to read PE32/PE32+ import\nand delay-load directories without executing the image. The report keeps\nDLL names, named and ordinal functions, ILT/IAT RVAs, and a pefile\nimport hash of the standard import table. A missing directory is\nobserved absence, not proof the image never imported APIs.\n\n* fix(pe): default PE import fixture options\n\nAllow peImportImage() without an argument so CLI and filesystem tests\ncan use the KERNEL32 sample without repeating an empty options object.\n\n* test(pe): keep import path cases on the dedicated MCP contract\n\ninspect_pe_imports already rejects relative MCP paths in its own\nboundary test. Leave the shared absolute-path matrix to tools whose\nhandler issue projection matches that suite's expected shape.\n\n* fix(native): index virtual-to-file mapping lookups\n\nmappedFileOffset scans every mapping twice per span, so a parser that\ntranslates one span per table entry costs sections x entries. Add\nfileMappingLookup, which builds an O(n log n) interval index once and\nanswers each span in O(log n) with the same accept, reject and\ntranslation results. A differential test checks it against\nmappedFileOffset over randomized overlapping mappings and zero fills.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_01Ra7LM2NyQ7DumdssxbUq5g\n\n* fix(pe): report partial import evidence and exact pefile hashes\n\n- Withhold imphash with an explicit reason whenever the standard import\n table is partial (unreadable names or thunks, missing tables), or when\n pefile 2024.8.26 would hash a different row sequence: invalid or\n truncated names, ordinal 0, descriptors without functions, tables its\n bounds or repeat/spread heuristics discard, and its 8192-thunk import\n symbol cap. Delay-load issues do not withhold it.\n- Hash ordinal imports with pefile's complete ordlookup tables and its\n ord fallback instead of declining unmapped ordinals.\n- Report a nonterminal descriptor whose FirstThunk is zero, and a\n delay-load descriptor whose IAT or INT RVA is zero, as malformed_entry\n partial coverage instead of a complete empty inventory.\n- Directory evidence lists the file spans actually consumed for the\n descriptor array and terminator; discontiguous mappings produce\n separate spans and separate Evidence ranges.\n- Carry exhausted limits as PeImportLimitFailure.limit and derive\n recovery from it; the fixed 16 MiB retained-text ceiling reports a\n fixed allowance instead of max_file_bytes advice.\n- Translate RVAs through the indexed mapping lookup and yield with a\n cancellation check every 1024 table entries.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_01Ra7LM2NyQ7DumdssxbUq5g\n\n* fix(pe): read only own ordinal tables for DLL names\n\nDLL names such as constructor and __proto__ pass pefile's name rule but\nresolved inherited object members, throwing before the ord fallback.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_01Ra7LM2NyQ7DumdssxbUq5g\n\n* fix(native): preserve PE import facts and prove hash compatibility\n\n* test(native): verify PE import workflows and measured costs\n\n* refactor(native): narrow PE facts across the container union\n\n* docs(native): record integrated PE import validation\n\n* fix(native): bound every PE import RVA span\n\n* docs(native): measure RVA guard completed workflows\n\n* fix(pe): reconcile import coverage with retained rows\n\n* fix(pe): retain partial imports at descriptor mapping gaps\n\n---------\n\nCo-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["f508a1a47e651f3b39194a9d130cee8fcab69520"], + "authors": [ + { + "name": "Matt Van Horn", + "email": "mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Matt Van Horn", + "email": "455140+mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6509] + }, + { + "sha": "3ad465a6669c482606ede5edbf104af04ee0ed0d", + "subject": "refactor(evaluation): move agent grading into development ownership", + "body": "refactor(evaluation): move agent grading into development ownership\n\nKeep the maintained manual evaluator, fixture rubrics and semantic tests together under tests/evaluation/model-evals instead of shipping them in dist. Load the same typed owners from the manual runner and update the architecture and client guide. Grading/report contracts and executable logic are unchanged.\n", + "parents": ["4ef916da03d93729041f79cec0ee243cd2d3097d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c2caae88f8bf3290ad5535ccac9bdd35b6733852", + "subject": "refactor(cli): share process environment preparation", + "body": "refactor(cli): share process environment preparation\n\nGive the launcher and shared command worker one lightweight owner for package-version binding, Windows empty-home handling and Android browser-cache defaults. Preserve per-command preparation and environment restoration, package the owner explicitly, and retain its package and JavaScript recovery CI scopes.\n\nValidation: dispatcher/version/shared-session, home fallback, evaluator/MCP/process cleanup and CI scope tests passed. Functional archive/install/repack, installed static CLI analysis and MCP checks passed; no real Codex/model trial or Windows/Termux runtime qualification was performed.\n", + "parents": ["3ad465a6669c482606ede5edbf104af04ee0ed0d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ead9fdcda9e2dd908fb8035a44e4dacf1538aa9b", + "subject": "feat(erlang): query selected BEAM table facts (#6943)", + "body": "feat(erlang): query selected BEAM table facts (#6943)\n\n* feat(erlang): query selected BEAM table facts\n\n* docs(perf): record BEAM selected-view measurements", + "parents": ["c2caae88f8bf3290ad5535ccac9bdd35b6733852"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6943] + }, + { + "sha": "f9fabdfcb2c241b18fec0acb5c3b4a14f76f4805", + "subject": "test(cli): time Kuna cleanup from producer readiness (#6944)", + "body": "test(cli): time Kuna cleanup from producer readiness (#6944)", + "parents": ["ead9fdcda9e2dd908fb8035a44e4dacf1538aa9b"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6944] + }, + { + "sha": "21097b192b1ab94647e3446b1a2a4dd00e924d5e", + "subject": "fix(javascript): preserve catch destructuring alias ownership", + "body": "fix(javascript): preserve catch destructuring alias ownership\n", + "parents": ["f9fabdfcb2c241b18fec0acb5c3b4a14f76f4805"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6843dbea9bce4709ee2e8bf46c38f0bbf640716b", + "subject": "fix(native): preserve bounded JVM identity before FAT admission", + "body": "fix(native): preserve bounded JVM identity before FAT admission\n", + "parents": ["21097b192b1ab94647e3446b1a2a4dd00e924d5e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "aa9043f6b61c453e4735795cfe6a559bf6b6cc16", + "subject": "fix(native): preserve qualified Swift protocol identities", + "body": "fix(native): preserve qualified Swift protocol identities\n", + "parents": ["6843dbea9bce4709ee2e8bf46c38f0bbf640716b"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ddfd060210645d9295e4946ea3a7c175ff2fd208", + "subject": "test(artifacts): verify ZIP cancellation through extraction rollback", + "body": "test(artifacts): verify ZIP cancellation through extraction rollback\n", + "parents": ["aa9043f6b61c453e4735795cfe6a559bf6b6cc16"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "850abe5e6fe9373c69a54c4a7f64c1714b5e9a7d", + "subject": "refactor(managed): remove obsolete throwing domain facades", + "body": "refactor(managed): remove obsolete throwing domain facades\n", + "parents": ["ddfd060210645d9295e4946ea3a7c175ff2fd208"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "915e56e3e5442b4b4b4a3989a8e1d9ce39b9ac37", + "subject": "fix(setup): preserve launcher identity during registration repair", + "body": "fix(setup): preserve launcher identity during registration repair\n", + "parents": ["850abe5e6fe9373c69a54c4a7f64c1714b5e9a7d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1d896e03b776453282beca7fd89338be778bfca2", + "subject": "fix(artifacts): retain original I/O failure evidence", + "body": "fix(artifacts): retain original I/O failure evidence\n", + "parents": ["915e56e3e5442b4b4b4a3989a8e1d9ce39b9ac37"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "60242ec82d71bd49ff9787309e93212d79146fa0", + "subject": "test(cli): retain process outcomes across workflow assertions", + "body": "test(cli): retain process outcomes across workflow assertions\n", + "parents": ["1d896e03b776453282beca7fd89338be778bfca2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ace47789a818ef425b2f5843b38122a86ed0c68b", + "subject": "docs(setup): describe Codex registration preservation", + "body": "docs(setup): describe Codex registration preservation\n", + "parents": ["60242ec82d71bd49ff9787309e93212d79146fa0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e5965adb29b0acb1de915b81fcaffe7eae7844ca", + "subject": "feat(cli): accept JavaScript source selections from a JSON array or file (#5029)", + "body": "feat(cli): accept JavaScript source selections from a JSON array or file (#5029)\n\n* feat(cli): accept JavaScript source selections from a JSON array or file\n\nAdd --source-paths-json to analyze and analyze-javascript-application.\nIt takes an inline JSON array or a JSON file path of exact inventoried\npaths and appends them after any --source-path values, so a long\nselection no longer has to fit on one command line (cmd.exe through npx\non Windows stops at 8,191 characters). Entries stay artifact-relative and\ngo through the existing source_paths validation; the native lane rejects\nthe option like --source-path.\n\nRefs #4987\n\n* fix(cli): cancel --source-paths-json file reads with the command\n\nPass the command's abort signal through parseCliJsonInput to\nreadJsonInputFile, so SIGINT/SIGTERM stop a selection-file read instead\nof waiting for it to finish. A cancelled read now propagates its abort\nrather than being reported as a file read failure.\n\n* test(cli): preserve ASAR identity for JSON file selections\n\n* docs(cli): record source-selection task costs and identity verification\n\n---------\n\nCo-authored-by: KJLavender \nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["ace47789a818ef425b2f5843b38122a86ed0c68b"], + "authors": [ + { + "name": "KAI-CHIEH YANG", + "email": "99654472+KJLavender@users.noreply.github.com", + "user": { + "login": "KJLavender", + "__typename": "User" + } + }, + { + "name": "KJLavender", + "email": "KJLavender@users.noreply.github.com", + "user": { + "login": "KJLavender", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5029] + }, + { + "sha": "f774dc420b3befe2b8e68971b4116da2d62fc800", + "subject": "fix(javascript): bind factory export roles to parameter values", + "body": "fix(javascript): bind factory export roles to parameter values\n", + "parents": ["e5965adb29b0acb1de915b81fcaffe7eae7844ca"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "21a20306b4887ff8e6b614b6ae34a387cfbdf1d8", + "subject": "test(sqlite): preserve worker failures through cleanup retry", + "body": "test(sqlite): preserve worker failures through cleanup retry\n", + "parents": ["f774dc420b3befe2b8e68971b4116da2d62fc800"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b869fa762a827fb66978067fabe09439ebfef111", + "subject": "test: align stale fixtures with recent native and launcher contracts (#6945)", + "body": "test: align stale fixtures with recent native and launcher contracts (#6945)\n\n* test(native): expect artifact_changed when a bound metadata target is lost\n\n41e10b240 made a bound metadata target that fails the source boundary\n(`path`) or disappears (`ENOENT`) report AnalysisArtifactChangedError, as\nits comment and docs/testing.md state, but left the module test expecting\nAnalysisInputError. The test now asserts the shipped contract, so main's\nTest shard and Portable tests lanes pass again.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(package): ship the CLI process environment owner in launcher fixtures\n\nc2caae88f moved launcher environment preparation into\nscripts/lib/cli-process-environment.mjs, made scripts/rea.mjs import it and\nmade verifyPackagePack require it in the packed listing, and updated the\ndispatcher fixtures, but two other fixtures still omit it:\n\n- packageTarListing's fake tar listing, so every case stops at \"package\n omitted the CLI process environment owner\" before its own assertion;\n- deferredRuntime's copied compiled package, so the copied launcher fails\n to resolve its import instead of reporting the corrupted catalog.\n\nBoth fixtures now include the module, as the package ships it.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(native): expect XML plist validation in typed-value provenance\n\n9f5dd56e2 records a successful `plutil -lint` of an XML plist source in\nprovenance, as docs/native-investigation.md states, but the macOS typed-value\nCLI test still expected only the `file` step for both formats. XML sources now\nexpect the lint step; binary sources are unchanged.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["21a20306b4887ff8e6b614b6ae34a387cfbdf1d8"], + "authors": [ + { + "name": "Kaoru0822", + "email": "kanadekitauji@proton.me", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [6945] + }, + { + "sha": "b5c42dfc2a8eddeffb8d37c669178fa04169f050", + "subject": "perf(entropy): separate physical reads from report resolution (#6950)", + "body": "perf(entropy): separate physical reads from report resolution (#6950)\n\n* perf(entropy): separate physical reads from report blocks\n\n* test(entropy): type the injected positional short-read boundary\n\n* test(entropy): retain full catalog transport capacity in task probe\n\n* docs(perf): record real entropy task costs and limits\n\n* docs(perf): record latest-main entropy qualification", + "parents": ["b869fa762a827fb66978067fabe09439ebfef111"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6950] + }, + { + "sha": "d87e73f2db50be72d33a4b3c7199af35518b441c", + "subject": "test(javascript): execute the registered Webpack export fixture (#6951)", + "body": "test(javascript): execute the registered Webpack export fixture (#6951)", + "parents": ["b5c42dfc2a8eddeffb8d37c669178fa04169f050"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6951] + }, + { + "sha": "d68d03e88f49a939a0c99daff631dc0fdeb41a9c", + "subject": "test(mcp): consolidate fixture connection and cleanup ownership", + "body": "test(mcp): consolidate fixture connection and cleanup ownership\n\nRoute application and provider-environment harnesses through the shared MCP\nconnection owner. Join accepted handshakes during shutdown, retain each failed\nclose for retry, preserve primary and independent cleanup failures, and release\nprovider files only after their session closes.\n\nSurface BinarySession close Result errors in production and artifact fixture\nteardown. Add real SDK and descriptor-boundary regressions for startup races,\nconcurrent cleanup, mixed failures and recovery. Use a provider-free plist for\ndescriptor ownership so installed deep engines cannot change the test outcome.\n", + "parents": ["d87e73f2db50be72d33a4b3c7199af35518b441c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bdf15b9bd5bf460d092bdf97e49f8fb02bb9c365", + "subject": "refactor(javascript): share the reconstruction input contract", + "body": "refactor(javascript): share the reconstruction input contract\n\nRemove the reconstruction-only request schema and consume the canonical parsed\nJavaScript application input. Production already owns parsing at the service\nboundary; direct test seams now use that same schema instead of a weaker path\ncontract. Preserve format, filesystem, source selection and lifecycle validation.\n\nAdd a NUL-path regression for canonical admission and typed input-error\nprojection. Verified 63 focused cases plus static, build, docs, discovery and\nduplication checks; no target execution or real-provider claims.\n", + "parents": ["d68d03e88f49a939a0c99daff631dc0fdeb41a9c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "98ec00f4068bab894639d0d1d83ac0bfc428bcbf", + "subject": "fix(setup): preserve cleanup ownership and resource reports (#6920)", + "body": "fix(setup): preserve cleanup ownership and resource reports (#6920)\n\n* fix(setup): report host-owned cleanup resources alongside the primary's\n\nSetupHost.close documents that it reports the resources a setup host still\nowns, but its contract returned only a string. runSetup therefore built the\nProviderCleanupError from the primary failure's cleanupResources alone, so a\nresource the host failed to release reached the projection only inside a\nfree-text reason while the error asks the caller to review the reported local\nresources.\n\nReturn a SetupCloseReport instead. closeSetupResources absorbs the structured\nresources of any cause that reports them, through\nArtifactReaderFailure.cleanupObservation, and leaves opaque failures\nmessage-only so no resource name is invented. runSetup then unions the host's\nresources with the primary's before building the typed cleanup error.\n\nTwo boundary tests read the close result directly: the skill-cleanup case now\nasserts the retained backup path in the report reason rather than in a bare\nstring, and the shared ownership helper takes an opaque close result because it\nonly ever awaits undefined from either host it is given.\n\nValidation: RED then green in src/application/Setup.recovery.test.ts, where\nthe new case previously received only the primary resource; 116 tests across\nthe seven Setup and cleanup-ownership suites pass; tsc --noEmit over the\nchanged set, its setup callers, and both boundary tests exits 0; oxlint\nreports 0 errors; oxfmt --check is clean; verify:module-boundaries passes.\nThe two failures in src/setupEnvironment.test.ts reproduce identically on\npristine bded9c628 with this change stashed.\n\n* fix(setup): preserve cleanup ownership through host reports\n\n* fix(setup): bind finalization reports to cleanup owners\n\n* fix(setup): retain live resources in returned cleanup views\n\n* fix(setup): preserve completed cleanup and exact installer resources\n\n* fix(setup): retain delegated cleanup across authority changes\n\n* fix(setup): compose callback and source cleanup authorities\n\n* fix(setup): retain producer cleanup failure reasons\n\n* fix(cli): render structured setup cleanup resources\n\n* fix(setup): separate failure evidence from cleanup ownership\n\n* fix(setup): normalize close failures and unify lease binding\n\n* fix(setup): preserve direct lease resource attribution\n\n---------\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["bdf15b9bd5bf460d092bdf97e49f8fb02bb9c365"], + "authors": [ + { + "name": "Dery Ferdika", + "email": "114888155+DeryFerd@users.noreply.github.com", + "user": { + "login": "DeryFerd", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6920] + }, + { + "sha": "72ba1cd92bf76d79a39684eaa6366f930dd42c9b", + "subject": "fix(verifiers): centralize failure and cleanup ownership", + "body": "fix(verifiers): centralize failure and cleanup ownership\n\nOwn operation results and exact rejections in withVerifierCleanup, including\nundefined, null and independent cleanup failures. Remove the optional-primary\ncleanup contract and migrate every caller, preserving returns, annotations,\nsignal restoration and dependent cleanup order.\n\nMake Frida/JEB reporters fail on reasonless rejections and retain JEB fixture\nfiles while provider cleanup is incomplete. Own the nested packaged WASM\nverifier and expose its composite process/root cleanup capability for retry.\nUpdate runnable docs and isolated fixture dependencies.\n\nValidation: 547 focused cases in 20 files, eight isolated boundary unit checks,\nstatic/build/docs/discovery gates and duplication check (3.58%). Node process,\nSDK and descriptor cleanup are exercised; provider and packaging results in\norchestration tests are simulated. Pack/install subprocess ownership remains\nwith the existing shared package runner outside the nested-command change.\n", + "parents": ["98ec00f4068bab894639d0d1d83ac0bfc428bcbf"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e00ee310f53499ea7725d987d753713f77fb0a78", + "subject": "fix(functions): name the rejected side and supplied kind in function Evidence errors (#6969)", + "body": "fix(functions): name the rejected side and supplied kind in function Evidence errors (#6969)\n\nfix(functions): name the rejected side and supplied kind in Evidence errors\n\nFunction comparison previously reported only that analyze_function/rea.analysis Evidence was required, leaving callers to discover which side was wrong and what was supplied. Include the side, its operation and predicate, and the expected pair in the input issue.\n\nCo-authored-by: dhruvac29 ", + "parents": ["72ba1cd92bf76d79a39684eaa6366f930dd42c9b"], + "authors": [ + { + "name": "Dhruvilkumar Ashokbhai Chodvadiya", + "email": "50516925+dhruvac29@users.noreply.github.com", + "user": { + "login": "dhruvac29", + "__typename": "User" + } + }, + { + "name": "dhruvac29", + "email": "dhruvac29@users.noreply.github.com", + "user": { + "login": "dhruvac29", + "__typename": "User" + } + } + ], + "pullRequests": [6969] + }, + { + "sha": "c2068b94d718d4d133cdd18779a8514f1314a320", + "subject": "fix(browser): parse repeated CSP and policy header field lines separately (#6963)", + "body": "fix(browser): parse repeated CSP and policy header field lines separately (#6963)\n\nCDP joins repeated response header field lines with LF. Only the Link projection split them, so a repeated Content-Security-Policy lost the first directive of each later policy, and a repeated Referrer-Policy reported no policy. Header normalization now keeps each field line, CSP parses every line and comma-separated policy, single-valued fields combine lines with a comma, and Link uses the shared lines.", + "parents": ["e00ee310f53499ea7725d987d753713f77fb0a78"], + "authors": [ + { + "name": "Adolanium", + "email": "94890352+Adolanium@users.noreply.github.com", + "user": { + "login": "Adolanium", + "__typename": "User" + } + } + ], + "pullRequests": [6963] + }, + { + "sha": "4a041ae7532588eaf9973584e517c9bce995445b", + "subject": "perf(artifacts): bound stable reads to one snapshot buffer (#6966)", + "body": "perf(artifacts): bound stable reads to one snapshot buffer (#6966)\n\n* perf(artifacts): read stable files into one bounded buffer\n\n* perf(artifacts): fill stable snapshots through direct descriptor reads\n\n* docs(perf): qualify stable snapshot memory with real ELF and BEAM tasks\n\n* test(artifacts): count descriptor close retries from admission\n\n* test(artifacts): capture the retained descriptor after asynchronous admission\n\n* docs(perf): record integrated qualification and cleanup fixture correction", + "parents": ["c2068b94d718d4d133cdd18779a8514f1314a320"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6966] + }, + { + "sha": "977c9727e656c8493b62587c50447b371eb9a0a5", + "subject": "feat(environment): give more write tools a state target (#6385)", + "body": "feat(environment): give more write tools a state target (#6385)\n\n* fix(environment): keep read-only POSTs out of the write list\n\nA POST that repeats the latest read of its path, tunnels only read\noperations, names a lookup in its path's last meaningful word, or renews\na session no longer counts as a state write: it is replayed, does not cut\ninitial windows, and does not end observation searches. A tool stays a\nwrite when a related read line changes across one of its calls.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): take an entity an unplanned write made when a read first shows it\n\nA successful item read of an entity the gate's copy never held, after a\nwrite no built plan models, puts the entity into the copy instead of\nfailing the read, so later writes to it are checked as usual. An entity a\nmodelled write touched is never taken back.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): plan a create into the type its returned id is read under\n\nA POST whose path names no state type becomes a create into the type\nwhose item read first names an id its response returned, when the id is\nnew to the state; serving creates in that read's collection. A successful\nPOST that returned an id a type's reads only show after it also ends that\ntype's initial window, so entities a capture created stay out of the\ninitial state.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): end a type's initial reads at the write its reads disagree across\n\nWhen a type's reads disagree across a write under another root, the\ntype's initial window now ends at the earliest write within that change\nand the state is extracted again, instead of leaving every view of the\ntype replayed. The cut composes with the creation cut; the earlier wins.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): replay request lines that show entities in another form\n\nA read line that shows the same entities in another form, by an extra\nquery parameter that adds or drops members, or conflicts with a base\nline on a shared entity, is a variant: it leaves the view's checks and\nthe entity observations, the view names it with the query keys that pick\nit out, and a call matching those keys replays its recording. A filter\nrole whose name matches no field needs two agreeing values.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): specify and record the state-target changes\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep a read-only POST a write when its evidence is incomplete\n\nBody-level container operations are skipped like query ones, a lookup is named only\nby the path's last literal segment and never alongside a write word, a tool with a\nredirected or unanswered call is not reclassified, and the mutation veto is resolved\nover all candidates at once so another read-only call cannot explain a read change.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): answer a field selection only when the state shows it exactly\n\nServing tests a field selection before any variant key: a projection value a replayed\nread gave, or one no checked line gave other than `*`, replays. A list sets aside a\nline asking for some fields only before the identity proof, and a dropped variant's\nmembership change no longer rewrites the type.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): hold adopted entities and linked creates to what the recording shows\n\nAn adopted entity is charged against the view's budget like a created one. A linked\ncreate holds only for its exemplar's path arguments: serving refuses others and the\ngate counts such a call as unmodelled. A response's identity-named id links at any\nlength, but a short one only to a type read before the call.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the review fixes' measurements\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): release a discarded planning pass before planning again\n\nA rewrite cut clears the first pass, so the budget rewinds to a checkpoint taken after\nthe write cutoffs and created ids before the state is extracted again. Rewrite spans are\ncharged and appended without spreading them into an argument list.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): link no create whose id an earlier read showed, and read only whole batches\n\nA linked create is rejected when an earlier list of its type or read of its collection\nshowed the returned id. Body ids are walked without spreading children into an argument\nlist. An RPC call reads only when every operations entry names an operation of its own.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): let the gate skip exactly the reads serving replays\n\nServing's replay decision moves to the domain as replayReason, and the write gate uses it:\na read serving replays can neither approve nor veto a write, and a read of every field\nbeside a replayed selection is checked. A selection read missing a required field is\nstill skipped, since part of an entity can neither confirm nor check it.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the second review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): read writes, links and creation cuts only from evidence that rules out other causes\n\n- A read-only POST repeats only a read that finished before it began; the veto compares\n the latest read finished before a call with the first begun after it, and counts a\n recorded absence on one side as a change. `modify` and `replace` are write words.\n- A redirected or unanswered write lets a later item read adopt the entity it may have made.\n- A creation cut counts a read still running when the POST began as after it, and a list\n read shows its listed entities' own ids, not those they nest.\n- A linked create's item read must come before any other tool's write.\n- Line shapes are charged to the budget as they are built.\n- A `fields=*` list line is whole, not a field selection.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the third review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): tie linked creates to their returned ids and order state by the lines left\n\n- A linked create is observed only in a read of an id its response returned,\n envelopes included, and serving takes its recorded path values in either spelling.\n- A list read shows a suffix-named identity (`projectId`) distinct across its entities.\n- A read-only POST compares the read that finished last before it began.\n- An entity's first sighting comes from the lines left after variant lines are dropped.\n- The pairwise variant pass stops at a work limit, leaving every line checked.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the fourth review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep foreign keys, stale reads and double decoding out of write evidence\n\n- A list read counts a suffix-named field as its entities' ids only when no\n id-named field identifies them, so an `ownerId` beside `id` cuts no window.\n- A read-only POST is compared with the read that finished last among those no\n other write follows, so a consuming call stays a write.\n- A linked create's source path values compare as spelled on both sides, so no\n spelling is decoded twice.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the fifth review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): compare linked sources by position, decode path fields once and bound read and variant scans\n\n- A linked create's source values compare segment by segment, so a template\n naming two parameters alike cannot accept a changed first one.\n- Serving fills a linked create's path fields with its arguments decoded once,\n as the gate learned them.\n- The read-only check reads each related line's records once per call, between\n the nearest other writes.\n- Member signatures are JSON arrays, so a name holding the separator still\n conflicts; the variant work limit counts line pairs as well as entities.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the sixth review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): replay late and variant-only items, fill linked path fields from the exemplar and charge membership spans\n\n- An item line first recorded after the initial window that names a new shaping\n parameter and shows other members is a replayed variant, like an initial one.\n- An item only a replayed line showed, which the state never started with,\n answers with its own recording; one the state held and lost stays missing.\n- A linked create fills its path fields from its exemplar's path decoded once,\n whichever accepted spelling the call sends.\n- Each membership change span is charged against the budget before it is kept.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the seventh review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): decide late item lines against the lines left, charge replay keys and bisect rewrite cuts\n\n- Item lines first recorded after the initial reads are decided once variants\n are dropped, against the lines left: a new shaping parameter showing other\n members, or a selection of some fields leaving members out, replays.\n- Each replay key is charged against the budget before it is kept.\n- A rewrite span's earliest write is found by bisection over the writes.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the eighth review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): count only reads finished before a linked create began as showing its id held\n\nA list still running when the call began may show what the call made, as the\ncreation cut already decides, so it no longer refuses the link.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep served creates' items missing, check same-type earlier reads, and bound late lines and read-only stretches\n\n- An item only a replayed line showed replays only while no served create has\n added to its type, so a created and deleted item stays missing.\n- A linked create's earlier item-read veto checks only reads of the candidate's\n type or collection that show the item, so another type's id does not hide it.\n- An item read answered with JSON null shows no id to a creation cut.\n- Late lines' member names are charged before they are kept.\n- The read-only check precomputes nearest writes and passes once over each\n write-free stretch per path, skipping lines whose reads all agree.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the ninth review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): link creates past empty item reads, sweep repeated reads once and keep only returned ids for creation cuts\n\n- A linked create passes over a later item read naming its id whose body shows\n no item, such as JSON null, and links the next one.\n- Read-only repeated reads are found in one sweep: each path's reads wait by\n end time until a call's start passes them, and a write clears them.\n- A creation cut keeps, and charges, only the shown ids some creation returned.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the tenth review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* perf(environment): compare variant lines through shared entities and parse each compared body once\n\nThe variant pass indexes a tool's lines by the entities they show and compares only lines that share one, charging\nthe index to the budget while it is held; the pairwise work limit still decides when a tool keeps every line checked.\nRead-only decisions keep each response body's canonical digest, taken once while its parse is charged, across calls\nand veto passes. The creation cut no longer parses reads at or after the write that ends the initial reads, and reads\nthe ids a body shows inside its lease. Adoption looks up a read's target only after an unplanned write before it.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the eleventh review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* perf(environment): list a type's collections only when the path's own holds no id, and parse variant base lines once\n\nThe write gate's item target lists the type's held collections, and the removed targets', only when the path's own\ncollection holds none of its ids, so a served item view's reads no longer walk every entity of the type. The variant\npass parses the base lines' queries once for all the variants they key, and not at all when it found none.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the twelfth review round's checks and the sweep's cost\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["4a041ae7532588eaf9973584e517c9bce995445b"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [6385] + }, + { + "sha": "781760a195c9d90c1bd3d57ad9ff55e5461bfcd4", + "subject": "feat(apple): inspect IPS crash reports (#6511)", + "body": "feat(apple): inspect IPS crash reports (#6511)\n\n* feat(apple): inspect IPS crash reports\n\nAdd inspect_apple_ips for caller-selected Apple .ips files. Parse the\nfirst-line metadata object and, when bug_type is the string 309, the\ncrash body: process identity, exception and termination facts, threads,\nusedImages, lossless integer registers, and documented classification\nrules. Other bug types including 288 stackshots return no crash result.\nOpened Mach-O and dSYM UUID joins remain unobserved.\n\nRelated to #4297\n\n* fix(apple): keep IPS register literals exact\n\nUse the arm64e fixture integer that matches 0x8527000193ed4944 instead\nof an IEEE-754-rounded decimal, and count the lossless JSON example\nlength from the source text.\n\n* fix(apple): budget IPS parsing and keep typed presence\n\nParse the IPS metadata and crash body through a projection of the\ndocumented members. Members the report does not interpret are\nsyntax-checked without being materialized, and thread, frame, image and\nthe new max_registers budgets run before each row is parsed, so a large\nselected file fails with a typed resource error instead of first\nexpanding every row. Fixed allowances bound JSON nesting, unlisted key\nnames and termination reasons.\n\nPresent values whose JSON type differs from the documented one are no\nlonger read as absence: they are listed in coverage.type_mismatches and\ncoverage becomes partial, including wrong-type or missing threads and\nusedImages collections. osVersion keeps the producer dictionary or the\nstring form. Frame roles follow physical frame depth, so the top frame\nof a non-faulting thread is current_instruction and inlined rows share\nthe following frame's role. SIGKILL classes compare the canonical hex\nonce, so 0xdeadd0cc no longer matches dead10cc. Invalid UTF-8 is refused\ninstead of being replaced, and JSON strings are decoded by copying\nunescaped spans.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_01Ra7LM2NyQ7DumdssxbUq5g\n\n* fix(apple): bound integer text expansion and reconcile coverage\n\n* refactor(apple): retain image metadata at its owning row\n\n* refactor(apple): validate row capacity through reconciled coverage\n\n* test(apple): verify resource recovery at the public error boundary\n\n* docs(apple): record complete IPS task and corpus measurements\n\n* docs(apple): record integrated checks and stdio corpus evidence\n\n* docs(apple): record PE integration and baseline cleanup controls\n\n* fix(native): bound IPS string decoding and preserve invalid identities\n\n* refactor(native): use exact optional IPS source evidence\n\n* docs(native): verify IPS escape capacity and complete-task costs\n\n* test(native): verify IPS through production stdio MCP\n\n* style(tests): format IPS advertised schema bindings\n\n* fix(native): preserve unresolved IPS references and recorded frame semantics\n\n* docs(native): record IPS reference review evidence\n\n* fix(apple-ips): enforce JSON and report consistency\n\n* docs(apple-ips): record final consistency verification\n\n---------\n\nCo-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["977c9727e656c8493b62587c50447b371eb9a0a5"], + "authors": [ + { + "name": "Matt Van Horn", + "email": "mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Matt Van Horn", + "email": "455140+mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6511] + }, + { + "sha": "0f3a15de0dbaf85240b28b95c15ca4e071baf3b1", + "subject": "fix(javascript): preserve factory export helper identity", + "body": "fix(javascript): preserve factory export helper identity\n", + "parents": ["781760a195c9d90c1bd3d57ad9ff55e5461bfcd4"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "abf7d300b34782946e16a501d7ef564077acab07", + "subject": "fix(pe): share header identity across native metadata readers", + "body": "fix(pe): share header identity across native metadata readers\n", + "parents": ["0f3a15de0dbaf85240b28b95c15ca4e071baf3b1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "0c49878b9a7f599f82452f728eda7a424527e621", + "subject": "fix(macho): preserve subtype labels across dylib consumers", + "body": "fix(macho): preserve subtype labels across dylib consumers\n", + "parents": ["abf7d300b34782946e16a501d7ef564077acab07"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "77be87db992cfbc54b1f554b506962f15fabcfee", + "subject": "fix(artifacts): describe observed inventory scope accurately", + "body": "fix(artifacts): describe observed inventory scope accurately\n", + "parents": ["0c49878b9a7f599f82452f728eda7a424527e621"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8328a9559f999faac761f8c74a935c89cc87865b", + "subject": "fix(gdb): keep console recovery available for multiple inferiors", + "body": "fix(gdb): keep console recovery available for multiple inferiors\n", + "parents": ["77be87db992cfbc54b1f554b506962f15fabcfee"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "689f738c956a7f280c020838f1292959a0463d86", + "subject": "fix(process): preserve the caller abort reason in regex worker cancellations (#6959)", + "body": "fix(process): preserve the caller abort reason in regex worker cancellations (#6959)\n\n* fix(process): preserve the caller abort reason in regex worker cancellations\n\nBoth cancellation outcomes of matchRegexValues, the pre-admission refusal\nand the abort observed while the worker runs, now carry the caller's\nsignal.reason as the error cause. Hopper's regex search returns that result\nunchanged, so cancelled regex search_procedures and search_strings results\nregain the exact reason the caller supplied.\n\n* test(process): assert the caller abort reason for cancelled regex matches\n\nCover the pre-cancelled refusal and an abort raised while the worker is\nrunning, asserting the cause is the identical reason object.", + "parents": ["8328a9559f999faac761f8c74a935c89cc87865b"], + "authors": [ + { + "name": "Vinícius Andrade", + "email": "95101505+viniciusdsandrade@users.noreply.github.com", + "user": { + "login": "viniciusdsandrade", + "__typename": "User" + } + } + ], + "pullRequests": [6959] + }, + { + "sha": "b09c6b075228a285d3c047119addafde8aed368e", + "subject": "fix(apple): keep dyld candidates inside the analyzed root on Windows (#6955)", + "body": "fix(apple): keep dyld candidates inside the analyzed root on Windows (#6955)\n\nFilesystemTreeView mapped root-relative dyld paths to host paths with path.join. On Windows a component such as ..\\outside\\x.dylib was normalized out of the analyzed root, so a file outside it was opened, parsed and hashed. Components containing a backslash or colon are now absent on Windows, Windows link text is split on backslashes, and every host path is checked to stay inside the root before it is opened.", + "parents": ["689f738c956a7f280c020838f1292959a0463d86"], + "authors": [ + { + "name": "Adolanium", + "email": "94890352+Adolanium@users.noreply.github.com", + "user": { + "login": "Adolanium", + "__typename": "User" + } + } + ], + "pullRequests": [6955] + }, + { + "sha": "c298d54e886b96c6fa95d99ed69420f919cc29a0", + "subject": "fix(zip): validate trailing archive record candidates (#6937)", + "body": "fix(zip): validate trailing archive record candidates (#6937)", + "parents": ["b09c6b075228a285d3c047119addafde8aed368e"], + "authors": [ + { + "name": "ShuaixinHuang", + "email": "1836656514@qq.com", + "user": { + "login": "ShuaixinHuang", + "__typename": "User" + } + } + ], + "pullRequests": [6937] + }, + { + "sha": "2c3568c375a0fe2c4970f4e774c1c0a28ba01431", + "subject": "fix(cli): preserve literal HTML text in Markdown tables (#6932)", + "body": "fix(cli): preserve literal HTML text in Markdown tables (#6932)", + "parents": ["c298d54e886b96c6fa95d99ed69420f919cc29a0"], + "authors": [ + { + "name": "ShuaixinHuang", + "email": "1836656514@qq.com", + "user": { + "login": "ShuaixinHuang", + "__typename": "User" + } + } + ], + "pullRequests": [6932] + }, + { + "sha": "c350343c3342f9e9d14d82606f929bf5cb131fc9", + "subject": "fix(http): preserve legal response header names (#6936)", + "body": "fix(http): preserve legal response header names (#6936)", + "parents": ["2c3568c375a0fe2c4970f4e774c1c0a28ba01431"], + "authors": [ + { + "name": "ShuaixinHuang", + "email": "1836656514@qq.com", + "user": { + "login": "ShuaixinHuang", + "__typename": "User" + } + } + ], + "pullRequests": [6936] + }, + { + "sha": "3ce311757dd8ac444c8297b2871464536f93816d", + "subject": "feat(il2cpp): link generic method instances behind --generic-instances (#5785)", + "body": "feat(il2cpp): link generic method instances behind --generic-instances (#5785)\n\n* feat(il2cpp): read generic containers on demand and render method spec names\n\nGeneric container indices and records are demand readers on the same metadata snapshot, so links that do not ask for generic instances allocate nothing. Type rendering keeps one graph walk with its workspace, depth and cycle guards; the C#-like names and the Il2CppDumper GetMethodSpecName names are two styles over it.\n\n* feat(il2cpp): link generic method instances with admitted rows and kept issues\n\ngeneric_instances links every genericMethodTable row through methodSpecs, genericInsts and genericMethodPointers, choosing the one CodeRegistration layout whose counts bound every row. The table is reserved against the report budget before any row is resolved; rows and issues are admitted before retention, and a contradicting row stays unknown with an address-backed issue instead of failing the link. Views page the rows by definition, state, address and name, unrequested and historical collections stay unknown, and Ghidra seeds fold instances after the definitions.\n\n* feat(il2cpp): accept --generic-instances on the CLI and describe it in tool contracts\n\n* docs(il2cpp): describe generic method instances and their limits\n\n* fix(il2cpp): keep issued generic rows unknown and name their row\n\nA method spec that contradicted the metadata still reported its pointer slot as code, while the schema and provider limitation promised unknown. Such rows now keep no address, every issue carries its genericMethodTable row, the domain validator requires unknown exactly on issued rows, and shared specs name one other row instead of all of them. The row-size lower bound moves to the metadata admission owner, the hex helper is shared, and budget wording says checked rather than reserved.\n\n* test(il2cpp): reject ambiguous generic layouts and pin budget, yield and limit paths\n\n* fix(il2cpp): keep unmapped generic slots per row and reject undeclared arguments\n\nLayout selection no longer requires every genericMethodPointers slot to be\nmapped; each row reads its own slot, so one unmapped slot leaves only that\nrow unknown with an issue. Method specs whose class or method argument count\ndiffers from the owner's declared generic container are issued and unnamed.\nFixtures now declare the containers their generic rows fill.\n\n* fix(il2cpp): page generic method issues instead of retaining them in summaries\n\nSummaries keep generic_methods without its issues and count them in\ncounts.generic_method_issues; the generic_method_issues collection pages\nthem by rows, indices and fields, as code_gen_modules already does. Docs\nalso name the method_indices filter the request schema accepts.\n\n* fix(il2cpp): read split generic arguments per slot and method containers on demand\n\nGeneric argument arrays may span adjacent loader ranges: admit them with\nhasPointerArrayCoverage and read each slot through readPointer, instead of\nrequiring the whole array in one mapping.\n\nMethod generic container indices are read on demand from the method record,\nlike type containers, so no link path allocates a per-method column. An owner\nwhose container index is out of range now leaves the method spec unnamed with\nan issue instead of naming it unchecked.\n\n* fix(il2cpp): report generic entries past the address space at their row\n\nA damaged methodSpecs or genericMethodPointers pointer could make a spec or\nslot address exceed 64 bits. The issue kept that address, which the address\nschema rejects, so inspection failed instead of leaving the row unknown.\nCheck the entry range first and attach the issue to the genericMethodTable\nrow (or its slot field).\n\n* chore(il2cpp): remove unrelated formatting changes\n\n* fix: restore adb float pattern and mobile fixture from main\n\nThe merge commit's lint-staged run rewrote these two main files: oxlint --fix\ndropped the escape in [+\\-], which is invalid under the RegExp v flag.\n\n* fix(il2cpp): preserve unreadable generic method identities\n\n* docs(il2cpp): record generic-instance workflow verification\n\n* docs(il2cpp): qualify final integration checks\n\n---------\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["c350343c3342f9e9d14d82606f929bf5cb131fc9"], + "authors": [ + { + "name": "JANG BYUNGKUN", + "email": "bkbkjang@gmail.com", + "user": { + "login": "8rulerstar", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5785] + }, + { + "sha": "e3a6ce40f51fd99efa688e786afda15a9d88ac96", + "subject": "fix(release): recover transient commit-history reads", + "body": "fix(release): recover transient commit-history reads\n", + "parents": ["3ce311757dd8ac444c8297b2871464536f93816d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "de9a8898dc263f6bcab0f717cf5f461ccd538993", + "subject": "fix(artifacts): preserve opaque close hook failures", + "body": "fix(artifacts): preserve opaque close hook failures\n\nTag close outcomes with Result so rejected undefined remains a failure. Preserve all hook attempts, retained resource owners, aggregate causes, and cleanup retry.\n", + "parents": ["e3a6ce40f51fd99efa688e786afda15a9d88ac96"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d9660eb03271d0ce1859cf8720ca460701dd3322", + "subject": "fix(verifiers): share package command and workspace ownership", + "body": "fix(verifiers): share package command and workspace ownership\n\nJoin canonical owned command cleanup before releasing package verifier workspaces. Replace raw package command wrappers, the updater supervisor, WASM cleanup composite, and boolean-only retention with explicit capability ownership.\n\nPreserve selected environments, npm arguments, no-deadline calls, clean exit status, and distinct aggregate/per-stream output budgets. Exercise actual timeout descendants, cancellation, retained cleanup retry, and workspace admission.\n", + "parents": ["de9a8898dc263f6bcab0f717cf5f461ccd538993"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f2fa7f648de3dfbac5de69f3c091a54ffd571015", + "subject": "feat(android): project a structured manifest component inventory (#5025)", + "body": "feat(android): project a structured manifest component inventory (#5025)\n\n* feat(android): project a structured manifest component inventory\n\n* fix(android): derive provider export defaults from the target SDK and match namespaced attributes\n\n* fix(android): bound resolved names and authorities in the component inventory\n\n* fix(android): separate nonliteral exported values from omission\n\n* fix(android): bound manifest component projection\n\n* fix(android): preserve permission override semantics\n\n* fix(android): retain unresolved package identities\n\n* test(android): cover multibyte manifest name budget\n\n* fix(android): measure inherited permission once\n\n* fix(android): preserve unknown symbolic permissions\n\n* fix(android): preserve manifest component uncertainty\n\n* fix(android): report unsupported manifest facets\n\n* fix(android): preserve manifest identities\n\n* fix(android): preserve alias target references\n\n* fix(android): validate alias targets and authorities\n\n* fix(android): bound alias target expansion\n\n* fix(android): index alias target spellings\n\n* fix(android): preserve alias identities and isolate legacy defaults\n\n* fix(android): keep legacy component defaults typed as unavailable\n\n* docs(android): record manifest projection and real JADX costs\n\n* fix(android): preserve SDK defaults and manifest namespaces\n\n* docs(android): verify SDK and namespace ownership corrections\n\n* fix(android): accept DEX class names and hexadecimal SDK levels\n\n* docs(android): record DEX and SDK follow-up verification\n\n* fix(android): validate manifest package identity separately\n\n* docs(android): record final package-identity verification\n\n* fix(android): preserve exact DEX component and alias names\n\n* docs(android): record exact-name integration verification\n\n* fix(android): retain declared foreground service type text\n\n* docs(android): record final declared-value validation\n\n---------\n\nCo-authored-by: BaaRai \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["d9660eb03271d0ce1859cf8720ca460701dd3322"], + "authors": [ + { + "name": "BaaRai", + "email": "130491490+BaaRai@users.noreply.github.com", + "user": { + "login": "BaaRai", + "__typename": "User" + } + }, + { + "name": "BaaRai", + "email": "baarai@users.noreply.github.com", + "user": { + "login": "BaaRai", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [5025] + }, + { + "sha": "a45ee81167569101d2c30ea6873ecdc40073c5a2", + "subject": "fix(ghidra): enforce request limits before encoding (#6917)", + "body": "fix(ghidra): enforce request limits before encoding (#6917)\n\n* fix(ghidra): enforce the bridge request ceiling before writing\n\nHopper and Cutter both measure an oversized payload and refuse it before the\nrequest reaches its bridge, using the shared REA_BRIDGE_MAX_REQUEST_BYTES\nceiling. Ghidra had no ceiling on either end: GhidraWire.request wrote the\nstringified request straight to the socket, and the Java bridge reads request\nlines with an unbounded readLine() after its bounded 64 KiB handshake.\n\nSerialize once, measure the encoded payload, and refuse before the operation\nis registered as pending and before any socket write, so an oversized request\nnever reaches the bridge. Carry the typed constraint as the cause and\nre-attribute it in projectPrimarySessionError, so callers see the same\nresource constraint Hopper and Cutter already report.\n\nThe Ghidra bridge reads no ceiling of its own, so its recovery text names that\nonly the REA client applies the setting instead of asking for a bridge restart.\n\nValidation: src/ghidra/GhidraClientWire.test.ts (3 cases, red then green),\nsrc/config/bridgeMaxRequestBytes.test.ts (16), src/ghidra/GhidraRequestQueue.test.ts\n(25); tsc --noEmit over the changed set exits 0; oxlint reports 0 errors;\noxfmt --check clean; verify:module-boundaries passes. The two failures in the\nwider src/config+src/ghidra+src/hopper+src/cutter sweep\n(captureDecoderHeap, GhidraAnalysisSeeds symlink EPERM) reproduce identically\non pristine bded9c628 with this change stashed. The Ghidra fixture suite\ncannot run on this Windows host: fakeGhidra.mjs renames bridge-endpoint.json\nand hits EBUSY on 3 of 3 runs, so the fixture-level test was not added.\n\n* fix(ghidra): preflight request bytes before encoding\n\n---------\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["f2fa7f648de3dfbac5de69f3c091a54ffd571015"], + "authors": [ + { + "name": "Dery Ferdika", + "email": "114888155+DeryFerd@users.noreply.github.com", + "user": { + "login": "DeryFerd", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6917] + }, + { + "sha": "43c7255dbd54abcfc6e8679e648322a6a75c1637", + "subject": "fix(android): preserve binary class selectors across metadata calls", + "body": "fix(android): preserve binary class selectors across metadata calls\n", + "parents": ["a45ee81167569101d2c30ea6873ecdc40073c5a2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "af3f025688bffcb88786e35e8705b6125dbfe9ed", + "subject": "fix(il2cpp): accept names in native type-reference views", + "body": "fix(il2cpp): accept names in native type-reference views\n", + "parents": ["43c7255dbd54abcfc6e8679e648322a6a75c1637"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3fb26985c4a3113a7bff36829d57f731f6577100", + "subject": "fix(native): classify dyld refusals before export fallback", + "body": "fix(native): classify dyld refusals before export fallback\n", + "parents": ["af3f025688bffcb88786e35e8705b6125dbfe9ed"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9dfa44f7760c8c6e8b83e789e65a9aa0542ce314", + "subject": "fix(cancellation): retain caller reasons at admission checkpoints", + "body": "fix(cancellation): retain caller reasons at admission checkpoints\n", + "parents": ["3fb26985c4a3113a7bff36829d57f731f6577100"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "df5c48ffda0a92e67c15a68a5f6a042d4392ac75", + "subject": "docs(cutter): explain bridge descriptor discovery configuration", + "body": "docs(cutter): explain bridge descriptor discovery configuration\n", + "parents": ["9dfa44f7760c8c6e8b83e789e65a9aa0542ce314"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "18451e47978ca7899ecae4d2ec6fdfc92f9c9d2b", + "subject": "test(release): type patched history options before runtime setup", + "body": "test(release): type patched history options before runtime setup\n", + "parents": ["df5c48ffda0a92e67c15a68a5f6a042d4392ac75"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "48c203f3567e7b79af562349eecb6720a96de667", + "subject": "fix(build): prepare release dependency types during installation (#6978)", + "body": "fix(build): prepare release dependency types during installation (#6978)", + "parents": ["18451e47978ca7899ecae4d2ec6fdfc92f9c9d2b"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6978] + }, + { + "sha": "ddde7276c445fb42ea31952493dacc2a38b7efa0", + "subject": "test(erlang): cover lambdas names filter and chunks miss in BEAM views (#6973)", + "body": "test(erlang): cover lambdas names filter and chunks miss in BEAM views (#6973)\n\nAdd lambdas names-filter selector cases to checkSelectors:\n- names: ['start'] returns the matching lambda with resolved fields\n- names: ['missing'] returns an empty page\n\nAdd a chunks no-match case:\n- names: ['Xyzz'] returns an empty page for an absent chunk tag\n\nAlso clarify in docs/erlang-beam.md what names selects for each\ncollection: the four-character IFF tag for chunks, the resolved\nfunction name (never null) for lambdas, and the decoded atom name\nstring for atoms.\n\nCo-authored-by: Saiyam Jain ", + "parents": ["48c203f3567e7b79af562349eecb6720a96de667"], + "authors": [ + { + "name": "Saiyam Jain", + "email": "62669344+saiyam-jain-dev@users.noreply.github.com", + "user": { + "login": "saiyam-jain-dev", + "__typename": "User" + } + }, + { + "name": "Saiyam Jain", + "email": "saiyam@example.com", + "user": null + } + ], + "pullRequests": [6973] + }, + { + "sha": "d01ee7b19ac9b7ff158fd149cf13d4cf0a5049cd", + "subject": "fix(verifiers): own setup terminal and snapshot lifetimes", + "body": "fix(verifiers): own setup terminal and snapshot lifetimes\n\nJoin identity-verified PTY family cleanup and native exit before workspace removal, retaining failed cleanup capabilities for retry. Replace duplicate kill-and-reject loops with shared process ownership and deadlines.\n\nCapture configuration before setup using owned file handles and compare raw bytes. Preserve interactive cancellation, terminal restoration, redirected output, and selected inputs; remove the test-only forwarding export. Verified 122 focused cases, 9 README cases, build, static checks, docs, discovery, and duplication at 3.58%.\n", + "parents": ["ddde7276c445fb42ea31952493dacc2a38b7efa0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cab78de50673c89766dba2b7687b1bbb5045c43a", + "subject": "feat(ghidra): analyze GameCube/Wii DOL executables through Ghidra (#6240)", + "body": "feat(ghidra): analyze GameCube/Wii DOL executables through Ghidra (#6240)\n\n* feat(domain): parse and validate GameCube/Wii DOL headers\n\nAdd a pure parser for the 0x100-byte DOL header (7 text and 11 data\nslots, BSS, entry point). Used slots must lie after the header and\ninside the file and the 0x80000000..0x81800000 load window; text slots\nare 4-byte aligned; sections may not overlap in memory or in the file;\nthe entry point must be inside a text section. BSS may overlap data\nsections, as .sdata/.sdata2 do in shipped DOLs.\n\nRefs #1741\n\n* feat(binary): admit caller-selected GameCube/Wii DOL targets\n\n* feat(ghidra): import GameCube/Wii DOL targets through a section-map pre-script\n\n* test(ghidra): cover DOL launcher arguments, attestation and raw profile digests\n\n* test(ghidra): add the real verify:ghidra:dol lane and DOL docs\n\n* fix(ghidra): read only the DOL header and section ranges instead of the whole file\n\n* test(ghidra): derive DOL lane addresses from readelf and admit Gekko from the install catalog\n\n* fix(ghidra): attest DOL block permissions, space, overlay and load state\n\n* fix(ghidra): keep load-image permissions optional for older inspections\n\n* fix(contracts): accept DOL targets in binary_session output\n\n* fix(ghidra): adapt the DOL lane to the current upstream address schema\n\nValidate DOL load-image coordinates with the upstream observed-address\nschema, drop a duplicate import left by the rebase, and re-pin the raw\nprofile digests to the unmodified upstream resolver.\n\n* fix(ghidra): preserve bridge inventory symbol provenance\n\n* fix(ghidra): align DOL verification with shared workflow contracts\n\n* feat(domain): parse and validate GameCube/Wii DOL headers\n\nAdd a pure parser for the 0x100-byte DOL header (7 text and 11 data\nslots, BSS, entry point). Used slots must lie after the header and\ninside the file and the 0x80000000..0x81800000 load window; text slots\nare 4-byte aligned; sections may not overlap in memory or in the file;\nthe entry point must be inside a text section. BSS may overlap data\nsections, as .sdata/.sdata2 do in shipped DOLs.\n\nRefs #1741\n\n* feat(binary): admit caller-selected GameCube/Wii DOL targets\n\n* feat(ghidra): import GameCube/Wii DOL targets through a section-map pre-script\n\n* test(ghidra): cover DOL launcher arguments, attestation and raw profile digests\n\n* test(ghidra): add the real verify:ghidra:dol lane and DOL docs\n\n* fix(ghidra): read only the DOL header and section ranges instead of the whole file\n\n* test(ghidra): derive DOL lane addresses from readelf and admit Gekko from the install catalog\n\n* fix(ghidra): attest DOL block permissions, space, overlay and load state\n\n* fix(ghidra): keep load-image permissions optional for older inspections\n\n* fix(contracts): accept DOL targets in binary_session output\n\n* fix(ghidra): adapt the DOL lane to the current upstream address schema\n\nValidate DOL load-image coordinates with the upstream observed-address\nschema, drop a duplicate import left by the rebase, and re-pin the raw\nprofile digests to the unmodified upstream resolver.\n\n* docs(ghidra): qualify the DOL memory window\n\n* refactor(ghidra): own DOL BSS ranges in the parsed header\n\n* docs(ghidra): record real DOL workflows and task costs\n\n* docs(ghidra): record final DOL integration verification\n\n* fix(mcp): share the native procedure search row contract\n\n* docs(ghidra): record public procedure search verification\n\n---------\n\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["d01ee7b19ac9b7ff158fd149cf13d4cf0a5049cd"], + "authors": [ + { + "name": "Ariel Fikru Avicenna", + "email": "71917936+arielfikru@users.noreply.github.com", + "user": { + "login": "arielfikru", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6240] + }, + { + "sha": "89006609f1c09f452391a6b77cf2a64368a0b920", + "subject": "fix(javascript): separate erased types from runtime semantics", + "body": "fix(javascript): separate erased types from runtime semantics\n\nRecord erasure during definition indexing and reuse it across runtime references, captures, effects, module links, routes, Electron and Vite. Preserve source type links and emitted decorator and computed-key effects; keep actual runtime reads and escapes conservative.\n\nValidation: 1,647 focused tests and 9 documentation tests passed, with build, static and documentation gates. The inherited reference-lifetimes stress file exhausts a 512 MiB worker on both unmodified 18451e479 and this change; that file remains unverified. TypeScript 7.0.2 emit was inspected for ES2022 and ES2018 without executing emitted code.\n", + "parents": ["cab78de50673c89766dba2b7687b1bbb5045c43a"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "b22b0ef22a34ce983d12d015d2895f70263f457a", + "subject": "refactor: retire test-only fallback exports", + "body": "refactor: retire test-only fallback exports\n\nRemove duplicate MCP defaults, the fixed CDP deadline message, and the canned Windows authority reason after verifying their only consumers were tests.\n\nPin independent expected budget facts, exercise active default and selected CDP deadlines, and verify exact authored native diagnostic propagation. Preserve malformed-input, cancellation, omission, and authority assertions. Verified 222 focused cases, 9 README cases, build, static checks, docs, discovery, and duplication at 3.58%.\n", + "parents": ["89006609f1c09f452391a6b77cf2a64368a0b920"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dd02d8ff696385949b05459f2ab9b6ffda18a52c", + "subject": "fix(javascript): bound cyclic mutation captures by their paths (#6986)", + "body": "fix(javascript): bound cyclic mutation captures by their paths (#6986)", + "parents": ["b22b0ef22a34ce983d12d015d2895f70263f457a"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6986] + }, + { + "sha": "9895f1870c5537e64f08e9ff145a0917696b7a50", + "subject": "test(evaluation): find failure gate within cleanup callbacks (#6988)", + "body": "test(evaluation): find failure gate within cleanup callbacks (#6988)", + "parents": ["dd02d8ff696385949b05459f2ab9b6ffda18a52c"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6988] + }, + { + "sha": "0402012a9504bde50416df543d5092c763868be1", + "subject": "fix(verifiers): share command ownership and preserve stdin", + "body": "fix(verifiers): share command ownership and preserve stdin\n\nMove command and retained resource lifetimes into a shared verifier owner, keeping package workspace release as a separate dependency. Migrate Pi and Hermes verification to that owner while preserving open pipes, explicit EOF, diagnostics, and retained labs.\n\nRequire positive writable finalization before accepting EOF delivery. Cover premature close, opaque failures, late ownership delivery, mixed cleanup outcomes, exact retry, and real descendant cleanup with authored process boundaries.\n", + "parents": ["9895f1870c5537e64f08e9ff145a0917696b7a50"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "be2811e41407f0149b3e8e12cb2bf0ffd5904b2d", + "subject": "fix(javascript): exclude erased imports from runtime bindings (#6994)", + "body": "fix(javascript): exclude erased imports from runtime bindings (#6994)", + "parents": ["0402012a9504bde50416df543d5092c763868be1"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6994] + }, + { + "sha": "cd1878f3fe934be403edff40e65ea20cb38ffe43", + "subject": "fix(javascript): bound loop capture and rest-copy expansion", + "body": "fix(javascript): bound loop capture and rest-copy expansion\n", + "parents": ["be2811e41407f0149b3e8e12cb2bf0ffd5904b2d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2250e67bc271c83f9e200ee298aa04a2457438a6", + "subject": "fix(verifiers): consolidate native client command lifetimes", + "body": "fix(verifiers): consolidate native client command lifetimes\n\nMigrate the remaining native verifier commands to shared ownership with explicit stdin contracts, command-before-fixture cleanup, and failure receipts. Preserve observed catalog counts and unknowns, retained artifacts, native assertions, and selected launch inputs.\n\nRemove the obsolete raw exec export and share output persistence across native verifiers. Exercise actual entrypoints with authored failed preflights and acknowledged descendants, plus filesystem failures and opaque error preservation.\n", + "parents": ["cd1878f3fe934be403edff40e65ea20cb38ffe43"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "73320bb2c9488888904cddb1f998791c840e5b97", + "subject": "fix(ci): isolate browser verifier D-Bus sessions (#6999)", + "body": "fix(ci): isolate browser verifier D-Bus sessions (#6999)", + "parents": ["2250e67bc271c83f9e200ee298aa04a2457438a6"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6999] + }, + { + "sha": "2e86294c860710af933ba7c996d8f0f35e6dc48d", + "subject": "fix(firmware): stop recommending a raise at the staging budget ceiling (#6971)", + "body": "fix(firmware): stop recommending a raise at the staging budget ceiling (#6971)\n\nThe staging refusal told callers to increase max_output_files or max_output_bytes within its schema maximum. At the schema ceiling that recovery does not exist, so the refusal was unactionable exactly where the least room remains.\n\nfirmwareStagingBudgetRemediation now branches on the selected value against the schema maximum: below the ceiling it names the room and the control, at the ceiling it states that a further raise is unsupported and points at a smaller firmware byte range. The schema maxima move into named constants so the advice and the accepted range cannot drift apart.\n\nVerified with a module test for both budgets at the ceiling and one below it (red on the previous single-form remediation), plus the existing firmware suites.", + "parents": ["73320bb2c9488888904cddb1f998791c840e5b97"], + "authors": [ + { + "name": "吴佳浩Alben", + "email": "35291372+XiaoBinGan@users.noreply.github.com", + "user": { + "login": "XiaoBinGan", + "__typename": "User" + } + } + ], + "pullRequests": [6971] + }, + { + "sha": "347b6e4d95e0aca27975731f96f51d6da9feb0fa", + "subject": "test(verifiers): assert shared command diagnostics and identity (#7002)", + "body": "test(verifiers): assert shared command diagnostics and identity (#7002)", + "parents": ["2e86294c860710af933ba7c996d8f0f35e6dc48d"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [7002] + }, + { + "sha": "d361c53c504590b5ec90e9c690b5a2d6ae67cc38", + "subject": "feat(environment): serve writes by what their recordings show (#6897)", + "body": "feat(environment): serve writes by what their recordings show (#6897)\n\n* fix(environment): keep read-only POSTs out of the write list\n\nA POST that repeats the latest read of its path, tunnels only read\noperations, names a lookup in its path's last meaningful word, or renews\na session no longer counts as a state write: it is replayed, does not cut\ninitial windows, and does not end observation searches. A tool stays a\nwrite when a related read line changes across one of its calls.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): take an entity an unplanned write made when a read first shows it\n\nA successful item read of an entity the gate's copy never held, after a\nwrite no built plan models, puts the entity into the copy instead of\nfailing the read, so later writes to it are checked as usual. An entity a\nmodelled write touched is never taken back.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): plan a create into the type its returned id is read under\n\nA POST whose path names no state type becomes a create into the type\nwhose item read first names an id its response returned, when the id is\nnew to the state; serving creates in that read's collection. A successful\nPOST that returned an id a type's reads only show after it also ends that\ntype's initial window, so entities a capture created stay out of the\ninitial state.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): end a type's initial reads at the write its reads disagree across\n\nWhen a type's reads disagree across a write under another root, the\ntype's initial window now ends at the earliest write within that change\nand the state is extracted again, instead of leaving every view of the\ntype replayed. The cut composes with the creation cut; the earlier wins.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): replay request lines that show entities in another form\n\nA read line that shows the same entities in another form, by an extra\nquery parameter that adds or drops members, or conflicts with a base\nline on a shared entity, is a variant: it leaves the view's checks and\nthe entity observations, the view names it with the query keys that pick\nit out, and a call matching those keys replays its recording. A filter\nrole whose name matches no field needs two agreeing values.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): specify and record the state-target changes\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep a read-only POST a write when its evidence is incomplete\n\nBody-level container operations are skipped like query ones, a lookup is named only\nby the path's last literal segment and never alongside a write word, a tool with a\nredirected or unanswered call is not reclassified, and the mutation veto is resolved\nover all candidates at once so another read-only call cannot explain a read change.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): answer a field selection only when the state shows it exactly\n\nServing tests a field selection before any variant key: a projection value a replayed\nread gave, or one no checked line gave other than `*`, replays. A list sets aside a\nline asking for some fields only before the identity proof, and a dropped variant's\nmembership change no longer rewrites the type.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): hold adopted entities and linked creates to what the recording shows\n\nAn adopted entity is charged against the view's budget like a created one. A linked\ncreate holds only for its exemplar's path arguments: serving refuses others and the\ngate counts such a call as unmodelled. A response's identity-named id links at any\nlength, but a short one only to a type read before the call.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the review fixes' measurements\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): release a discarded planning pass before planning again\n\nA rewrite cut clears the first pass, so the budget rewinds to a checkpoint taken after\nthe write cutoffs and created ids before the state is extracted again. Rewrite spans are\ncharged and appended without spreading them into an argument list.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): link no create whose id an earlier read showed, and read only whole batches\n\nA linked create is rejected when an earlier list of its type or read of its collection\nshowed the returned id. Body ids are walked without spreading children into an argument\nlist. An RPC call reads only when every operations entry names an operation of its own.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): let the gate skip exactly the reads serving replays\n\nServing's replay decision moves to the domain as replayReason, and the write gate uses it:\na read serving replays can neither approve nor veto a write, and a read of every field\nbeside a replayed selection is checked. A selection read missing a required field is\nstill skipped, since part of an entity can neither confirm nor check it.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the second review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): read writes, links and creation cuts only from evidence that rules out other causes\n\n- A read-only POST repeats only a read that finished before it began; the veto compares\n the latest read finished before a call with the first begun after it, and counts a\n recorded absence on one side as a change. `modify` and `replace` are write words.\n- A redirected or unanswered write lets a later item read adopt the entity it may have made.\n- A creation cut counts a read still running when the POST began as after it, and a list\n read shows its listed entities' own ids, not those they nest.\n- A linked create's item read must come before any other tool's write.\n- Line shapes are charged to the budget as they are built.\n- A `fields=*` list line is whole, not a field selection.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the third review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): tie linked creates to their returned ids and order state by the lines left\n\n- A linked create is observed only in a read of an id its response returned,\n envelopes included, and serving takes its recorded path values in either spelling.\n- A list read shows a suffix-named identity (`projectId`) distinct across its entities.\n- A read-only POST compares the read that finished last before it began.\n- An entity's first sighting comes from the lines left after variant lines are dropped.\n- The pairwise variant pass stops at a work limit, leaving every line checked.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the fourth review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep foreign keys, stale reads and double decoding out of write evidence\n\n- A list read counts a suffix-named field as its entities' ids only when no\n id-named field identifies them, so an `ownerId` beside `id` cuts no window.\n- A read-only POST is compared with the read that finished last among those no\n other write follows, so a consuming call stays a write.\n- A linked create's source path values compare as spelled on both sides, so no\n spelling is decoded twice.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the fifth review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): compare linked sources by position, decode path fields once and bound read and variant scans\n\n- A linked create's source values compare segment by segment, so a template\n naming two parameters alike cannot accept a changed first one.\n- Serving fills a linked create's path fields with its arguments decoded once,\n as the gate learned them.\n- The read-only check reads each related line's records once per call, between\n the nearest other writes.\n- Member signatures are JSON arrays, so a name holding the separator still\n conflicts; the variant work limit counts line pairs as well as entities.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the sixth review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): replay late and variant-only items, fill linked path fields from the exemplar and charge membership spans\n\n- An item line first recorded after the initial window that names a new shaping\n parameter and shows other members is a replayed variant, like an initial one.\n- An item only a replayed line showed, which the state never started with,\n answers with its own recording; one the state held and lost stays missing.\n- A linked create fills its path fields from its exemplar's path decoded once,\n whichever accepted spelling the call sends.\n- Each membership change span is charged against the budget before it is kept.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the seventh review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): blame a failed read on the writes whose fields it disagrees on\n\nA failed item read with no interfering unmodelled write contradicts its creates and\ndeletes, and an update only when a field the update wrote or its response showed\ndiffers. A create is contradicted when a later read embeds it elsewhere and the state\ndoes not. A create member is fixed to its recorded value when a constant it would\nhave to change derives from it: its text inside a constant, a referenced entity's name,\nor an instant beside a sent date, matched by related field names.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): explain unsent update changes and nested clocks by what the recording shows\n\nAn update's unsent change can be a modified-by stamp beside a created-by counterpart, a\nvalue derived from the one sent member stored nowhere (accepted only while the target\nholds the recorded before-value), or a sent clock the call left in its own second.\nObjects whose clocks all moved with the request are nested clocks, opaque tokens of a\ntype's own length are generated, and an enveloped body is learned as its one object.\nA write takes only its recorded query, an echoed reference to a nested object and a\nstate word paired with other fields stay at their recorded values, and a slug is tried\nbefore a token.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): order collections by whole lines and sort only arrays a read-back proves sorted\n\nA collection's initial order comes from the first list line that shows every entity its\ntype's sightings do and applies no order. A view renders a string-array field sorted\nonly after a counted read-back shows the written values in an order that neither the\nwritten order nor existing-values-first explains, and never once a read showed it\nunsorted. Sort and direction parameters share one vocabulary and are never learned as\ninert, and a create placed by disagreeing sorts or a random id falls back to last.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* feat(environment): serve bulk writes at a collection and target item actions\n\nA DELETE, PUT or PATCH at a collection, or a POST at its delete path, whose body names\nheld entities by id is applied to each named entity, and serving refuses it unless every\nid is held. A POST to an entity's action path that answers nothing or the entity is an\nupdate of it; it is served only when a recorded call found each scalar it sets already\nat that value. Served bulk bodies advertise their items, and compare probes pass them.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): decide late item lines against the lines left, charge replay keys and bisect rewrite cuts\n\n- Item lines first recorded after the initial reads are decided once variants\n are dropped, against the lines left: a new shaping parameter showing other\n members, or a selection of some fields leaving members out, replays.\n- Each replay key is charged against the budget before it is kept.\n- A rewrite span's earliest write is found by bisection over the writes.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the eighth review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): set aside response members a path mints anew on every read\n\nA top-level UUID or clock that differs on every repeat of one path's successful reads,\nwith no write between, is left out of that path's item, list and document comparisons\nand named in the view's per_response_members. Serving keeps the recorded value.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): count only reads finished before a linked create began as showing its id held\n\nA list still running when the call began may show what the call made, as the\ncreation cut already decides, so it no longer refuses the link.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): count a list total nested in a paging object\n\nAn item total in a top-level object beside the list, such as pageInfo.totalRows, is a\ncounter on the same evidence as a top-level one: it must equal the number listed, and\none that differs marks the line partial. Serving and the gate render it from the state\nthrough its JSON pointer and leave the object's other members as recorded.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): take a created entity's nested clocks from its read-back\n\nAfter a create's generated values pass, its stored nested clocks take the instants the\nfirst later read of the entity shows, as an update's already do, so a create whose\nresponse and read spell the clock differently is confirmed.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): import the compare tool definition as a type\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): describe the new write rules and trim repeated parsing\n\nThe environment and capture docs describe sorted arrays, per-response members, nested\ncounters, item actions, bulk writes, the new write rules and refusals, and their known\nlimits. `_order` is a direction only. Sorted-array retries and the per-response scan\nparse only the reads they need, and identifier words come from one helper.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): confirm no update whose clocks or fields the evidence cannot show it writing\n\nAn unsent clock an update left in the second it ran keeps the update unconfirmed until\nanother call shows the clock stamped. A field the state lacks that the read and the\nupdate's response both show is the update's change, so without a rule for it the read\nconfirms nothing. A modified-by name stamp brings its id sibling along, and created\nentities are indexed by id when a failed read is checked for embeds.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): show pinned query and body values in the served catalog and apply bulk writes atomically\n\nA pinned query parameter is required with its recorded value as the only choice, and a\ncall that leaves it out takes that value. A fixed body member shows its recorded value,\nand an enveloped body its wrapping, in the schema, the description and the refusal.\nBulk writes go through the same query pin and update or remove their entities at once.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): specify and record the write-rule changes\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep served creates' items missing, check same-type earlier reads, and bound late lines and read-only stretches\n\n- An item only a replayed line showed replays only while no served create has\n added to its type, so a created and deleted item stays missing.\n- A linked create's earlier item-read veto checks only reads of the candidate's\n type or collection that show the item, so another type's id does not hide it.\n- An item read answered with JSON null shows no id to a creation cut.\n- Late lines' member names are charged before they are kept.\n- The read-only check precomputes nearest writes and passes once over each\n write-free stretch per path, skipping lines whose reads all agree.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the ninth review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): link creates past empty item reads, sweep repeated reads once and keep only returned ids for creation cuts\n\n- A linked create passes over a later item read naming its id whose body shows\n no item, such as JSON null, and links the next one.\n- Read-only repeated reads are found in one sweep: each path's reads wait by\n end time until a call's start passes them, and a write clears them.\n- A creation cut keeps, and charges, only the shown ids some creation returned.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the tenth review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): take bulk ids literally, check each recorded call's query once, and keep learned sorts open to contrary reads\n\nBulk writes take body ids as written, refuse a call naming one entity twice, size updates from the replacements\ninstalled, generate each entity's values from that entity, and delete only with the members their exemplar sent\nbesides the ids. Comparison translates bulk body ids with the target collection's mapping.\n\nUpdate rules echo a creation clock sent back unchanged, require every held clock, and refuse a nested clock once any\nrecorded call kept its object. A recorded call sent with another query than its exemplar's, including item actions,\ndocuments and deletes, neither confirms nor teaches its plan, and only successful calls with that query relax a\ncreate's guards.\n\nA counted read listing a learned array unsorted drops the sort from its view, sort evidence comes only from the\nentities the read covers, and a top-level counter whose name starts with a slash is named by its escaped pointer.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the review fixes' checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* perf(environment): compare variant lines through shared entities and parse each compared body once\n\nThe variant pass indexes a tool's lines by the entities they show and compares only lines that share one, charging\nthe index to the budget while it is held; the pairwise work limit still decides when a tool keeps every line checked.\nRead-only decisions keep each response body's canonical digest, taken once while its parse is charged, across calls\nand veto passes. The creation cut no longer parses reads at or after the write that ends the initial reads, and reads\nthe ids a body shows inside its lease. Adoption looks up a read's target only after an unplanned write before it.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the eleventh review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* perf(environment): list a type's collections only when the path's own holds no id, and parse variant base lines once\n\nThe write gate's item target lists the type's held collections, and the removed targets', only when the path's own\ncollection holds none of its ids, so a served item view's reads no longer walk every entity of the type. The variant\npass parses the base lines' queries once for all the variants they key, and not at all when it found none.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the twelfth review round's checks and the sweep's cost\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the 50-capture sweep's wall, CPU and peak memory\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): remove duplicate schema after main integration\n\n* fix(environment): honor recorded bulk identity kinds\n\n* fix(environment): retain scoped evidence and honor write defaults\n\n* test(environment): keep SDK regressions independently scoped\n\n* docs(environment): record scoped write verification and measured costs\n\n* fix(environment): serve bulk writes whose response lists each entity they wrote\n\nA bulk call answering an array with one element per entity its body names, in the body's order, is classified by\nits elements, so the existing renderer serves it from the entities each call writes. Responses listing entities out\nof order, with differing members or id spellings, wrapped elements or an envelope still refuse.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): measure the 50 captures at the scoped-envelope head\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): classify bulk responses and release verifier transforms\n\n* fix(environment): classify and verify complete bulk responses\n\n* fix(javascript): retain capture context along covered mutation paths\n\n* test(environment): verify bulk responses through the real MCP SDK\n\n* test(environment): separate bulk response proof regressions\n\n* fix(environment): preserve request absence and generated value relationships\n\n* fix(environment): verify complete nested clocks on creates\n\n* fix(javascript): erase inline type imports before binding values\n\n* fix(environment): share complete generated value verification\n\n* fix(verifiers): load the Windows source graph only when needed\n\n* fix(environment): validate write responses before stored clock restamps\n\n---------\n\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["347b6e4d95e0aca27975731f96f51d6da9feb0fa"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6897] + }, + { + "sha": "02e049744f02f5a821c015269c9b867be690a806", + "subject": "feat(environment): build agent environments from a prompt (#6946)", + "body": "feat(environment): build agent environments from a prompt (#6946)\n\n* feat(environment): report what an environment serves with an environment-coverage view\n\nA new inspect_analysis_view kind over capture Evidence. It projects the\nstate an environment derives with the given template rules and reports\neach tool as answered from state, replayed with its view reason, a served\nwrite, or a withheld write with its reason, the records behind it and a\nhint about what to record next. The hints cover every write reason, so a\nnew reason without one fails to compile.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* feat(environment): build an environment bundle in one command\n\nrea environment-build [directory] inspects a HAR (or reads\ncapture Evidence), projects the environment manifest from the in-memory\nEvidence, authenticates the pair, prepares the state and writes the bundle\nenvironment-export writes. Every bundle file is byte-identical to the\nthree-step path for the same capture and options.\n\nThe report adds the capture and manifest identities, the coverage summary,\nwarnings (a loopback capture named after its file, credential-named body\nmembers by pointer) and the next command. --dry-run writes nothing. The\ndefault template rules are the four the published environments use.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(environment): cover environment-build and the coverage view\n\nDomain tests check the hint table against the state view's reasons, the\nsummary, and the view against the environment-state view it summarizes.\nService tests build the fixture capture and compare every file with the\nthree-step path, a dry run, loopback naming and the refusals. A CLI test\ncompares a HAR built in one step with the three CLI steps byte for byte,\nand an MCP test projects the view from every source kind.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(environment): build the real-agentenv lane's bundle with environment-build\n\nThe lane now runs the command users run: it builds the Grafana-shaped HAR\nwith environment-build and the packed checkout, checks the report, then\nruns the bundle with agent-env as before.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): document environment-build and the coverage view\n\nThe agent environments guide opens with the one-step build: the report,\nthe hint for each withheld write reason, and what a bundle ships. The CLI\nguide, the capture guide and the skill reference name the command and the\nenvironment-coverage view.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): harden environment-build after review\n\n- The credential scan walks with its own stack, so a deeply nested body\n cannot crash the build, and it also reports credential-named header\n names, query names, form body members and string arrays.\n- The build checks SIGINT between stages: cancelled before the bundle\n stage it writes nothing, during the write it names the written bundle.\n- A dry run opens the package tarball, so it refuses what a build refuses.\n- Repeated template rules are refused, a HAR saved as .json gets a hint,\n file-derived names follow the bundle name rules, `localhost.` counts as\n a loopback origin, and the next command is shell-quoted.\n- --capture-timeout-ms passes through to the HAR inspection, and a\n missing directory is refused before inspection.\n- The no-observation hint covers updates and deletes of entities the state\n never held; the coverage view states that it does not apply the\n serve-time admission checks; the inspect_analysis_view description\n names the view.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): state the build's conditions and record its verification\n\nThe guides now state when the one-step bundle equals the three-step one,\nwhich headers inspection excludes, what the credential warning scans, how\ncancellation behaves, and that the coverage view does not apply the\nserve-time admission checks. The spec folder records the census, the end\nto end runs, the gates and the review.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): dispatch a pending interrupt before each build stage check\n\nThe manifest, state and coverage stages run synchronously, so a SIGINT\nthat arrived during them was only dispatched once the bundle write had\nbegun. Each check now yields first, so an interrupt before the bundle\nstage cancels the build with nothing written.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* feat(browser): send declared requests from a scenario page with a request step\n\nA capture_browser_scenario step `request` sends one declared HTTP request\nthrough the page's own fetch, with its cookies and session, the way the\napplication's frontend would, and reads the whole response so the capture\nrecords the transaction like any other. The path must resolve to the start\nURL's origin, and the page must be on that origin when the step runs.\nQuery values and header values may be literals or declared secrets, and a\nheader may read its value from a cookie or a local storage entry, which is\nthen redacted from later records like a declared secret. `expected_status`\nfails the step on any other status. Scenarios without a request step are\nunchanged.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(browser): verify request steps in a real browser through to a built environment\n\nverify:browser:request records a write session against a fixture item API\nthat refuses writes without its CSRF cookie header and stored bearer\ntoken. It checks that every request lands in its own step, that the page\nvalues authenticated each write and appear in no record, header or body,\nthat an unexpected status fails the step and cancels the rest, and that\nenvironment-build serves the recorded create, update and delete.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* feat(environment): export environment bundles over MCP\n\nexport_environment_bundle writes the bundle environment-build writes, from\ncapture Evidence retained in the session or one capture Evidence file,\ninto an absolute output directory that must not exist and whose parent\nmust exist, as extract_firmware and export_web_scripts require; it never\ncreates the parent or reuses a directory. It returns the same report,\nwhose schema now lives in the domain so the CLI and the tool share it, and\ndry_run reports without writing. A loopback capture without a file needs a\nname. The build's refusal messages no longer name CLI flags.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): scan scenario credentials, own the dry-run tarball and serialize Evidence once\n\nA browser scenario's retained header values and the query parameters of its recorded URLs are scanned for credential\nnames as a HAR's are, through a review projection of its records. A dry run admits and releases the package tarball\nthrough the export's regular-file scope, so a close it cannot confirm keeps its owner, and checks for cancellation\nafter that last await. Evidence is written into one exactly sized buffer instead of chunks joined by a copy.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(skill): build agent environments from a prompt with request steps and the bundle tool\n\nAdd the environments reference to the skill and install it with setup: record\nagainst a disposable instance, sign in through the UI, write with request\nsteps and read each write back, check coverage, re-record by withheld reason\nand export the bundle. Route it from SKILL.md, name agent environments in the\nskill description, and document the request step, the export tool and\nrecording writes.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* refactor(browser): split the request lane and header resolution into smaller functions\n\nCo-Authored-By: Claude Opus 5.5 \n\n* style(environment): format the build spec\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): say when an untimed capture learns no write clock\n\nCoverage of a capture whose records are not all timed, which includes every\nbrowser scenario capture, now states that the state learns no clock, so an\nupdate stamped with a server-set modification time stays unexplained-change\nhowever often it is recorded.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(skill): give agents a whole scenario shape with step timeouts\n\nAgents guessed the scenario schema field by field and two hung on steps\nwithout timeout_ms. The reference now starts from a complete scenario with a\ntimeout on every step, and says a scenario capture cannot serve updates the\napplication stamps with a modification time.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(browser): keep request steps on their origin and their page values redacted\n\n- Follow no redirects: a redirect fails the step and nothing reaches the\n location it names (checked in real Chrome), and check the page's origin\n again in the page as the request is sent.\n- Send nothing once the step's time has run out or it was cancelled while\n header values were read; the in-page deadline is what remains of the step's.\n- Keep every page value redacted under a repeated or colliding label, keep a\n value's first marker when it is read again, and leave values shorter than\n 8 characters unredacted rather than rewriting ids, ports and hosts.\n- Refuse a header name given twice, User-Agent (Chrome drops it) and line\n breaks in literal values and prefixes; fail before sending when a secret or\n page value holds them.\n- Append query entries after the path's literal query without re-encoding it.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): document request step limits and word bundle refusals for both surfaces\n\nDocument redirects, timeouts, page value redaction, HttpOnly cookie sources\nand header refusals for request steps. Refusals shared by environment-build\nand export_environment_bundle no longer name CLI flags, and the retained\nloopback refusal no longer prints an empty file name. The skill reference\nasks for read-backs after each write, shows the coverage view's source, names\npackage_tarball for unreleased builds and the browser path a scenario ships.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): scan every form occurrence and MIME-less scenario bodies\n\nThe build's credential scan collapsed form bodies with Object.fromEntries, so a\nrepeated field kept only its last occurrence: `api_key=secret&api_key=` warned\nabout nothing although the Evidence ships the value, and repeated values were\nundercounted. Form fields are now scanned as ordered name/value pairs, as\nheaders and query strings already are.\n\nThe review projection of a capture_browser_scenario dropped a request body\nrecorded without a media type, so the scan never saw it. Review keeps such a\nbody's text with an empty media type; the manifest projection still reads only\nbodies it can classify.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(browser): close request step edge cases from the second review\n\n- Append query entries correctly after a path ending in \"?\", \"&\" or \"#\".\n- Refuse 3xx expected statuses, which an unfollowed redirect can never\n report, and say a redirected write may already have been applied.\n- Redact a page value also as fetch sends it, without surrounding spaces\n and tabs.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): document page value body costs, redirects and MCP dry runs\n\nDocument that reading a page value shrinks the bodies a capture keeps under\nthe default allocation limit, that redirected writes may have landed, that\nthe MCP dry_run still checks its output directory and which refusals name\nthe tool, and keep the .har hint in the HAR-as-JSON refusal for both\nsurfaces.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the prompt-to-environment verification\n\nGates, the real-browser lanes, five environments built from prompts by an\nagent on disposable VMs and evaluated with two models, and the two reviews.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(skill): count rollback failures from the managed skill files\n\nThe environments reference made the skill eight files, so the recovery tests now derive the counts they expect from\nMANAGED_SKILL_FILES instead of fixing them at six and seven.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(adb): restore the portable Java float pattern a merge rewrote\n\nA lint autofix during a merge unescaped the hyphens in javaFloatValuePattern, which is invalid in a v-mode character\nclass, so the advertised start_adb_activity schema failed to compile in every JS regex mode. The file now matches main.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(browser): show the request step inside a whole scenario\n\nEvery JSON example in the browser scenario guide is a capture_browser_scenario input the catalog test parses, so the\nrequest step example now sits in a launch scenario instead of standing alone.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): scan structured HAR form params and the request side of unattributed scenario transactions\n\nA HAR request recorded with postData.params and no text is scanned by those parameters, each occurrence counting, and\nthe review projection keeps the request side of a scenario transaction whose response cannot be attributed, so the\ncredential warning covers what evidence.json ships in both cases.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): validate build paths and read dry-run tarballs\n\n* fix(environment): report bodies too large for the credential scan\n\nText bodies over the scan's 4 MiB limit, including a response decoded only as a prefix, are reported as a\ncredential-scan-incomplete warning by record and side, never by content, so an absent credential-named-members\nwarning no longer reads as a complete check. The spec and agent-environments guide also state the path validation and\ndry-run tarball read that e52ae1cd added.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(verification): release cold source transform services\n\n* fix(javascript): retain capture context along covered mutation paths\n\n* fix(environment): guard request dispatch and report export limits\n\n* fix(environment): admit serialized exports and scan HAR form fallbacks\n\n* fix(environment): admit in-memory build inputs against heap headroom and scan SaveHar null-text forms\n\nThe inspected HAR's Evidence and the projected manifest are checked against live heap headroom before they are\nserialized, with the same check the file route uses, so a capture too large to parse and seal is refused as\nresource_constraint before anything is written. A request whose postData text is SaveHar's null is scanned by its\nstructured params.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): measure the credential scan limit in UTF-8 bytes\n\nA body counts against the 4 MiB limit by its UTF-8 length, not its UTF-16 code units, so multibyte text over the\nlimit is reported as unscanned instead of parsed.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(browser): send request steps only before their deadline and keep page reads on the start origin\n\nThe page receives the step's absolute deadline and a one-second start window, so a busy page that runs the request\nlate, or after the step is cancelled, sends nothing; local storage is read only on the start origin; the response is\ndrained without keeping its body; an unparseable path is a field issue; retained Evidence is refused for heap headroom\nbefore it is serialized; and the skill says how to reach server-assigned ids.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* style: format integrated export admission\n\n* fix(javascript): erase inline type imports before binding values\n\n* fix(browser): run the request lane under the shared verifier command owner\n\nThe browser request lane runs each CLI call through createPackageVerifierCommands on a private runtime root, so a\ntimeout, output overflow or failure stops the CLI and the browser it launched before the root is removed, and a failed\nstop is reported with the root retained. The verification record states the lane's current counts.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): scan scenario content by event and read bodies by their media type\n\nA browser scenario's credential scan reads every retained network-content event, including a response attached\nmid-flight and a transaction no record represents, with event pointers, and each transaction URL's query once; the\nreview record projection it replaces is removed. A body is parsed as a form or as JSON by its recorded media type,\nfalling back to its shape, so valid forms such as `password=x&` are scanned and sentences are not read as forms.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["d361c53c504590b5ec90e9c690b5a2d6ae67cc38"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6946] + }, + { + "sha": "3d84215bb2dde12b17ca311a6f369301d6a76a78", + "subject": "feat(pe): inspect TLS callbacks and load configuration (#7008)", + "body": "feat(pe): inspect TLS callbacks and load configuration (#7008)\n\n* feat(pe): inspect TLS callbacks and load configuration\n\nAdds inspect-pe-load-config and inspect_pe_load_config for PE32 and\nPE32+ images, with artifact hashes and file ranges in the returned\nevidence. Reports callback addresses and mappings, plus size-covered\nsecurity-cookie, SafeSEH, CFG, EH-continuation and XFG fields;\nflag-derived mitigation claims are explicitly labeled inferred. Missing\ndirectories remain null, and malformed storage or exhausted read budgets\nreturn errors without partial success. Adds documentation and tests for\nservice validation, CLI/MCP access, malformed inputs and stable-file\nhandling.\n\nx86 images that declare the legacy 64-byte load-config directory are\nread to the structure's own Size when those bytes are file-backed, as\nthe Windows loader does.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_016y53PdpyMAp9RSW65fatHe\n\n* fix(pe): retain snapshot facts and bound load-config section lookup\n\nKeep the completed stable-read path, SHA-256 and byte count as a\nfile-snapshot-hash partial observation when descriptor close fails or is\ncancelled. Report the checked Size span as structure_location and add it\nto Evidence locations beside the declared directory range. Resolve\ncallback sections through a sorted segment index built once per image,\nkeeping the ambiguity failure. Pin every load-config field to offsets\ntranscribed from the PE/COFF spec and llvm COFF.h at its exact Size\nboundary for PE32 and PE32+.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_016y53PdpyMAp9RSW65fatHe\n\n---------\n\nCo-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["02e049744f02f5a821c015269c9b867be690a806"], + "authors": [ + { + "name": "Matt Van Horn", + "email": "mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Matt Van Horn", + "email": "455140+mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [7008] + }, + { + "sha": "c6a2576aba1351f6de2c47b994336ccb4eb2c67e", + "subject": "fix(contracts): reject NUL bytes in objdump and rizin local path inputs (#3600)", + "body": "fix(contracts): reject NUL bytes in objdump and rizin local path inputs (#3600)\n\nCo-authored-by: qorvr <330186599+qorvr@users.noreply.github.com>\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>", + "parents": ["3d84215bb2dde12b17ca311a6f369301d6a76a78"], + "authors": [ + { + "name": "qorvr", + "email": "cadefunn@gmail.com", + "user": { + "login": "qorvr", + "__typename": "User" + } + }, + { + "name": "qorvr", + "email": "330186599+qorvr@users.noreply.github.com", + "user": { + "login": "qorvr", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + } + ], + "pullRequests": [3600] + }, + { + "sha": "791524c2faa1c43f487a0b22e51c2d5dc72fdeb1", + "subject": "fix(importer): reach package-main selection for trailing-slash directory references (#4219)", + "body": "fix(importer): reach package-main selection for trailing-slash directory references (#4219)\n\n* fix(importer): reach package-main selection for trailing-slash directory references\n\nposix.normalize preserves a trailing slash in the specifier, so normalized was sub/ while dirname(match) was sub; the resolvedThroughIndex comparison failed and selectPackageMain never ran for require(\"./sub/\"). Compare against the slash-stripped directory so trailing-slash directory references take the same package-main path as the plain spelling. Boundary rows pair each trailing-slash request with the existing manifest fixtures and are validated against Node's own resolver in the same table.\n\nFixes #4189\n\n* fix(importer): derive trailing-slash directory identity with path semantics\n\nThe lookbehind strip kept a trailing slash when the final component ended in a line terminator (require(\"./pkg\\n/\")), so dirname(match) still never matched and the trailing-slash path skipped package-main selection for those directories. Join the normalized path with \".\" instead: path semantics collapse any trailing slash run regardless of the preceding character, and behave identically to the strip on every other spelling. Boundary fixture gains a newline directory with a package.json, an index and a declared main so the index path (not the no-match branch) exercises the comparison.\n\nAddresses Codex P1 on #4219\n\n* fix(importer): normalize package-main targets with path semantics\n\n---------\n\nCo-authored-by: Hemang Varshney <218273197+hemv-857@users.noreply.github.com>\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 ", + "parents": ["c6a2576aba1351f6de2c47b994336ccb4eb2c67e"], + "authors": [ + { + "name": "Hemang Varshney", + "email": "htv0825@gmail.com", + "user": { + "login": "hemv-857", + "__typename": "User" + } + }, + { + "name": "Hemang Varshney", + "email": "218273197+hemv-857@users.noreply.github.com", + "user": { + "login": "hemv-857", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + } + ], + "pullRequests": [4219] + }, + { + "sha": "48ff37f6eaa1148068b0b0bcc46658127b031655", + "subject": "fix(verifiers): consolidate shared helper ownership", + "body": "fix(verifiers): consolidate shared helper ownership\n\nUse JSON.parse directly in package verification and retain one parsed Cursor recovery snapshot. Route native command source loading through the shared transform-service owner so completed command cleanup leaves no transform child.\n\nPreserve JSONC validation and caller inputs. Cover the actual public source-loading lifecycle with an authored command and verified process lineage.\n", + "parents": ["791524c2faa1c43f487a0b22e51c2d5dc72fdeb1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "de088fcec661a215df76e234c5375c952e2f5c58", + "subject": "fix(verifiers): join model fixture request finalization", + "body": "fix(verifiers): join model fixture request finalization\n\nKeep each admitted HTTP handler owned through Evidence writes and error rendering, including after its client disconnects. Close joins graceful transport shutdown and handler work before publishing completion, and propagates exact late failures while preserving ordinary request diagnostics.\n\nShare lifecycle ownership across OpenAI, Anthropic, and Gemini fixtures while retaining protocol-specific parsing and responses. Exercise real disconnects, graceful concurrent and repeated close, ordinary 400s, and opaque late failures.\n", + "parents": ["48ff37f6eaa1148068b0b0bcc46658127b031655"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "dba8a319789a09d61a11206d3d581514416c9149", + "subject": "feat(elf): inspect Linux kernel module metadata (#7010)", + "body": "feat(elf): inspect Linux kernel module metadata (#7010)\n\n* feat(elf): inspect Linux kernel module metadata\n\nAdds inspect-kernel-module and inspect_kernel_module for ELF32/ELF64\nET_REL Linux kernel modules, read statically without executing them.\nReports ordered .modinfo entries with duplicates preserved, __versions\nsymbol CRCs, the presence of .gnu.linkonce.this_module and __ksymtab,\n.init.text and .exit.text sizes, and an appended module signature\ntrailer with its PKCS#7 byte range and SHA-256. gzip, xz and zstd\ncontainers are reported unsupported with external decompression as the\nnext probe. Malformed headers and exhausted entry budgets return no\npartial success.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_016y53PdpyMAp9RSW65fatHe\n\n* fix(elf): bound kernel module ksymtab listing and tighten contracts\n\nCharge listed __ksymtab* sections against max_entries, omit section names\nlonger than 256 bytes with ksymtab_name_exceeds_limit, and aggregate the\nnon-file-backed limitation so repeated huge names cannot inflate Evidence.\nUse fixedTupleSchema for the signature pad bytes with projection parity\ntests, and assert the late-cancellation reason and retained observation.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_016y53PdpyMAp9RSW65fatHe\n\n* fix: resolve merge integration errors\n\n---------\n\nCo-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["de088fcec661a215df76e234c5375c952e2f5c58"], + "authors": [ + { + "name": "Matt Van Horn", + "email": "mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Matt Van Horn", + "email": "455140+mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [7010] + }, + { + "sha": "7e57b8c212827efb4a8fdb31d274a7f50d90a1a1", + "subject": "fix(process): preserve caller-selected working directory in scenario validation errors (#7003)", + "body": "fix(process): preserve caller-selected working directory in scenario validation errors (#7003)\n\n* fix(process): preserve caller-selected working directory in scenario validation errors\n\n* test(process): cover caller-selected working-directory alias preservation", + "parents": ["dba8a319789a09d61a11206d3d581514416c9149"], + "authors": [ + { + "name": "Ahmed", + "email": "humaamahmed40@gmail.com", + "user": { + "login": "Humaam-04-06", + "__typename": "User" + } + } + ], + "pullRequests": [7003] + }, + { + "sha": "b4ba96a9a5166b5a379f7bf7394b937ece4eb3a6", + "subject": "feat(firmware): inspect flattened devicetree blobs (#7009)", + "body": "feat(firmware): inspect flattened devicetree blobs (#7009)\n\n* feat(firmware): inspect flattened devicetree blobs\n\nAdds inspect-devicetree and inspect_devicetree for FDT v16/v17 blobs\nwithout target execution or external dependencies. Results include\nvalidated headers, reservations, a node/property tree with bounded raw\npreviews, and derived standard values and selected phandle references.\nParsing enforces file, tree, and decoded representation budgets and\nrejects malformed input without partial success. Summary delivery\nsupports retained Evidence pagination, with tests covering parsing,\nservice validation, CLI delivery, and MCP access after the input is\nremoved.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_016y53PdpyMAp9RSW65fatHe\n\n* fix(firmware): reject conflicting devicetree phandles and bound page summaries\n\nA node whose phandle and linux,phandle disagree no longer resolves under\neither value; the conflict is reported as a limitation. Finalization\nfailures after a completed read retain the file-snapshot-hash partial\nobservation, matching the Go provider. Devicetree view pages carry\nfixed-size context and counts instead of repeating summary strings, so a\nlarge bootargs no longer pushes every page over the MCP response budget.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_016y53PdpyMAp9RSW65fatHe\n\n---------\n\nCo-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["7e57b8c212827efb4a8fdb31d274a7f50d90a1a1"], + "authors": [ + { + "name": "Matt Van Horn", + "email": "mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Matt Van Horn", + "email": "455140+mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [7009] + }, + { + "sha": "69f99c5198d8668056ad376cd74c5aea348224c2", + "subject": "feat(environment): time browser scenario records so scenario environments learn a write clock (#6967)", + "body": "feat(environment): time browser scenario records so scenario environments learn a write clock (#6967)\n\n* feat(browser): record when scenario requests were observed and how long they took\n\nRequest events carry observed_at, the wall-clock time the provider observed\nthe request start, and finished or failed events carry the browser's\nelapsed_ms when it reports one. Both are optional, so earlier captures still\nparse, and scenario comparisons leave them out as a committed built-in rule.\nThe real-Chrome network lane checks every request and finished response is\ntimed.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* feat(environment): time browser scenario records so their state learns a write clock\n\nScenario records take startedDateTime from when each request was observed and\ntime from the browser's duration, as HAR entries are timed. A timed scenario\nof the book session learns the same clock and serves the same writes as its\nHAR; an untimed one keeps record order and learns no clock, as before.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): document scenario request times and timed scenario records\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): start scenario records at the browser's own request start\n\nThe provider observes a request up to tens of milliseconds after the browser\nstarts it while it reads other responses, so a record starting then and\nending after the browser's duration mixed two clocks. Finished and failed\nevents now carry the browser's started_at, records prefer it and fall back to\nobserved_at, and comparisons drop it too. Tests cover the fallback for a\nrequest that never ended or ended twice, a partly untimed capture keeping\nrecord order, comparing an untimed capture with a timed one, and the\nreal-Chrome lane checks every finished request carries the browser's start\nand duration.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): document the browser start time, its fallback lag and older readers\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the scenario timing verification\n\nGates, the real-Chrome lane, prompt-recorded and re-recorded published\nscenario captures built with and without their times, the stale published\nenvironments left unrepublished, and the review.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(browser): compare timed completion events in the request-time comparison test\n\nThe comparison test's captures had no finished or failed events, so dropping\nstarted_at and elapsed_ms from them went untested. The captures now end one\nrequest and fail the other, the test asserts both carry times, compares them\nshifted by seven seconds and against an untimed capture, and a control shows\na changed failure on a timed completion is still reported.\n\nCo-Authored-By: Claude Opus 5.5 \n\n---------\n\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["b4ba96a9a5166b5a379f7bf7394b937ece4eb3a6"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6967] + }, + { + "sha": "4f212c6a30a423f7fc7eb69d3aa96498131e38ca", + "subject": "fix(analysis): preserve artifact and selection error ownership", + "body": "fix(analysis): preserve artifact and selection error ownership\n", + "parents": ["69f99c5198d8668056ad376cd74c5aea348224c2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bff03bfc97f972dc5483cd5a382428507c635844", + "subject": "test(setup): retain Hermes policies across registration refresh", + "body": "test(setup): retain Hermes policies across registration refresh\n", + "parents": ["4f212c6a30a423f7fc7eb69d3aa96498131e38ca"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "1184819cb943fb9ef1154aa078951045f2f79564", + "subject": "fix(verifiers): load shared source without compiler processes (#7012)", + "body": "fix(verifiers): load shared source without compiler processes (#7012)", + "parents": ["bff03bfc97f972dc5483cd5a382428507c635844"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [7012] + }, + { + "sha": "399e2226ca1b2abce2d273706848df2db304efd2", + "subject": "refactor(resources): remove redundant helper exports and lease aliases", + "body": "refactor(resources): remove redundant helper exports and lease aliases\n\nKeep ASAR header details and the Godot header parser module-local. Use the canonical lease types in Hopper consumers, including release-cache publication, while preserving acquisition and cleanup behavior.\n", + "parents": ["1184819cb943fb9ef1154aa078951045f2f79564"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "731109b7d7cf2b2dd578667f8ec83ad38a6f8423", + "subject": "refactor(analysis-view): consolidate result and budget ownership", + "body": "refactor(analysis-view): consolidate result and budget ownership\n\nReuse the shared immutable-result reader for Interface Builder while checking its current parent binding on every read. Accept truthful optional schema outputs and validate normalized JSON before freezing or caching it, preserving explicit undefined facts without caching them.\n\nMove accumulator construction and inline admission policy into the domain. One prepared projection retains the same budget across admission and projection while preserving standalone defaults, custom budgets, and authentication order.\n", + "parents": ["399e2226ca1b2abce2d273706848df2db304efd2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "798450638e74108b37b4e9587865f07a1612f0a0", + "subject": "test(verifiers): retire superseded source-loading regression", + "body": "test(verifiers): retire superseded source-loading regression\n\nThe shared source-loading suite covers the former generic command and pre-exit lineage regression, plus package ownership, error-class identity, native module behavior, and preservation of a caller-owned compiler context. Remove the overlapping older fixture after validating those controls.\n", + "parents": ["731109b7d7cf2b2dd578667f8ec83ad38a6f8423"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8c6cddcffbdbe5715f31828ff5a7cd98ed913107", + "subject": "refactor(javascript): retire synchronous artifact graph runner", + "body": "refactor(javascript): retire synchronous artifact graph runner\n", + "parents": ["798450638e74108b37b4e9587865f07a1612f0a0"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cc7cc8155a245d537ead2b391255bc213a4a1a0d", + "subject": "test(javascript): bound route scan work independently of timing (#7016)", + "body": "test(javascript): bound route scan work independently of timing (#7016)", + "parents": ["8c6cddcffbdbe5715f31828ff5a7cd98ed913107"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [7016] + }, + { + "sha": "e9abf3984837286c5f65603175b1bf333946a2b9", + "subject": "refactor(javascript): remove superseded full-IR analysis pipeline", + "body": "refactor(javascript): remove superseded full-IR analysis pipeline\n", + "parents": ["cc7cc8155a245d537ead2b391255bc213a4a1a0d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "72e75e9a481d44ad010ef08208a1942b1b3c9b59", + "subject": "fix(metadata): preserve declared phandles and relocation fields", + "body": "fix(metadata): preserve declared phandles and relocation fields\n\nKeep malformed canonical devicetree phandles unresolved instead of falling back to legacy identities. Report the PE dynamic relocation offset and section at their exact source widths with Size-gated absence and zero preservation. Clarify classic kernel-module version coverage and byte-preserving string encoding.\n\nValidation: 158 focused parser, service, filesystem, and finalization regressions; 14 CLI/MCP tests; build, typecheck/lint, formatting, and docs checks passed. Fixtures establish parser behavior; no external analysis engines were exercised.\n", + "parents": ["e9abf3984837286c5f65603175b1bf333946a2b9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d9189aebc4d0a1b13689b7589105d720d2fddb60", + "subject": "fix(artifacts): retain completed acquisition facts through finalization", + "body": "fix(artifacts): retain completed acquisition facts through finalization\n\nForward the file owner's completed stable-read hash and byte count through descriptor-close failure or cancellation in PE resources, certificates and imports, ELF notes and kernel modules, native exports, Apple IPS, and APK signature inspection. Preserve the primary failure, exact cancellation reason, and failed-close cleanup lease.\n\nValidation: 32 acquisition-finalization regressions across eight providers and 30 existing APK provider, lifecycle, and identity tests passed. Existing native filesystem regressions and typecheck/lint also passed. No external analysis engines or Android device were used.\n", + "parents": ["72e75e9a481d44ad010ef08208a1942b1b3c9b59"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c94bd27e85d1dab3a8dda64eb1fadaffa6a65fee", + "subject": "fix(runner): scope internal Node notices to the supervisor (#7020)", + "body": "fix(runner): scope internal Node notices to the supervisor (#7020)", + "parents": ["d9189aebc4d0a1b13689b7589105d720d2fddb60"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [7020] + }, + { + "sha": "41cf869949b82bd0f24d425f6557432ae3a63545", + "subject": "fix(environment): bound create learning and invalidate stale write proofs (#6929)", + "body": "fix(environment): bound create learning and invalidate stale write proofs (#6929)\n\n* feat(environment): report what an environment serves with an environment-coverage view\n\nA new inspect_analysis_view kind over capture Evidence. It projects the\nstate an environment derives with the given template rules and reports\neach tool as answered from state, replayed with its view reason, a served\nwrite, or a withheld write with its reason, the records behind it and a\nhint about what to record next. The hints cover every write reason, so a\nnew reason without one fails to compile.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* feat(environment): build an environment bundle in one command\n\nrea environment-build [directory] inspects a HAR (or reads\ncapture Evidence), projects the environment manifest from the in-memory\nEvidence, authenticates the pair, prepares the state and writes the bundle\nenvironment-export writes. Every bundle file is byte-identical to the\nthree-step path for the same capture and options.\n\nThe report adds the capture and manifest identities, the coverage summary,\nwarnings (a loopback capture named after its file, credential-named body\nmembers by pointer) and the next command. --dry-run writes nothing. The\ndefault template rules are the four the published environments use.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(environment): cover environment-build and the coverage view\n\nDomain tests check the hint table against the state view's reasons, the\nsummary, and the view against the environment-state view it summarizes.\nService tests build the fixture capture and compare every file with the\nthree-step path, a dry run, loopback naming and the refusals. A CLI test\ncompares a HAR built in one step with the three CLI steps byte for byte,\nand an MCP test projects the view from every source kind.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(environment): build the real-agentenv lane's bundle with environment-build\n\nThe lane now runs the command users run: it builds the Grafana-shaped HAR\nwith environment-build and the packed checkout, checks the report, then\nruns the bundle with agent-env as before.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): document environment-build and the coverage view\n\nThe agent environments guide opens with the one-step build: the report,\nthe hint for each withheld write reason, and what a bundle ships. The CLI\nguide, the capture guide and the skill reference name the command and the\nenvironment-coverage view.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): harden environment-build after review\n\n- The credential scan walks with its own stack, so a deeply nested body\n cannot crash the build, and it also reports credential-named header\n names, query names, form body members and string arrays.\n- The build checks SIGINT between stages: cancelled before the bundle\n stage it writes nothing, during the write it names the written bundle.\n- A dry run opens the package tarball, so it refuses what a build refuses.\n- Repeated template rules are refused, a HAR saved as .json gets a hint,\n file-derived names follow the bundle name rules, `localhost.` counts as\n a loopback origin, and the next command is shell-quoted.\n- --capture-timeout-ms passes through to the HAR inspection, and a\n missing directory is refused before inspection.\n- The no-observation hint covers updates and deletes of entities the state\n never held; the coverage view states that it does not apply the\n serve-time admission checks; the inspect_analysis_view description\n names the view.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): state the build's conditions and record its verification\n\nThe guides now state when the one-step bundle equals the three-step one,\nwhich headers inspection excludes, what the credential warning scans, how\ncancellation behaves, and that the coverage view does not apply the\nserve-time admission checks. The spec folder records the census, the end\nto end runs, the gates and the review.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): dispatch a pending interrupt before each build stage check\n\nThe manifest, state and coverage stages run synchronously, so a SIGINT\nthat arrived during them was only dispatched once the bundle write had\nbegun. Each check now yields first, so an interrupt before the bundle\nstage cancels the build with nothing written.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): scan scenario credentials, own the dry-run tarball and serialize Evidence once\n\nA browser scenario's retained header values and the query parameters of its recorded URLs are scanned for credential\nnames as a HAR's are, through a review projection of its records. A dry run admits and releases the package tarball\nthrough the export's regular-file scope, so a close it cannot confirm keeps its owner, and checks for cancellation\nafter that last await. Evidence is written into one exactly sized buffer instead of chunks joined by a copy.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* style(environment): format the build spec\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): scan every form occurrence and MIME-less scenario bodies\n\nThe build's credential scan collapsed form bodies with Object.fromEntries, so a\nrepeated field kept only its last occurrence: `api_key=secret&api_key=` warned\nabout nothing although the Evidence ships the value, and repeated values were\nundercounted. Form fields are now scanned as ordered name/value pairs, as\nheaders and query strings already are.\n\nThe review projection of a capture_browser_scenario dropped a request body\nrecorded without a media type, so the scan never saw it. Review keeps such a\nbody's text with an empty media type; the manifest projection still reads only\nbodies it can classify.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): scan structured HAR form params and the request side of unattributed scenario transactions\n\nA HAR request recorded with postData.params and no text is scanned by those parameters, each occurrence counting, and\nthe review projection keeps the request side of a scenario transaction whose response cannot be attributed, so the\ncredential warning covers what evidence.json ships in both cases.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): validate build paths and read dry-run tarballs\n\n* fix(environment): report bodies too large for the credential scan\n\nText bodies over the scan's 4 MiB limit, including a response decoded only as a prefix, are reported as a\ncredential-scan-incomplete warning by record and side, never by content, so an absent credential-named-members\nwarning no longer reads as a complete check. The spec and agent-environments guide also state the path validation and\ndry-run tarball read that e52ae1cd added.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(verification): release cold source transform services\n\n* fix(javascript): retain capture context along covered mutation paths\n\n* fix(environment): admit serialized exports and scan HAR form fallbacks\n\n* fix(environment): admit in-memory build inputs against heap headroom and scan SaveHar null-text forms\n\nThe inspected HAR's Evidence and the projected manifest are checked against live heap headroom before they are\nserialized, with the same check the file route uses, so a capture too large to parse and seal is refused as\nresource_constraint before anything is written. A request whose postData text is SaveHar's null is scanned by its\nstructured params.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): measure the credential scan limit in UTF-8 bytes\n\nA body counts against the 4 MiB limit by its UTF-8 length, not its UTF-16 code units, so multibyte text over the\nlimit is reported as unscanned instead of parsed.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(javascript): erase inline type imports before binding values\n\n* fix(environment): parse credential form bodies by their media type\n\n* fix(environment): review untyped retained form fields\n\n* fix(environment): bound request comparisons and preserve write proofs\n\n* fix(environment): keep write proofs and bundle review complete\n\n* fix(environment): finalize entity overrides with simulated views\n\n* test(environment): restore 0895c89b's untyped form tests and hint\n\nIntegrating main took main's credential scan and coverage view, which\ndropped 0895c89b's tests and its body-unusable hint. Main's scan passes\nthe tests, now reading the scenario by event. The hint names the\nresponse too, since extraction and serving also withhold a write as\nbody-unusable when its recorded response cannot be read.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(environment): scan a scenario content event recorded twice\n\nMain's event scan reads both content events of a transaction whose\ncontent the capture recorded twice; the test fails on 0895c89b, whose\nreview projection dropped that transaction's response. The spec names\nevent pointers among the first 20.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the review round's checks\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): retain contradictions and trim retired state\n\n* fix(environment): distinguish mixed array order from changed values\n\n* fix(environment): keep dependent create state pinned\n\n* fix(environment): keep checking retired view observations\n\n---------\n\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>\nCo-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>", + "parents": ["c94bd27e85d1dab3a8dda64eb1fadaffa6a65fee"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [6929] + }, + { + "sha": "397aa62f2e203bc0f8350634752af0339048e81e", + "subject": "test(web): align manifest path errors with artifact ownership (#7021)", + "body": "test(web): align manifest path errors with artifact ownership (#7021)", + "parents": ["41cf869949b82bd0f24d425f6557432ae3a63545"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [7021] + }, + { + "sha": "422ca5a8f80f2067ab05080d698e819f670f1822", + "subject": "test(cli): follow prepared projection ownership during cancellation (#7022)", + "body": "test(cli): follow prepared projection ownership during cancellation (#7022)", + "parents": ["397aa62f2e203bc0f8350634752af0339048e81e"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [7022] + }, + { + "sha": "a1967fbbdbc2c26197bf2a4441daff7acb69382a", + "subject": "fix(lldb): retain completed trace facts through cleanup failures (#7023)", + "body": "fix(lldb): retain completed trace facts through cleanup failures (#7023)", + "parents": ["422ca5a8f80f2067ab05080d698e819f670f1822"], + "authors": [ + { + "name": "Wenyu Chiou", + "email": "162016108+WenyuChiou@users.noreply.github.com", + "user": { + "login": "WenyuChiou", + "__typename": "User" + } + } + ], + "pullRequests": [7023] + }, + { + "sha": "97194c4b4808b2a9b79277c436ba9042c58b1b70", + "subject": "fix(ghidra): admit recordless MIPS-I legacy targets (#7014)", + "body": "fix(ghidra): admit recordless MIPS-I legacy targets (#7014)\n\n* fix(ghidra): admit recordless MIPS-I legacy targets\n\nMIPS-I headers carry a zero-value ISA field (EF_MIPS_ARCH_1) and predate the ABI flags record. The recordless legacy admission only accepted EF_MIPS_ARCH_32 and EF_MIPS_ARCH_32R2, so every MIPS-I target was refused before provider selection even when its ELF32/ET_EXEC shape matched the existing inferred-o32 lane.\n\nAdmit MIPS-I through the same recordless legacy path, pin the endian-matched 32-bit MIPS language, and use a distinct support-lane identity so profile-bound snapshots invalidate. Declared-ABI MIPS-I headers remain refused because that lane is verified for MIPS32r2 only. The session reports that the generic 32-bit language also decodes later MIPS32 instructions and that MIPS-I subset conformance is not established from the header.\n\nFixes #6933.\n\n* fix(ghidra): bind MIPS profiles to their target\n\nRefuse a committed MIPS lane or ELF metadata that was resolved for a different target, including the same-endian MIPS-I and MIPS32 legacy lanes that share a language pin. Report the committed caller-selected MIPS-I language in the session limitation instead of claiming the provider pin.\n\n---------\n\nCo-authored-by: dhruvac29 ", + "parents": ["a1967fbbdbc2c26197bf2a4441daff7acb69382a"], + "authors": [ + { + "name": "Dhruvilkumar Ashokbhai Chodvadiya", + "email": "50516925+dhruvac29@users.noreply.github.com", + "user": { + "login": "dhruvac29", + "__typename": "User" + } + }, + { + "name": "dhruvac29", + "email": "dhruvac29@users.noreply.github.com", + "user": { + "login": "dhruvac29", + "__typename": "User" + } + } + ], + "pullRequests": [7014] + }, + { + "sha": "900f21b982cf4c4e7699d6c300afff81560ef913", + "subject": "fix(mcp): centralize validated partial Evidence delivery", + "body": "fix(mcp): centralize validated partial Evidence delivery\n", + "parents": ["97194c4b4808b2a9b79277c436ba9042c58b1b70"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "12f6e0974cc0db0b3a9b86246accc76556837222", + "subject": "fix(cli): retain Cutter discovery through shared finalization", + "body": "fix(cli): retain Cutter discovery through shared finalization\n", + "parents": ["900f21b982cf4c4e7699d6c300afff81560ef913"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8b57dc630e801ac892717095a80a07dfc1611802", + "subject": "fix(native): preserve metadata uncertainty in coverage", + "body": "fix(native): preserve metadata uncertainty in coverage\n\nExplain unreadable ELF note section names without discarding complete note coverage. Keep export and PE import rows when only version or DLL-name metadata is unresolved, and stop claiming those retained rows were unreported.\n\nUse native byte equality for the 4 MiB ELF extended-numbering source-preservation checks; generic deep equality enumerated every buffer byte and exhausted the test worker heap. The full fixture and byte coverage remain.\n\nValidation: focused ELF note, native export, and PE import regressions plus complete CLI/MCP adapter files passed under the existing 512 MiB heap limit. Build, typecheck/lint, formatting, and documentation checks passed.\n", + "parents": ["12f6e0974cc0db0b3a9b86246accc76556837222"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "84c30609e16ccc26f06f98dc14647fb8eb050785", + "subject": "fix(browser): include IndexedDB versions in storage fingerprints", + "body": "fix(browser): include IndexedDB versions in storage fingerprints\n\nHash the observed database version with object-store definitions at the CDP boundary. Missing, invalid, or imprecise versions preserve store evidence with incomplete coverage and an explanation. Mark the revised projection so historical store-only hashes cannot create false changes or prove unchanged versions. Preserve comparable metadata and independent storage changes.\n\nRemove the redundant storage comparability wrapper and use each fingerprint's parsed scope instead of interpreting its identity string.\n\nValidation: producer-to-comparison regressions and a compiled CLI to stdio MCP comparison passed, including version-only changes, invalid versions, legacy projections, and complete database additions/removals. Static and docs checks passed. CDP responses were simulated; no real browser runtime was exercised.\n", + "parents": ["8b57dc630e801ac892717095a80a07dfc1611802"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "535926ca2b9f65a804ffa6e3a0bd0ab2f1cda4ca", + "subject": "fix(analysis): retain one-shot target selection provenance", + "body": "fix(analysis): retain one-shot target selection provenance\n\nRetain the exact selected CLI path in one-shot provider Evidence while preserving canonical subject identity and provider inputs. The shared request-provenance boundary replaces the artifact-only special case across native, managed, and bundle-resource routes. Remove the redundant parameter fallback and make the private managed helper receive explicit Evidence parameters.\n\nValidation: real macOS codesign fixtures through the compiled CLI retained app aliases for signature, plist, and absent asset inspections, with direct-target controls. Archive selection, managed direct analysis, and snapshot replay regressions passed; Windows-specific replay cases were skipped on macOS. Build, static, format, and docs checks passed. Snapshot-backed direct request provenance still follows its existing authenticated query contract.\n\nRefs: #5479\n", + "parents": ["84c30609e16ccc26f06f98dc14647fb8eb050785"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "de37dfbcc9b1b7bcbe0dc84b2179b8d2b54df917", + "subject": "fix(website): correct Turkish translation errors (#7015)", + "body": "fix(website): correct Turkish translation errors (#7015)\n\n* fix(website): correct Turkish translation errors\n\nCorrect misleading technical senses in the Turkish catalogue: port,\ncaller, assembly, instruction, checks, script and oracle, plus\ncapitalized suffixes, hâlâ, and Turkish number formatting.\n\nLeaves msgid, msgctxt, #: references, obsolete entries and placeholders\nuntouched across 308 msgstr values.\n\n* fix(website): preserve Turkish words and quotation context\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["535926ca2b9f65a804ffa6e3a0bd0ab2f1cda4ca"], + "authors": [ + { + "name": "niko3x", + "email": "ahmetzeren2007@gmail.com", + "user": { + "login": "niko3x", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [7015] + }, + { + "sha": "403fef0d401c1014a41fddce375085eb6e4a3823", + "subject": "docs(i18n): add complete Romanian README (#7026)", + "body": "docs(i18n): add complete Romanian README (#7026)\n\nCo-authored-by: Stoian Andrei-Șerban <11259126+An3treiu@users.noreply.github.com>", + "parents": ["de37dfbcc9b1b7bcbe0dc84b2179b8d2b54df917"], + "authors": [ + { + "name": "Stoian Andrei-Șerban", + "email": "s_andreiserban@yahoo.com", + "user": { + "login": "An3treiu", + "__typename": "User" + } + }, + { + "name": "Stoian Andrei-Șerban", + "email": "11259126+An3treiu@users.noreply.github.com", + "user": { + "login": "An3treiu", + "__typename": "User" + } + } + ], + "pullRequests": [7026] + }, + { + "sha": "ab30df08f7a83bc3778c328e71b09a9cbf604a7d", + "subject": "fix(targets): keep original DOS header padding out of e_lfanew (#7013)", + "body": "fix(targets): keep original DOS header padding out of e_lfanew (#7013)\n\n* fix(targets): keep original DOS padding out of e_lfanew\n\nA complete DOS header with a nonempty relocation table that ended before\ne_lfanew treated the padding dword at 0x3c as a Windows declaration. Without\na recognized Windows signature, fall back to the validated DOS structure so\noriginal DOS images are not refused as malformed Windows targets. Preserve\nunresolved-candidate handling when no relocation table delimits the padding.\n\n* test(ghidra): cover DOS padding and unresolved header candidates\n\n* fix(targets): read Windows signatures before dismissing DOS padding\n\n* docs(targets): reconcile DOS padding admission contract\n\nDocument that relocation-table padding inside a complete DOS header is DOS data, while an unread Windows signature beyond the current probe is requested before that rule applies.\n\nAligns docs/installation.md with docs/ghidra-dos.md after the MZ admission fix.\n\n---------\n\nCo-authored-by: dhruvac29 ", + "parents": ["403fef0d401c1014a41fddce375085eb6e4a3823"], + "authors": [ + { + "name": "Dhruvilkumar Ashokbhai Chodvadiya", + "email": "50516925+dhruvac29@users.noreply.github.com", + "user": { + "login": "dhruvac29", + "__typename": "User" + } + }, + { + "name": "dhruvac29", + "email": "dhruvac29@users.noreply.github.com", + "user": { + "login": "dhruvac29", + "__typename": "User" + } + } + ], + "pullRequests": [7013] + }, + { + "sha": "bc9efc9279ea924031bcdc62e4fae936c392fd23", + "subject": "test(mcp): verify recovery before reading retained views (#7029)", + "body": "test(mcp): verify recovery before reading retained views (#7029)", + "parents": ["ab30df08f7a83bc3778c328e71b09a9cbf604a7d"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [7029] + }, + { + "sha": "9a13c4f420ec5511fc0454816ce4bb3adb8849f1", + "subject": "refactor(config): centralize parsed registration environment keys", + "body": "refactor(config): centralize parsed registration environment keys\n", + "parents": ["bc9efc9279ea924031bcdc62e4fae936c392fd23"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "08b8e629148ed1c46c3a6b3c9b9ed8d916ad9e80", + "subject": "refactor(mcp): consolidate retained-summary inspection workflows", + "body": "refactor(mcp): consolidate retained-summary inspection workflows\n", + "parents": ["9a13c4f420ec5511fc0454816ce4bb3adb8849f1"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ed79bf936114e644ee8eb6b16bee1d7de9d278c6", + "subject": "feat(artifacts): inventory and extract Node.js single executable application blobs (#7000)", + "body": "feat(artifacts): inventory and extract Node.js single executable application blobs (#7000)\n\n* feat(artifacts): inventory and extract Node.js single executable application blobs\n\nAdds a node-sea artifact reader that locates the NODE_SEA_BLOB payload in\nMach-O sections, ELF notes and PE RCDATA resources, decodes the blob\nheader, main script, optional snapshot and code cache, and named assets,\nand extracts their stored bytes through the existing safe output tree.\nThe executable is never run. Resource-tree errors in a PE without a\nNODE_SEA_BLOB name stay with native classification; truncated, unknown\nor over-limit SEA declarations fail closed.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_016y53PdpyMAp9RSW65fatHe\n\n* fix(artifacts): reuse PE resource facts and bound SEA asset tables\n\nMove the bounded NODE_SEA_BLOB name probe into the shared PE resource\nlayout module so SEA admission uses the same header and section mapping\nas the full parser; the layout reader now accepts a header prefix with\nthe file size. Bound SEA asset count and decoded name bytes before\nrecords are created and report resource bounds as limit failures. Offer\nthe JavaScript next probe only for main scripts with a source suffix.\n\nCo-Authored-By: Claude Opus 5.5 \nClaude-Session: https://claude.ai/code/session_016y53PdpyMAp9RSW65fatHe\n\n* fix(artifacts): make SEA metadata construction cancellable\n\n---------\n\nCo-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["08b8e629148ed1c46c3a6b3c9b9ed8d916ad9e80"], + "authors": [ + { + "name": "Matt Van Horn", + "email": "mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Matt Van Horn", + "email": "455140+mvanhorn@users.noreply.github.com", + "user": { + "login": "mvanhorn", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [7000] + }, + { + "sha": "1ca7d387644fe170a84f4d6afeda2ae4fbaf72fe", + "subject": "fix(evidence): link composed workflows to consumed observations (#7028)", + "body": "fix(evidence): link composed workflows to consumed observations (#7028)", + "parents": ["ed79bf936114e644ee8eb6b16bee1d7de9d278c6"], + "authors": [ + { + "name": "Wenyu Chiou", + "email": "162016108+WenyuChiou@users.noreply.github.com", + "user": { + "login": "WenyuChiou", + "__typename": "User" + } + } + ], + "pullRequests": [7028] + }, + { + "sha": "85bc8c8977a8103b57df9be923f268acebdcb617", + "subject": "fix(browser): preserve media type parameter spelling (#6985)", + "body": "fix(browser): preserve media type parameter spelling (#6985)\n\n* fix(browser): preserve media type parameter spelling\n\n* test(verifiers): follow shared command output and identity", + "parents": ["1ca7d387644fe170a84f4d6afeda2ae4fbaf72fe"], + "authors": [ + { + "name": "ShuaixinHuang", + "email": "1836656514@qq.com", + "user": { + "login": "ShuaixinHuang", + "__typename": "User" + } + } + ], + "pullRequests": [6985] + }, + { + "sha": "fcebd79ed888b5118c3293134602320653f4d734", + "subject": "feat(elf): decode Zstandard section-name tables (#6987)", + "body": "feat(elf): decode Zstandard section-name tables (#6987)\n\n* feat(elf): decode Zstandard section-name tables\n\n* test(verifiers): follow shared command output and identity", + "parents": ["85bc8c8977a8103b57df9be923f268acebdcb617"], + "authors": [ + { + "name": "ShuaixinHuang", + "email": "1836656514@qq.com", + "user": { + "login": "ShuaixinHuang", + "__typename": "User" + } + } + ], + "pullRequests": [6987] + }, + { + "sha": "955c7c80ec64f4ee076500fc25a799d3e90e4aca", + "subject": "fix(android): report DEX static values of static final fields (#6981)", + "body": "fix(android): report DEX static values of static final fields (#6981)\n\n* fix(android): report DEX static values of static final fields\n\nFixes #6397\n\n* fix(android): request DEX static values only for class inspection\n\n* fix(android): range-check wide DEX static values\n\n* fix(android): move the bridge to version 7 after main took 6\n\n---------\n\nCo-authored-by: Abelo9996 ", + "parents": ["fcebd79ed888b5118c3293134602320653f4d734"], + "authors": [ + { + "name": "Abel Yagubyan", + "email": "abelyagubyan@berkeley.edu", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + }, + { + "name": "Abelo9996", + "email": "Abelo9996@users.noreply.github.com", + "user": { + "login": "Abelo9996", + "__typename": "User" + } + } + ], + "pullRequests": [6981] + }, + { + "sha": "9b3a6332984b699ebd7287362455b07aad2070d9", + "subject": "fix(evidence): retain caller paths across snapshot replay", + "body": "fix(evidence): retain caller paths across snapshot replay\n\nPreserve the verbatim direct CLI selection in caller_input_path, separate from canonical subject identity and provider/query parameters. Fresh publication uses the existing immutable metadata import path so provider auto-recording cannot discard request provenance. Replay returns the current selection without rewriting stored Evidence or partitioning the cache by alias. Historical records without the optional field still authenticate.\n\nUse the domain semantic projection for ledger agreement, remove the duplicate projection and subject-only replacement names, and preserve request metadata at same-invocation summary delivery. Later retained-view questions do not inherit that context. Existing one-shot parameters.input_path remains for compatibility.\n\nValidation: 149 focused tests, 28 public CLI/MCP cases, all canonical advertised schemas through the pinned SDK, and nine documentation tests passed across the affected checks. Build, typecheck/lint, and formatting passed. Two Windows-only replay cases were skipped on macOS. Native macOS and managed fixtures were exercised; no Hopper/Ghidra/IDA runtime was started.\n", + "parents": ["955c7c80ec64f4ee076500fc25a799d3e90e4aca"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "92f32981da85b914cf12d3a63080a4fe8c36e395", + "subject": "refactor(mcp): remove the duplicate result delivery class", + "body": "refactor(mcp): remove the duplicate result delivery class\n\nConstruct the canonical ToolResultDelivery through the native continuation policy factory. Move type and lifecycle spy consumers to the core owner while preserving explicit response budgets and the deferred runtime composition.\n\nValidation: runtime build and 335 focused tests passed; 41 Linux-only firmware cases were skipped on macOS. Tests use authored local fixtures, not real external providers.\n", + "parents": ["9b3a6332984b699ebd7287362455b07aad2070d9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "3f168af2e811441bb48dddb5961041c2c4a04753", + "subject": "refactor(native): consolidate section and PE subject ownership", + "body": "refactor(native): consolidate section and PE subject ownership\n\nSpecialize the buffer-backed directory driver for its actual ELF consumers and remove the unused PE branch. Share PE subject architecture interpretation at the existing machine owner, preserving unknowns for conflicting formats and unproven managed overrides.\n\nValidation: runtime build and 108 focused service, native parser, GPU, and CLI/MCP tests passed using local fixtures. Live descriptor-backed PE readers remain supported.\n", + "parents": ["92f32981da85b914cf12d3a63080a4fe8c36e395"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "faf219e90bc20debdbce0c0e40c9e68fc39de755", + "subject": "refactor(application): use current Evidence and CLI contracts", + "body": "refactor(application): use current Evidence and CLI contracts\n\nRequire the immutable Evidence read APIs already implemented by production owners. Remove the detached-only compatibility fallbacks and forwarding helpers, and bind consumers directly to their owner. Preserve editable detached exports and existing snapshot semantics.\n\nUse the shared canonical CLI error classifier for process commands instead of reinterpreting their projection. Validation: 172 focused application and process tests, build, static checks and documentation checks passed using local fixtures.\n", + "parents": ["3f168af2e811441bb48dddb5961041c2c4a04753"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "31fc9762a34f30aae1832994bfad6209a023f03e", + "subject": "refactor(go): parse module records through one byte contract", + "body": "refactor(go): parse module records through one byte contract\n\nParse the original unframed module bytes for every build-info result. Remove the duplicate text facade and string-source branch while retaining observed text, framed bytes, malformed lines, quoting and replacement semantics.\n\nValidation: 163 Go parser, image, provider and public CLI/MCP tests passed using local binary fixtures; build, static and documentation checks passed.\n", + "parents": ["faf219e90bc20debdbce0c0e40c9e68fc39de755"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "425776174c1826d09b629cf05d2a5a79eb729239", + "subject": "fix(artifacts): preserve opaque Node SEA asset keys", + "body": "fix(artifacts): preserve opaque Node SEA asset keys\n\nSeparate raw SEA names from safe logical extraction paths. Accept empty asset\nkeys, retain absolute main paths and conflicting source spellings, and assign\ndeterministic paths through the shared artifact path registry. Keep duplicate\nraw keys malformed and include sourcePath in owned entry equality.\n\nValidate 102 focused regressions including compiled CLI and stdio MCP inventory\nand extraction, the canonical SDK schema case, 9 documentation consistency\ncases, cached build, typecheck/lint and formatting. A pinned Node-generated\npreparation blob is verified in a synthetic ELF carrier; real injected native\nexecutables and the optional Docker lane were not run.\n", + "parents": ["31fc9762a34f30aae1832994bfad6209a023f03e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "a834ed1cab5327485fdd8845108b63ffcd8654fe", + "subject": "refactor(artifacts): share persistent file source ownership", + "body": "refactor(artifacts): share persistent file source ownership\n\nCompose one source owner for Godot PCK and Node SEA admission, descriptor identity, carrier hash binding and retained handle cleanup. Preserve format-specific parsing and member streams, drain their reader operations before source close, and leave borrowed descriptor release with its caller.\n\nValidation: runtime build and 136 focused tests passed, including 17 real-descriptor integration cases for delayed admission, cached hash mismatch, close failure and retry, borrowed handles, admission cleanup cancellation and mixed peer outcomes. Tests use local authored carriers and controlled failure seams.\n", + "parents": ["425776174c1826d09b629cf05d2a5a79eb729239"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "03ed0c63d9566dbc0d6e805bc62ccd7569bad314", + "subject": "fix(evidence): preserve JSON ownership across metadata rebinding (#7036)", + "body": "fix(evidence): preserve JSON ownership across metadata rebinding (#7036)", + "parents": ["a834ed1cab5327485fdd8845108b63ffcd8654fe"], + "authors": [ + { + "name": "gensokyo-dev", + "email": "342580529+gensokyo-dev@users.noreply.github.com", + "user": { + "login": "gensokyo-dev", + "__typename": "User" + } + } + ], + "pullRequests": [7036] + }, + { + "sha": "7fe5e5ff5e80f4aa918a5a911140dae249a9757c", + "subject": "fix(artifacts): retain raw archive keys across entry projections", + "body": "fix(artifacts): retain raw archive keys across entry projections\n\nPublish Godot res:// declarations and PyInstaller CArchive/PYZ keys through\nshared occurrence source_path while preserving safe logical extraction paths.\nConsolidate PyInstaller file, directory and namespace projection through one\nowner, and account for the additional retained source spelling before allocation.\n\nCover producer inventory, Windows separator conversion, PYZ module/data keys,\nCLI extraction bytes and retained MCP inventory views. Format fixtures are\nsynthetic; real Godot/PyInstaller producer lanes were not run.\n", + "parents": ["03ed0c63d9566dbc0d6e805bc62ccd7569bad314"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "8dfc6832a4d497a6aff3c7151394a47d7968f7ba", + "subject": "fix(apple): preserve empty IPS text and source keys", + "body": "fix(apple): preserve empty IPS text and source keys\n\nKeep observed empty JSON strings separate from missing fields in IPS process,\nimage, frame, register and OS-version facts. Preserve empty unlisted keys,\nretain malformed UUID source text, and keep unknown architecture interpretation\nseparate from raw spelling. Classification excludes empty supporting fields.\n\nValidate producer cases plus compiled CLI and stdio MCP delivery against the\nsame output contract. This is saved-report inspection, without target execution.\n", + "parents": ["7fe5e5ff5e80f4aa918a5a911140dae249a9757c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "03547593709634a75638b64d6c71fd85479c9cee", + "subject": "fix(artifacts): retain admitted ZIP ownership through extraction", + "body": "fix(artifacts): retain admitted ZIP ownership through extraction\n\nTransfer the inventoried ZIP descriptor after inventory reader cleanup, then\nborrow it for materialization instead of reopening the pathname. Release the\nexact owner before publishing output; preserve failed owners for cleanup retry\nand completed inventory facts through cancellation or later tagged failures.\nThis uses the existing admitted-descriptor reader API without a third carrier\nhash pass. Remove the superseded materialization wrapper.\n\nCover identical-member carrier replacement, directory/missing replacements,\nlate cancellation at both handoff and final close, mixed cleanup outcomes and\nretry. Root-owner test seams preserve real output-handle cleanup. Compiled\nCLI/MCP ZIP, archive and report regressions also run; no benchmark is claimed.\n", + "parents": ["8dfc6832a4d497a6aff3c7151394a47d7968f7ba"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "6a96f4fa4a685dce1a577c94152f1e94b29bfa93", + "subject": "fix(setup): materialize the pinned package-runner cache before the first client start (#7032)", + "body": "fix(setup): materialize the pinned package-runner cache before the first client start (#7032)\n\n* fix(setup): materialize the pinned package-runner cache before the first client start\n\nPackage runners key their package cache by the requested spec, so the\nentry installed for the @latest invocation that ran setup cannot serve\nthe pinned rea-agents@ registration. The first client start\ninstalled that entry inside the client's MCP startup deadline and timed\nout (three consecutive 30 s timeouts observed in one client log; a\ncontrolled cold install with every tarball already cached took 22 s).\n\nSetup now materializes the pinned entry once after applying\nregistrations: best-effort, bounded by a timeout, launched from a\nneutral working directory, and non-fatal on failure. The setup result\ncarries the prewarm summary, interactive output prints a warning when\nthe step fails, and direct launcher registrations keep skipping it.\n\nFixes #7027\n\n* fix(setup): gate prewarm to applied registrations and supervise the runner tree\n\nAddress review findings on the prewarm step:\n\n- Gate the prewarm on at least one applied client registration\n (configured_), so an empty plan or a skill-only run never\n installs into the package-runner cache; the step now only follows\n registrations the user approved in this transaction.\n- Replace execFileOutput with a supervised spawn: on timeout the whole\n runner tree stops through cleanupWindowsProcessTree on Windows and a\n process-group kill on POSIX, because killing only the direct child\n leaves npm holding the inherited output pipes past the deadline.\n- Emit started and completed progress events around the prewarm so an\n interactive cold install no longer looks like a frozen setup.\n\n* fix(setup): forward terminal interrupts to the detached prewarm runner\n\nA detached POSIX package-runner group no longer receives the terminal's\nCtrl-C, so setup could exit while the runner kept installing in the\nbackground. The supervised launch now registers SIGINT and SIGTERM\nforwarding for the duration of the prewarm: the runner tree is stopped\nthrough the same family cleanup as the timeout, and the default\ntermination is restored afterwards. An interrupted launch reports a\nfailure reason instead of a hang.", + "parents": ["03547593709634a75638b64d6c71fd85479c9cee"], + "authors": [ + { + "name": "Xinjian Wang", + "email": "wxj2006007@outlook.com", + "user": { + "login": "wxj006007", + "__typename": "User" + } + } + ], + "pullRequests": [7032] + }, + { + "sha": "ce4e48ccae85d41f0599713d68c9cd516d2b972c", + "subject": "fix(cli): exclude inherited values from Markdown rows (#6984)", + "body": "fix(cli): exclude inherited values from Markdown rows (#6984)\n\n* fix(cli): exclude inherited values from Markdown rows\n\n* test(verifiers): follow shared command output and identity", + "parents": ["6a96f4fa4a685dce1a577c94152f1e94b29bfa93"], + "authors": [ + { + "name": "ShuaixinHuang", + "email": "1836656514@qq.com", + "user": { + "login": "ShuaixinHuang", + "__typename": "User" + } + } + ], + "pullRequests": [6984] + }, + { + "sha": "a5bfd0440173cc4e3cb6c726999b5f74fc87be9e", + "subject": "fix(hopper): keep installed apt dependencies at their versions during Linux setup (#6974)", + "body": "fix(hopper): keep installed apt dependencies at their versions during Linux setup (#6974)\n\n* fix(hopper): keep installed apt dependencies at their versions during Linux setup\n\napt-get install upgrades every listed package that is already installed, so Linux setup could upgrade the system python3 and X11 libraries while installing Hopper. Runtime dependencies are now installed with --no-upgrade in a separate transaction before the Hopper archive, which may still upgrade. The setup approval plan lists both commands.\n\n* fix(hopper): narrow the apt upgrade claim and cover split transaction failures\n\n* fix(evidence): preserve JSON ownership through metadata updates\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["ce4e48ccae85d41f0599713d68c9cd516d2b972c"], + "authors": [ + { + "name": "Adolanium", + "email": "94890352+Adolanium@users.noreply.github.com", + "user": { + "login": "Adolanium", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6974] + }, + { + "sha": "f4f7c75c669e0c703e508e8d6760b23fe0dc2a01", + "subject": "refactor(artifacts): consolidate selected source lifetimes", + "body": "refactor(artifacts): consolidate selected source lifetimes\n\nUse the shared source owner for Mach-O and PyInstaller admission, descriptor and selected-path identity, hashing and cleanup. Retain lipo joining and reader-owned PyInstaller admission, caller cancellation and private PYZ leases. Centralize admission failure projection and remove the superseded PyInstaller wrapper.\n\nPreserve physical identity verification before late hash-completion cancellation. Close an owned source before returning failed initial metadata acquisition and retain the exact handle when close fails. A focused regression failed twice before that fix and now passes.\n\nValidation: fresh runtime build, 259 focused fixture tests, nine documentation checks and all local static/discovery/duplication gates passed. An earlier check also ran four system-lipo suite cases (three read-only native inspections) before the final source fix; those were excluded from subsequent fixture qualification.\n", + "parents": ["a5bfd0440173cc4e3cb6c726999b5f74fc87be9e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "2acdd54130c7a07c78168ff1b2d8f98b598319ac", + "subject": "test(setup): simplify prewarm fixture ownership", + "body": "test(setup): simplify prewarm fixture ownership\n\nFlatten the prewarm cases so suite grouping does not exceed the function-size gate. Let createTestTempDirectory own cleanup instead of deleting the same roots from a second afterEach owner. Preserve all registration and warning assertions.\n\nValidation: all four focused filesystem cases passed using temporary client configurations and injected prewarm results; no package runner or provider was launched.\n", + "parents": ["f4f7c75c669e0c703e508e8d6760b23fe0dc2a01"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c7ae27807f0f952c8fa23a4967fd7a2d4d39d783", + "subject": "fix(electron): retain scoped IPC registration provenance (#7031)", + "body": "fix(electron): retain scoped IPC registration provenance (#7031)\n\n* fix(electron): retain scoped IPC registration provenance\n\n* fix(electron): defer mutation analysis until scoped receiver admission", + "parents": ["2acdd54130c7a07c78168ff1b2d8f98b598319ac"], + "authors": [ + { + "name": "Wenyu Chiou", + "email": "162016108+WenyuChiou@users.noreply.github.com", + "user": { + "login": "WenyuChiou", + "__typename": "User" + } + } + ], + "pullRequests": [7031] + }, + { + "sha": "f196ebf80665107aedc16892af25a1e1f9f26f43", + "subject": "fix(apple): refuse unpaired surrogates in IPS JSON strings (#6990)", + "body": "fix(apple): refuse unpaired surrogates in IPS JSON strings (#6990)\n\nThe IPS JSON reader decodes \\uXXXX escapes with String.fromCharCode and\nreturns raw slices verbatim, so an escaped unpaired surrogate reaches\nEvidence as-is: malformed text reported under complete coverage, with no\nrefusal and no uncertainty. A crash report's procName or exception message\ncomes from the crashed process, so the escape is reachable input.\n\nRefuse the string the way the parser already refuses other malformed\ncontent. The check runs on the decoded value, so it covers escaped and\nunescaped text alike, and a high surrogate followed by its low surrogate\nescape stays valid text.\n\nValidation: RED then green in src/native/apple/losslessJson.test.ts, where\nthe new case previously accepted the escaped surrogate; 311 tests across\nthe apple parser suites pass; tsc --noEmit over the changed set exits 0;\noxlint reports 0 errors; oxfmt --check is clean; verify:module-boundaries\npasses.\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["c7ae27807f0f952c8fa23a4967fd7a2d4d39d783"], + "authors": [ + { + "name": "Dery Ferdika", + "email": "114888155+DeryFerd@users.noreply.github.com", + "user": { + "login": "DeryFerd", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6990] + }, + { + "sha": "a891bb80aead9ca22be4f1baf513649b401d6d1f", + "subject": "refactor(filesystem): preserve admitted file facts", + "body": "refactor(filesystem): preserve admitted file facts\n\nReturn the validated descriptor and its original metadata from regular-file\nadmission. Propagate that contract through owned reads, hashes, snapshots,\nartifact inventory and provider file workflows instead of replacing initial\nfacts with another stat. Keep arbitrary output-handle operations separate.\n\nPreserve final descriptor/path identity proofs, borrowed-source verification,\nBigInt precision, cancellation provenance and failed-close ownership. Remove\nthe obsolete source and owned-ZIP baseline stages and update their consumers\nand regressions. Tie read completion faults to actual reads instead of the\nretired duplicate stat; instrument real handles without fake handle wrappers.\n\nValidation: fresh runtime/catalog build; focused source, lifecycle, filesystem,\nCLI/MCP and authored provider-fixture tests; full static checks; docs checks;\ntest discovery; duplication check. Platform-specific cases remain skipped on\nmacOS. No installed provider or device behavior was verified.\n", + "parents": ["f196ebf80665107aedc16892af25a1e1f9f26f43"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "162bd56c9ee906837106e3de08c8c426af601ffb", + "subject": "refactor(mcp): share pcap summary delivery handling", + "body": "refactor(mcp): share pcap summary delivery handling\n\nUse the existing named-contract retained-summary handler for pcap capture\ninspection. Remove its duplicate validation, detail selection, preflight and\nEvidence projection policy while preserving client inspection separately.\n\nValidation: named pcap MCP schema/delivery, parent issue attribution and\nworkspace admission tests; fresh runtime/catalog build and full static/docs\nchecks. Native packet dissection and Linux-only retained-view tests were not\nverified on this macOS host.\n", + "parents": ["a891bb80aead9ca22be4f1baf513649b401d6d1f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "22b88300d0ec2930060789e97fbd1371a20e9f5e", + "subject": "refactor(environment): reuse admitted capture facts in builds", + "body": "refactor(environment): reuse admitted capture facts in builds\n\nSeparate typed manifest/capture composition from unknown-input loading.\nBuilds retain the admitted replay facts locally for credential warnings and\nrecord counts instead of parsing the same capture again. Keep full captures\nout of the compact replay source and preserve manifest-first authentication,\nparent identity checks, failure precedence and cancellation points.\n\nValidation: environment source/build/report/scenario/input-snapshot/state\nworkflows and public build CLI; fresh runtime/catalog build, full static/docs,\ntest discovery and duplication checks. No external clients or targets ran.\n", + "parents": ["162bd56c9ee906837106e3de08c8c426af601ffb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "149b43ee6158862c94044fd24432dca790d54665", + "subject": "fix(il2cpp): link arm64 builds whose registrations were inlined (#6989)", + "body": "fix(il2cpp): link arm64 builds whose registrations were inlined (#6989)\n\n* fix(il2cpp): accept arm64 module arrays loaded through adrp/add pairs\n\nA Unity 2022.3 macOS Master (LTO) arm64 build keeps no static CodeRegistration, so the module-array fallback that only decoded x86-64 RIP-relative references reported code-registration-not-found.\nThe registration owner now also decodes aligned adrp + add pairs in executable ranges and keeps the same exact-module-set and single-reference rules.\nA minimal Mach-O fixture failed on the previous reader (47 passed / 1 failed) and passes here with four fail-closed variants (48/48 binary tests).\n\n* fix(il2cpp): name the matched instruction form in inferred module-array limits\n\nThe inferred-array limitation always described RIP-relative LEA/MOV, which is wrong for arm64 results.\nThe provider now names the adrp/add pair on arm64, and the tool contract and docs cover both forms and state that a located array alone does not finish linking a Master build.\nThe new arm64 provider case failed before the wording change (1 passed / 1 failed) and both cases pass now.\n\n* fix(il2cpp): accept type tables loaded without a static MetadataRegistration\n\nA Unity 2022.3.62f3 macOS Master build inlines MetadataRegistration as well as CodeRegistration, so linking stopped at metadata-registration-not-found after the module array was found. Registration now infers the only field linking reads, the Il2CppType table, from the one run of type-shaped pointers that covers every referenced type index and whose start is loaded by the existing RIP-relative or adrp/add forms; types_field is null and the Evidence is inferred. The new arm64 and x86-64 fixtures failed on the previous reader (52 passed / 2 failed). Four run-selection variants (interior reference, run extended before the loaded address, two loaded runs, run shorter than the referenced indices) keep metadata-registration-not-found; instruction decoding and record-shape checks are not covered by these fixtures.\n\n* test(il2cpp): pin adrp page deltas, register pairing and type-record shape\n\nEvery adrp fixture targeted its own 4 KiB page, so dropping the page delta or its sign extension, the add register check, the type-kind bound or the type-definition bound left all binary tests passing. Fixtures now reach a later and an earlier page, pair an add with a different destination or source register, break the type run with an out-of-range kind or type-definition index, and bound type-table candidates when the metadata references few type indices. Each of those five source mutations now fails 1 to 3 of 85 binary and provider tests.\n\n* refactor(il2cpp): share Il2CppType kind decoding and document type-table bounds\n\nThe type-table fallback decoded the Il2CppType kind and class/value-type kinds separately from the type namer; both now use the Types owner. Zero and unaligned words are rejected before mapping lookup (Master sample metadata-registration search 92 to 68 ms). Docs and the limitation state that types_count is an upper bound, that a run spanning mappings or a small referenced type range can fail, and credit Cpp2IL StrippedCodeRegSupport and the data-side MetadataRegistration searches of Il2CppDumper and Cpp2IL. Master sample output is unchanged (11,031 code addresses, 37,025 type rows).\n\n* fix(il2cpp): refuse generic instances when the type table was inferred\n\nAn inferred type table has no static MetadataRegistration, so the\ngenericMethodTable it would anchor cannot be located. Report\ngeneric-methods-unsupported instead of reading from a null field.\n\n* fix(il2cpp): fail closed when an inferred type table is not unique\n\nAdversarial review found that the type-table fallback could pick another\ntype-shaped pointer table when the real one was unloaded or excluded, could\nreplace a static MetadataRegistration whose counts matched, and accepted a\nrun cut short by a mapping end. Require exactly one long-enough run in the\nimage, ending inside its mapping and loaded by code; skip the fallback when a\nrecord's two counts matched; accept only assigned Il2CppTypeEnum kinds; and\nlook records up through the indexed file mapping so many mappings cannot\nmultiply the scan. Docs and limitations now describe the run length as at\nleast every referenced type index rather than an upper bound.\n\n* fix(il2cpp): keep the type-table fallback cheap and its refusals exact\n\nReview follow-ups: check that an address can lie in a mapping before the\nthrowing indexed lookup, so words pointing into gaps or zero-fill no longer\nbuild an exception each (64 MiB: 74 s to under 2 s); treat a run starting at\nits mapping start like one reaching its end; stop at the second long-enough\nrun instead of a 64-candidate capacity error; ignore ADRP/ADD pairs on\nregister 31; and say whether a counted MetadataRegistration was unusable or\nno code-loaded run was found. Docs no longer generalize from one build or\nstate tool history they do not source.\n\n* fix(il2cpp): judge type-table slots by their loaded value\n\nThe run scan read stored words, so a dyld-bound slot's placeholder could\ndecide whether a run qualified. Confirm each slot through readSlot and give\na run bounded by a bound or unresolved slot an unknown extent, so the\nplaceholder no longer changes the choice.\n\n* docs(il2cpp): keep the failure-reason table layout\n\nShorten the two changed meanings so the table keeps its column widths and the\ndiff shows only those rows.\n\n* docs(il2cpp): keep the reason table at its formatted width\n\n* fix(il2cpp): read type-table record fields through the loader too\n\nThe previous change confirmed table slots through readSlot but still read\neach record's kind and definition index from stored bytes. Read them with\nreadUInt32 and readSlot, and treat a record field the loader binds or leaves\nunresolved like an unresolved slot: the run it bounds has an unknown extent.\n\n* perf(il2cpp): share image mappings across loader-aware reads\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["22b88300d0ec2930060789e97fbd1371a20e9f5e"], + "authors": [ + { + "name": "JANG BYUNGKUN", + "email": "bkbkjang@gmail.com", + "user": { + "login": "8rulerstar", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6989] + }, + { + "sha": "aced9fa9b4898744aa1af0c5f336382da7c9ca7e", + "subject": "fix(wasm): retain acquired inputs across failed inspection", + "body": "fix(wasm): retain acquired inputs across failed inspection\n\nKeep completed module and candidate identities, glue observations, and the\nadmitted tool profile when WABT validation or later inspection fails. Recover\nstable reads from their existing owner when descriptor finalization fails;\nmark unparsed glue explicitly and preserve validation uncertainty. Forward\npartial Evidence through output/cleanup errors and preserve pre-abort reasons.\n\nExercise producer failures, partial acquisition, decoding, finalization and\ncleanup retry with simulated owned WABT commands. Public CLI and stdio MCP\ncoverage follows the retained Evidence reference through get_evidence_bundle.\nReal WABT 1.0.42 and the Windows shell-fixture lane were not verified.\n", + "parents": ["149b43ee6158862c94044fd24432dca790d54665"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5ea2c280b8f21d8ca11c07bf7c987d1b2d8ba8aa", + "subject": "refactor(doctor): retain parsed configuration diagnostics", + "body": "refactor(doctor): retain parsed configuration diagnostics\n\nReturn native admission issues and an explicit Hopper timeout result from\nthe configuration owner. Doctor consumes those parsed facts instead of raw\ntimeout text plus a separate issue list. Reuse a successful aggregate parse;\nvalidate the individual timeout independently when other settings reject it.\n\nPreserve aggregate error precedence, JEB isolation, omission, constraints,\ncauses and provider scope. Keep partial diagnostics when unrelated NUL,\nloader arguments, language selection or timeout settings are invalid.\n\nValidation: configuration and Doctor workflow regressions, mixed-invalid\nsettings, full static/docs checks. No installed provider was exercised.\n", + "parents": ["aced9fa9b4898744aa1af0c5f336382da7c9ca7e"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "835904e4ee44d380e6d52b08e32ecceeecbfbe03", + "subject": "refactor(evidence): carry producer-owned source records", + "body": "refactor(evidence): carry producer-owned source records\n\nCarry the final artifact inspection's exact nested source Evidence through\nAnalysisExecution. Derive links in the shared Evidence builder instead of\nreparsing the result in CLI and MCP adapters. Retain validation for unknown\nand historical Evidence inputs.\n\nMove the shared source recorder into application ownership and migrate its\nconsumers. Record sources before parents; keep source recording failures\nfrom publishing summaries. Decline snapshot entries whose source closure the\ncurrent entry format cannot represent, while retaining investigation Evidence.\n\nValidation: actual ASAR regression failed before the change with missing\nlinks and passes afterward; exact nested identity, source recorder refusal,\nfinal-close cancellation and cleanup failure, historical authentication,\nsnapshot controls and public CLI/MCP workflows. Fresh runtime/catalog build,\nfull static/docs, discovery and duplication checks pass. Installed native\nproviders and platform-specific skipped cases remain unverified.\n", + "parents": ["5ea2c280b8f21d8ca11c07bf7c987d1b2d8ba8aa"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "58fb8241055b326d9dc40652e6859893587c7a86", + "subject": "refactor(evidence): centralize JSON payload admission", + "body": "refactor(evidence): centralize JSON payload admission\n\nGive ordinary Evidence creation an explicit unknown-payload input contract\nwhile retaining the strong JSON contract for producer helpers and cooperative\nimmutable creation. Keep schema admission, input snapshotting and identity\nhashing with the Evidence owner.\n\nRemove 32 generic JSON preparses that only fed ordinary Evidence construction.\nPreserve semantic format validation, selected-source bindings, standalone\nJSON boundaries, typed executions and scenario digest contracts. Invalid JSON\nnow reports its Evidence parameters/normalized_result/raw_result prefix.\n\nValidation: fresh runtime/catalog build, 560 focused and README tests passed,\n4 platform-specific cases skipped, full static/docs checks, test discovery,\nduplication and diff checks. New regressions cover omitted semantic optionals,\nraw-result defaults and nested undefined refusal without input mutation.\nInstalled providers, real browsers/Frida/JADX and Linux-only recovery remain\nunverified; boundary providers are authored fixtures.\n", + "parents": ["835904e4ee44d380e6d52b08e32ecceeecbfbe03"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "38719a6fa9a1301eeee647e6749701a9b83f10bb", + "subject": "feat(environment): explain values an application derives from other fields (#7025)", + "body": "feat(environment): explain values an application derives from other fields (#7025)\n\n* feat(environment): explain values an application derives from other fields\n\nPrompt-built environments withheld creates whose responses carry values the\napplication derives deterministically, which the write model kept as\nconstants or could not match across calls:\n\n- A composed string is literal text plus parts read from the fields other\n rules write: a field's value, its slug, or a clock's calendar digits. A\n create composes a string only when another entity of the type spells it\n the same way and none spells it otherwise, and never from two sources\n serving could tell apart; an update composes an unsent change from members\n stored as sent and unchanged fields that also spell its value before the\n call. A composed field no longer pins the members it reads.\n- A trimmed clock format drops trailing fraction zeros, as Go spells\n nanoseconds. It is learned from the type's values, a later create or a\n later update, and spreads to the plan's other clocks unless a value shows\n a fixed width.\n- A large integer no entity of the type holds, among distinct ones of the\n same length and kind, is a generated unique value, served as a seeded\n integer.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the derived-values verification\n\nGates, tests, write plans over 69 recorded captures and served write tasks on the baseline and on this branch.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep clock spellings, linked ids and word boundaries honest\n\n- A later update's clocks take the plan's spelling, sibling-trimmed\n clocks included, wherever the call's values fit it, so an update whose\n later call trims only one of two clocks is served.\n- A held value that ends its fraction in a zero keeps a create's clock\n at a fixed width, whatever order the held spellings come in.\n- A large integer that another field of the created entity also holds\n is linked, as a repeated token is: it is never unique, and the create\n is withheld as unexplained-change.\n- Composed parts are delimited by whole characters through the shared\n joinsBefore/joinsAfter, so an astral letter joins a match to its word.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(environment): keep a same-width fixed clock out of trimming\n\nA held .123456780 beside a held .12345678 keeps the create's clock at\nnine digits in either order; the cases fail on 8ce1127b5.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): check composed parts and clock fits before they shape a plan\n\n- A composed string whose part has nothing to spell refuses the create\n or update through the apply Result instead of keeping a stale value.\n- A composition learned on a later call is rebuilt from each earlier\n call's fields, so an earlier call that left the value otherwise\n contradicts it.\n- An update adopts its fitted clock spellings only after the\n unknown-entity and contradiction checks, so a call on an entity an\n unmodelled write left unknown no longer trims a served plan's clock.\n- Sibling trimming on a later create also checks that call's fields,\n so a sibling clock it shows with a trailing zero stays fixed-width.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(environment): split the derived-values view tests by rule\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep fixed-width, zone and generated-integer evidence through a plan\n\n- A plan keeps the first value that showed each clock at a fixed width,\n from held entities and every accepted create or update. No later fit\n or sibling trim widens that field, and a later call that shows it\n shorter is withheld.\n- Two stamped clocks are one composed source only when they share a\n zone offset. A held entity that holds the target field as anything\n the parts do not spell, a non-string included, vetoes the\n composition. The token index is built once, and only when a string is\n left to compose.\n- A generated integer that another field repeats as a number at any\n depth is linked. Compare treats two integers of one JSON kind and\n length under a unique rule as generated values.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(setup): share registration prewarm host preparation\n\n* fix(environment): retain write evidence and match trimmed response clocks\n\n* fix(environment): withhold creates whose generated integer another string repeats\n\nA unique integer whose digits show in another top-level string that no\ntemplate or composed rule rebuilds from it (an echoed serialText, or a\ntoken like folder-) withholds the create as unexplained-change,\nsince serving would seed the integer and keep the string. A templated\ncopy is still served.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): hold later creates and compare to the composed and integer forms\n\n- A later create whose response spells a composed field otherwise than\n the plan rebuilds it is withheld as unexplained-change.\n- A unique field learned from a generated integer accepts only an\n integer of the same length and kind from a later create, as serving\n seeds one.\n- Compare counts a composed field as equal when each side's response\n spells it from its own fields, which compare under their own rules.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): preserve composed parts and unique generator families\n\n---------\n\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["58fb8241055b326d9dc40652e6859893587c7a86"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [7025] + }, + { + "sha": "10b83a9b623e42c77d44d21a5745ddef897e492d", + "subject": "fix(browser): preserve completed source-map observations", + "body": "fix(browser): preserve completed source-map observations\n\nReturn typed fetch outcomes with completed map coverage when acquisition is\ncancelled or a response resource fails. Compose those facts with the captured\ninspection as partial bundle Evidence, preserving exclusions, exact abort causes,\nand cleanup priority without claiming unperformed script analysis.\n\nKeep complete response-body SHA-256 and byte counts when map interpretation\nfails, while preserving compact failure rows and capacity for later valid maps.\nReuse the read owner digest for successful text artifacts and preflight their\nJSON representation before parsing. Historical failed rows remain importable.\n\nExercise controlled HTTP/stream boundaries, CLI SIGINT, and SDK cancellation\nwith later MCP Evidence retrieval. Share the public cancellation fixture and\nuse one Result API across consumers. Real Chromium and Windows CLI cancellation\nwere not verified.\n", + "parents": ["38719a6fa9a1301eeee647e6749701a9b83f10bb"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4b045e8f2fc00ec218b787ca95cadc1c5f378470", + "subject": "feat(cli): accept stdin for structured JSON request documents (#5486) (#7040)", + "body": "feat(cli): accept stdin for structured JSON request documents (#5486) (#7040)\n\n* feat(cli): accept stdin for structured JSON request documents (#5486)\n\n* fix(cli): preserve cancellation and admission for JSON stdin\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["10b83a9b623e42c77d44d21a5745ddef897e492d"], + "authors": [ + { + "name": "Ahmed", + "email": "aptech356@gmail.com", + "user": { + "login": "ahmed-husssain", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [7040] + }, + { + "sha": "d24ad4f55d68cd5e4d2373e7befa51e603817120", + "subject": "docs: make pull request draft status optional", + "body": "docs: make pull request draft status optional\n", + "parents": ["4b045e8f2fc00ec218b787ca95cadc1c5f378470"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9548953b479df5ff5fd09f1a0b3b3550809fa6de", + "subject": "refactor(clients): retain inspected command ownership", + "body": "refactor(clients): retain inspected command ownership\n\nCarry the command identity already parsed during registration inspection into maintenance selection. Keep activation, validity and public status output separate.\n\nValidation: fresh build/catalog and full static checks; registration status, update maintenance and setup cleanup ownership suites passed (90 tests).\n", + "parents": ["d24ad4f55d68cd5e4d2373e7befa51e603817120"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "599099f65670e4e4eb478970e2f7a845eaa53ebd", + "subject": "refactor(pe): share optional-header structural facts", + "body": "refactor(pe): share optional-header structural facts\n\nDecode optional-header declarations once and pass detached directory words, locations and SizeOfHeaders to native consumers. Preserve executable machine admission, raw GPU/resource machine reporting, RVA mapping and certificate file-offset semantics.\n\nValidation: fresh build/catalog, full static checks, 466 core/provider fixture tests, 122 workflow tests and 14 selected file-backed PE admission tests passed. Public CLI and actual stdio MCP used authored artifacts; installed external providers were not qualified. Added 17 structural cases and two GPU machine-policy controls. Eager directory decoding costs remain unmeasured.\n", + "parents": ["9548953b479df5ff5fd09f1a0b3b3550809fa6de"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ae54b96c6fff6b96ea3cf4153dcd51f0096d4734", + "subject": "refactor(tests): use fixture-owned temporary cleanup", + "body": "refactor(tests): use fixture-owned temporary cleanup\n\nRemove duplicate root lists and teardown deletion for directories already owned by createTestTempDirectory. Retain independent IDA workspaces, runtime closure, environment resets, permission recovery and explicit deletion assertions.\n\nValidation: all nine affected suites passed (126 tests); installed Vitest cleanup ordering reviewed. Provider protocols use authored fixtures, not installed IDA or Ghidra.\n", + "parents": ["599099f65670e4e4eb478970e2f7a845eaa53ebd"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "aba487eec0303b3392dbea7f33846617158aad3f", + "subject": "feat(environment): learn creates from every call, with sorted arrays and referenced entities (#7034)", + "body": "feat(environment): learn creates from every call, with sorted arrays and referenced entities (#7034)\n\n* feat(environment): explain values an application derives from other fields\n\nPrompt-built environments withheld creates whose responses carry values the\napplication derives deterministically, which the write model kept as\nconstants or could not match across calls:\n\n- A composed string is literal text plus parts read from the fields other\n rules write: a field's value, its slug, or a clock's calendar digits. A\n create composes a string only when another entity of the type spells it\n the same way and none spells it otherwise, and never from two sources\n serving could tell apart; an update composes an unsent change from members\n stored as sent and unchanged fields that also spell its value before the\n call. A composed field no longer pins the members it reads.\n- A trimmed clock format drops trailing fraction zeros, as Go spells\n nanoseconds. It is learned from the type's values, a later create or a\n later update, and spreads to the plan's other clocks unless a value shows\n a fixed width.\n- A large integer no entity of the type holds, among distinct ones of the\n same length and kind, is a generated unique value, served as a seeded\n integer.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the derived-values verification\n\nGates, tests, write plans over 69 recorded captures and served write tasks on the baseline and on this branch.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* feat(environment): learn a create plan from every call\n\nA later create the plan does not take is explained on its own and merged when both calls show the same fields, every field both rule they rule alike, and a field neither rules holds one value: members either call sent are accepted, only those every call sent are required, and an echoed member a call left out takes the value that call stored, kept in the body's defaults.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* feat(environment): sorted arrays, referenced entities and nested view keys\n\n- An echo is `sorted` when the application stored the sent strings in\n code-point order; serving stores them sorted, and a plain echo and a\n sorted one agree in update and create plans.\n- A `reference` is an object field holding fields of the entity a sent\n member names, as the state holds it. The member is accepted with any\n value; replay and serving look the entity up, and serving refuses a call\n naming one the environment does not hold.\n- A view names in `nested_fields` the keys it always shows of objects it\n shows with fewer keys than an entity stores; a stored object it never\n recorded renders with them. The view spelling learner moves to its own\n module.\n- Every later create, not only one the plan refuses, is merged into its\n plan when it agrees, keeping the plan's rule order.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep clock spellings, linked ids and word boundaries honest\n\n- A later update's clocks take the plan's spelling, sibling-trimmed\n clocks included, wherever the call's values fit it, so an update whose\n later call trims only one of two clocks is served.\n- A held value that ends its fraction in a zero keeps a create's clock\n at a fixed width, whatever order the held spellings come in.\n- A large integer that another field of the created entity also holds\n is linked, as a repeated token is: it is never unique, and the create\n is withheld as unexplained-change.\n- Composed parts are delimited by whole characters through the shared\n joinsBefore/joinsAfter, so an astral letter joins a match to its word.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(environment): keep a same-width fixed clock out of trimming\n\nA held .123456780 beside a held .12345678 keeps the create's clock at\nnine digits in either order; the cases fail on 8ce1127b5.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the create-calls verification\n\nGates, tests, write plans over 69 recorded captures and served write tasks on the derived-values baseline and on this branch.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): note the create-calls census on current main\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): check composed parts and clock fits before they shape a plan\n\n- A composed string whose part has nothing to spell refuses the create\n or update through the apply Result instead of keeping a stale value.\n- A composition learned on a later call is rebuilt from each earlier\n call's fields, so an earlier call that left the value otherwise\n contradicts it.\n- An update adopts its fitted clock spellings only after the\n unknown-entity and contradiction checks, so a call on an entity an\n unmodelled write left unknown no longer trims a served plan's clock.\n- Sibling trimming on a later create also checks that call's fields,\n so a sibling clock it shows with a trailing zero stays fixed-width.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(environment): split the derived-values view tests by rule\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep fixed-width, zone and generated-integer evidence through a plan\n\n- A plan keeps the first value that showed each clock at a fixed width,\n from held entities and every accepted create or update. No later fit\n or sibling trim widens that field, and a later call that shows it\n shorter is withheld.\n- Two stamped clocks are one composed source only when they share a\n zone offset. A held entity that holds the target field as anything\n the parts do not spell, a non-string included, vetoes the\n composition. The token index is built once, and only when a string is\n left to compose.\n- A generated integer that another field repeats as a number at any\n depth is linked. Compare treats two integers of one JSON kind and\n length under a unique rule as generated values.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): keep optional references across create calls and in answers\n\n- A reference a later create added stays while further creates leave its\n member out, and agrees with a later call that shows it again.\n- A create's answer shows optional reference and echo fields only when the\n call wrote them, whichever recorded call the answer came from.\n- An update that re-sends the id of the entity a field already repeats keeps\n the plan's reference instead of pinning the member.\n- An id naming entities of one type in several collections teaches no\n reference, and serving or replay refuses a call that names one.\n- An echo is not promoted to sorted once a call stored its strings out of\n code-point order as sent.\n- Nested view keys compare as sets and keep the first recording's order.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(setup): share registration prewarm host preparation\n\n* fix(environment): retain write evidence and match trimmed response clocks\n\n* fix(environment): withhold creates whose generated integer another string repeats\n\nA unique integer whose digits show in another top-level string that no\ntemplate or composed rule rebuilds from it (an echoed serialText, or a\ntoken like folder-) withholds the create as unexplained-change,\nsince serving would seed the integer and keep the string. A templated\ncopy is still served.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): respect earlier clock widths and left-out members in later creates\n\n- The create merge widens a clock to trimmed only against the value that\n showed its width: a held entity or accepted call at a fixed width keeps it\n untrimmed.\n- A later create that left out a member the plan fills, with a default or a\n reference's absence, while its observation shows that field otherwise is\n unexplained-change, so the plan cannot serve the stale value.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): hold later creates and compare to the composed and integer forms\n\n- A later create whose response spells a composed field otherwise than\n the plan rebuilds it is withheld as unexplained-change.\n- A unique field learned from a generated integer accepts only an\n integer of the same length and kind from a later create, as serving\n seeds one.\n- Compare counts a composed field as equal when each side's response\n spells it from its own fields, which compare under their own rules.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): preserve composed parts and unique generator families\n\n* fix(environment): reject contradictory create references\n\n---------\n\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["ae54b96c6fff6b96ea3cf4153dcd51f0096d4734"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [7034] + }, + { + "sha": "6bcd243ca486b6b16f119c7693c605b48d576882", + "subject": "fix(verifiers): expect the session-continuation regex overflow reason (#7045)", + "body": "fix(verifiers): expect the session-continuation regex overflow reason (#7045)\n\noverflow into the remediation and ended the reason with the session\ncontinuation sentence, but the real-Ghidra boundary check still required\nthe old reason text, so every lane that runs verifyGhidraBoundaries failed\non real Ghidra.", + "parents": ["aba487eec0303b3392dbea7f33846617158aad3f"], + "authors": [ + { + "name": "Syed Rishad", + "email": "rishadzzzz@gmail.com", + "user": { + "login": "RishTheFish21", + "__typename": "User" + } + } + ], + "pullRequests": [7045] + }, + { + "sha": "1ff275fbf752b117575b5726dc86a1ff82cc011e", + "subject": "fix(browser): admit passive capture events against the shared retained budget (#7043)", + "body": "fix(browser): admit passive capture events against the shared retained budget (#7043)\n\nPassive page capture retained console entries and websocket frames with no\naggregate ceiling. Every sibling retention surface already enforces\nWEB_RUNTIME_LIMITS.retainedEventBytes (8 MiB): the observation session's\npre-arm buffer and document-request identities, the browser runtime sources,\nrequests, and metadata, the V8 inspector's retained metadata, and this same\ncapture's script metadata, which has its own count-and-bytes budget. A page\nthat logs a few hundred megabytes of console text, or sends text frames whose\nJSON shapes carry hundreds of thousands of keys, grew the capture without\nlimit until the process ran out of memory; the MCP response budget runs after\nthe handler, so the growth happened before any typed refusal could exist.\n\nAdmit each console entry and websocket frame against the same shared budget\nbefore retaining it. A refused entry is counted through the completeness\ntracker's dropped-events vocabulary, which already carries console_events and\nwebsocket_frames kinds and was so far used only for late scripts, so the\ninspection reports a truncated inventory with the dropped count instead of\nsilently overflowing. Console entry bytes measure the retained representation:\nthe entry's type, url, argument-type strings, and the text capture's retained\nbytes, which the handler already computed per entry. A websocket frame retains\nits shape summary rather than the payload, and the shape grows with the\npayload's own keys, so the frame is charged the serialized size of the shape\nit retains. beginAuthorizedFrame resets the counter together with the rest of\nthe per-frame state.\n\nOut of scope: response metadata and agent hints, whose rows are fixed-shape\nfacts already bounded per response, and any new setting. The shared 8 MiB\nconstant is reused as-is.\n\nValidation: RED then green in src/browser/CdpCaptureEvents.eventBudget.test.ts,\nwhere the console case previously retained every oversized entry and the\nwebsocket case retained the over-budget frame; 26 tests across the neighboring\nconsole, websocket, coverage, and completeness suites pass. On this Windows\nhost the wider browser project has 26 pre-existing failures in three\nElectron/WebBundle worker-spawn files, reproduced identically with this change\nstashed (26 failed, 644 passed on the pristine base; 26 failed, 647 passed\nwith it on the same file set). tsc --noEmit over the changed set exits 0,\noxlint reports 0 errors, oxfmt --check is clean, and verify:module-boundaries\npasses. No real browser session was driven on this host; the browser CI lane\nowns that coverage.\nEach retained entry now carries a conservative fixed overhead, and each captured console text value a wrapper cost, so a stream of minimal entries cannot admit millions of objects into the budget when shapes are disabled; a mixed-kind test locks that console entries and websocket frames spend one shared allowance.", + "parents": ["6bcd243ca486b6b16f119c7693c605b48d576882"], + "authors": [ + { + "name": "Dery Ferdika", + "email": "114888155+DeryFerd@users.noreply.github.com", + "user": { + "login": "DeryFerd", + "__typename": "User" + } + } + ], + "pullRequests": [7043] + }, + { + "sha": "238914974d17729bcdcc2e6cb012745d70d98a5e", + "subject": "fix(analysis-view): preserve current observation paths in summaries (#7039)", + "body": "fix(analysis-view): preserve current observation paths in summaries (#7039)", + "parents": ["1ff275fbf752b117575b5726dc86a1ff82cc011e"], + "authors": [ + { + "name": "Wenyu Chiou", + "email": "162016108+WenyuChiou@users.noreply.github.com", + "user": { + "login": "WenyuChiou", + "__typename": "User" + } + } + ], + "pullRequests": [7039] + }, + { + "sha": "07eb044f77444de131d6c1bcdec082e5a5fcd221", + "subject": "fix(snapshot): decline ambiguous exact evidence replay (#7037)", + "body": "fix(snapshot): decline ambiguous exact evidence replay (#7037)", + "parents": ["238914974d17729bcdcc2e6cb012745d70d98a5e"], + "authors": [ + { + "name": "Wenyu Chiou", + "email": "162016108+WenyuChiou@users.noreply.github.com", + "user": { + "login": "WenyuChiou", + "__typename": "User" + } + } + ], + "pullRequests": [7037] + }, + { + "sha": "efab65c2f93af770ce686097d17fd1cb01dc66ce", + "subject": "docs: codify boundary regression checks", + "body": "docs: codify boundary regression checks\n\nTurn recurring parser and projection failures into a selectable regression\nguide covering format assumptions, raw identity, missing values, partial work,\nindependent limits, representation expansion, snapshots, and public delivery.\nLink it from the agent instructions and PR template without adding checkboxes.\n\nClarify completed-observation ownership, digest representations, and exclusive\nsuccess/failure budget accounting. Preserve capacity fixtures and use byte\ncomparisons for large buffers to avoid diagnostic allocation blowups.\n", + "parents": ["07eb044f77444de131d6c1bcdec082e5a5fcd221"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "9140deae63c512c28e7a9a488cad0a053bfcdb0c", + "subject": "docs: clarify ownership and cleanup review guidance", + "body": "docs: clarify ownership and cleanup review guidance\n\nClarify structural parsing, admitted facts and freshness, useful facade and compatibility responsibilities, immutable JSON proof, and partial Evidence retention. Document fixture cleanup ownership, semantic fault injection and the limits of static checks; extend the existing PR owner hint. Correct the session-record architecture label.\n\nValidation: docs:check (including nine README consistency tests), rendered docs:build with link validation, touched Markdown formatting and git diff --check passed. Source and installed Vitest cleanup behavior were reviewed. No runtime behavior changed.\n", + "parents": ["efab65c2f93af770ce686097d17fd1cb01dc66ce"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f2fa951c001e90f59ac1f76db45a7ea3fd7b2cdc", + "subject": "fix(cancellation): retain caller reasons across digest and startup", + "body": "fix(cancellation): retain caller reasons across digest and startup\n", + "parents": ["9140deae63c512c28e7a9a488cad0a053bfcdb0c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "475f09d5ca4f854cbc634074d5534717d58c6664", + "subject": "chore(lint): enforce buffer and cancellation regression guards", + "body": "chore(lint): enforce buffer and cancellation regression guards\n", + "parents": ["f2fa951c001e90f59ac1f76db45a7ea3fd7b2cdc"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ed86f9c3bb7910fb8e35cd7a3df3a50a50da58a8", + "subject": "fix(verifiers): propagate session assertion failures synchronously", + "body": "fix(verifiers): propagate session assertion failures synchronously\n\nRemove the redundant async declaration from the Ghidra session assertion helper so its existing callers receive assertion failures within their synchronous error boundary. Keep call order unchanged.\n\nValidation: a public-helper Node subprocess accepts authored valid handshake facts and rejects incomplete analysis and a target-digest mismatch. The regression failed for the original async declaration with Missing expected exception, then passed with the fix. No installed Ghidra execution was performed.\n", + "parents": ["475f09d5ca4f854cbc634074d5534717d58c6664"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "76afdd35ae51d0c3e6ce4309a6985195463d4201", + "subject": "chore(lint): guard validation ownership and asynchronous assertions", + "body": "chore(lint): guard validation ownership and asynchronous assertions\n", + "parents": ["ed86f9c3bb7910fb8e35cd7a3df3a50a50da58a8"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "42c16ba6315a7a6ba52a06e74a20eb1671eaab21", + "subject": "fix(tests): resolve lint plugins in boundary regression", + "body": "fix(tests): resolve lint plugins in boundary regression\n", + "parents": ["76afdd35ae51d0c3e6ce4309a6985195463d4201"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "760d9f6019f733aca88b3a819561a3dea78a1fc9", + "subject": "fix(source-maps): retain primary failures through cleanup retries", + "body": "fix(source-maps): retain primary failures through cleanup retries\n", + "parents": ["42c16ba6315a7a6ba52a06e74a20eb1671eaab21"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "be698d4761bf9ad86e730e40e7a645f2607190b3", + "subject": "test: verify assertion contracts and the production evaluation gate", + "body": "test: verify assertion contracts and the production evaluation gate\n", + "parents": ["760d9f6019f733aca88b3a819561a3dea78a1fc9"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "fdf5a33fe23e2ad15fba93e80502e5aa6438aa1f", + "subject": "refactor(tests): keep fixture adapters outside runtime", + "body": "refactor(tests): keep fixture adapters outside runtime\n", + "parents": ["42c16ba6315a7a6ba52a06e74a20eb1671eaab21"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "5938581b3733e955d8efc21d38b36be5ba08e15d", + "subject": "fix(async): own completion across test and provider boundaries", + "body": "fix(async): own completion across test and provider boundaries\n", + "parents": ["fdf5a33fe23e2ad15fba93e80502e5aa6438aa1f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "627c085cee3da8893252c49262726478c2a92a77", + "subject": "chore(lint): enforce reviewed promise and fallback contracts", + "body": "chore(lint): enforce reviewed promise and fallback contracts\n", + "parents": ["5938581b3733e955d8efc21d38b36be5ba08e15d"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "bb17e90f27dc8908c1c91c05055679678768c266", + "subject": "chore: integrate concurrent lint and async fixes", + "body": "chore: integrate concurrent lint and async fixes\n", + "parents": [ + "be698d4761bf9ad86e730e40e7a645f2607190b3", + "627c085cee3da8893252c49262726478c2a92a77" + ], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "ab720b42163e33cba519518dedc67c7e11346b71", + "subject": "test(evaluation): preserve partial coverage in the Notes oracle", + "body": "test(evaluation): preserve partial coverage in the Notes oracle\n", + "parents": ["bb17e90f27dc8908c1c91c05055679678768c266"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f3ed1657f82188fb90914f745a08849537342a23", + "subject": "feat(mcp): support runtime analysis limit recovery (#7049)", + "body": "feat(mcp): support runtime analysis limit recovery (#7049)\n\n* feat(mcp): support runtime analysis limit recovery\n\n* refactor(config): remove unused limit re-exports\n\n* fix(android): keep fixture release metadata dependency-free\n\n* fix(settings): preserve provider budgets and recovery facts\n\n* fix(tests): resolve lint plugins from their repository owner\n\n* refactor(mcp): verify guidance delivery without frozen wording\n\n* fix(android): align availability with runtime timeout\n\n* test(recovery): assert limit facts instead of frozen wording\n\n* fix(mcp): share runtime settings with the default JADX provider\n\n* test(mcp): bound acknowledgements and release held work on failure\n\n* fix(catalog): declare runtime settings tools as MCP-only", + "parents": ["ab720b42163e33cba519518dedc67c7e11346b71"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [7049] + }, + { + "sha": "e97f47b0b734e14c17b4d706eaa2f143a99acb6f", + "subject": "fix(lifecycle): retain IDA cleanup owners and drain JEB fixture work", + "body": "fix(lifecycle): retain IDA cleanup owners and drain JEB fixture work\n\nPreserve primary copy failures, exact descriptor retry ownership and complete-session cleanup state. Make the authored JEB HTTP fixture join admitted callbacks after transport closure.\n\nValidated with controlled real-file faults, cancellation/finalization and retry cases, plus local HTTP and existing CLI/MCP lifecycle regressions. No real IDA or JEB engine was exercised.\n", + "parents": ["f3ed1657f82188fb90914f745a08849537342a23"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "d23dc5d188748004d1b83d94dbe07e9fdd7d33e2", + "subject": "fix(browser): admit JSON shape expansion against shared retention", + "body": "fix(browser): admit JSON shape expansion against shared retention\n\nRequire explicit shape output admission before allocating expanded paths. Share capture retention across console entries, WebSocket frames and selected request/response shapes, with exact shape replacement and removal receipts.\n\nPreserve malformed-input versus capacity outcomes and peer facts. Validated deep, wide, Unicode, repeated-row, replacement, redirect, reset and mixed-retention regressions.\n", + "parents": ["e97f47b0b734e14c17b4d706eaa2f143a99acb6f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "cb26e8ca638ab5b64f4c475d727274d91ba1595f", + "subject": "fix(contracts): share ADB limits and preserve Rosetta register facts", + "body": "fix(contracts): share ADB limits and preserve Rosetta register facts\n\nUse the domain-owned activity extra count in CLI parsing and advertisement. Preserve nested Rosetta registers at the selecting parser and qualified register projection, sharing the existing aggregate budget.\n\nPort the Rosetta work from Adolanium commits 1889ac153 and c9e93bd88 in #6976, including morluto follow-up 07fa932ee. Add malformed-container and mixed-thread budget controls. CLI/MCP coverage uses a recorded ReportCrash excerpt in an authored report, without generating a native crash or contacting an Android device.\n\nRefs: #6291, #6976, #6977\n\nCo-authored-by: Adolanium <94890352+Adolanium@users.noreply.github.com>\n", + "parents": ["d23dc5d188748004d1b83d94dbe07e9fdd7d33e2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Adolanium", + "email": "94890352+Adolanium@users.noreply.github.com", + "user": { + "login": "Adolanium", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "c8269ca49722859de040c1263b43e95d631dc363", + "subject": "fix(ci): own mock isolation and normalize Git patch directories", + "body": "fix(ci): own mock isolation and normalize Git patch directories\n\nConvert native directory separators only at Git patch argument production. Exercise fresh, applied and invalid dependency patches in private copies, preserving protectNTFS, and select the regression for Windows CI.\n\nReplace the spelling-based mock inventory with one binding-aware Oxlint rule. Canonical test projects own isolation for both Vitest and lint; external temporary CLI probes avoid concurrent test discovery.\n\nValidated actual local Git and Oxlint execution, resolved-policy parity, CI selection and report tests. Native Windows verification remains with CI. Refs: #7050\n", + "parents": ["cb26e8ca638ab5b64f4c475d727274d91ba1595f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "f62a2baad83270f4d9de48911bd77a90ce67d26f", + "subject": "refactor(javascript): own coverage facts and reuse block prefixes", + "body": "refactor(javascript): own coverage facts and reuse block prefixes\n\nSeparate syntax, semantic uncertainty, examination limits and observed Electron applicability at the static producer, then preserve them through worker, graph and retained/inline summary views. Derive the established parse_status from the same facts and leave historical measurements unknown. Give semantic resource-limit classifications one schema owner.\n\nReplace repeated block-prefix searches and copies with collector-scoped syntax indexes. Keep invocation environments separate, charge indexing/replay to the existing work budget and yield during prefix work. Remove the superseded synchronous collector entrypoint.\n\nValidated producer, worker, CLI/MCP, historical and partial-coverage regressions, plus actual cancellation during indexing. Bounded authored 128/256-call controls preserved all prior facts while replacing repeated search/copy work with one index pass; this is not a throughput or agent-token benchmark.\n", + "parents": ["c8269ca49722859de040c1263b43e95d631dc363"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "e9b21aadc5791e37a32a455fc6b6d65050a6a1c8", + "subject": "docs(settings): explain runtime design and provider recovery", + "body": "docs(settings): explain runtime design and provider recovery\n", + "parents": ["f62a2baad83270f4d9de48911bd77a90ce67d26f"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "046ec56d16b70fa363e51713a9d436e7cad8eb02", + "subject": "fix(browser): report an out-of-range script_index as a selection fault (#6979)", + "body": "fix(browser): report an out-of-range script_index as a selection fault (#6979)\n\n* fix(browser): report an out-of-range script_index as a selection fault\n\nA valid export_web_scripts manifest without the selected script_index was reported as an invalid_format input issue, as if the manifest file were malformed. It is now an out_of_range issue on script_index with the valid bounds, or invalid_value when the manifest has no scripts.\n\n* test(browser): keep the out-of-range index case in its own block\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["e9b21aadc5791e37a32a455fc6b6d65050a6a1c8"], + "authors": [ + { + "name": "Adolanium", + "email": "94890352+Adolanium@users.noreply.github.com", + "user": { + "login": "Adolanium", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [6979] + }, + { + "sha": "4c680d099c286d267fc1bb76aad81c1ee23f130c", + "subject": "fix(lint): preserve portable advertised patterns through autofix", + "body": "fix(lint): preserve portable advertised patterns through autofix\n", + "parents": ["046ec56d16b70fa363e51713a9d436e7cad8eb02"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "75e0d620bfbb0f50aab897538a99964e85d5f713", + "subject": "fix(tests): accept retained module aliases in node views", + "body": "fix(tests): accept retained module aliases in node views\n\nContent-identical assets share a node whose observations are ordered by identity. Accept either retained display path when selecting that node, while retaining exact per-path reference and observation assertions.\n", + "parents": ["4c680d099c286d267fc1bb76aad81c1ee23f130c"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "4ed33efb0cc993895cf4b4c74049f939f08888c2", + "subject": "fix(cli): format arrays of empty objects without keys as JSON (#7058)", + "body": "fix(cli): format arrays of empty objects without keys as JSON (#7058)\n\nWhen formatting arrays of objects that have no own enumerable keys as\nMarkdown, formatObjectTable derives empty headers and outputs a malformed\ntable with an invalid delimiter row. Require at least one item with keys in\nisObjectArray and fall back to JSON serialization when headers are empty.\n\nFixes #7057", + "parents": ["75e0d620bfbb0f50aab897538a99964e85d5f713"], + "authors": [ + { + "name": "Vinícius Andrade", + "email": "95101505+viniciusdsandrade@users.noreply.github.com", + "user": { + "login": "viniciusdsandrade", + "__typename": "User" + } + } + ], + "pullRequests": [7058] + }, + { + "sha": "bffe8a52a1c4438c01ae932776423453c26ca906", + "subject": "fix(apple): keep the recorded image name and frame symbol offset of IPS reports (#7059)", + "body": "fix(apple): keep the recorded image name and frame symbol offset of IPS reports (#7059)\n\n* fix(apple): keep the recorded image name and frame symbol offset of IPS reports\n\nApple's IPS format documents usedImages[].name and frames[].symbolLocation, and docs/apple-ips.md says documented body fields are reproduced, but the parser shapes did not list either member. They were syntax-checked and discarded without an unlisted_keys entry, so a symbolicated frame lost its +offset and every image its binary name. Both are now kept: images[].name and frames[].symbol_location as a recorded integer, with type mismatches recorded like other fields.\n\n* fix(apple): count frame symbol offsets in the integer text check", + "parents": ["4ed33efb0cc993895cf4b4c74049f939f08888c2"], + "authors": [ + { + "name": "Adolanium", + "email": "94890352+Adolanium@users.noreply.github.com", + "user": { + "login": "Adolanium", + "__typename": "User" + } + } + ], + "pullRequests": [7059] + }, + { + "sha": "69a2faa1207d99920599376f737327b2d06f7133", + "subject": "feat: add FreeBuff agent support for REA setup (#2736)", + "body": "feat: add FreeBuff agent support for REA setup (#2736)\n\n* feat: add FreeBuff agent support for REA setup\n\nRegister FreeBuff as a supported setup client using the shared user\nagents directory (~/.agents/mcp.json with mcpServers, skills in\n~/.agents/skills), which matches what FreeBuff Desktop loads. Adds the\nclient definition, boundary tests, supported-agent docs, and the skill\nreference client list.\n\n* fix(freebuff): detect FreeBuff from its profile directory, not shared .agents\n\nThe ~/.agents marker made FreeBuff appear installed for any home where\nREA had installed shared skills (the default skill destination, also\nGemini CLI's), producing false doctor failures. Detect FreeBuff from\nits own fixed profile directory ~/.config/freebuff-desktop instead,\nand add a regression test covering a home with only the shared agents\nskill directory.\n\n* fix(setup): require product evidence for FreeBuff discovery\n\nAddress review findings at their producing boundaries and preserve directly affected consumers. Source inspection and git diff --check completed. Tests and automated checks were not run at the user’s explicit request.\n\n* fix(uninstall): retain unverified shared client configuration\n\n* fix(clients): preserve scoped removal evidence\n\n* fix(doctor): omit undefined selectedClientIds under exactOptionalPropertyTypes\n\nPassing selectedClientIds explicitly as undefined fails typecheck on this\nbranch (TS2379), which blocks the focused test workflow before any test\ncan run. Spread the option only when defined.\n\n* fix(update): separate ownership evidence from product applicability\n\nrea update's maintenance scope inspected only product applicability\nevidence, so when a FreeBuff profile was absent but REA already owned a\nversion-pinned row in the shared ~/.agents/mcp.json, the plan omitted\nfreebuff and left the integration stale. FreeBuff now declares its\nregistration storage as shared, which proves ownership of an owned row\nbut never product applicability, and maintenance requests ownership\nevidence through that declaration instead of reinterpreting the shared\npaths. Doctor and setup keep readiness evidence, foreign rows stay out\nof maintenance, and the Doctor exactOptionalPropertyTypes fix makes the\nfocused test workflow runnable.\n\n* test(dotnet): split oversized operand extent diagnostics describe\n\nThe describe callback reached 162 lines (max 150), failing\nmax-lines-per-function and blocking the pre-push check for this branch.\nMove the single-case extent scenarios into their own describe; no test\ncontent or order changes.\n\n* fix(update): preserve ZCode's disabled shared registration during maintenance\n\nThe shared user agents file doubles as ZCode's fallback, where\n`enable: false` disables the registration. Ownership-based maintenance\nread that row as a FreeBuff registration, whose format does not\nrecognize the flag, so the row was selected and the emitted setup\ncommand rewrote it, dropping the flag and silently re-enabling a\nregistration the user had disabled.\n\nregistrationActivation now honors `enable: false` for any client whose\nregistration storage is shared, because the activation fact binds every\nreader of that storage. Maintenance leaves such rows out; doctor\nreports them as stale, matching ZCode's own treatment.\n\n* fix(doctor): let explicit client selection authorize the config read\n\nWhen an ACL or an inaccessible shared parent made every access probe\nfail, a client selected by name was omitted before the configuration\nread could return its unreadable-config detail, so doctor reported it\nas not detected with installation remediation: an unresolved selected\npath collapsed to absence.\n\nAn explicit selection now authorizes the read outright and the probes\nserve automatic discovery only. A selected client with an unreadable\nconfig reports invalid with the read failure; one with no config\nreports missing; automatic discovery still probes before inspecting.\n\n* fix(uninstall): share shared-storage checks between ZCode and FreeBuff\n\nclients() queued ~/.agents/mcp.json twice: once as zcode_fallback and once\nas freebuff. ZCode has no discoveryPaths, so its strict read still blocked\nuninstall on malformed shared text, despite FreeBuff's new retain-and-continue\nbehavior. For a valid owned entry, ZCode removed it first, so FreeBuff reported\nskipped rather than removed.\n\nMake the shared file's checks and removal one shared decision:\n- Add zcodeDiscoveryPaths to ZCode so it has its own applicability evidence.\n- Gate zcode_fallback push on applicable, not just zcodeFallbackPath presence.\n- Report shared storage ownership as one decision for both clients:\n FreeBuff and ZCode now use clientOwnershipEvidencePaths together, so a\n recognizable REA-owned row proves ownership once for the shared storage, and\n both clients report the same result consistently.\n\nCo-Authored-By: Claude Opus 4.6 \n\n* fix(uninstall): merge duplicated host and prove shared ownership from owned rows\n\nUninstall.ts declared systemUninstallHost twice, preventing module load,\nwith the exported copy returning only clients and the second copy missing\nclientWriteBlocker. Merge into one exported host carrying both blockers.\n\nhasOwnershipEvidence used access() existence, so an unrelated malformed\n~/.agents/mcp.json established ownership and blocked every removal.\nOwnership now requires a readable, recognizable REA-owned row via the\ninjected filesystem, so unrelated shared data stays retained.\n\nAlso cover ZCode discoveryPaths in its path test.\n\n* fix(uninstall): keep denied product-local configurations fail-closed\n\nUnproven product applicability marked every configuration path of that client unverified, so a denied ZCode profile turned an unreadable product-local config into a retained item: uninstall continued and could report complete with REA still registered. The retain-and-continue exception now applies only to storage REA does not own, classified once by clientSharedRegistrationPaths (shared configuration plus another product's same-scope fallback).\n\nCovers the Greptile P1 on Uninstall.ts. Validation: the new test fails on the pre-fix Uninstall and passes after it; freebuff/zcode/updateMaintenance/bom/dsh suites green; clientLifecycle, clientRegistrationStatus and claudeDesktop keep the same 8 host failures as the pre-merge baseline (symlink EPERM, stale-vs-aligned on Windows).\n\n* fix(update): retain FreeBuff when ZCode reads the shared fallback\n\nMaintenance deduplicated clients on the path each inspection read, so ZCode's fallback view of ~/.agents/mcp.json marked that file \"covered\" and dropped FreeBuff from the scope. ZCode setup writes ~/.zcode/cli/config.json and deliberately leaves the fallback untouched (docs/client-configuration.md), so the emitted command refreshed only ZCode while the shared row both products load stayed pinned to the old package version. Each setup action rewrites only its own configuration path and no other action rewrites the shared row, so every selected client keeps its own maintenance action; the read-path covered/deduped filter is removed.\n\nCovers the Codex P2 on UpdateMaintenance.ts:104. Validation: the new regression fails on e2fdec384 with {clients:[\"zcode\"]} and passes with {clients:[\"freebuff\",\"zcode\"]}; updateMaintenance 31/31, setupClientConfigCleanupOwnership, cliUpdateAlias, updateOutput, cliStartupImports green; tsc --noEmit, oxlint (0 errors) and oxfmt --check clean; clientRegistrationStatus keeps the same 4 symlink/stale-vs-aligned failures this Windows host has on base e2fdec384 (verified by stashing the change).\n\n🤖 Generated with Codebuff\nCo-Authored-By: Codebuff \n\n* fix(uninstall): preserve completed reads as shared ownership evidence\n\nhasOwnershipEvidence caught every read failure and kept scanning, so a handle-close failure after a successful read — a RegularFileCleanupFailure whose completed outcome still contains the exact shared-file text — was discarded as \"no proof\". FreeBuff's applicability-unverified storage therefore never got its ownership fact, and once the retained handle blocked later reads, readClientConfiguration downgraded them to retained: inspection passed, removals soft-failed, and runUninstall(true) could purge REA data while the active shared registration remained. The catch now parses the completed outcome for the ownership text while missing or unreadable storage and malformed data keep their proves-nothing semantics, so ownership holds and every later read failure stays blocking.\n\nCovers the Codex P2 on Uninstall.ts:252. Validation: the new regression fails on 4dbfdf1a9 (freebuff reports no blocking failure while the poisoned-scope error lands on claude_code) and passes after; setupClientConfigCleanupOwnership 25/25; the other 21 Uninstall-consumer suites are byte-identical to base 4dbfdf1a9 (61 pre-existing Windows-host failures: symlink EPERM, stale-vs-aligned); tsc --noEmit, oxlint (0 errors, same 6 warnings) and oxfmt --check clean.\n\n🤖 Generated with Codebuff\nCo-Authored-By: Codebuff \n\n* fix(uninstall): keep owned-row proof through removal refusals\n\nhasOwnershipEvidence treated any clientRegistrationRemoval refusal as no ownership: an effective REA-owned rea member shadowed by an earlier foreign duplicate (shadowed_unowned_member), or an owned native row beside a foreign V1 fallback (foreign_legacy_fallback), discarded the already-parsed positive row fact. With FreeBuff unverified and close failures recurring on the preflight/removal rereads, those failures were then downgraded to retained, so runUninstall(true) removed the skill and purged REA data while the active owned row remained. The refusal now carries the owned rows that motivated it — the refusal only refuses the edit — and hasOwnershipEvidence evaluates that fact on both paths; preflight and removal keep refusing the unsafe edit exactly as before.\n\nCovers the Codex P2 on Uninstall.ts:269. Validation: the new regression fails on 225cb214a (freebuff reports no blocking failure while the poisoned-scope error lands on claude_code) and passes after; setupClientConfigCleanupOwnership 26/26; the 21 Uninstall-consumer suites are byte-identical to the recorded 225cb214a baseline (61 pre-existing Windows-host failures: symlink EPERM, stale-vs-aligned); tsc --noEmit, oxlint (0 errors, same 6 warnings) and oxfmt --check clean.\n\n🤖 Generated with Codebuff\nCo-Authored-By: Codebuff \n\n* fix(uninstall): keep unresolved discovery probes from softening shared failures\n\nThe discovery probe swallowed every stat failure, so a FreeBuff profile denied with EACCES/EIO was indistinguishable from an absent profile: shared storage was marked applicability-unverified and, when ~/.agents/mcp.json also remained unreadable, the ownership and removal reads softened to retained. runUninstall(true) then removed the skill and purged REA data while an installed FreeBuff could still hold an active registration — the regression even reports complete. Absence (ENOENT) is now the only state that leaves shared paths unverified; any other probe failure leaves applicability unresolved, and shared-config failures stay blocking.\n\nCovers the Codex P2 on Uninstall.ts:318. Validation: the new regression fails on 7572a7082 with status complete and purged data and passes after; freebuffClientConfiguration 13/13; the Uninstall-consumer batches are byte-identical to the recorded baselines (61 pre-existing Windows-host failures: symlink EPERM, stale-vs-aligned); tsc --noEmit, oxlint (0 errors, same warning rules) and oxfmt --check clean.\n\n🤖 Generated with Codebuff\nCo-Authored-By: Codebuff \n\n* fix(uninstall): retain completed configuration reads as removal evidence\n\nA close failure after a completed read discarded the text that read\nproduced, so an owned registration row the text proves softened to\nretained. The completed text now drives removal, keeping shared-config\nfailures blocking when ownership evidence exists.\n\nCo-Authored-By: Anthropic \n\n* fix(uninstall): stop removal when a cleanup retry leaves a handle unreleased\n\nA completed reread whose handle the cleanup retry cannot release now fails\nblockingly instead of serving the text: with no owned row, the soft path\nlet removeAll purge managed data before close() reported the incomplete\ncleanup. The completed text is served only after the retry releases the\nhandle; an unreleased handle is REA's own failure, never applicability\nuncertainty, so it bypasses the retained softening.\n\nCo-Authored-By: Anthropic \n\n* fix(uninstall): keep the ZCode fallback when its profile probe is unresolved\n\nA denied or failed profile probe leaves ZCode's applicability unresolved,\nnever absent, but the fallback branch dropped the shared row on\napplicability alone: with the native config and FreeBuff's profile both\nabsent, an installed ZCode kept its uninspected registration while\nuninstall purged skill and data. Unresolved probes now keep the fallback\nin scope with the same fail-closed treatment as other unresolved shared\npaths; definitive absence still keeps ZCode out of another product's\nprimary storage.\n\nCo-Authored-By: Anthropic \n\n* fix(setup): preserve a shared row's enable:false during FreeBuff repair\n\nThe shared agents file doubles as ZCode's fallback, so its `enable: false`\nbinds every reader: doctor now reports the disabled row as stale for\nFreeBuff, but following that remediation rebuilt the generic JSON entry\nwithout the flag and silently re-enabled a registration ZCode disabled.\nRepairs of shared storage now carry the activation fact forward, while a\nclient's own native storage keeps its established single-reader repair\ncontract; the denied-profile uninstall regression also pins the\nfallback's new fail-closed inspection beside the denied read.\n\nCo-Authored-By: Anthropic \n\n* test(uninstall): retarget the completed-reread regression to a released retry\n\nThe concurrent-writer regression held the reread handle open forever,\nwhich the fail-closed path now serves: it duplicated the unreleased-handle\nregression while documenting the opposite contract. The fixture's close\nspy gains a failure limit so the cleanup retry releases the handle, and\nthe test again proves the completed text drives removal of the\nconcurrently added owned row, with purge verified against the cache\nlayout purge actually removes.\n\nCo-Authored-By: Anthropic \n\n* fix(doctor): report a preserved shared disable as a manual conflict\n\nPreserving a shared row's enable:false left doctor recommending a setup\nrun that registrationCurrent correctly treats as already current, so the\nscoped doctor returned needs_human forever. The shared-enable\ninterpretation now has one owner, sharedEnableFlagBinds, used by both\nthe activation rule and the remediation: a row disabled through the\nshared flag reports the manual conflict and states that rea setup will\nnot change it, instead of an endlessly ineffective repair.\n\nCo-Authored-By: Anthropic \n\n* fix(doctor): keep a native ZCode disable on the setup repair path\n\nThe manual-conflict remediation matched a native zcode row through\nsharedEnableFlagBinds, but setup drops enable:false on single-reader\nstorage, so a native disabled registration was told setup would not\nchange it. The remediation now reads setup's own writer rule,\nexported as setupPreservesDisabledActivation: shared storage and the\nzcode fallback view keep the manual-conflict message, while a native\nrow keeps the working rea setup instruction. Regressions pin both\nremediations.\n\n🤖 Generated with Codebuff\nCo-Authored-By: Codebuff \n\n* revert: drop the unrelated managed-CIL describe split\n\nThe split does not belong to FreeBuff client support and only widens this\nPR's diff.\n\n🤖 Generated with Codebuff\nCo-Authored-By: Codebuff \n\n* fix(uninstall): remove the shared agent registration once for both clients\n\nZCode's ~/.agents/mcp.json fallback and FreeBuff's own configuration queued the\nsame physical file twice, so ZCode removed the row and FreeBuff then reported\nit absent, losing the outcome for the client that owns the file.\n\nResolve every configuration path to one owner -- the client whose\nconfiguration it is -- and project that single inspection and removal to each\nclient that loads it. A fallback reader still contributes its discovery probe,\nso an installed or unresolved reader keeps the shared file fail-closed.\n\nDiscovery also accepted a dangling ~/.config/freebuff-desktop link, which setup\nand doctor reject because they follow the target, so an unrelated malformed\nshared file blocked every other removal. Resolve the link before treating the\nprofile as installation evidence, keeping lstat for removal safety.\n\nAlso date the FreeBuff release wording against the published 6.7.0 package.\n\n* fix(uninstall): keep a row per client when two clients own one file\n\nOPENCODE_CONFIG can point OpenCode at FreeBuff's configuration file, where\nOpenCode writes `mcp.rea` and FreeBuff writes `mcpServers.rea`. Grouping by\nfilename gave that path a single owner, so uninstall removed only OpenCode's\nrow, reported that removal for FreeBuff, and could purge managed data with\nFreeBuff's registration still active.\n\nShare the decision only through a fallback view of another client's row: every\nclient that declares the path as its own configuration keeps its own\ninspection and removal, and the fallback reader reports each of them.\n\n* fix(clients): preserve discovery and fallback registration identity\n\nFollow product discovery link targets without losing configuration entry\npresence or explicitly selected inspections. Associate fallback readers with\nthe format owner's registration table and project outcomes by owner and path,\nso OpenCode removal cannot be reported as a ZCode fallback removal.\n\nAll three new boundary regressions fail against the previous source and pass\nwith the fixes. Validation: check:fast; 217 focused tests passed; the two\nchanged test files were rerun with 50 passing tests. No installed FreeBuff\nclient was launched.\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>\nCo-authored-by: Claude Opus 4.6 \nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\nCo-authored-by: Codebuff ", + "parents": ["bffe8a52a1c4438c01ae932776423453c26ca906"], + "authors": [ + { + "name": "ezan", + "email": "fakhrezan1@gmail.com", + "user": { + "login": "0xLLVEL", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + }, + { + "name": "Claude Opus 4.6", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "Kaoru0822", + "email": "208281322+kaoru0822-kitauji@users.noreply.github.com", + "user": { + "login": "kaoru0822-kitauji", + "__typename": "User" + } + }, + { + "name": "Codebuff", + "email": "noreply@codebuff.com", + "user": { + "login": "codebuff-team", + "__typename": "User" + } + } + ], + "pullRequests": [2736] + }, + { + "sha": "26e155987f4a1eb96c1f767fac560f427b0f7c37", + "subject": "fix(javascript): invalidate Electron reads after direct eval (#7053)", + "body": "fix(javascript): invalidate Electron reads after direct eval (#7053)", + "parents": ["69a2faa1207d99920599376f737327b2d06f7133"], + "authors": [ + { + "name": "Wenyu Chiou", + "email": "162016108+WenyuChiou@users.noreply.github.com", + "user": { + "login": "WenyuChiou", + "__typename": "User" + } + } + ], + "pullRequests": [7053] + }, + { + "sha": "4232399079cd48c160cab6961085d44399993f6d", + "subject": "docs(i18n): add Japanese translation (#7061)", + "body": "docs(i18n): add Japanese translation (#7061)\n\n* docs(i18n): add Japanese translation\n\n* Update docs/readme/README_ja.md\n\nCo-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>\n\n---------\n\nCo-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>", + "parents": ["26e155987f4a1eb96c1f767fac560f427b0f7c37"], + "authors": [ + { + "name": "Ikko Eltociear Ashimine", + "email": "eltociear@gmail.com", + "user": { + "login": "eltociear", + "__typename": "User" + } + }, + { + "name": "greptile-apps[bot]", + "email": "165735046+greptile-apps[bot]@users.noreply.github.com", + "user": { + "login": "greptile-apps[bot]", + "__typename": "User" + } + } + ], + "pullRequests": [7061] + }, + { + "sha": "9750486e789828d66880156a6183d907437477a2", + "subject": "fix(mcp): normalize compact schemas for strict gateways (#3806)", + "body": "fix(mcp): normalize compact schemas for strict gateways (#3806)\n\n* fix(mcp): make compact schemas gateway compatible\n\n* test(mcp): bind input precision assertions to the advertised profile\n\n* test(mcp): own schema assertions and validator lifetimes\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["4232399079cd48c160cab6961085d44399993f6d"], + "authors": [ + { + "name": "Hahaa909", + "email": "162872815+Hahaa909@users.noreply.github.com", + "user": { + "login": "Hahaa909", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [3806] + }, + { + "sha": "8e6a95788688439baeeec8e54c9b3e845226f79d", + "subject": "fix(release): exclude Copilot from human contribution credits", + "body": "fix(release): exclude Copilot from human contribution credits\n\nPreserve GitHub User metadata for Copilot while excluding it from generated human thanks and accepted prose credits. Extend the real inventory/render/check regression and document the known agent identity.\n", + "parents": ["9750486e789828d66880156a6183d907437477a2"], + "authors": [ + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [] + }, + { + "sha": "60ab148afae256c399dc479d0e8beebcdf14069e", + "subject": "fix(ghidra): accept stock language IDs with LEBE endianness or a slash (#7070)", + "body": "fix(ghidra): accept stock language IDs with LEBE endianness or a slash (#7070)\n\nREA_GHIDRA_LANGUAGE_ID only allowed LE or BE as the endian field and no '/' in the processor, so it rejected four language IDs that ship with Ghidra: ARM:LEBE:32:v7LEInstruction and v8LEInstruction (ARM BE8) and M16C/60:LE:16:default and M16C/80:LE:16:default. The syntax check now allows LEBE and a slash between processor name parts; the installed .ldefs catalog check is unchanged.", + "parents": ["8e6a95788688439baeeec8e54c9b3e845226f79d"], + "authors": [ + { + "name": "Adolanium", + "email": "94890352+Adolanium@users.noreply.github.com", + "user": { + "login": "Adolanium", + "__typename": "User" + } + } + ], + "pullRequests": [7070] + }, + { + "sha": "06a4c338fc110f48e7b710d0b7cb9dd0b2333d9d", + "subject": "fix(protobuf): exclude trailing whitespace from gRPC-web trailer values (#7069)", + "body": "fix(protobuf): exclude trailing whitespace from gRPC-web trailer values (#7069)\n\nRFC 9110 section 5.5 excludes leading and trailing whitespace from a field value. The gRPC-web trailer parser stripped only leading SP/HTAB, so 'grpc-status: 0 ' was reported as '0 '. Trailing SP/HTAB is now excluded too; internal whitespace and the examined byte count are unchanged.", + "parents": ["60ab148afae256c399dc479d0e8beebcdf14069e"], + "authors": [ + { + "name": "Adolanium", + "email": "94890352+Adolanium@users.noreply.github.com", + "user": { + "login": "Adolanium", + "__typename": "User" + } + } + ], + "pullRequests": [7069] + }, + { + "sha": "4973ce7202d09c99dff8693600031bef87e48e8e", + "subject": "fix(capture): report an out-of-range record ordinal as a selection fault (#7067)", + "body": "fix(capture): report an out-of-range record ordinal as a selection fault (#7067)\n\ninspect_web_network_capture reported a record_ordinals entry past the capture's records as an invalid_format issue on record_ordinals, with no bounds. It is now an out_of_range issue on that entry (record_ordinals[i]) with minimum 0 and maximum total_records - 1, or invalid_value when the capture has no records.", + "parents": ["06a4c338fc110f48e7b710d0b7cb9dd0b2333d9d"], + "authors": [ + { + "name": "Adolanium", + "email": "94890352+Adolanium@users.noreply.github.com", + "user": { + "login": "Adolanium", + "__typename": "User" + } + } + ], + "pullRequests": [7067] + }, + { + "sha": "fead4fdaa7410ed2f7421fbce37e546c9cd6d7e4", + "subject": "fix(artifacts): preserve integrity contradictions for one-sided members (#7076)", + "body": "fix(artifacts): preserve integrity contradictions for one-sided members (#7076)", + "parents": ["4973ce7202d09c99dff8693600031bef87e48e8e"], + "authors": [ + { + "name": "Wenyu Chiou", + "email": "162016108+WenyuChiou@users.noreply.github.com", + "user": { + "login": "WenyuChiou", + "__typename": "User" + } + } + ], + "pullRequests": [7076] + }, + { + "sha": "cc146042d16bfee5b2553e9a255f659b2cf64f9a", + "subject": "fix(cli): preserve literal Markdown table facts (#7073)", + "body": "fix(cli): preserve literal Markdown table facts (#7073)\n\n* fix(cli): preserve literal Markdown table facts\n\n* test(cli): retain capacity diagnostics through Markdown escaping\n\n* fix(cli): keep intraword underscores readable in Markdown tables\n\nUnderscore runs between letters or digits cannot open or close CommonMark emphasis, so escaping them only adds noise to identifiers such as source_index and invalid_request in raw Markdown. Escape underscore runs only at word boundaries and restore the original diagnostic assertions.", + "parents": ["fead4fdaa7410ed2f7421fbce37e546c9cd6d7e4"], + "authors": [ + { + "name": "RRFZ", + "email": "247457381+Plastic-time@users.noreply.github.com", + "user": { + "login": "Plastic-time", + "__typename": "User" + } + } + ], + "pullRequests": [7073] + }, + { + "sha": "0a2b7af905a226540fbad637c60fe79b15a24549", + "subject": "fix(apple): keep the documented terminating process, parent pid and metadata members of IPS reports (#7079)", + "body": "fix(apple): keep the documented terminating process, parent pid and metadata members of IPS reports (#7079)\n\nApple's crash report JSON documents termination.byPid, byProc and flags, the body's parentPid, and\nthe metadata line's build_version and platform. The parser shapes did not list them, so they were\nreported only by name in unlisted_keys / unlisted_body_keys and their values were dropped: a\nwatchdog kill no longer said which process ended it, and process kept parentProc without its pid.\n#4297 asks for termination members beyond namespace/code/indicator to be retained as recorded, and\ndocs/apple-ips.md says documented fields are reproduced.\n\nThey are now kept: termination.by_proc, termination.by_pid and termination.flags, process.parent_pid\nand metadata.build_version / metadata.platform. The integers are recorded integers, so they count\ntoward max_integer_text_bytes and a type mismatch is recorded like the other fields.", + "parents": ["cc146042d16bfee5b2553e9a255f659b2cf64f9a"], + "authors": [ + { + "name": "rodricksz4h5", + "email": "rodricksz2005@gmail.com", + "user": { + "login": "rodricksz4h5", + "__typename": "User" + } + } + ], + "pullRequests": [7079] + }, + { + "sha": "2c38becc4e9892424776a71c65743369bf9d8e92", + "subject": "feat(binary-layout): admit ELF32 i386, ARM and MIPS layout profiles (#7052)", + "body": "feat(binary-layout): admit ELF32 i386, ARM and MIPS layout profiles (#7052)\n\n* feat(binary-layout): admit ELF32 i386, ARM and MIPS layout profiles\n\ninspect_binary_layout refused every ELF32 object, so router and IoT\nfirmware (ARM32, MIPS32) got no layout facts at all.\n\nThe pwntools adapter now admits EXEC/DYN/REL objects in these profiles:\nELF64 x86-64, ELF32 i386, ELF32 little-endian ARM and ELF32 little- or\nbig-endian MIPS. Header fields are read in the declared byte order, the\nELF32 header is bounds-checked at 52 bytes, and pwntools' own reported\narchitecture, class and byte order must match the admitted profile.\nOther machines, classes and byte orders keep an unsupported_target\nrefusal that names the admitted profiles.\n\nThe output schema admits exactly those architecture combinations, and\nthe Evidence subject now names the reported machine instead of always\nclaiming x86_64.\n\nverify:binary:layout cross-compiles i386, ARM, MIPS and MIPSel\nexecutables and relocatable objects (never executed) and checks every\nsection name, address, offset and size against GNU readelf through CLI\nand MCP. The real-binary-layout workflow installs those toolchains.\n\nRefs #6934\n\nCo-Authored-By: Claude Opus 5.5 \n\n* ci(binary-layout): install target libc headers for ELF32 fixtures\n\n--no-install-recommends skips the libc6-dev-*-cross packages the cross\ncompilers only recommend, so the i686 fixture fell back to the host's\n/usr/include and failed to find bits/libc-header-start.h. Install the\nfour target libc development packages explicitly.\n\nRefs #6934\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(binary-layout): size the minimum symbol entry by ELF class\n\nThe relocation reference check required a 24-byte Elf64_Sym entry, so\nevery positive symbol reference in an ELF32 report was refused as\nunreadable output. Elf32_Sym is 16 bytes; take the minimum from the\nreported class. A 64-bit table with 16-byte entries is still refused.\n\nRefs #6934\n\nCo-Authored-By: Claude Opus 5.5 \n\n* test(binary-layout): compare ELF32 symbols and relocations with readelf\n\n---------\n\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["0a2b7af905a226540fbad637c60fe79b15a24549"], + "authors": [ + { + "name": "Salman Almutairi", + "email": "141588124+salmanalmutairi1@users.noreply.github.com", + "user": { + "login": "salmanalmutairi1", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [7052] + }, + { + "sha": "c74d302cc40f255e0fefc6be375d1433b0561dd1", + "subject": "fix(ghidra): report a DOL language override conflict as a configuration error (#7081)", + "body": "fix(ghidra): report a DOL language override conflict as a configuration error (#7081)\n\n* fix(ghidra): report a DOL language override conflict as a configuration error\n\nA REA_GHIDRA_LANGUAGE_ID outside PowerPC:BE:32:* made an otherwise admitted GameCube DOL an unsupported target. docs/ghidra-provider.md and the other fixed-import lanes treat such an override as a configuration error naming the conflicting setting. The DOL lane now uses the same languageOverrideConflict owner and names only REA_GHIDRA_LANGUAGE_ID, since DOL accepts a compiler-spec override.\n\n* test(ghidra): keep a valid compiler spec out of the DOL language conflict", + "parents": ["2c38becc4e9892424776a71c65743369bf9d8e92"], + "authors": [ + { + "name": "Adolanium", + "email": "94890352+Adolanium@users.noreply.github.com", + "user": { + "login": "Adolanium", + "__typename": "User" + } + } + ], + "pullRequests": [7081] + }, + { + "sha": "80673b22a46d01899718e22584cf95d9f0529ab7", + "subject": "fix(javascript): report fork's silent stdio as piped (#7083)", + "body": "fix(javascript): report fork's silent stdio as piped (#7083)\n\n* fix(javascript): report fork's silent stdio as piped\n\nNode's child_process.fork pipes stdin, stdout and stderr when options.silent is truthy and options.stdio is neither a string nor an array, and inherits them otherwise. REA never read silent, so fork(\"worker.js\", { silent: true }) was reported with stdio_mode default (inherited). The unset-stdio case of fork now reads silent: truthy gives pipe, falsy or missing gives default, and an unresolved value gives dynamic.\n\n* fix(javascript): apply fork's silent rule to other known stdio values", + "parents": ["c74d302cc40f255e0fefc6be375d1433b0561dd1"], + "authors": [ + { + "name": "Adolanium", + "email": "94890352+Adolanium@users.noreply.github.com", + "user": { + "login": "Adolanium", + "__typename": "User" + } + } + ], + "pullRequests": [7083] + }, + { + "sha": "113679c9a6a1af4c77c1b546e466f4d490dc1095", + "subject": "feat(environment): serve creates whose answers show less than reads, and whole-object updates (#7080)", + "body": "feat(environment): serve creates whose answers show less than reads, and whole-object updates (#7080)\n\n* feat(environment): take created entities' read-backs and re-derived update members\n\n- A create's observation takes the fields the first read of its entity\n shows that the answer lacks, and an item read's clock spellings, when the\n read agrees with the answer otherwise. The plan records the read\n (observation.read with its shape); an item read then observes rather than\n checks, a list read only adds fields and still checks. Serving merges the\n same recorded objects.\n- An update member sent back as the clock the entity held and stored as a\n fresh clock near the call is a clock rule; one stored as the slug of\n another member stored as sent is a slug rule. Both are accepted with any\n value, as whole-object writes send what they read.\n\nCo-Authored-By: Claude Opus 5.5 \n\n* docs(environment): record the write-views verification\n\nCo-Authored-By: Claude Opus 5.5 \n\n* fix(environment): reconcile write views without hiding contradictions\n\n* fix(environment): reject incompatible slug-only saves\n\n---------\n\nCo-authored-by: Claude Opus 5.5 \nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>", + "parents": ["80673b22a46d01899718e22584cf95d9f0529ab7"], + "authors": [ + { + "name": "Edgar Arakelyan", + "email": "edgar.arakelyan@scale.com", + "user": { + "login": "earakely-scale", + "__typename": "User" + } + }, + { + "name": "Claude Opus 5.5", + "email": "noreply@anthropic.com", + "user": { + "login": "claude", + "__typename": "User" + } + }, + { + "name": "morluto", + "email": "76467478+morluto@users.noreply.github.com", + "user": { + "login": "morluto", + "__typename": "User" + } + } + ], + "pullRequests": [7080] + } + ], + "pullRequests": [ + { + "number": 2331, + "title": "feat(diagnostics): report a byte entropy profile for one local file", + "url": "https://github.com/morluto/rea/pull/2331", + "author": { + "login": "mvanhorn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7aa1b51282ba3fe2a659330ee615bd0de8dffaaf" + }, + "issues": [] + }, + { + "number": 2433, + "title": "feat(artifacts): inventory and extract PyInstaller archives", + "url": "https://github.com/morluto/rea/pull/2433", + "author": { + "login": "mvanhorn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "afa5da745e0b139e68029a96b776ae30e48ea2b2" + }, + "issues": [] + }, + { + "number": 2700, + "title": "fix(javascript): preserve ESM path intent and artifact confinement", + "url": "https://github.com/morluto/rea/pull/2700", + "author": { + "login": "rohitg00", + "__typename": "User" + }, + "mergeCommit": { + "oid": "6714fb1d02feac15ea395655334c15b87fdcb948" + }, + "issues": [] + }, + { + "number": 2731, + "title": "docs(go): clarify cumulative build-info search budget", + "url": "https://github.com/morluto/rea/pull/2731", + "author": { + "login": "cyanseek", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7fdf7a5b79ac2875ae659fc94563ff474d8d3021" + }, + "issues": [] + }, + { + "number": 2736, + "title": "feat: add FreeBuff agent support for REA setup", + "url": "https://github.com/morluto/rea/pull/2736", + "author": { + "login": "0xLLVEL", + "__typename": "User" + }, + "mergeCommit": { + "oid": "69a2faa1207d99920599376f737327b2d06f7133" + }, + "issues": [ + { + "number": 3243, + "url": "https://github.com/morluto/rea/issues/3243", + "author": { + "login": "0xLLVEL", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 2888, + "title": "test(native): assert failed-callee call identities and edge caps", + "url": "https://github.com/morluto/rea/pull/2888", + "author": { + "login": "IvenKooLab", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7cdf8bc5cf376baa8d4a6ba6109a1aecc16e4c93" + }, + "issues": [] + }, + { + "number": 3407, + "title": "refactor(pcap): give TShark selection and version admission one owner", + "url": "https://github.com/morluto/rea/pull/3407", + "author": { + "login": "555aaditya", + "__typename": "User" + }, + "mergeCommit": { + "oid": "92a9591a418735dd54169961c42c5ac436107ec0" + }, + "issues": [] + }, + { + "number": 3422, + "title": "fix(hopper): keep automated Linux setup off non-x86_64 hosts", + "url": "https://github.com/morluto/rea/pull/3422", + "author": { + "login": "DavidFB-creator", + "__typename": "User" + }, + "mergeCommit": { + "oid": "86655eac66555aaf4cbe500797d34071077a396a" + }, + "issues": [ + { + "number": 3419, + "url": "https://github.com/morluto/rea/issues/3419", + "author": { + "login": "DavidFB-creator", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3456, + "title": "fix(javascript): keep overflowing timer delays unknown", + "url": "https://github.com/morluto/rea/pull/3456", + "author": { + "login": "HawkForge", + "__typename": "User" + }, + "mergeCommit": { + "oid": "8443692e2bd93f31eae8bc0e018544abc4ed71e9" + }, + "issues": [ + { + "number": 3400, + "url": "https://github.com/morluto/rea/issues/3400", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3457, + "title": "fix(native): keep export names ending in a carriage return", + "url": "https://github.com/morluto/rea/pull/3457", + "author": { + "login": "HawkForge", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2425493e1032917f17ea61bac8817baba2282177" + }, + "issues": [ + { + "number": 3390, + "url": "https://github.com/morluto/rea/issues/3390", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3460, + "title": "fix(mcp): keep analyze_function progress strictly increasing", + "url": "https://github.com/morluto/rea/pull/3460", + "author": { + "login": "peter-research", + "__typename": "User" + }, + "mergeCommit": { + "oid": "3cfdc585b42cf017706f9539111c48f1ae18a3d2" + }, + "issues": [ + { + "number": 3335, + "url": "https://github.com/morluto/rea/issues/3335", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3469, + "title": "fix(opencode): override inherited disabled flags", + "url": "https://github.com/morluto/rea/pull/3469", + "author": { + "login": "CmsChase", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c592ea6baca075c4d232125104144e03d9a85dcb" + }, + "issues": [ + { + "number": 3318, + "url": "https://github.com/morluto/rea/issues/3318", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3471, + "title": "fix(electron): block moveToApplicationsFolder during active capture", + "url": "https://github.com/morluto/rea/pull/3471", + "author": { + "login": "keeponlight", + "__typename": "User" + }, + "mergeCommit": { + "oid": "6bc4ec3a7406b338945c2534ac85b8ffef88cf11" + }, + "issues": [ + { + "number": 3452, + "url": "https://github.com/morluto/rea/issues/3452", + "author": { + "login": "gkobayashi0", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3479, + "title": "fix(browser): retain the null console argument in selected console text", + "url": "https://github.com/morluto/rea/pull/3479", + "author": { + "login": "NIU-123370", + "__typename": "User" + }, + "mergeCommit": { + "oid": "1dcaa77693673a279d90ce907c1f4a6dfd0cf24b" + }, + "issues": [ + { + "number": 3377, + "url": "https://github.com/morluto/rea/issues/3377", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3484, + "title": "docs(browser): reconcile HTTP discovery wording with browser sockets", + "url": "https://github.com/morluto/rea/pull/3484", + "author": { + "login": "0xRafie", + "__typename": "User" + }, + "mergeCommit": { + "oid": "55c3129224fe7f416f47f015a3e63e0dd12df467" + }, + "issues": [] + }, + { + "number": 3493, + "title": "fix(browser): reserve the initial scenario step id from action inputs", + "url": "https://github.com/morluto/rea/pull/3493", + "author": { + "login": "NIU-123370", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4fe88a7e3fd7f8f5ab55274fae5146a6153ff190" + }, + "issues": [ + { + "number": 3391, + "url": "https://github.com/morluto/rea/issues/3391", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3497, + "title": "fix(reference): retain inventories with empty module specifiers", + "url": "https://github.com/morluto/rea/pull/3497", + "author": { + "login": "zpf2234", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b28f6c09535bf7b85b5425e3485178820fbebe82" + }, + "issues": [ + { + "number": 3387, + "url": "https://github.com/morluto/rea/issues/3387", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3502, + "title": "fix(apple): stop counting single-object NIB connectors as ownerless", + "url": "https://github.com/morluto/rea/pull/3502", + "author": { + "login": "Dragolone", + "__typename": "User" + }, + "mergeCommit": { + "oid": "740f107ff9bd2b985ba0040c19fc460ff94806a2" + }, + "issues": [] + }, + { + "number": 3515, + "title": "fix(browser): reject overflowing scenario timers", + "url": "https://github.com/morluto/rea/pull/3515", + "author": { + "login": "sagarithm", + "__typename": "User" + }, + "mergeCommit": { + "oid": "eac296a7da3356f1c5342155d635975ddd89cba6" + }, + "issues": [ + { + "number": 3392, + "url": "https://github.com/morluto/rea/issues/3392", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3587, + "title": "fix(electron): follow absolute symlinks that stay inside the framework", + "url": "https://github.com/morluto/rea/pull/3587", + "author": { + "login": "mvanhorn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "0e5c511c0138685ff7317bef4d0184900018eb3e" + }, + "issues": [] + }, + { + "number": 3598, + "title": "fix(website): wrap mobile navigation at enlarged text sizes", + "url": "https://github.com/morluto/rea/pull/3598", + "author": { + "login": "pirrozani", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f33b7bd61789f9848da0e3c5ee438a7f854325eb" + }, + "issues": [] + }, + { + "number": 3600, + "title": "fix(contracts): reject NUL bytes in objdump and rizin local path inputs", + "url": "https://github.com/morluto/rea/pull/3600", + "author": { + "login": "qorvr", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c6a2576aba1351f6de2c47b994336ccb4eb2c67e" + }, + "issues": [] + }, + { + "number": 3634, + "title": "feat(artifacts): inspect and extract Godot PCK with retained facts", + "url": "https://github.com/morluto/rea/pull/3634", + "author": { + "login": "0xthearchitect", + "__typename": "User" + }, + "mergeCommit": { + "oid": "5fa4defcbc0e55ef1ec84c888b918abe945303fe" + }, + "issues": [] + }, + { + "number": 3755, + "title": "fix(doctor): validate Hopper startup timeout in readiness checks", + "url": "https://github.com/morluto/rea/pull/3755", + "author": { + "login": "xiajiahang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "052956af3416fa01d93837e54fdec3ad2739f6d1" + }, + "issues": [ + { + "number": 3306, + "url": "https://github.com/morluto/rea/issues/3306", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3785, + "title": "fix(hermes): detach aliased server tables before editing", + "url": "https://github.com/morluto/rea/pull/3785", + "author": { + "login": "CmsChase", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4a90059fe2a8e561a682fdd36f81f1120cfef686" + }, + "issues": [ + { + "number": 3320, + "url": "https://github.com/morluto/rea/issues/3320", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3805, + "title": "fix(website): align the language picker chevron", + "url": "https://github.com/morluto/rea/pull/3805", + "author": { + "login": "hi2242", + "__typename": "User" + }, + "mergeCommit": { + "oid": "aa521379dd8c406f56af9281ff093e1b774592e8" + }, + "issues": [ + { + "number": 3804, + "url": "https://github.com/morluto/rea/issues/3804", + "author": { + "login": "hi2242", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3806, + "title": "fix(mcp): normalize compact schemas for strict gateways", + "url": "https://github.com/morluto/rea/pull/3806", + "author": { + "login": "Hahaa909", + "__typename": "User" + }, + "mergeCommit": { + "oid": "9750486e789828d66880156a6183d907437477a2" + }, + "issues": [ + { + "number": 3800, + "url": "https://github.com/morluto/rea/issues/3800", + "author": { + "login": "wang1xiang", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3807, + "title": "feat(il2cpp): inventory Unity IL2CPP global-metadata images, types and methods", + "url": "https://github.com/morluto/rea/pull/3807", + "author": { + "login": "8rulerstar", + "__typename": "User" + }, + "mergeCommit": { + "oid": "833136507dd79d959340b09862a53af344e4f1b3" + }, + "issues": [ + { + "number": 3784, + "url": "https://github.com/morluto/rea/issues/3784", + "author": { + "login": "8rulerstar", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3814, + "title": "fix(managed): preserve observed method header differences", + "url": "https://github.com/morluto/rea/pull/3814", + "author": { + "login": "xiajiahang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "14c4c2a1d70fb0800f28227c5f001f608004aee0" + }, + "issues": [ + { + "number": 3348, + "url": "https://github.com/morluto/rea/issues/3348", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3826, + "title": "fix(reconstruction): retain semantic unknowns in obligation ledgers", + "url": "https://github.com/morluto/rea/pull/3826", + "author": { + "login": "maxazure", + "__typename": "User" + }, + "mergeCommit": { + "oid": "5d3762456fd991d2726de9fe6527c43deb074893" + }, + "issues": [ + { + "number": 3370, + "url": "https://github.com/morluto/rea/issues/3370", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 3975, + "title": "fix(browser): reject empty capture containers beyond the 64-level nesting budget", + "url": "https://github.com/morluto/rea/pull/3975", + "author": { + "login": "Anurag-5ingh", + "__typename": "User" + }, + "mergeCommit": { + "oid": "1f9d1b5de19bc31787101b203b4628c9f5ffd2e6" + }, + "issues": [ + { + "number": 3960, + "url": "https://github.com/morluto/rea/issues/3960", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4023, + "title": "fix(javascript): keep Vite dependency slots after a spread unknown", + "url": "https://github.com/morluto/rea/pull/4023", + "author": { + "login": "Sriram-PR", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d8199ab6afa694fabfdeafa1d6ae269b06f5f65d" + }, + "issues": [ + { + "number": 3907, + "url": "https://github.com/morluto/rea/issues/3907", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4024, + "title": "fix(evm): reject repeated byte-string keys in Solidity metadata", + "url": "https://github.com/morluto/rea/pull/4024", + "author": { + "login": "Sriram-PR", + "__typename": "User" + }, + "mergeCommit": { + "oid": "8fe8622e0927182cc284b2e24f0058cf0d038b58" + }, + "issues": [ + { + "number": 3991, + "url": "https://github.com/morluto/rea/issues/3991", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4032, + "title": "fix(browser): preserve source-map media types", + "url": "https://github.com/morluto/rea/pull/4032", + "author": { + "login": "eco-null", + "__typename": "User" + }, + "mergeCommit": { + "oid": "536f5ce38b7076c253486ff91fc980985a453289" + }, + "issues": [ + { + "number": 3945, + "url": "https://github.com/morluto/rea/issues/3945", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4040, + "title": "fix(browser): preserve frame identity across captures", + "url": "https://github.com/morluto/rea/pull/4040", + "author": { + "login": "eco-null", + "__typename": "User" + }, + "mergeCommit": { + "oid": "0154141304028645d767bad32a1f7568b5d4815b" + }, + "issues": [ + { + "number": 3878, + "url": "https://github.com/morluto/rea/issues/3878", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 3910, + "url": "https://github.com/morluto/rea/issues/3910", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 3941, + "url": "https://github.com/morluto/rea/issues/3941", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4073, + "title": "fix(adb): normalize absent installer package sentinels", + "url": "https://github.com/morluto/rea/pull/4073", + "author": { + "login": "yankikucuk", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7721d59e1a92fd2e51459b1a50bc9aa74fe10f32" + }, + "issues": [] + }, + { + "number": 4103, + "title": "fix(providers): report provider-selection diagnostics when the selected provider refuses its profile", + "url": "https://github.com/morluto/rea/pull/4103", + "author": { + "login": "pablodiazjorge", + "__typename": "User" + }, + "mergeCommit": { + "oid": "02e2c9cd7f07602ac7e247bc383c30fa654670da" + }, + "issues": [ + { + "number": 3930, + "url": "https://github.com/morluto/rea/issues/3930", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4123, + "title": "fix(website): handle UTF-8 output and slash refs in link audits", + "url": "https://github.com/morluto/rea/pull/4123", + "author": { + "login": "kuxiaowo", + "__typename": "User" + }, + "mergeCommit": { + "oid": "3f35eacad2827e450d62bfcb0f9c4f38c7a49ada" + }, + "issues": [] + }, + { + "number": 4142, + "title": "fix(process): preserve terminal cell widths during normalization", + "url": "https://github.com/morluto/rea/pull/4142", + "author": { + "login": "hichipli", + "__typename": "User" + }, + "mergeCommit": { + "oid": "1ba178befb9831689765787de1ca480533751d14" + }, + "issues": [ + { + "number": 3868, + "url": "https://github.com/morluto/rea/issues/3868", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4158, + "title": "feat(apk): inspect signing declarations with retained fact queries", + "url": "https://github.com/morluto/rea/pull/4158", + "author": { + "login": "FerroLx", + "__typename": "User" + }, + "mergeCommit": { + "oid": "e93e3b1e7d6e7e4f49c2de24b92452ec29e853f8" + }, + "issues": [ + { + "number": 4537, + "url": "https://github.com/morluto/rea/issues/4537", + "author": { + "login": "FerroLx", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4216, + "title": "fix(sqlite): honor selected-table reply budgets", + "url": "https://github.com/morluto/rea/pull/4216", + "author": { + "login": "ogutdgn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "02a0e72f708a42247da14ec47ac67022f7e470ed" + }, + "issues": [ + { + "number": 4184, + "url": "https://github.com/morluto/rea/issues/4184", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4219, + "title": "fix(importer): reach package-main selection for trailing-slash directory references", + "url": "https://github.com/morluto/rea/pull/4219", + "author": { + "login": "hemv-857", + "__typename": "User" + }, + "mergeCommit": { + "oid": "791524c2faa1c43f487a0b22e51c2d5dc72fdeb1" + }, + "issues": [ + { + "number": 4189, + "url": "https://github.com/morluto/rea/issues/4189", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4234, + "title": "fix(ida): ignore released worker rows when verifying close", + "url": "https://github.com/morluto/rea/pull/4234", + "author": { + "login": "alucardigo", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b6e6d7cd1a64c0f4978f01e50d8d2fd04f8bbda3" + }, + "issues": [] + }, + { + "number": 4286, + "title": "fix(ida): keep omitted callee truncation markers unknown", + "url": "https://github.com/morluto/rea/pull/4286", + "author": { + "login": "viniciusdsandrade", + "__typename": "User" + }, + "mergeCommit": { + "oid": "cc4ed5b9043349083e8e78146edbe23f27f1d324" + }, + "issues": [ + { + "number": 3988, + "url": "https://github.com/morluto/rea/issues/3988", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4351, + "title": "fix(captures): scope HAR HTTP interpretation to entries", + "url": "https://github.com/morluto/rea/pull/4351", + "author": { + "login": "To3akaRin", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b4bc6cf3ee49af6a1cfd1244fddbdfcfdc13c92e" + }, + "issues": [] + }, + { + "number": 4352, + "title": "fix(artifacts): reconcile ARM32 Mach-O slice names by subtype", + "url": "https://github.com/morluto/rea/pull/4352", + "author": { + "login": "To3akaRin", + "__typename": "User" + }, + "mergeCommit": { + "oid": "1684c73d4f6227a251e1e8fa436b83b124666a80" + }, + "issues": [] + }, + { + "number": 4360, + "title": "perf(schema): reduce retained integer validator allocations", + "url": "https://github.com/morluto/rea/pull/4360", + "author": { + "login": "leeguooooo", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7590b50801553ca443922b1fb48e168334f8cc5d" + }, + "issues": [ + { + "number": 6236, + "url": "https://github.com/morluto/rea/issues/6236", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4405, + "title": "fix(objc): validate direct protocol enumeration input", + "url": "https://github.com/morluto/rea/pull/4405", + "author": { + "login": "lyly-bonbon", + "__typename": "User" + }, + "mergeCommit": { + "oid": "414ad52b2093a49312193a2d5ea2d19e508424d7" + }, + "issues": [ + { + "number": 4383, + "url": "https://github.com/morluto/rea/issues/4383", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4413, + "title": "fix(browser): retain bundle default origin scope", + "url": "https://github.com/morluto/rea/pull/4413", + "author": { + "login": "XY-code1", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b5c47f525541b5103b29fb565825b14ddfc7d8b6" + }, + "issues": [ + { + "number": 4385, + "url": "https://github.com/morluto/rea/issues/4385", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4414, + "title": "fix(artifacts): complete positional ZIP reads", + "url": "https://github.com/morluto/rea/pull/4414", + "author": { + "login": "Afloat16", + "__typename": "User" + }, + "mergeCommit": { + "oid": "82e4e032dfe97b7912cebc2812e1e9fc41c1eb33" + }, + "issues": [] + }, + { + "number": 4416, + "title": "fix(dotnet): reject unfinished CIL prefix chains", + "url": "https://github.com/morluto/rea/pull/4416", + "author": { + "login": "AbdulSamad94", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ca2ca1614623f7d7def72e24885b2a232a408900" + }, + "issues": [ + { + "number": 4370, + "url": "https://github.com/morluto/rea/issues/4370", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4424, + "title": "perf(mcp): defer analysis runtime after catalog discovery", + "url": "https://github.com/morluto/rea/pull/4424", + "author": { + "login": "leeguooooo", + "__typename": "User" + }, + "mergeCommit": { + "oid": "0b7213c89056a8e3a9e2bb785be210c8393d2899" + }, + "issues": [] + }, + { + "number": 4428, + "title": "fix(snapshot): count newly retained workflow bindings on import", + "url": "https://github.com/morluto/rea/pull/4428", + "author": { + "login": "jiwonsudo", + "__typename": "User" + }, + "mergeCommit": { + "oid": "3220e17b8bd046ad1be8fbb2e4070d8ddc37ad64" + }, + "issues": [ + { + "number": 4377, + "url": "https://github.com/morluto/rea/issues/4377", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4476, + "title": "fix(browser): keep omitted JSON request bodies out of complete shape coverage", + "url": "https://github.com/morluto/rea/pull/4476", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7e8ec0e4566a933284ab612704f575244cec3d6c" + }, + "issues": [ + { + "number": 4477, + "url": "https://github.com/morluto/rea/issues/4477", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4485, + "title": "fix(wasm): pass glue filenames to the JavaScript parser", + "url": "https://github.com/morluto/rea/pull/4485", + "author": { + "login": "jayinvers", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f4cabe535fa52672c021a0e0722d52379b6ce5cf" + }, + "issues": [ + { + "number": 4474, + "url": "https://github.com/morluto/rea/issues/4474", + "author": { + "login": "dayvison2b", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4511, + "title": "fix(source): retain CommonJS requires spelled as exact no-substitution templates", + "url": "https://github.com/morluto/rea/pull/4511", + "author": { + "login": "hemv-857", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4842f237650b214e9008399833eca04f83f84507" + }, + "issues": [ + { + "number": 4382, + "url": "https://github.com/morluto/rea/issues/4382", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4565, + "title": "fix(javascript): drop built-in effects for visibly replaced globals", + "url": "https://github.com/morluto/rea/pull/4565", + "author": { + "login": "amyanger", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7436ac8e20710f4b092a137aaa6b4b0626ed5067" + }, + "issues": [ + { + "number": 3367, + "url": "https://github.com/morluto/rea/issues/3367", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4573, + "title": "fix(firmware): state that Unblob link targets are extraction-relative", + "url": "https://github.com/morluto/rea/pull/4573", + "author": { + "login": "Ganesh2325", + "__typename": "User" + }, + "mergeCommit": { + "oid": "de00fdc17d83d386c71930ae43b21118b5d1acd9" + }, + "issues": [ + { + "number": 4175, + "url": "https://github.com/morluto/rea/issues/4175", + "author": { + "login": "Rinkia", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4602, + "title": "fix(firmware): separate analysis and publication deadlines", + "url": "https://github.com/morluto/rea/pull/4602", + "author": { + "login": "Nitin13-git", + "__typename": "User" + }, + "mergeCommit": { + "oid": "cf5194f68e286a79ee4b4ffbe626f9f5b5bbbaf1" + }, + "issues": [ + { + "number": 4176, + "url": "https://github.com/morluto/rea/issues/4176", + "author": { + "login": "Rinkia", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4642, + "title": "fix(setup): offer Hopper installation only where setup can install it", + "url": "https://github.com/morluto/rea/pull/4642", + "author": { + "login": "SandstromPL", + "__typename": "User" + }, + "mergeCommit": { + "oid": "357100242264062251d599dc0c0740bae3821874" + }, + "issues": [ + { + "number": 3944, + "url": "https://github.com/morluto/rea/issues/3944", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4645, + "title": "fix(ida): retain analysis profile in partial operation evidence", + "url": "https://github.com/morluto/rea/pull/4645", + "author": { + "login": "viniciusdsandrade", + "__typename": "User" + }, + "mergeCommit": { + "oid": "126b6e20d4595a5f766ae41463275428cbb087d4" + }, + "issues": [ + { + "number": 3992, + "url": "https://github.com/morluto/rea/issues/3992", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4646, + "title": "fix(javascript): keep directory-form HTML URL references distinct from files", + "url": "https://github.com/morluto/rea/pull/4646", + "author": { + "login": "viniciusdsandrade", + "__typename": "User" + }, + "mergeCommit": { + "oid": "75575f2006ef2f68aceb8626bc3293ddc8529df0" + }, + "issues": [ + { + "number": 3882, + "url": "https://github.com/morluto/rea/issues/3882", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4650, + "title": "fix(ghidra): keep listing facts when one function fails to decompile", + "url": "https://github.com/morluto/rea/pull/4650", + "author": { + "login": "RishTheFish21", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c374c2fe7290b914d73d9e27af38b498753ec593" + }, + "issues": [ + { + "number": 4644, + "url": "https://github.com/morluto/rea/issues/4644", + "author": { + "login": "RishTheFish21", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4826, + "title": "feat(python): inspect CPython pyc headers and marshal code objects", + "url": "https://github.com/morluto/rea/pull/4826", + "author": { + "login": "mvanhorn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2c3dd946d59c870388b03c3417eeb5218af96eeb" + }, + "issues": [] + }, + { + "number": 4830, + "title": "feat(pe): inspect Authenticode certificate tables", + "url": "https://github.com/morluto/rea/pull/4830", + "author": { + "login": "mvanhorn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ca4ca65c5e581af71d63863a5b0bd3e1d17dd2c7" + }, + "issues": [] + }, + { + "number": 4833, + "title": "feat(erlang): inspect BEAM IFF chunks and tables", + "url": "https://github.com/morluto/rea/pull/4833", + "author": { + "login": "mvanhorn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "bfba99827e314b9f2469f46eb98c3e1f928abd7a" + }, + "issues": [] + }, + { + "number": 4837, + "title": "feat(elf): inspect PT_NOTE and SHT_NOTE tables", + "url": "https://github.com/morluto/rea/pull/4837", + "author": { + "login": "mvanhorn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2edf3b23c1465b7e6609b020d0eabfef438081a7" + }, + "issues": [] + }, + { + "number": 4855, + "title": "fix(setup): preserve concurrent client configuration edits", + "url": "https://github.com/morluto/rea/pull/4855", + "author": { + "login": "abdulwasea89", + "__typename": "User" + }, + "mergeCommit": { + "oid": "42e1a17d6e6c0487f17be0bae248553c4caba7f7" + }, + "issues": [] + }, + { + "number": 4862, + "title": "fix(ida): supervise regex inventory matching", + "url": "https://github.com/morluto/rea/pull/4862", + "author": { + "login": "jgt87", + "__typename": "User" + }, + "mergeCommit": { + "oid": "db8556e7242b9e1b4f7da952d2658ec574fd2176" + }, + "issues": [ + { + "number": 4860, + "url": "https://github.com/morluto/rea/issues/4860", + "author": { + "login": "jgt87", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4903, + "title": "fix(setup): tell MSIX Claude Desktop's process view from any private roaming file", + "url": "https://github.com/morluto/rea/pull/4903", + "author": { + "login": "pablodiazjorge", + "__typename": "User" + }, + "mergeCommit": { + "oid": "e3a00bb5f99a708dcab00b278b7019a0c823d318" + }, + "issues": [ + { + "number": 4278, + "url": "https://github.com/morluto/rea/issues/4278", + "author": { + "login": "myso-kr", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4941, + "title": "fix(javascript): preserve runtime path bytes and Electron ownership", + "url": "https://github.com/morluto/rea/pull/4941", + "author": { + "login": "ShuaixinHuang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "e9fc8fb30cc18434475d6ab7cacd2916599b6eff" + }, + "issues": [] + }, + { + "number": 4946, + "title": "fix(setup): preserve Windows environment override identity", + "url": "https://github.com/morluto/rea/pull/4946", + "author": { + "login": "ShuaixinHuang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "e84468c0bb0476412ac0c8161f7c2ecc9a6864ca" + }, + "issues": [] + }, + { + "number": 4947, + "title": "test(setup): use native Windows launcher in layered OpenCode fixture", + "url": "https://github.com/morluto/rea/pull/4947", + "author": { + "login": "ShuaixinHuang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "afde435c94e90b519b85aefeec4ec587e7a477ae" + }, + "issues": [] + }, + { + "number": 4954, + "title": "feat(analysis-view): project an environment manifest from web network captures", + "url": "https://github.com/morluto/rea/pull/4954", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "291059adb4dabc768f91d9da0ba93007d7ab6822" + }, + "issues": [] + }, + { + "number": 4955, + "title": "feat(mcp): serve the MCP server over streamable HTTP", + "url": "https://github.com/morluto/rea/pull/4955", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "60bd646478dcfab6c296b7e4765254eea787ffa9" + }, + "issues": [] + }, + { + "number": 4962, + "title": "perf(analysis-view): reuse validated immutable parents", + "url": "https://github.com/morluto/rea/pull/4962", + "author": { + "login": "N0zoM1z0", + "__typename": "User" + }, + "mergeCommit": { + "oid": "8f7d12e30d63f3d3b4cfe2a90336362841438f56" + }, + "issues": [ + { + "number": 4810, + "url": "https://github.com/morluto/rea/issues/4810", + "author": { + "login": "N0zoM1z0", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4966, + "title": "fix(hopper): shut down the Linux demo helper orderly so its X lock is removed", + "url": "https://github.com/morluto/rea/pull/4966", + "author": { + "login": "sx4im", + "__typename": "User" + }, + "mergeCommit": { + "oid": "af42f856ec8c9747d93140c9afe26adf7edcb68b" + }, + "issues": [ + { + "number": 4921, + "url": "https://github.com/morluto/rea/issues/4921", + "author": { + "login": "Abel-I-Akhigbe", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4975, + "title": "feat(environment): serve an environment manifest as a replay environment", + "url": "https://github.com/morluto/rea/pull/4975", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "10f1994fe1a0bbddeb846ee8078a80a483a652f1" + }, + "issues": [] + }, + { + "number": 4979, + "title": "fix(native): preserve Mach-O install-name whitespace", + "url": "https://github.com/morluto/rea/pull/4979", + "author": { + "login": "flyl1u", + "__typename": "User" + }, + "mergeCommit": { + "oid": "8b478d0f15bf585d0570ebdcadb4d5857cc86cb4" + }, + "issues": [ + { + "number": 3384, + "url": "https://github.com/morluto/rea/issues/3384", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4990, + "title": "perf(apktool): avoid duplicated primary strings on request", + "url": "https://github.com/morluto/rea/pull/4990", + "author": { + "login": "N0zoM1z0", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7c458f04b9155707c8ba406f8b455b10016f1b99" + }, + "issues": [ + { + "number": 4982, + "url": "https://github.com/morluto/rea/issues/4982", + "author": { + "login": "N0zoM1z0", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 4999, + "title": "feat(environment): export an environment manifest as an agent environment bundle", + "url": "https://github.com/morluto/rea/pull/4999", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7a0c47bfa4259af859779000bf8bc8aaf16b35bd" + }, + "issues": [] + }, + { + "number": 5001, + "title": "fix(adb): improve shell output parsing accuracy", + "url": "https://github.com/morluto/rea/pull/5001", + "author": { + "login": "yash27git", + "__typename": "User" + }, + "mergeCommit": { + "oid": "15ec8e98dbffd00239c6651add48dd68436fec3b" + }, + "issues": [] + }, + { + "number": 5002, + "title": "docs(jeb): qualify Linux CE native workflows", + "url": "https://github.com/morluto/rea/pull/5002", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96" + }, + "issues": [ + { + "number": 4996, + "url": "https://github.com/morluto/rea/issues/4996", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5011, + "title": "docs(cli): include Kuna in supported doctor providers (#4624)", + "url": "https://github.com/morluto/rea/pull/5011", + "author": { + "login": "prasad2512", + "__typename": "User" + }, + "mergeCommit": { + "oid": "fd64b1c240469e5e1abf2ee341f480087ec0ab21" + }, + "issues": [ + { + "number": 4624, + "url": "https://github.com/morluto/rea/issues/4624", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5012, + "title": "docs(setup): clarify prebuild-install warning from optional dependencies (#4881)", + "url": "https://github.com/morluto/rea/pull/5012", + "author": { + "login": "prasad2512", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d2015e94f32a51b898918b5b39b374c134119fd5" + }, + "issues": [ + { + "number": 4881, + "url": "https://github.com/morluto/rea/issues/4881", + "author": { + "login": "3pLe-A", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5017, + "title": "perf(hopper): reuse decoded records for literal string matches", + "url": "https://github.com/morluto/rea/pull/5017", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "63c970812b8b5c6664400c9360e22c427844820c" + }, + "issues": [ + { + "number": 5010, + "url": "https://github.com/morluto/rea/issues/5010", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5018, + "title": "fix(tests): preserve temporary fixture ownership", + "url": "https://github.com/morluto/rea/pull/5018", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "093ce695f0a7c3407c7fde520ed8b20c0981b408" + }, + "issues": [] + }, + { + "number": 5019, + "title": "test(update): isolate CLI subprocess deadlines", + "url": "https://github.com/morluto/rea/pull/5019", + "author": { + "login": "XY-code1", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4c20744f1c52156aa6efcd04ffb8b50d34a186a7" + }, + "issues": [ + { + "number": 4989, + "url": "https://github.com/morluto/rea/issues/4989", + "author": { + "login": "morluto", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5021, + "title": "fix(tests): restore Android prerequisite verification", + "url": "https://github.com/morluto/rea/pull/5021", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "23f984b1a884baefc3c44e4ab697f6eff61dffb6" + }, + "issues": [] + }, + { + "number": 5025, + "title": "feat(android): project a structured manifest component inventory", + "url": "https://github.com/morluto/rea/pull/5025", + "author": { + "login": "BaaRai", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f2fa7f648de3dfbac5de69f3c091a54ffd571015" + }, + "issues": [] + }, + { + "number": 5029, + "title": "feat(cli): accept JavaScript source selections from a JSON array or file", + "url": "https://github.com/morluto/rea/pull/5029", + "author": { + "login": "KJLavender", + "__typename": "User" + }, + "mergeCommit": { + "oid": "e5965adb29b0acb1de915b81fcaffe7eae7844ca" + }, + "issues": [] + }, + { + "number": 5031, + "title": "feat(capture): decode selected protobuf and gRPC bodies", + "url": "https://github.com/morluto/rea/pull/5031", + "author": { + "login": "AayushJB03", + "__typename": "User" + }, + "mergeCommit": { + "oid": "0134732fcd59c129ac4ab39f64b12858a5a101aa" + }, + "issues": [ + { + "number": 4986, + "url": "https://github.com/morluto/rea/issues/4986", + "author": { + "login": "KJLavender", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5035, + "title": "fix(browser): ignore scenario storage enumeration order", + "url": "https://github.com/morluto/rea/pull/5035", + "author": { + "login": "Vaishnavi220506", + "__typename": "User" + }, + "mergeCommit": { + "oid": "809f3b7b5b6a8cff3a3170542b4af4d67c88b02a" + }, + "issues": [] + }, + { + "number": 5036, + "title": "fix(electron): report rejected CLI arguments with issue details", + "url": "https://github.com/morluto/rea/pull/5036", + "author": { + "login": "KhangKT1310", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2aadcf7d045eed6e8b35d8cd30066ec3cccf8159" + }, + "issues": [ + { + "number": 3865, + "url": "https://github.com/morluto/rea/issues/3865", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5040, + "title": "fix(javascript): preserve inherited aliases past erased class fields", + "url": "https://github.com/morluto/rea/pull/5040", + "author": { + "login": "Nikhi00718", + "__typename": "User" + }, + "mergeCommit": { + "oid": "9a21cd78ce928669b8fefb56bb8ecd2d0bda5a87" + }, + "issues": [] + }, + { + "number": 5041, + "title": "fix(hopper): verify and repair the Linux embedding runtime", + "url": "https://github.com/morluto/rea/pull/5041", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b0b485abff802b79d238dd24a9fa4abd0713d3ee" + }, + "issues": [ + { + "number": 5015, + "url": "https://github.com/morluto/rea/issues/5015", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5047, + "title": "fix(setup): treat empty COPILOT_HOME as unset", + "url": "https://github.com/morluto/rea/pull/5047", + "author": { + "login": "cpruijsen", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f3537db34f4e0b5ad73f3a532d251ac13fa4f0a3" + }, + "issues": [] + }, + { + "number": 5120, + "title": "fix(setup): keep client and skill setup when the Hopper install fails", + "url": "https://github.com/morluto/rea/pull/5120", + "author": { + "login": "bercedev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c4b7a2e003ffd942d8049088a954cbb42dbe8b80" + }, + "issues": [ + { + "number": 5113, + "url": "https://github.com/morluto/rea/issues/5113", + "author": { + "login": "GraveEaterMadison", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5124, + "title": "fix(gdb): accept GDB's built-in p, s, d and t aliases", + "url": "https://github.com/morluto/rea/pull/5124", + "author": { + "login": "bercedev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "be4498d39404970998e976389099c15b038ab445" + }, + "issues": [ + { + "number": 5098, + "url": "https://github.com/morluto/rea/issues/5098", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5126, + "title": "fix(setup): treat empty APPDATA as unset for VS Code, Trae and Devin", + "url": "https://github.com/morluto/rea/pull/5126", + "author": { + "login": "vaidehi-snk", + "__typename": "User" + }, + "mergeCommit": { + "oid": "273bb662763406662b4c061887397e9e5f27aa4d" + }, + "issues": [ + { + "number": 5104, + "url": "https://github.com/morluto/rea/issues/5104", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5139, + "title": "perf(javascript): prune typed-array element reference escapes", + "url": "https://github.com/morluto/rea/pull/5139", + "author": { + "login": "galleonli", + "__typename": "User" + }, + "mergeCommit": { + "oid": "6d73515bf138293be49c0b9fc6fae116d0286ef4" + }, + "issues": [] + }, + { + "number": 5154, + "title": "fix(tests): complete independent agent evaluation cleanup", + "url": "https://github.com/morluto/rea/pull/5154", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "0fc8462be15b55d828b276861853b5491bff1646" + }, + "issues": [ + { + "number": 5095, + "url": "https://github.com/morluto/rea/issues/5095", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5167, + "title": "feat(cli): summarize managed members with durable Evidence paging", + "url": "https://github.com/morluto/rea/pull/5167", + "author": { + "login": "jaelliot", + "__typename": "User" + }, + "mergeCommit": { + "oid": "57fd3ea5d8fcb0bbd5c58e127986f05183c9dc18" + }, + "issues": [ + { + "number": 5148, + "url": "https://github.com/morluto/rea/issues/5148", + "author": { + "login": "elricfd", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5171, + "title": "feat(objdump): select native disassembly by symbol", + "url": "https://github.com/morluto/rea/pull/5171", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "3ea0d9489e52500ed76555926f1b78419f71c3cb" + }, + "issues": [ + { + "number": 5159, + "url": "https://github.com/morluto/rea/issues/5159", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5182, + "title": "feat(environment): build environments from browser scenario captures", + "url": "https://github.com/morluto/rea/pull/5182", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "bf1eeee94fd4677c793243a96542543b46c7c78e" + }, + "issues": [] + }, + { + "number": 5196, + "title": "fix(javascript): match unchanged module exports across application versions", + "url": "https://github.com/morluto/rea/pull/5196", + "author": { + "login": "rodricksz4h5", + "__typename": "User" + }, + "mergeCommit": { + "oid": "5d3ae66e6385c08ec73d5053c5dd96c7bf5e9973" + }, + "issues": [ + { + "number": 5195, + "url": "https://github.com/morluto/rea/issues/5195", + "author": { + "login": "rodricksz4h5", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5200, + "title": "fix(evm): trim hex carrier whitespace in linear time", + "url": "https://github.com/morluto/rea/pull/5200", + "author": { + "login": "Dragolone", + "__typename": "User" + }, + "mergeCommit": { + "oid": "48e74700413308af46b4c6b900ca54028a1a91ba" + }, + "issues": [] + }, + { + "number": 5207, + "title": "feat(artifacts): triage desktop installation directories", + "url": "https://github.com/morluto/rea/pull/5207", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b4938aed58737293a6987630476632619713f5cd" + }, + "issues": [ + { + "number": 4399, + "url": "https://github.com/morluto/rea/issues/4399", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5214, + "title": "fix(hopper): preserve an explicit display number zero in the X11 helper", + "url": "https://github.com/morluto/rea/pull/5214", + "author": { + "login": "musaraza004", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c2fe0c68182ae3765ac60067be1bc55f15eb76d9" + }, + "issues": [ + { + "number": 5189, + "url": "https://github.com/morluto/rea/issues/5189", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5224, + "title": "fix(ci): repair capture ownership and portable ABI validation", + "url": "https://github.com/morluto/rea/pull/5224", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b999e724767587bc5a2f0589579e0f836774b0e3" + }, + "issues": [] + }, + { + "number": 5228, + "title": "fix(apple): classify keyed-archive objects by declared superclasses", + "url": "https://github.com/morluto/rea/pull/5228", + "author": { + "login": "mhamzasakhi", + "__typename": "User" + }, + "mergeCommit": { + "oid": "0344d578b2afd86a7cde905ca0c0ca0f4bb27850" + }, + "issues": [ + { + "number": 5218, + "url": "https://github.com/morluto/rea/issues/5218", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5235, + "title": "fix(windows): align path handling across Hopper, Electron, and ADB", + "url": "https://github.com/morluto/rea/pull/5235", + "author": { + "login": "reynold-hu", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b1ff86832c6347d1f44c0fa02563cbf4362adffe" + }, + "issues": [] + }, + { + "number": 5241, + "title": "fix(doctor): propagate cancellation to Kuna inspection", + "url": "https://github.com/morluto/rea/pull/5241", + "author": { + "login": "maxazure", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d532b18123916a9e88f98c7880ba4f984e23d715" + }, + "issues": [ + { + "number": 5106, + "url": "https://github.com/morluto/rea/issues/5106", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5246, + "title": "fix(rizin): bound recent history frames by UTF-8 byte budget", + "url": "https://github.com/morluto/rea/pull/5246", + "author": { + "login": "Sarthak-Pandey", + "__typename": "User" + }, + "mergeCommit": { + "oid": "1b3ac94242882e0fbf9c717806646c729abd8b91" + }, + "issues": [ + { + "number": 5091, + "url": "https://github.com/morluto/rea/issues/5091", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5249, + "title": "fix(process): settle native exit and repair ownership verification", + "url": "https://github.com/morluto/rea/pull/5249", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "1c2c2f1e78a74cdf5e4909ab8e775b090998a51f" + }, + "issues": [] + }, + { + "number": 5251, + "title": "fix(mcp): describe function comparisons in behavior tool", + "url": "https://github.com/morluto/rea/pull/5251", + "author": { + "login": "dayvison2b", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b5442df02de660d9271d5814da63c4bddfd83510" + }, + "issues": [ + { + "number": 5080, + "url": "https://github.com/morluto/rea/issues/5080", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5256, + "title": "fix(scripts): remove the ADB verifier's pushed probe file from the device", + "url": "https://github.com/morluto/rea/pull/5256", + "author": { + "login": "musaraza004", + "__typename": "User" + }, + "mergeCommit": { + "oid": "81b94cebec40624287c125fee4dd70bcb9f08c59" + }, + "issues": [ + { + "number": 5190, + "url": "https://github.com/morluto/rea/issues/5190", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5262, + "title": "fix(hopper): bound bridge request frames like the Cutter bridge", + "url": "https://github.com/morluto/rea/pull/5262", + "author": { + "login": "DeryFerd", + "__typename": "User" + }, + "mergeCommit": { + "oid": "26573c3aa41e83a1833525ac757e22b988510ff0" + }, + "issues": [] + }, + { + "number": 5265, + "title": "fix(cli): reject an empty JavaScript application path", + "url": "https://github.com/morluto/rea/pull/5265", + "author": { + "login": "vishal-tambi", + "__typename": "User" + }, + "mergeCommit": { + "oid": "1a945ce9ff773168099ef896df4d088fd8daf63b" + }, + "issues": [] + }, + { + "number": 5269, + "title": "fix(rizin): default one-shot output to plain presentation", + "url": "https://github.com/morluto/rea/pull/5269", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2dd5effe2a641e354ad273138d0906a759fab9c3" + }, + "issues": [ + { + "number": 4488, + "url": "https://github.com/morluto/rea/issues/4488", + "author": { + "login": "Rinkia", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5270, + "title": "fix(process): retain unresolved descendants during lineage observation", + "url": "https://github.com/morluto/rea/pull/5270", + "author": { + "login": "kwakhyun", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b2048d46d1261b7c4b036614d16e9103066a56ec" + }, + "issues": [] + }, + { + "number": 5274, + "title": "fix(wasm): refuse unretained summary delivery before provider work", + "url": "https://github.com/morluto/rea/pull/5274", + "author": { + "login": "Y0UW1SH", + "__typename": "User" + }, + "mergeCommit": { + "oid": "8ecbb74b0049059b3a66ac52d5b0683604e839ea" + }, + "issues": [ + { + "number": 5100, + "url": "https://github.com/morluto/rea/issues/5100", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5278, + "title": "docs(errors): include Omarchy and current host-support messages in error catalogue (#5078)", + "url": "https://github.com/morluto/rea/pull/5278", + "author": { + "login": "prasad2512", + "__typename": "User" + }, + "mergeCommit": { + "oid": "3dce8326c9aae579add2eb696882368be2a78b6e" + }, + "issues": [ + { + "number": 5078, + "url": "https://github.com/morluto/rea/issues/5078", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5280, + "title": "fix(process): retain child scope and bound native exit waits", + "url": "https://github.com/morluto/rea/pull/5280", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "71ae02c6efceb6b59e703c0c4e7367d7ea8c6c03" + }, + "issues": [] + }, + { + "number": 5281, + "title": "fix(rizin): accept proven inferior exit after detach", + "url": "https://github.com/morluto/rea/pull/5281", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "e84e17e30f7de41ad9ac801eda235574fa5d4dad" + }, + "issues": [ + { + "number": 5277, + "url": "https://github.com/morluto/rea/issues/5277", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5290, + "title": "fix(rizin): keep protocol failures outside exit recovery", + "url": "https://github.com/morluto/rea/pull/5290", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "909b9f7b6be3fdaab9b7ccb401f48baa524c4312" + }, + "issues": [ + { + "number": 5282, + "url": "https://github.com/morluto/rea/issues/5282", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5293, + "title": "feat(analysis-view): project rich captures from an Evidence file and template path pairs", + "url": "https://github.com/morluto/rea/pull/5293", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f93a0335a8c1a60bbf6debdca16675ba303e4422" + }, + "issues": [] + }, + { + "number": 5312, + "title": "fix(managed): retain type discovery after member limits", + "url": "https://github.com/morluto/rea/pull/5312", + "author": { + "login": "eco-null", + "__typename": "User" + }, + "mergeCommit": { + "oid": "371f3d91aec6f0a9e92bc483f56dba534a2b0962" + }, + "issues": [ + { + "number": 5146, + "url": "https://github.com/morluto/rea/issues/5146", + "author": { + "login": "elricfd", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5316, + "title": "fix(ci): validate unindexed readiness heads with live PR metadata", + "url": "https://github.com/morluto/rea/pull/5316", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "82c76e2cbab28ef33a194b995e146bdea8f14001" + }, + "issues": [] + }, + { + "number": 5319, + "title": "feat(environment): extract the initial state a capture's reads observed", + "url": "https://github.com/morluto/rea/pull/5319", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "3fca2e0ca6e54ba700c286d9a85a9600dee6a19d" + }, + "issues": [] + }, + { + "number": 5326, + "title": "feat(il2cpp): read member names, string literals and metadata versions 24 and 27", + "url": "https://github.com/morluto/rea/pull/5326", + "author": { + "login": "8rulerstar", + "__typename": "User" + }, + "mergeCommit": { + "oid": "21e0c580e7456af311ecfb12af8fc2531b429606" + }, + "issues": [] + }, + { + "number": 5327, + "title": "feat(il2cpp): link methods to native addresses and write Ghidra seeds", + "url": "https://github.com/morluto/rea/pull/5327", + "author": { + "login": "8rulerstar", + "__typename": "User" + }, + "mergeCommit": { + "oid": "52d1a72af047a73b787b8935b032786a34966036" + }, + "issues": [ + { + "number": 5112, + "url": "https://github.com/morluto/rea/issues/5112", + "author": { + "login": "alexlanghart", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5346, + "title": "fix(hopper): verify publisher before probing private display", + "url": "https://github.com/morluto/rea/pull/5346", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d72021b0dabedcc6fbc7bc6e0286fd359c604271" + }, + "issues": [] + }, + { + "number": 5348, + "title": "feat(firmware): attribute hardware MMIO peripheral memory regions in native disassembly", + "url": "https://github.com/morluto/rea/pull/5348", + "author": { + "login": "liziye627-design", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ee0ec027db7aa4db5deb716cabfe57099c85925d" + }, + "issues": [] + }, + { + "number": 5349, + "title": "perf(analysis-view): reuse validated immutable captures", + "url": "https://github.com/morluto/rea/pull/5349", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4e716b06078d725a53234503cbefbb340731e809" + }, + "issues": [] + }, + { + "number": 5350, + "title": "perf(environment): index observed-state write cutoffs", + "url": "https://github.com/morluto/rea/pull/5350", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d148ce090512aceeddd8c907f03f9dd5d7cf47c8" + }, + "issues": [] + }, + { + "number": 5351, + "title": "feat(environment)!: serve the environment state by default", + "url": "https://github.com/morluto/rea/pull/5351", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "166fb0820fdfc91742317b9c539c4d5fda2fe03b" + }, + "issues": [] + }, + { + "number": 5352, + "title": "feat(environment): render more read tools from the state and describe responses", + "url": "https://github.com/morluto/rea/pull/5352", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2e6b38cef0cc1f2a949fe97244ef390aaacfc5b2" + }, + "issues": [] + }, + { + "number": 5353, + "title": "docs(installation): document targeted npx dependency recovery", + "url": "https://github.com/morluto/rea/pull/5353", + "author": { + "login": "ArjenS-LA", + "__typename": "User" + }, + "mergeCommit": { + "oid": "e83e3ceadd97770a50b8afa97f4077916e4d2b81" + }, + "issues": [] + }, + { + "number": 5355, + "title": "perf(ghidra): omit redundant raw results", + "url": "https://github.com/morluto/rea/pull/5355", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "58d6043303e722115f1da18b9505c24abeeab423" + }, + "issues": [ + { + "number": 5337, + "url": "https://github.com/morluto/rea/issues/5337", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5356, + "title": "fix(ghidra): explain server restart for timeout recovery", + "url": "https://github.com/morluto/rea/pull/5356", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4668cea2464d9f078aea4bfea03ec1f7a23280bc" + }, + "issues": [] + }, + { + "number": 5357, + "title": "fix(verification): retain Hopper ownership evidence across owner exit", + "url": "https://github.com/morluto/rea/pull/5357", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "799e8265b254e225dc1dabdd25e56f0ab7f86bd3" + }, + "issues": [] + }, + { + "number": 5363, + "title": "fix(apple): preserve line terminators in dyld path expansion", + "url": "https://github.com/morluto/rea/pull/5363", + "author": { + "login": "Doribelove", + "__typename": "User" + }, + "mergeCommit": { + "oid": "bd2a84ccba9f7d149f400d9efb93a5bbce1a9477" + }, + "issues": [ + { + "number": 5362, + "url": "https://github.com/morluto/rea/issues/5362", + "author": { + "login": "Doribelove", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5365, + "title": "test(sqlite): keep incomplete cleanup primary over late cancellation", + "url": "https://github.com/morluto/rea/pull/5365", + "author": { + "login": "vishal-tambi", + "__typename": "User" + }, + "mergeCommit": { + "oid": "465e1a1f3694c30cc3a806f97bc17e9eabf49324" + }, + "issues": [ + { + "number": 5286, + "url": "https://github.com/morluto/rea/issues/5286", + "author": { + "login": "morluto", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5371, + "title": "fix(mcp): retain protocol framing for oversized tool errors", + "url": "https://github.com/morluto/rea/pull/5371", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4eaf3a117b3f4863a994b9be743ec5bc1501e16c" + }, + "issues": [] + }, + { + "number": 5372, + "title": "fix(pwndbg): separate the words in the debugger-context limit message", + "url": "https://github.com/morluto/rea/pull/5372", + "author": { + "login": "XiaoBinGan", + "__typename": "User" + }, + "mergeCommit": { + "oid": "074768901f3cdc8205b61773fb1faf6f6c7b3ca8" + }, + "issues": [ + { + "number": 5329, + "url": "https://github.com/morluto/rea/issues/5329", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5378, + "title": "feat(analysis-view): add native inventory summaries and pages", + "url": "https://github.com/morluto/rea/pull/5378", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2538214e2c731ed4d9f0cebdc9a75f84d74a56a4" + }, + "issues": [ + { + "number": 4249, + "url": "https://github.com/morluto/rea/issues/4249", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5379, + "title": "test(capture): split protobuf MCP acceptance scenarios", + "url": "https://github.com/morluto/rea/pull/5379", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b5d540f3a264206e32c199c40dc17ac8695cf338" + }, + "issues": [] + }, + { + "number": 5390, + "title": "feat(native): match retained function inventories across builds", + "url": "https://github.com/morluto/rea/pull/5390", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "1417bf943bf49e49b414e8a508bf28a31304be83" + }, + "issues": [ + { + "number": 5343, + "url": "https://github.com/morluto/rea/issues/5343", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5409, + "title": "ci(windows): run environment registration regressions", + "url": "https://github.com/morluto/rea/pull/5409", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "aa314ab682e4bcd1e050a1e073bc90930660807f" + }, + "issues": [] + }, + { + "number": 5415, + "title": "perf(mcp): record catalog identities for all schema profiles", + "url": "https://github.com/morluto/rea/pull/5415", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c23e16162914e6bffc9549959c3faef0a66f6027" + }, + "issues": [] + }, + { + "number": 5425, + "title": "fix(ghidra): treat format-specific disabled analyzers as not applicable", + "url": "https://github.com/morluto/rea/pull/5425", + "author": { + "login": "vishal-tambi", + "__typename": "User" + }, + "mergeCommit": { + "oid": "9c81191b1d0e30948fc96b1966d48c019d547803" + }, + "issues": [ + { + "number": 5342, + "url": "https://github.com/morluto/rea/issues/5342", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5453, + "title": "fix(browser): read SAZ archives with zero-byte HTTP members", + "url": "https://github.com/morluto/rea/pull/5453", + "author": { + "login": "amyanger", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b0a554cc3a197c6192e19401330c20a42348cf90" + }, + "issues": [ + { + "number": 5411, + "url": "https://github.com/morluto/rea/issues/5411", + "author": { + "login": "Rinkia", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5470, + "title": "fix(mcp): guide agents through tool error recovery", + "url": "https://github.com/morluto/rea/pull/5470", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "e50a271c72325880b5ff944973b0b42d81b4b158" + }, + "issues": [ + { + "number": 5431, + "url": "https://github.com/morluto/rea/issues/5431", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5497, + "title": "test: stabilize worker cancellation and trailer regressions", + "url": "https://github.com/morluto/rea/pull/5497", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "e52a71602df2260aa0b85380d21e7cff053f279e" + }, + "issues": [] + }, + { + "number": 5501, + "title": "fix(native): admit universal Mach-O files without a host slice", + "url": "https://github.com/morluto/rea/pull/5501", + "author": { + "login": "mhamzasakhi", + "__typename": "User" + }, + "mergeCommit": { + "oid": "6b8f4f752858aa6ac42db72fe65c1d50bd51e73d" + }, + "issues": [ + { + "number": 5404, + "url": "https://github.com/morluto/rea/issues/5404", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5508, + "title": "fix(setup): preserve explicit clients with all-detected selection", + "url": "https://github.com/morluto/rea/pull/5508", + "author": { + "login": "shoyann", + "__typename": "User" + }, + "mergeCommit": { + "oid": "220414682e782061ee303a45705e53b18a754477" + }, + "issues": [ + { + "number": 5443, + "url": "https://github.com/morluto/rea/issues/5443", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5514, + "title": "fix(cli): print compact mcp doctor JSON when stdout is redirected", + "url": "https://github.com/morluto/rea/pull/5514", + "author": { + "login": "Sriram-PR", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d11fca46fcf79b101094b6144b860951f961f99f" + }, + "issues": [ + { + "number": 5435, + "url": "https://github.com/morluto/rea/issues/5435", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5524, + "title": "perf(go): summarize build identity and query retained metadata", + "url": "https://github.com/morluto/rea/pull/5524", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c2858d2aa0916f0dd2d073d848b8c2195d9bf6b3" + }, + "issues": [ + { + "number": 5499, + "url": "https://github.com/morluto/rea/issues/5499", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5536, + "title": "test(cli): retain recovery guidance in filtered failures", + "url": "https://github.com/morluto/rea/pull/5536", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "55cce6fc11a4edc32b4a6d4c2d8fd4f2ed2a4f18" + }, + "issues": [] + }, + { + "number": 5548, + "title": "fix(native): remove completed signing capture limitation", + "url": "https://github.com/morluto/rea/pull/5548", + "author": { + "login": "ShuaixinHuang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f6e4e0296f1e22a97d9d1e1208c30a49d5538536" + }, + "issues": [ + { + "number": 5538, + "url": "https://github.com/morluto/rea/issues/5538", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5555, + "title": "docs(artifacts): clarify unsupported DMG extraction", + "url": "https://github.com/morluto/rea/pull/5555", + "author": { + "login": "ShuaixinHuang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "0da36910dcbd8cdcf405ed9270c5e71b9342d9ce" + }, + "issues": [ + { + "number": 5547, + "url": "https://github.com/morluto/rea/issues/5547", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5564, + "title": "fix(sqlite): name the selected path in malformed-database errors", + "url": "https://github.com/morluto/rea/pull/5564", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c1e04bf8c03e347f115450a7a7e38cdbf12071a8" + }, + "issues": [ + { + "number": 5520, + "url": "https://github.com/morluto/rea/issues/5520", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5570, + "title": "fix(signals): report rejected sigrok selectors as invalid input", + "url": "https://github.com/morluto/rea/pull/5570", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4dfe3464b2589aaa993997ad03ec2fd030606c9a" + }, + "issues": [ + { + "number": 5515, + "url": "https://github.com/morluto/rea/issues/5515", + "author": { + "login": "Rinkia", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5571, + "title": "fix(artifacts): report a stable symlink loop as a path resolution failure", + "url": "https://github.com/morluto/rea/pull/5571", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b81431d7ff55d8e89a523ef68fe48c0aca0f4393" + }, + "issues": [ + { + "number": 5521, + "url": "https://github.com/morluto/rea/issues/5521", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5577, + "title": "fix(desktop): classify rejected desktop roots as target failures", + "url": "https://github.com/morluto/rea/pull/5577", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "0cfef92ae115a8994892aa821bd2176255f9affa" + }, + "issues": [ + { + "number": 5513, + "url": "https://github.com/morluto/rea/issues/5513", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5581, + "title": "fix(environment): report later bundle write failures as host failures", + "url": "https://github.com/morluto/rea/pull/5581", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "bd8d73ab1d0dc171feecc3d16215fb58e144b848" + }, + "issues": [ + { + "number": 5522, + "url": "https://github.com/morluto/rea/issues/5522", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5600, + "title": "feat(environment): apply evidence-gated write effects to the served state", + "url": "https://github.com/morluto/rea/pull/5600", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "538017d1d2e986fa12fbe0fac466a4b1d2246ec3" + }, + "issues": [] + }, + { + "number": 5601, + "title": "test(evidence): assert the exact cancellation reason after staging cleanup fails", + "url": "https://github.com/morluto/rea/pull/5601", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "85b379c4caea70ec3c77ff37fbfe18915fd93085" + }, + "issues": [] + }, + { + "number": 5603, + "title": "feat(model): inspect GGUF and safetensors declarations", + "url": "https://github.com/morluto/rea/pull/5603", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "98f4072f1f5e75a66e7e31c0f686b46a10dd02ce" + }, + "issues": [ + { + "number": 3323, + "url": "https://github.com/morluto/rea/issues/3323", + "author": { + "login": "michaelkillgta", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5605, + "title": "fix(browser): honor long passive observation windows", + "url": "https://github.com/morluto/rea/pull/5605", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c3d7d0aafc4943c82a5a8513cd3da7f4a7cfe643" + }, + "issues": [ + { + "number": 3929, + "url": "https://github.com/morluto/rea/issues/3929", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5608, + "title": "fix(mcp): guide client and provider timeout recovery", + "url": "https://github.com/morluto/rea/pull/5608", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "a35623707e6245ef2ab4ffb8bd6bc0edae3f4ac8" + }, + "issues": [ + { + "number": 5598, + "url": "https://github.com/morluto/rea/issues/5598", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5613, + "title": "fix(evaluation): join owned command cleanup before removing files", + "url": "https://github.com/morluto/rea/pull/5613", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2a6fc712eb32fc891a2e814dd06ad5e8efe9c4e1" + }, + "issues": [ + { + "number": 5094, + "url": "https://github.com/morluto/rea/issues/5094", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5614, + "title": "perf(reverse): add retained GDB and objdump summaries", + "url": "https://github.com/morluto/rea/pull/5614", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "17f581ff75d2b6cf643a997275e3e296f6c95760" + }, + "issues": [ + { + "number": 5584, + "url": "https://github.com/morluto/rea/issues/5584", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5615, + "title": "fix(evaluation): prepare and retain native ownership helpers", + "url": "https://github.com/morluto/rea/pull/5615", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "8716b5241125d81f1a16808eb5178fdfdea1ecdb" + }, + "issues": [ + { + "number": 5094, + "url": "https://github.com/morluto/rea/issues/5094", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5621, + "title": "fix(browser): capture the full visual viewport", + "url": "https://github.com/morluto/rea/pull/5621", + "author": { + "login": "STDquantum", + "__typename": "User" + }, + "mergeCommit": { + "oid": "146dcf46f5bd78fd4917aff663d1129d450f9e8f" + }, + "issues": [ + { + "number": 5610, + "url": "https://github.com/morluto/rea/issues/5610", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5624, + "title": "docs: prefer the pinned Node.js on Cloud Agent PATH", + "url": "https://github.com/morluto/rea/pull/5624", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2127095e3b4a377abbc124ca83af46b98a2a557b" + }, + "issues": [] + }, + { + "number": 5627, + "title": "test(evaluation): include native preparation in test deadlines", + "url": "https://github.com/morluto/rea/pull/5627", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d98fc3859dbb9fc210b13ba766c447324935132d" + }, + "issues": [] + }, + { + "number": 5629, + "title": "feat(cli)!: export row-oriented results as JSON Lines", + "url": "https://github.com/morluto/rea/pull/5629", + "author": { + "login": "vijaykiran06", + "__typename": "User" + }, + "mergeCommit": { + "oid": "5d2c8c2b78d2552da0e13a11d3e2678efb69810d" + }, + "issues": [ + { + "number": 5487, + "url": "https://github.com/morluto/rea/issues/5487", + "author": { + "login": "jayykernel", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5633, + "title": "fix(errors): name fixed allowances in resource-constraint recovery", + "url": "https://github.com/morluto/rea/pull/5633", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ef59174c1edd6ed9adb0722b86a5b9a57217e310" + }, + "issues": [ + { + "number": 5556, + "url": "https://github.com/morluto/rea/issues/5556", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5634, + "title": "ci: split fast and deep static checks", + "url": "https://github.com/morluto/rea/pull/5634", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "0add6a5aae2269199a6323556a092af91d525574" + }, + "issues": [] + }, + { + "number": 5644, + "title": "fix(observation): keep incomplete cancellation observations", + "url": "https://github.com/morluto/rea/pull/5644", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "de4579e993bde2935a955166f7556d10ebaa3d68" + }, + "issues": [ + { + "number": 5364, + "url": "https://github.com/morluto/rea/issues/5364", + "author": { + "login": "morluto", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5647, + "title": "fix(doctor): reject unusable Kuna caches and invalid native settings", + "url": "https://github.com/morluto/rea/pull/5647", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b718ad166d532241fb20293e73796d492b7e2812" + }, + "issues": [ + { + "number": 5454, + "url": "https://github.com/morluto/rea/issues/5454", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5650, + "title": "fix(apple): read LC_LAZY_LOAD_DYLIB_INFO dependency payloads", + "url": "https://github.com/morluto/rea/pull/5650", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "23196daa11024f90ef1ca64a8c66aa32ecd626a8" + }, + "issues": [ + { + "number": 5551, + "url": "https://github.com/morluto/rea/issues/5551", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5651, + "title": "fix(javascript): preserve path reasons, module coverage, and property provenance", + "url": "https://github.com/morluto/rea/pull/5651", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "53e0943223b016c5e1782aa76f3ec2297dc4313b" + }, + "issues": [ + { + "number": 5623, + "url": "https://github.com/morluto/rea/issues/5623", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5652, + "title": "perf(ci): keep fast built shards under ten minutes", + "url": "https://github.com/morluto/rea/pull/5652", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c0cbbf8d506a02d1723aa507224c9a4342d3f015" + }, + "issues": [] + }, + { + "number": 5655, + "title": "ci: keep npm download caches from Turbo snapshot growth", + "url": "https://github.com/morluto/rea/pull/5655", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "9d8e7803326a382cbbb3ffdb900f5e93e5442d68" + }, + "issues": [] + }, + { + "number": 5658, + "title": "perf(test): reuse one stdio MCP server per JavaScript application file", + "url": "https://github.com/morluto/rea/pull/5658", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "40428da1dd6308f6f407547fd23b0a912232895a" + }, + "issues": [] + }, + { + "number": 5660, + "title": "feat(analysis)!: default function MCP output to retained summaries", + "url": "https://github.com/morluto/rea/pull/5660", + "author": { + "login": "CryptoJones", + "__typename": "User" + }, + "mergeCommit": { + "oid": "1a48a820208880c0cc383d196c7ed96d35479412" + }, + "issues": [] + }, + { + "number": 5661, + "title": "perf(frida): add retained summaries for session status", + "url": "https://github.com/morluto/rea/pull/5661", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4bfdadb7de25981422572fb7ebdc3d79520ef832" + }, + "issues": [ + { + "number": 5640, + "url": "https://github.com/morluto/rea/issues/5640", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5662, + "title": "feat(ghidra): bound one procedure's decompile without closing the session", + "url": "https://github.com/morluto/rea/pull/5662", + "author": { + "login": "RishTheFish21", + "__typename": "User" + }, + "mergeCommit": { + "oid": "a062529bb2aa064be37e82df39c59c4fa798fe50" + }, + "issues": [ + { + "number": 5340, + "url": "https://github.com/morluto/rea/issues/5340", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5664, + "title": "feat(analysis-view): share templated positions across manifest tools", + "url": "https://github.com/morluto/rea/pull/5664", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ea3534759fd4c8309217d1d4c5be0e59428cae83" + }, + "issues": [] + }, + { + "number": 5668, + "title": "fix(cli): label reconciliation input failures as application workflow errors", + "url": "https://github.com/morluto/rea/pull/5668", + "author": { + "login": "umi008", + "__typename": "User" + }, + "mergeCommit": { + "oid": "67a6477f011ae358fc333e5a6e26c86d932654ed" + }, + "issues": [ + { + "number": 5436, + "url": "https://github.com/morluto/rea/issues/5436", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5671, + "title": "fix(errors): preserve caller abort reasons at admission", + "url": "https://github.com/morluto/rea/pull/5671", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "6b101ff23b4151806d3241cfa7cd0a2457eed566" + }, + "issues": [ + { + "number": 5670, + "url": "https://github.com/morluto/rea/issues/5670", + "author": { + "login": "cursor", + "__typename": "Bot" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5673, + "title": "test(cli): keep IPC trace input under the Linux spawn limit", + "url": "https://github.com/morluto/rea/pull/5673", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c38f96fa693de115a47498d467169b8c69f0a426" + }, + "issues": [] + }, + { + "number": 5674, + "title": "fix(managed): treat extension-only module scopes as unknown identity", + "url": "https://github.com/morluto/rea/pull/5674", + "author": { + "login": "umi008", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c4b6aa3061d82c81c9172e242ea1871ad52cc6f2" + }, + "issues": [ + { + "number": 5467, + "url": "https://github.com/morluto/rea/issues/5467", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5675, + "title": "fix(process): token-check identityless exit-refresh replacements", + "url": "https://github.com/morluto/rea/pull/5675", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "df8b4d8a5a8c218ac9f49dd75e014bd910209d36" + }, + "issues": [ + { + "number": 5206, + "url": "https://github.com/morluto/rea/issues/5206", + "author": { + "login": "morluto", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5676, + "title": "perf(test): reuse one compiled CLI process per JavaScript application file", + "url": "https://github.com/morluto/rea/pull/5676", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ccfaf520b752a789ac19496557a3b0c4d4910bde" + }, + "issues": [] + }, + { + "number": 5677, + "title": "test(cli): accept opaque Kuna doctor run tokens", + "url": "https://github.com/morluto/rea/pull/5677", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "044f180222d9b20ef1c23a0a5e4dac32002cd696" + }, + "issues": [] + }, + { + "number": 5679, + "title": "perf(test): reuse one compiled CLI for export-binding parity", + "url": "https://github.com/morluto/rea/pull/5679", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "71b696582b9399d446c7ce16d8c91d4a4196e0ac" + }, + "issues": [] + }, + { + "number": 5699, + "title": "feat(environment): compare an environment with probe captures of its application", + "url": "https://github.com/morluto/rea/pull/5699", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "edccb430c4ace4595ceff71e1b837351e7634938" + }, + "issues": [] + }, + { + "number": 5758, + "title": "docs(testing): reference the configured duplication limit", + "url": "https://github.com/morluto/rea/pull/5758", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "335c042d166b2c8b2c0600935cf77607ae11edbc" + }, + "issues": [] + }, + { + "number": 5762, + "title": "fix(pcap): preserve frames with empty protocol stacks", + "url": "https://github.com/morluto/rea/pull/5762", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "bbbd208743d30edc0ec260667c51a184ddad6007" + }, + "issues": [ + { + "number": 5734, + "url": "https://github.com/morluto/rea/issues/5734", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5763, + "title": "fix(artifacts): report target applicability in session discovery", + "url": "https://github.com/morluto/rea/pull/5763", + "author": { + "login": "jdotc1", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7c6c25dda75e2d1d595a6cacc5cf9a82607f8502" + }, + "issues": [ + { + "number": 5731, + "url": "https://github.com/morluto/rea/issues/5731", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5765, + "title": "fix(native): preserve mixed-slice signature observations", + "url": "https://github.com/morluto/rea/pull/5765", + "author": { + "login": "jdotc1", + "__typename": "User" + }, + "mergeCommit": { + "oid": "89b1941c8e30892ebe763e56b7b4d3495a5bbe14" + }, + "issues": [ + { + "number": 5697, + "url": "https://github.com/morluto/rea/issues/5697", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5766, + "title": "perf(wasm): skip payload text during WAT framing", + "url": "https://github.com/morluto/rea/pull/5766", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "70835d3d5f030deadf606e1c79c70a60883e50c9" + }, + "issues": [ + { + "number": 5760, + "url": "https://github.com/morluto/rea/issues/5760", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5768, + "title": "fix(wasm): retain actionable provider configuration diagnostics", + "url": "https://github.com/morluto/rea/pull/5768", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f1126ff7bfef9d8a928ed0edb9978b4440b9121d" + }, + "issues": [ + { + "number": 5767, + "url": "https://github.com/morluto/rea/issues/5767", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5772, + "title": "fix(windows): retain native handles when close is unconfirmed", + "url": "https://github.com/morluto/rea/pull/5772", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "43ac3d1857b79c5c210a7cfb15de3d645826cf57" + }, + "issues": [ + { + "number": 4505, + "url": "https://github.com/morluto/rea/issues/4505", + "author": { + "login": "morluto", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 5616, + "url": "https://github.com/morluto/rea/issues/5616", + "author": { + "login": "morluto", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5773, + "title": "fix(ida): preserve registration recovery facts in readiness", + "url": "https://github.com/morluto/rea/pull/5773", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "264862bf2e3612c9cb6fcfb861843cbba4e1893f" + }, + "issues": [ + { + "number": 5771, + "url": "https://github.com/morluto/rea/issues/5771", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5780, + "title": "fix(hopper): preserve caller abort reasons on cancellation", + "url": "https://github.com/morluto/rea/pull/5780", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4a7a4b5744ab688d69e039757ecf67d3c4395fde" + }, + "issues": [ + { + "number": 5714, + "url": "https://github.com/morluto/rea/issues/5714", + "author": { + "login": "morluto", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5781, + "title": "perf(model): avoid decoding omitted GGUF strings", + "url": "https://github.com/morluto/rea/pull/5781", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7d8e4e43380b9dbea4d4061dfa9f12f8e9dc5e08" + }, + "issues": [ + { + "number": 5774, + "url": "https://github.com/morluto/rea/issues/5774", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5784, + "title": "perf(test): reuse one compiled CLI for the remaining hot command files", + "url": "https://github.com/morluto/rea/pull/5784", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "0ad42752d3e99c93d5d1a401641ae907e444818c" + }, + "issues": [] + }, + { + "number": 5785, + "title": "feat(il2cpp): link generic method instances behind --generic-instances", + "url": "https://github.com/morluto/rea/pull/5785", + "author": { + "login": "8rulerstar", + "__typename": "User" + }, + "mergeCommit": { + "oid": "3ce311757dd8ac444c8297b2871464536f93816d" + }, + "issues": [] + }, + { + "number": 5786, + "title": "fix(apple): refuse invalid binary dates and unknown sub-millisecond instants", + "url": "https://github.com/morluto/rea/pull/5786", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "a00e4ac3630691f90d69a8589090f9ab45f834a4" + }, + "issues": [ + { + "number": 5769, + "url": "https://github.com/morluto/rea/issues/5769", + "author": { + "login": "morluto", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 5770, + "url": "https://github.com/morluto/rea/issues/5770", + "author": { + "login": "morluto", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5787, + "title": "feat(environment): list every entity on a list's whole lines", + "url": "https://github.com/morluto/rea/pull/5787", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4043e71f6cb9c708b07f3f27e15dfc42663e73f3" + }, + "issues": [] + }, + { + "number": 5788, + "title": "fix(native): admit thin arm64_32 Mach-O targets for static inspection", + "url": "https://github.com/morluto/rea/pull/5788", + "author": { + "login": "Lew1sWong", + "__typename": "User" + }, + "mergeCommit": { + "oid": "861e17a3a71626f7af96ad96f189c6e0e12a0e28" + }, + "issues": [ + { + "number": 5713, + "url": "https://github.com/morluto/rea/issues/5713", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5789, + "title": "fix(model): preserve unsupported GGUF version diagnostics", + "url": "https://github.com/morluto/rea/pull/5789", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "25bea07b42119f5bb2f17719ffcdea9e37aa40ce" + }, + "issues": [ + { + "number": 5749, + "url": "https://github.com/morluto/rea/issues/5749", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5793, + "title": "fix(mcp): report Linux-only integrations as unsupported_host off their hosts", + "url": "https://github.com/morluto/rea/pull/5793", + "author": { + "login": "Lew1sWong", + "__typename": "User" + }, + "mergeCommit": { + "oid": "5a311d8afe41fd57566e05a9ea345d2be2bbac4b" + }, + "issues": [ + { + "number": 5730, + "url": "https://github.com/morluto/rea/issues/5730", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5795, + "title": "perf(ci): use tsrs and reduce PE acceptance startup", + "url": "https://github.com/morluto/rea/pull/5795", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "905cbaf2398c905e96a1492b6145ece13e91c3cc" + }, + "issues": [] + }, + { + "number": 5798, + "title": "feat(wasm): make command deadlines adjustable with recovery guidance", + "url": "https://github.com/morluto/rea/pull/5798", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "a5f982de8dbe4b092cc20ab89d492b7e7028b758" + }, + "issues": [ + { + "number": 5797, + "url": "https://github.com/morluto/rea/issues/5797", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5799, + "title": "perf(ci): pack each test tier from its own timing history", + "url": "https://github.com/morluto/rea/pull/5799", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ea24207b57b8c0b94243385d91defaa1c6357dd1" + }, + "issues": [] + }, + { + "number": 5800, + "title": "feat(environment): answer list filters, search, sorting and paging from the state", + "url": "https://github.com/morluto/rea/pull/5800", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "293832bafc9a054914ec514fe906dd4936c7a372" + }, + "issues": [] + }, + { + "number": 5803, + "title": "fix(artifacts): admit ZIP archives after unclaimed leading bytes", + "url": "https://github.com/morluto/rea/pull/5803", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "35d6d5bb0acaf8cd99399c1167dfef309d6add19" + }, + "issues": [ + { + "number": 5732, + "url": "https://github.com/morluto/rea/issues/5732", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5806, + "title": "fix(apple): keep scalar facts when object-table entries share a record", + "url": "https://github.com/morluto/rea/pull/5806", + "author": { + "login": "Shreyash021104", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f5410bdc4c86de564ddb24f24df86c41cfdd8bec" + }, + "issues": [ + { + "number": 5805, + "url": "https://github.com/morluto/rea/issues/5805", + "author": { + "login": "Shreyash021104", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5807, + "title": "ci(windows): run remaining Windows-only path admission cases in the lane", + "url": "https://github.com/morluto/rea/pull/5807", + "author": { + "login": "Iyanuoluwa007", + "__typename": "User" + }, + "mergeCommit": { + "oid": "3dde9a5e1c92b7c166ecb6ef28c0e0d4123cc89c" + }, + "issues": [] + }, + { + "number": 5810, + "title": "fix(javascript): count one IPC observation per site-resolved channel", + "url": "https://github.com/morluto/rea/pull/5810", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "705058f3e2df82503f1c601fc464aea7cbb626b8" + }, + "issues": [ + { + "number": 5710, + "url": "https://github.com/morluto/rea/issues/5710", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5813, + "title": "feat(gpu): inspect static CUDA and HIP code objects", + "url": "https://github.com/morluto/rea/pull/5813", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "efab044f303ae3d957d977730bb1628063223236" + }, + "issues": [ + { + "number": 5345, + "url": "https://github.com/morluto/rea/issues/5345", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5814, + "title": "fix(cli): preserve Unicode and text across token windows", + "url": "https://github.com/morluto/rea/pull/5814", + "author": { + "login": "STDquantum", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7695466081482c2252db71b5ec1effae0d06e830" + }, + "issues": [ + { + "number": 5530, + "url": "https://github.com/morluto/rea/issues/5530", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5815, + "title": "perf(rust): query selected dependency facts from retained Evidence", + "url": "https://github.com/morluto/rea/pull/5815", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "52415975942a4b9c53a817915b313ccc404f280e" + }, + "issues": [ + { + "number": 5802, + "url": "https://github.com/morluto/rea/issues/5802", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5816, + "title": "fix(hopper): keep an observed launcher exit over a later cancellation", + "url": "https://github.com/morluto/rea/pull/5816", + "author": { + "login": "XiaoBinGan", + "__typename": "User" + }, + "mergeCommit": { + "oid": "5c8d5b2a8a25fa8cc4e9cf00f328a9c7bbe57330" + }, + "issues": [ + { + "number": 5429, + "url": "https://github.com/morluto/rea/issues/5429", + "author": { + "login": "XiaoBinGan", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5818, + "title": "feat(sqlite): make worker deadlines adjustable with recovery guidance", + "url": "https://github.com/morluto/rea/pull/5818", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f801b2fbfd28f4e3713adefddc7bd73db44c284c" + }, + "issues": [ + { + "number": 5812, + "url": "https://github.com/morluto/rea/issues/5812", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5819, + "title": "perf(javascript): reuse the source-analysis worker within a process", + "url": "https://github.com/morluto/rea/pull/5819", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "647717c050ff4dbaef83fb1c5555ef5c33979cd4" + }, + "issues": [] + }, + { + "number": 5821, + "title": "test: assert Result reasons instead of bare ok checks", + "url": "https://github.com/morluto/rea/pull/5821", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d9767eb48f23cbf536dd437ab43fc69f875c5a56" + }, + "issues": [] + }, + { + "number": 5852, + "title": "fix(evidence): clear staged write cleanup state after a confirmed retry", + "url": "https://github.com/morluto/rea/pull/5852", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c2bee63e998c414070f0c5d8b9a83549e260388a" + }, + "issues": [ + { + "number": 5842, + "url": "https://github.com/morluto/rea/issues/5842", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5858, + "title": "fix(signals): report unknown decoder help IDs as invalid input", + "url": "https://github.com/morluto/rea/pull/5858", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7f9a492a8ded24a561397fe2199559274b7c03f5" + }, + "issues": [ + { + "number": 5849, + "url": "https://github.com/morluto/rea/issues/5849", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5860, + "title": "fix(errors): name fixed plist decode allowances instead of host memory in recovery", + "url": "https://github.com/morluto/rea/pull/5860", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "5df59ee1fd630b9062f39e9f375ea850657d0aad" + }, + "issues": [ + { + "number": 5847, + "url": "https://github.com/morluto/rea/issues/5847", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5862, + "title": "fix(android): report a rejected relative JADX JAR instead of an unset one", + "url": "https://github.com/morluto/rea/pull/5862", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d124809950d2e6cafb95f95a9171d44dec3ef5a6" + }, + "issues": [ + { + "number": 5844, + "url": "https://github.com/morluto/rea/issues/5844", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5863, + "title": "feat(firmware): make analysis deadlines recoverable per call", + "url": "https://github.com/morluto/rea/pull/5863", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "aa53c065387c58b4189d82c47f1f3445fc505e30" + }, + "issues": [ + { + "number": 5851, + "url": "https://github.com/morluto/rea/issues/5851", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5867, + "title": "fix(artifacts): report unknown inventory traversal in inspection coverage", + "url": "https://github.com/morluto/rea/pull/5867", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ce1f4b1bbaced57529d609f3007a76de583e11c4" + }, + "issues": [ + { + "number": 5837, + "url": "https://github.com/morluto/rea/issues/5837", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5874, + "title": "fix(adb): report unrecognized package rows from resolve-adb-packages", + "url": "https://github.com/morluto/rea/pull/5874", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "5b014a739e64711261275ffd1fce7716916ab617" + }, + "issues": [ + { + "number": 5843, + "url": "https://github.com/morluto/rea/issues/5843", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5875, + "title": "fix(reconstruction)!: summarize obligation ledgers by cited Evidence authority", + "url": "https://github.com/morluto/rea/pull/5875", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "25e1a24a3ed3671a0148757555f18d16c29d936a" + }, + "issues": [ + { + "number": 5838, + "url": "https://github.com/morluto/rea/issues/5838", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5879, + "title": "fix(sqlite): attribute generated-column evaluation failures to the selection", + "url": "https://github.com/morluto/rea/pull/5879", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "bcfcd8b6e2ee0c44c7ac656688db5ceb61a847d5" + }, + "issues": [ + { + "number": 5719, + "url": "https://github.com/morluto/rea/issues/5719", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5885, + "title": "perf(apple): reuse retained Interface Builder graph validation", + "url": "https://github.com/morluto/rea/pull/5885", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "33f912919d5884d1019eb7f17b202db1b77296a9" + }, + "issues": [ + { + "number": 5855, + "url": "https://github.com/morluto/rea/issues/5855", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5886, + "title": "test(ci): keep module mocks in isolated test projects", + "url": "https://github.com/morluto/rea/pull/5886", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "6d356b84344659085f2b912857b5e27fe0160c9b" + }, + "issues": [] + }, + { + "number": 5905, + "title": "fix: preserve unknown JSON omission counts", + "url": "https://github.com/morluto/rea/pull/5905", + "author": { + "login": "tiggachris", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c717c8a3ec1067ad86b53a3d2dedafc647f3072d" + }, + "issues": [ + { + "number": 5881, + "url": "https://github.com/morluto/rea/issues/5881", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5918, + "title": "fix(model): admit safetensors header lengths that resemble pickle markers", + "url": "https://github.com/morluto/rea/pull/5918", + "author": { + "login": "amyanger", + "__typename": "User" + }, + "mergeCommit": { + "oid": "87657c629765f60fedd2618adecf3aa3c4fe1daa" + }, + "issues": [ + { + "number": 5895, + "url": "https://github.com/morluto/rea/issues/5895", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 5941, + "title": "fix(ci): keep Windows ACL observation in SID form", + "url": "https://github.com/morluto/rea/pull/5941", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c538a843cb49f7156f86beb3b21501e03255af9a" + }, + "issues": [] + }, + { + "number": 5975, + "title": "perf(mcp)!: default to compact input schema advertisements", + "url": "https://github.com/morluto/rea/pull/5975", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "aa51e4343963fdd0b97ec2ebdc3c41579fd9cb38" + }, + "issues": [] + }, + { + "number": 6005, + "title": "fix(mcp): name response-byte and startup ceilings in recovery", + "url": "https://github.com/morluto/rea/pull/6005", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "bdf0be87c617b2b68880a1ed9ecf664a3807468f" + }, + "issues": [] + }, + { + "number": 6006, + "title": "fix(process): reject finite trace variants that only reorder unordered members", + "url": "https://github.com/morluto/rea/pull/6006", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4423b6fff21f0c36880cd5f26db6c9abfcd26ea6" + }, + "issues": [ + { + "number": 5916, + "url": "https://github.com/morluto/rea/issues/5916", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6007, + "title": "fix(javascript): refuse Webpack loaders that can fall off the end", + "url": "https://github.com/morluto/rea/pull/6007", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "63b43b69bbc28855cdc47e9842efd85d69718a75" + }, + "issues": [ + { + "number": 5958, + "url": "https://github.com/morluto/rea/issues/5958", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6008, + "title": "fix(firmware): keep a missing producer report distinct after exit 0", + "url": "https://github.com/morluto/rea/pull/6008", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c8d3f8f8ec4efa1e66e25f680e83500d1f390bd3" + }, + "issues": [ + { + "number": 5876, + "url": "https://github.com/morluto/rea/issues/5876", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6009, + "title": "fix(reconstruction): keep complete contradictions beside incomplete entries", + "url": "https://github.com/morluto/rea/pull/6009", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2319166c2e5e2c0fe54e985363f297b0e3b3419f" + }, + "issues": [ + { + "number": 5925, + "url": "https://github.com/morluto/rea/issues/5925", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6010, + "title": "fix(adb): report an unparsed push checksum as unverified", + "url": "https://github.com/morluto/rea/pull/6010", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "1f92c773989585a7c0f3255b7a9264789394908c" + }, + "issues": [ + { + "number": 5924, + "url": "https://github.com/morluto/rea/issues/5924", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6012, + "title": "fix(capture): keep excluded MIME protobuf applicability partial", + "url": "https://github.com/morluto/rea/pull/6012", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4dfa1c67dc89286b3348cd519d66e35d2d3538ac" + }, + "issues": [ + { + "number": 5926, + "url": "https://github.com/morluto/rea/issues/5926", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6014, + "title": "fix(providers): name JEB, IDA, and one-shot command deadlines", + "url": "https://github.com/morluto/rea/pull/6014", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "dbd556043c4593a6f49dfef36fd114b691177578" + }, + "issues": [] + }, + { + "number": 6016, + "title": "fix(browser)!: keep malformed console argument inventories unknown", + "url": "https://github.com/morluto/rea/pull/6016", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d4c637f4cfcb7ae3b48d0c3047f0e9171d43b26d" + }, + "issues": [ + { + "number": 5934, + "url": "https://github.com/morluto/rea/issues/5934", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6019, + "title": "feat(javascript): retain queryable static route inventories", + "url": "https://github.com/morluto/rea/pull/6019", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7d0efef62d56d0a10134bea62d709302daa1565f" + }, + "issues": [ + { + "number": 4772, + "url": "https://github.com/morluto/rea/issues/4772", + "author": { + "login": "JoshOsullivan-au", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6020, + "title": "fix(process): keep structural capture issues alongside semantic ones", + "url": "https://github.com/morluto/rea/pull/6020", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "dc53c11f6d68790a0046159be59f5bdd839ffcf4" + }, + "issues": [ + { + "number": 5957, + "url": "https://github.com/morluto/rea/issues/5957", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6021, + "title": "fix(ci): validate artifact MCP replies against named schemas", + "url": "https://github.com/morluto/rea/pull/6021", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f86206535f8ec71014781f9d432a84b01e183e5d" + }, + "issues": [] + }, + { + "number": 6022, + "title": "fix(javascript): name heap and semantic ceilings", + "url": "https://github.com/morluto/rea/pull/6022", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "a0214e0e0e46ae74a57c8a373e5fd0772894902d" + }, + "issues": [] + }, + { + "number": 6023, + "title": "fix(electron): record actions skipped after a failed action", + "url": "https://github.com/morluto/rea/pull/6023", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "8e3bf56e11bcb56d0e8754fdfa32a7a9f004ca13" + }, + "issues": [ + { + "number": 5943, + "url": "https://github.com/morluto/rea/issues/5943", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6024, + "title": "fix(android): name the JADX deadline and recover apktool decode", + "url": "https://github.com/morluto/rea/pull/6024", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "01788bac863ac786bfbb648cad69b11e23b40a89" + }, + "issues": [] + }, + { + "number": 6036, + "title": "fix(browser): name web-bundle budgets and recover web deadlines", + "url": "https://github.com/morluto/rea/pull/6036", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "0155b899537dccb886984cc5e01e60ad3fe44492" + }, + "issues": [] + }, + { + "number": 6055, + "title": "fix(apple): preserve asset catalog caller cancellation reason", + "url": "https://github.com/morluto/rea/pull/6055", + "author": { + "login": "rkfshakti", + "__typename": "User" + }, + "mergeCommit": { + "oid": "07fd426e9a4caaf710b3a356c60abbffa28d4bd6" + }, + "issues": [ + { + "number": 5998, + "url": "https://github.com/morluto/rea/issues/5998", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6059, + "title": "fix(native): recover macOS command deadlines", + "url": "https://github.com/morluto/rea/pull/6059", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ae09e3fe70ecb404ef12cfd25ebbde4d582911e8" + }, + "issues": [] + }, + { + "number": 6069, + "title": "fix(native): retain decoded zero-address Swift class references", + "url": "https://github.com/morluto/rea/pull/6069", + "author": { + "login": "xiaofeilovecoding", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f5acf82a78a01bc0a4ac14a8857e32f1f57c17ce" + }, + "issues": [ + { + "number": 6000, + "url": "https://github.com/morluto/rea/issues/6000", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6071, + "title": "fix(process): name the Swift compile deadline", + "url": "https://github.com/morluto/rea/pull/6071", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d8a9673fc44fde4bd30ff98c241886e6683580ca" + }, + "issues": [] + }, + { + "number": 6081, + "title": "fix(ci): use one heap snapshot for JavaScript admission", + "url": "https://github.com/morluto/rea/pull/6081", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "01ee6551b4a39088cb93546f9f1cf4fe62956519" + }, + "issues": [] + }, + { + "number": 6088, + "title": "fix(engines): keep format ceilings fixed and recover the EVMole deadline", + "url": "https://github.com/morluto/rea/pull/6088", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2947a775070863e15e802194fbb14bfd1ec18b9f" + }, + "issues": [] + }, + { + "number": 6099, + "title": "fix(process): report the effective regex heap and uncertain signal retry", + "url": "https://github.com/morluto/rea/pull/6099", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "8413ec08f732b5ef4ecaeee1c4b9bfe8924a7e9d" + }, + "issues": [] + }, + { + "number": 6128, + "title": "perf(javascript): query selected source-to-bundle facts", + "url": "https://github.com/morluto/rea/pull/6128", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "0583fc69beccc03b46bc702348a4dd0bf783af95" + }, + "issues": [ + { + "number": 6112, + "url": "https://github.com/morluto/rea/issues/6112", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6136, + "title": "feat(environment): serve writes whose values the application renames or regenerates", + "url": "https://github.com/morluto/rea/pull/6136", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7ec9b6e56e1b3762285dca881db6d900a389ab9c" + }, + "issues": [] + }, + { + "number": 6137, + "title": "fix(reconstruction): fall back to a kind-based title for blank graph labels", + "url": "https://github.com/morluto/rea/pull/6137", + "author": { + "login": "mohithhhh", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f23066f0da508a849c87aa3f55f69602a548025a" + }, + "issues": [ + { + "number": 6126, + "url": "https://github.com/morluto/rea/issues/6126", + "author": { + "login": "carlogiovannineri-rgb", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6138, + "title": "feat(environment): spell a written clock as each view spells it", + "url": "https://github.com/morluto/rea/pull/6138", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "957bcfa149c1a0593bb0aa2466cc56d1d4f62e7d" + }, + "issues": [] + }, + { + "number": 6143, + "title": "fix(cancellation): preserve caller abort reasons through late finalization", + "url": "https://github.com/morluto/rea/pull/6143", + "author": { + "login": "agorevski", + "__typename": "User" + }, + "mergeCommit": { + "oid": "087813fb889496bfcd1a8bc32c4ec225d22eb388" + }, + "issues": [ + { + "number": 6042, + "url": "https://github.com/morluto/rea/issues/6042", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6043, + "url": "https://github.com/morluto/rea/issues/6043", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6048, + "url": "https://github.com/morluto/rea/issues/6048", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6049, + "url": "https://github.com/morluto/rea/issues/6049", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6057, + "url": "https://github.com/morluto/rea/issues/6057", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6060, + "url": "https://github.com/morluto/rea/issues/6060", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6078, + "url": "https://github.com/morluto/rea/issues/6078", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6080, + "url": "https://github.com/morluto/rea/issues/6080", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6108, + "url": "https://github.com/morluto/rea/issues/6108", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6111, + "url": "https://github.com/morluto/rea/issues/6111", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6115, + "url": "https://github.com/morluto/rea/issues/6115", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6144, + "title": "fix(cancellation): preserve caller abort reason in cancellation errors", + "url": "https://github.com/morluto/rea/pull/6144", + "author": { + "login": "agorevski", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4e28166626aec19bb9bc60e8117d42fd3af17b22" + }, + "issues": [ + { + "number": 5935, + "url": "https://github.com/morluto/rea/issues/5935", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 5944, + "url": "https://github.com/morluto/rea/issues/5944", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6100, + "url": "https://github.com/morluto/rea/issues/6100", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6101, + "url": "https://github.com/morluto/rea/issues/6101", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6110, + "url": "https://github.com/morluto/rea/issues/6110", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6113, + "url": "https://github.com/morluto/rea/issues/6113", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6121, + "url": "https://github.com/morluto/rea/issues/6121", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6131, + "url": "https://github.com/morluto/rea/issues/6131", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6132, + "url": "https://github.com/morluto/rea/issues/6132", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6148, + "title": "test(artifacts): cover fixed input-size recovery for Rust and IL2CPP", + "url": "https://github.com/morluto/rea/pull/6148", + "author": { + "login": "mpratsaki", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7ffae5a7917ef0fe10e7ae89ddde74b8802f573a" + }, + "issues": [ + { + "number": 5405, + "url": "https://github.com/morluto/rea/issues/5405", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6149, + "title": "fix(javascript): preserve source-map preparation capability errors", + "url": "https://github.com/morluto/rea/pull/6149", + "author": { + "login": "diyasharma05", + "__typename": "User" + }, + "mergeCommit": { + "oid": "3dbe314ada9f6dcc994ca4655dc0faf082503847" + }, + "issues": [ + { + "number": 6082, + "url": "https://github.com/morluto/rea/issues/6082", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6152, + "title": "fix(artifacts): refuse thin Mach-O extraction before inventory", + "url": "https://github.com/morluto/rea/pull/6152", + "author": { + "login": "viniciusdsandrade", + "__typename": "User" + }, + "mergeCommit": { + "oid": "af7395140523e326cade9897ff205078d0eb9a9d" + }, + "issues": [ + { + "number": 6098, + "url": "https://github.com/morluto/rea/issues/6098", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6153, + "title": "fix(native): keep truncated empty class-import scans partial", + "url": "https://github.com/morluto/rea/pull/6153", + "author": { + "login": "viniciusdsandrade", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ab2119e9b89e017ee75e3ba3d25c709e1384c51d" + }, + "issues": [ + { + "number": 6086, + "url": "https://github.com/morluto/rea/issues/6086", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6156, + "title": "docs(ko): preserve established OTP and provider terminology", + "url": "https://github.com/morluto/rea/pull/6156", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "44827a502004997738296f040dde04d9ed942bed" + }, + "issues": [] + }, + { + "number": 6158, + "title": "fix(environment): bound state reads and retain cleanup ownership", + "url": "https://github.com/morluto/rea/pull/6158", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "76dbc32f3990164f5b8e30dc3bf4870480eec50e" + }, + "issues": [] + }, + { + "number": 6159, + "title": "fix(browser): report zero decoded bytes for undecodable gRPC-web text", + "url": "https://github.com/morluto/rea/pull/6159", + "author": { + "login": "Abelo9996", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d54c4345d3fb04e6e2363ad98c1495e1cf3774a9" + }, + "issues": [ + { + "number": 5942, + "url": "https://github.com/morluto/rea/issues/5942", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6160, + "title": "fix(process): index late scenario events in validation issues", + "url": "https://github.com/morluto/rea/pull/6160", + "author": { + "login": "Abelo9996", + "__typename": "User" + }, + "mergeCommit": { + "oid": "cbbd317fb59647a3dfd97c685b060d07eb42e39a" + }, + "issues": [ + { + "number": 5966, + "url": "https://github.com/morluto/rea/issues/5966", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6169, + "title": "feat(environment): serve writes behind bodiless replies, omitted fields, projected reads and digit-group sequences", + "url": "https://github.com/morluto/rea/pull/6169", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "5375ff0f9aadb4fd0d46333815aa0431e3df1010" + }, + "issues": [] + }, + { + "number": 6170, + "title": "feat(native): export function pseudocode to resumable directories", + "url": "https://github.com/morluto/rea/pull/6170", + "author": { + "login": "CryptoJones", + "__typename": "User" + }, + "mergeCommit": { + "oid": "a91412aaf992929595e005e1cf7b8cbc0c322002" + }, + "issues": [] + }, + { + "number": 6172, + "title": "fix(artifacts): name the ASAR header admission budget", + "url": "https://github.com/morluto/rea/pull/6172", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d7ca93cc2cae9fd5af327d85a3ff60a2efa591df" + }, + "issues": [] + }, + { + "number": 6173, + "title": "fix(process): capture MCP process scenarios with the server environment", + "url": "https://github.com/morluto/rea/pull/6173", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "mergeCommit": { + "oid": "6da3839b572219ea4cefa62fbecc5cd626908b15" + }, + "issues": [ + { + "number": 6174, + "url": "https://github.com/morluto/rea/issues/6174", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6175, + "title": "fix(model): keep host I/O failures distinct from unavailable model targets", + "url": "https://github.com/morluto/rea/pull/6175", + "author": { + "login": "amyanger", + "__typename": "User" + }, + "mergeCommit": { + "oid": "54ea293e7cdbf2bb48f68c0682b8ab666c28fd36" + }, + "issues": [ + { + "number": 6004, + "url": "https://github.com/morluto/rea/issues/6004", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6181, + "title": "refactor: remove obsolete forwarding APIs and unify CI contracts", + "url": "https://github.com/morluto/rea/pull/6181", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "a73eac190b56092b0e17266e4abf375c34ef9af9" + }, + "issues": [] + }, + { + "number": 6182, + "title": "refactor: consolidate remaining legacy contract ownership", + "url": "https://github.com/morluto/rea/pull/6182", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "603a7d022c012fb7b6bd1de65b44950720f8b40d" + }, + "issues": [] + }, + { + "number": 6186, + "title": "test(browser): select a bounded service-worker setup deadline", + "url": "https://github.com/morluto/rea/pull/6186", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "18669641e98d49d06c9d1c3227167756db9a6c3b" + }, + "issues": [] + }, + { + "number": 6195, + "title": "fix(pcap): locate parent validation issues within analysis-view source", + "url": "https://github.com/morluto/rea/pull/6195", + "author": { + "login": "xiajiahang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "25a0f3c3b8723804d0b19d5c51850383dd5b3139" + }, + "issues": [ + { + "number": 6130, + "url": "https://github.com/morluto/rea/issues/6130", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6205, + "title": "fix(process): settle owned cleanup with the launcher's own exit proof", + "url": "https://github.com/morluto/rea/pull/6205", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "aa7d960ef5ad9741c8584e29cce1dc795a68bdf8" + }, + "issues": [ + { + "number": 6134, + "url": "https://github.com/morluto/rea/issues/6134", + "author": { + "login": "topguntrader007", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6206, + "title": "feat(javascript): link assignment right-hand sides to their writes", + "url": "https://github.com/morluto/rea/pull/6206", + "author": { + "login": "IvenKooLab", + "__typename": "User" + }, + "mergeCommit": { + "oid": "9df94a62cd56b6ab29d55d56cb7db87ad8e5e439" + }, + "issues": [ + { + "number": 6193, + "url": "https://github.com/morluto/rea/issues/6193", + "author": { + "login": "jacobmalibiran", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6209, + "title": "feat(artifacts): make ASAR header admission configurable", + "url": "https://github.com/morluto/rea/pull/6209", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "8451b961adc0913a0f9657d8313d4f6d80d3024a" + }, + "issues": [ + { + "number": 6176, + "url": "https://github.com/morluto/rea/issues/6176", + "author": { + "login": "morluto", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6210, + "title": "fix(ghidra): retry retained language catalog closes before admission", + "url": "https://github.com/morluto/rea/pull/6210", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "292fd532c9e62d0654a5277889f2a25acc96d5f3" + }, + "issues": [ + { + "number": 6133, + "url": "https://github.com/morluto/rea/issues/6133", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6214, + "title": "fix(javascript): keep unmapped captured runtime scripts unknown", + "url": "https://github.com/morluto/rea/pull/6214", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "e5d2805b428b1862bd502bf7877f44813520e266" + }, + "issues": [ + { + "number": 6061, + "url": "https://github.com/morluto/rea/issues/6061", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6219, + "title": "feat(native): inspect a universal Mach-O slice in Go and Rust metadata readers", + "url": "https://github.com/morluto/rea/pull/6219", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b928963675a735df2577d67bbd02f4707417a6e6" + }, + "issues": [ + { + "number": 4102, + "url": "https://github.com/morluto/rea/issues/4102", + "author": { + "login": "Rinkia", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6220, + "title": "fix(process): record withheld unrelated Linux processes as unverified", + "url": "https://github.com/morluto/rea/pull/6220", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "26356dc34a74e38b68eb2acb4befb126176ed978" + }, + "issues": [ + { + "number": 6204, + "url": "https://github.com/morluto/rea/issues/6204", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6221, + "title": "fix(cli): keep committed evidence bundle receipts after cancellation", + "url": "https://github.com/morluto/rea/pull/6221", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4a4bbab3c337701febeb6b532ace49041c4876e0" + }, + "issues": [ + { + "number": 6095, + "url": "https://github.com/morluto/rea/issues/6095", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6223, + "title": "fix(browser): keep target detail when attributing CDP failures", + "url": "https://github.com/morluto/rea/pull/6223", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ec0e663cca5d5b6517361e3c1cc12060ad7936b0" + }, + "issues": [ + { + "number": 6122, + "url": "https://github.com/morluto/rea/issues/6122", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6229, + "title": "fix(pcap): report workspace allocation failures by their system cause", + "url": "https://github.com/morluto/rea/pull/6229", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b4f9f0deac23f962fcf796d27a8798e0029d6b1d" + }, + "issues": [ + { + "number": 6123, + "url": "https://github.com/morluto/rea/issues/6123", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6230, + "title": "fix(evm): reject repeated container keys in Solidity metadata", + "url": "https://github.com/morluto/rea/pull/6230", + "author": { + "login": "Sriram-PR", + "__typename": "User" + }, + "mergeCommit": { + "oid": "fd782cf2b129a1b56c20a51940ad615d1dd97958" + }, + "issues": [] + }, + { + "number": 6233, + "title": "feat(native): let callers raise the Apple dispatch metadata input budget", + "url": "https://github.com/morluto/rea/pull/6233", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "36372056220258c42dd6ec1d5eb560bdc1cf3788" + }, + "issues": [ + { + "number": 3917, + "url": "https://github.com/morluto/rea/issues/3917", + "author": { + "login": "jaychou813", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6235, + "title": "fix(ci): run the lockfile-pinned Skills CLI in package verification", + "url": "https://github.com/morluto/rea/pull/6235", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "89268f4a45c0cd3cde6f24f9e58cbccdd745f708" + }, + "issues": [ + { + "number": 6234, + "url": "https://github.com/morluto/rea/issues/6234", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6237, + "title": "fix(wasm): test glue literals for a .wasm suffix in linear time", + "url": "https://github.com/morluto/rea/pull/6237", + "author": { + "login": "Dragolone", + "__typename": "User" + }, + "mergeCommit": { + "oid": "6b55802df66cf25d61e652f0549bd83ef260ebfd" + }, + "issues": [] + }, + { + "number": 6238, + "title": "docs(javascript): state that duplicate unmapped content stays ambiguous", + "url": "https://github.com/morluto/rea/pull/6238", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "bd5d189a8f8aeea669bcb93e68af6c046b567939" + }, + "issues": [ + { + "number": 6061, + "url": "https://github.com/morluto/rea/issues/6061", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6240, + "title": "feat(ghidra): analyze GameCube/Wii DOL executables through Ghidra", + "url": "https://github.com/morluto/rea/pull/6240", + "author": { + "login": "arielfikru", + "__typename": "User" + }, + "mergeCommit": { + "oid": "cab78de50673c89766dba2b7687b1bbb5045c43a" + }, + "issues": [] + }, + { + "number": 6244, + "title": "fix(capture): report scenario path search denial as access denied", + "url": "https://github.com/morluto/rea/pull/6244", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "6f96d7a3fa2a79ccf4e50344485b2a079dae75d2" + }, + "issues": [ + { + "number": 6117, + "url": "https://github.com/morluto/rea/issues/6117", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6247, + "title": "fix(environment): report capture payload failures at their field paths", + "url": "https://github.com/morluto/rea/pull/6247", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c537c52c96b7f24ea2d2c1b5ae8055fbf6d99ffa" + }, + "issues": [ + { + "number": 6119, + "url": "https://github.com/morluto/rea/issues/6119", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6250, + "title": "docs(cli): document opt-in Bash completion setup", + "url": "https://github.com/morluto/rea/pull/6250", + "author": { + "login": "ShuaixinHuang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c9204b96d4a816256b2bd5415796aad8f7f80400" + }, + "issues": [] + }, + { + "number": 6253, + "title": "fix(doctor): check only the current platform's Hopper launcher candidates", + "url": "https://github.com/morluto/rea/pull/6253", + "author": { + "login": "SandstromPL", + "__typename": "User" + }, + "mergeCommit": { + "oid": "8f91e6055842caa6e7c551d639963b45b708d238" + }, + "issues": [ + { + "number": 6228, + "url": "https://github.com/morluto/rea/issues/6228", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6254, + "title": "fix(nativeaot): preserve COPY bytes when hydration output grows", + "url": "https://github.com/morluto/rea/pull/6254", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "14877a069bc7e9a43b6a2594b5e0ed9326e370fc" + }, + "issues": [ + { + "number": 5882, + "url": "https://github.com/morluto/rea/issues/5882", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6255, + "title": "fix(apple): decode NIBArchive booleans with AppKit's polarity", + "url": "https://github.com/morluto/rea/pull/6255", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ef5ab1f1f2b0b0ff3dcbf11c435543a49bd49648" + }, + "issues": [ + { + "number": 5541, + "url": "https://github.com/morluto/rea/issues/5541", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6256, + "title": "fix(call-path): count only expanded edges as explored", + "url": "https://github.com/morluto/rea/pull/6256", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c8ed32853881b08aa83459d4da55a28a4e09b0c8" + }, + "issues": [ + { + "number": 5906, + "url": "https://github.com/morluto/rea/issues/5906", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6257, + "title": "feat(native): decode Swift nominal type declarations from __swift5_types", + "url": "https://github.com/morluto/rea/pull/6257", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c02945bc440c6c5579c681b713419995487f9e30" + }, + "issues": [ + { + "number": 5341, + "url": "https://github.com/morluto/rea/issues/5341", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6258, + "title": "fix(cli): exclude declared sensitive values from parser diagnostics", + "url": "https://github.com/morluto/rea/pull/6258", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c083fedaf4bba52454b9b636ee5051d7c3249a44" + }, + "issues": [ + { + "number": 6252, + "url": "https://github.com/morluto/rea/issues/6252", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6259, + "title": "fix(javascript): keep encoded URL slashes inside one runtime path segment", + "url": "https://github.com/morluto/rea/pull/6259", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "1639189f269e016d37cfe18c2b617bd57c260dd6" + }, + "issues": [ + { + "number": 5878, + "url": "https://github.com/morluto/rea/issues/5878", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6260, + "title": "feat(managed): project call and field-access edges into the application graph", + "url": "https://github.com/morluto/rea/pull/6260", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c9b4cae9dc5700313fd671d4e85515fe12f5ca64" + }, + "issues": [ + { + "number": 4056, + "url": "https://github.com/morluto/rea/issues/4056", + "author": { + "login": "Rinkia", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6261, + "title": "fix(setup): keep comments around REA's table in Grok Build TOML", + "url": "https://github.com/morluto/rea/pull/6261", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "86357bad54355c5aef42f6e24fdc49ee689199ba" + }, + "issues": [ + { + "number": 6207, + "url": "https://github.com/morluto/rea/issues/6207", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6264, + "title": "fix(process): keep capture evidence when an admitted root's ancestor changes", + "url": "https://github.com/morluto/rea/pull/6264", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b6007e0a58f5acab573eb9f2adcdbe24d7eee6af" + }, + "issues": [ + { + "number": 6213, + "url": "https://github.com/morluto/rea/issues/6213", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6267, + "title": "feat(config): make the regex matching deadline configurable", + "url": "https://github.com/morluto/rea/pull/6267", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c7efd3a388577c184f0511a3e4851b5510f2a15c" + }, + "issues": [] + }, + { + "number": 6268, + "title": "fix(doctor): interrupt Hopper display readiness on cancel", + "url": "https://github.com/morluto/rea/pull/6268", + "author": { + "login": "mvanhorn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "5d7d6ad9ab5450b76ae6ee33941ee1e957304dff" + }, + "issues": [ + { + "number": 6227, + "url": "https://github.com/morluto/rea/issues/6227", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6269, + "title": "fix(kuna): name the rejected address in list_strings input errors", + "url": "https://github.com/morluto/rea/pull/6269", + "author": { + "login": "Abelo9996", + "__typename": "User" + }, + "mergeCommit": { + "oid": "117ded88f01fa1ce62d8733e2b12923b9e3b1533" + }, + "issues": [ + { + "number": 5980, + "url": "https://github.com/morluto/rea/issues/5980", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6270, + "title": "fix(process): name the pattern field in default invalid-regex errors", + "url": "https://github.com/morluto/rea/pull/6270", + "author": { + "login": "Abelo9996", + "__typename": "User" + }, + "mergeCommit": { + "oid": "690a63abd655973d9685cfd2d173196f740bc895" + }, + "issues": [ + { + "number": 6107, + "url": "https://github.com/morluto/rea/issues/6107", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6271, + "title": "fix(il2cpp): refuse a seed path under a non-directory as caller input", + "url": "https://github.com/morluto/rea/pull/6271", + "author": { + "login": "Abelo9996", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2d91e2d57823f866632f99662cb27b366aaa4004" + }, + "issues": [ + { + "number": 6039, + "url": "https://github.com/morluto/rea/issues/6039", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6272, + "title": "fix(environment): refuse UNC pathname in file:// URI before fileURLToPath", + "url": "https://github.com/morluto/rea/pull/6272", + "author": { + "login": "ithis0623-png", + "__typename": "User" + }, + "mergeCommit": { + "oid": "aff5e23ecf834fd85e85c1ee23d6dc6fb6fee21d" + }, + "issues": [] + }, + { + "number": 6273, + "title": "fix(ghidra): reject JDK_JAVA_OPTIONS argument-file platform overrides", + "url": "https://github.com/morluto/rea/pull/6273", + "author": { + "login": "mvanhorn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "3d472bde23b70f9aa7bcf0d28a0cd10e469545e9" + }, + "issues": [ + { + "number": 6212, + "url": "https://github.com/morluto/rea/issues/6212", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6277, + "title": "fix(windows): report missing native launch controls as unavailable capabilities", + "url": "https://github.com/morluto/rea/pull/6277", + "author": { + "login": "AmmarJamil23", + "__typename": "User" + }, + "mergeCommit": { + "oid": "0d5c7b6d79a6bba82d4648a5d44a9148965f0f3f" + }, + "issues": [ + { + "number": 6050, + "url": "https://github.com/morluto/rea/issues/6050", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6278, + "title": "feat(native): inspect PE and ELF export tables without an engine", + "url": "https://github.com/morluto/rea/pull/6278", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "933af60eba43c29f1fb1c606fddcd725ae0d9d96" + }, + "issues": [ + { + "number": 4057, + "url": "https://github.com/morluto/rea/issues/4057", + "author": { + "login": "Rinkia", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6279, + "title": "fix(ci): make Windows PowerShell observers cheap and cold-start tolerant", + "url": "https://github.com/morluto/rea/pull/6279", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2452efa9211d09e0acdf8cf9bfbf82a96f5a3522" + }, + "issues": [ + { + "number": 6275, + "url": "https://github.com/morluto/rea/issues/6275", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6280, + "title": "fix(javascript): read utilityProcess.fork options from the argv slot", + "url": "https://github.com/morluto/rea/pull/6280", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "73b756430f933da3d86d181c3b6e470d7acca6ad" + }, + "issues": [ + { + "number": 6208, + "url": "https://github.com/morluto/rea/issues/6208", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6282, + "title": "fix(ghidra): skip the Java probe without an installation", + "url": "https://github.com/morluto/rea/pull/6282", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "002e1b68c66a243948fdca57ac416cfaec617315" + }, + "issues": [ + { + "number": 6200, + "url": "https://github.com/morluto/rea/issues/6200", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6284, + "title": "fix(electron): bind each contextBridge helper invocation to its own API", + "url": "https://github.com/morluto/rea/pull/6284", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "04fd41b288eb63966cc4c952c3574be61b4eeed1" + }, + "issues": [ + { + "number": 5870, + "url": "https://github.com/morluto/rea/issues/5870", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 5871, + "url": "https://github.com/morluto/rea/issues/5871", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6287, + "title": "fix(managed): refuse non-PE inputs as unsupported targets", + "url": "https://github.com/morluto/rea/pull/6287", + "author": { + "login": "mhamzasakhi", + "__typename": "User" + }, + "mergeCommit": { + "oid": "3b2d2863da71b54cce297a80dd9175f9847f32fa" + }, + "issues": [ + { + "number": 6076, + "url": "https://github.com/morluto/rea/issues/6076", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6293, + "title": "fix(ci): isolate packed Python syntax checks from ambient imports", + "url": "https://github.com/morluto/rea/pull/6293", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "21f9af9d93dacfe06848298ffae49112977a90ff" + }, + "issues": [] + }, + { + "number": 6298, + "title": "fix(process): propagate comparison contradictions", + "url": "https://github.com/morluto/rea/pull/6298", + "author": { + "login": "gongfpp", + "__typename": "User" + }, + "mergeCommit": { + "oid": "77c72b96aa01b74f5f1e6dc2e1b737bd0fd1ee0e" + }, + "issues": [ + { + "number": 6218, + "url": "https://github.com/morluto/rea/issues/6218", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6299, + "title": "feat(captures): make the HAR/SAZ/qlog decoder heap configurable", + "url": "https://github.com/morluto/rea/pull/6299", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "306ed799320e66babe44a9abb632e920b029508a" + }, + "issues": [] + }, + { + "number": 6301, + "title": "feat(process): make the regex worker heap request configurable", + "url": "https://github.com/morluto/rea/pull/6301", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "9512a8080433d377f022889737d328f0cbea171f" + }, + "issues": [] + }, + { + "number": 6302, + "title": "fix(evidence): report contradictory unknown input as invalid input", + "url": "https://github.com/morluto/rea/pull/6302", + "author": { + "login": "Sriram-PR", + "__typename": "User" + }, + "mergeCommit": { + "oid": "510838bd7038a9e55ac29ef1a906c5a67df8d599" + }, + "issues": [ + { + "number": 6106, + "url": "https://github.com/morluto/rea/issues/6106", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6304, + "title": "feat(mcp): make MCP startup phase budgets configurable", + "url": "https://github.com/morluto/rea/pull/6304", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "584937c7611e6de1e3a81dd3e32f90e200ae3f42" + }, + "issues": [] + }, + { + "number": 6313, + "title": "fix(web): refuse an existing script-export destination as invalid input", + "url": "https://github.com/morluto/rea/pull/6313", + "author": { + "login": "mhamzasakhi", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b5dba08dba8a22994172f2bc8782c6832c91d53b" + }, + "issues": [ + { + "number": 6029, + "url": "https://github.com/morluto/rea/issues/6029", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6314, + "title": "fix(rizin): enforce UTF-8 recent output byte limit", + "url": "https://github.com/morluto/rea/pull/6314", + "author": { + "login": "aryanmehra0", + "__typename": "User" + }, + "mergeCommit": { + "oid": "e28c11f87d0390bf758a851995d0f165b2208bce" + }, + "issues": [ + { + "number": 5242, + "url": "https://github.com/morluto/rea/issues/5242", + "author": { + "login": "Faisal-Fayaz", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6315, + "title": "fix(runtime)!: require patched Node.js security releases", + "url": "https://github.com/morluto/rea/pull/6315", + "author": { + "login": "ShikamaruNaaraa", + "__typename": "User" + }, + "mergeCommit": { + "oid": "28a33cae8f8d4de8e11f7a266ff0d756432ab092" + }, + "issues": [ + { + "number": 6283, + "url": "https://github.com/morluto/rea/issues/6283", + "author": { + "login": "GamerDubz", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6316, + "title": "fix(runtime): align remaining Node security pins and setup guidance", + "url": "https://github.com/morluto/rea/pull/6316", + "author": { + "login": "GamerDubz", + "__typename": "User" + }, + "mergeCommit": { + "oid": "520f8e8042c39833fb1656d3e55fb2896bff43a5" + }, + "issues": [] + }, + { + "number": 6321, + "title": "fix(reconstruction): classify residual graph failures as invalid input", + "url": "https://github.com/morluto/rea/pull/6321", + "author": { + "login": "OrdoAbChao7", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b9ca37b51f13b9c0ffed348ff5d3b779da30166d" + }, + "issues": [ + { + "number": 6300, + "url": "https://github.com/morluto/rea/issues/6300", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6323, + "title": "docs(testing): note Windows source-checkout suite expectations", + "url": "https://github.com/morluto/rea/pull/6323", + "author": { + "login": "sathish123m", + "__typename": "User" + }, + "mergeCommit": { + "oid": "09416de0cde5489956288b4cd788cb89786c45af" + }, + "issues": [ + { + "number": 6308, + "url": "https://github.com/morluto/rea/issues/6308", + "author": { + "login": "mpratsaki", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6325, + "title": "fix(pyinstaller): report changed admission as integrity", + "url": "https://github.com/morluto/rea/pull/6325", + "author": { + "login": "Bilalmesk", + "__typename": "User" + }, + "mergeCommit": { + "oid": "49bb6c84b0032329a169a97d5ef56f6afa862c56" + }, + "issues": [ + { + "number": 6067, + "url": "https://github.com/morluto/rea/issues/6067", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6327, + "title": "fix(sqlite): report result-column capacity refusals as capacity", + "url": "https://github.com/morluto/rea/pull/6327", + "author": { + "login": "DeryFerd", + "__typename": "User" + }, + "mergeCommit": { + "oid": "89fea8130ab0e6243d1fe0d0d297c7e38ac9f258" + }, + "issues": [ + { + "number": 6292, + "url": "https://github.com/morluto/rea/issues/6292", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6331, + "title": "fix(doctor): read each client's own activation key", + "url": "https://github.com/morluto/rea/pull/6331", + "author": { + "login": "cpruijsen", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4b4babf1e796d46ff0361cf7d80c2d0c126e4223" + }, + "issues": [] + }, + { + "number": 6340, + "title": "fix(browser): keep refresh guidance for a missing CDP target", + "url": "https://github.com/morluto/rea/pull/6340", + "author": { + "login": "Abelo9996", + "__typename": "User" + }, + "mergeCommit": { + "oid": "26bc77ce564b353d027df4ede13999bd2cd93461" + }, + "issues": [ + { + "number": 5947, + "url": "https://github.com/morluto/rea/issues/5947", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6341, + "title": "fix(browser)!: preserve storage value code units", + "url": "https://github.com/morluto/rea/pull/6341", + "author": { + "login": "gongfpp", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7aee876d814ace1e9e59033501e02d2afc33bc9f" + }, + "issues": [ + { + "number": 6289, + "url": "https://github.com/morluto/rea/issues/6289", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6345, + "title": "fix(environment): preserve UUID renewal ownership", + "url": "https://github.com/morluto/rea/pull/6345", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "54f51f0d7dc9c48355928a3d9ec84e6fc13e8e54" + }, + "issues": [ + { + "number": 6343, + "url": "https://github.com/morluto/rea/issues/6343", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6352, + "title": "refactor(process): share paired prlimit ceiling ownership", + "url": "https://github.com/morluto/rea/pull/6352", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "6dc0f60faa0928e20b2395ba1a93ff8e497143f7" + }, + "issues": [] + }, + { + "number": 6353, + "title": "fix(mcp): escalate transient failures before asking for a restart", + "url": "https://github.com/morluto/rea/pull/6353", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "791f6328b02a29f23822fe600754fcd228bf754b" + }, + "issues": [] + }, + { + "number": 6354, + "title": "test(acceptance): run loader ownership once through stdio MCP", + "url": "https://github.com/morluto/rea/pull/6354", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "fd5cd1b058dd549b5f5c6d707edeaebcc21c1165" + }, + "issues": [] + }, + { + "number": 6357, + "title": "fix(lifecycle): retain exact cleanup owners when close or prelaunch fails", + "url": "https://github.com/morluto/rea/pull/6357", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7501911f1781d0be16266a279d71bc17ee15d273" + }, + "issues": [ + { + "number": 6030, + "url": "https://github.com/morluto/rea/issues/6030", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6056, + "url": "https://github.com/morluto/rea/issues/6056", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6358, + "title": "fix(browser): account for late script metadata", + "url": "https://github.com/morluto/rea/pull/6358", + "author": { + "login": "gongfpp", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2a3e16224650efecf973775c1dca03a32af46716" + }, + "issues": [ + { + "number": 6231, + "url": "https://github.com/morluto/rea/issues/6231", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6360, + "title": "fix(javascript): report path data records as route candidates", + "url": "https://github.com/morluto/rea/pull/6360", + "author": { + "login": "Nikhi00718", + "__typename": "User" + }, + "mergeCommit": { + "oid": "5fbea61e5ab0e2a83cccf0fdbd9f8843644dd681" + }, + "issues": [ + { + "number": 6349, + "url": "https://github.com/morluto/rea/issues/6349", + "author": { + "login": "Nikhi00718", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6361, + "title": "fix(analysis-view): preserve artifact parent schema diagnostics", + "url": "https://github.com/morluto/rea/pull/6361", + "author": { + "login": "AyoubElleuch", + "__typename": "User" + }, + "mergeCommit": { + "oid": "295e7efddfc9fe48036b8f5b21d67d49fe19dacb" + }, + "issues": [ + { + "number": 6034, + "url": "https://github.com/morluto/rea/issues/6034", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6362, + "title": "fix(scripts): keep the first proxy error in the package-update verifier", + "url": "https://github.com/morluto/rea/pull/6362", + "author": { + "login": "CassieFox23", + "__typename": "User" + }, + "mergeCommit": { + "oid": "0f09630645ebcca9bcbb6b3fb201219617870948" + }, + "issues": [] + }, + { + "number": 6363, + "title": "fix(lifecycle): retain Android and Kuna descriptors when close fails", + "url": "https://github.com/morluto/rea/pull/6363", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "746a41937d0c05fc8c53872c56f663b8b8f90b62" + }, + "issues": [ + { + "number": 6047, + "url": "https://github.com/morluto/rea/issues/6047", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + }, + { + "number": 6052, + "url": "https://github.com/morluto/rea/issues/6052", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6364, + "title": "fix(js): resolve literal URL from Request constructor in fetch calls", + "url": "https://github.com/morluto/rea/pull/6364", + "author": { + "login": "ahmed-husssain", + "__typename": "User" + }, + "mergeCommit": { + "oid": "3984d12a30385cf10a304ed6e0425335b87870cb" + }, + "issues": [ + { + "number": 6359, + "url": "https://github.com/morluto/rea/issues/6359", + "author": { + "login": "xpeng5278-web", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6368, + "title": "docs(limits): describe how to design admission recovery", + "url": "https://github.com/morluto/rea/pull/6368", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "0d596fa8f7f8fd22cdfe4f3d4eda3a6462ae8dde" + }, + "issues": [] + }, + { + "number": 6371, + "title": "fix(native): report plist symlink loops and overlong paths as selection failures", + "url": "https://github.com/morluto/rea/pull/6371", + "author": { + "login": "Abelo9996", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f290b27299f61322d02df30f198bfa584f1ac57d" + }, + "issues": [ + { + "number": 5949, + "url": "https://github.com/morluto/rea/issues/5949", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6372, + "title": "fix(hopper): report invalid regex patterns as pattern input errors", + "url": "https://github.com/morluto/rea/pull/6372", + "author": { + "login": "Abelo9996", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4f8465d8db86438163fd4d256cb73a7f688e02d0" + }, + "issues": [ + { + "number": 5986, + "url": "https://github.com/morluto/rea/issues/5986", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6375, + "title": "test: repair remaining bulk-merge regression fixtures", + "url": "https://github.com/morluto/rea/pull/6375", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7091be291c2c195ea9fcc368464374a9b7d82b62" + }, + "issues": [] + }, + { + "number": 6376, + "title": "feat(config): make the bridge request ceiling configurable", + "url": "https://github.com/morluto/rea/pull/6376", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "47353e494d170352c88cfd046c43e48c1419f3ad" + }, + "issues": [] + }, + { + "number": 6379, + "title": "test: prefer structured assertions over recovery prose", + "url": "https://github.com/morluto/rea/pull/6379", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "bea6b98e846c874f6233142c85bdbe2491479e62" + }, + "issues": [] + }, + { + "number": 6385, + "title": "feat(environment): give more write tools a state target", + "url": "https://github.com/morluto/rea/pull/6385", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "977c9727e656c8493b62587c50447b371eb9a0a5" + }, + "issues": [] + }, + { + "number": 6394, + "title": "fix(plist): recognize OpenStep files with leading comments", + "url": "https://github.com/morluto/rea/pull/6394", + "author": { + "login": "Plastic-time", + "__typename": "User" + }, + "mergeCommit": { + "oid": "37cbeff9f3d2be2ac6673a5426c1054706f38e22" + }, + "issues": [] + }, + { + "number": 6400, + "title": "fix(ci): use an available command for the Ghidra probe marker", + "url": "https://github.com/morluto/rea/pull/6400", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "e32a0494d42dedd5e79ca341d20c53f07479d9bb" + }, + "issues": [] + }, + { + "number": 6401, + "title": "fix(setup): keep the CLI-only skill choice offered under a client ID", + "url": "https://github.com/morluto/rea/pull/6401", + "author": { + "login": "pablodiazjorge", + "__typename": "User" + }, + "mergeCommit": { + "oid": "6c1b7f86d133c5e33ec687a981d131fc8b29819f" + }, + "issues": [ + { + "number": 5856, + "url": "https://github.com/morluto/rea/issues/5856", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6402, + "title": "fix(javascript): associate requested bindings only with resolved native addons", + "url": "https://github.com/morluto/rea/pull/6402", + "author": { + "login": "pablodiazjorge", + "__typename": "User" + }, + "mergeCommit": { + "oid": "630e6becdf3114ca57818c17b36700355ad9696e" + }, + "issues": [ + { + "number": 5929, + "url": "https://github.com/morluto/rea/issues/5929", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6411, + "title": "fix(lifecycle): reject session work once close has started", + "url": "https://github.com/morluto/rea/pull/6411", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "592c3e27936540f83d47865f68fdcd6673905cce" + }, + "issues": [ + { + "number": 6399, + "url": "https://github.com/morluto/rea/issues/6399", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6412, + "title": "fix(screenshot): validate complete PNG IHDR", + "url": "https://github.com/morluto/rea/pull/6412", + "author": { + "login": "eco-null", + "__typename": "User" + }, + "mergeCommit": { + "oid": "3e85da91952a34a07e37dfbfc395c3ea093c1fc4" + }, + "issues": [ + { + "number": 3928, + "url": "https://github.com/morluto/rea/issues/3928", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6413, + "title": "fix(network): count omitted response content promptly", + "url": "https://github.com/morluto/rea/pull/6413", + "author": { + "login": "eco-null", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c8d58d2e7cb4b0af3a35a4fe7009b9221e6e09e5" + }, + "issues": [ + { + "number": 3957, + "url": "https://github.com/morluto/rea/issues/3957", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6414, + "title": "fix(evm): report the carrier input allowance as a file-size constraint", + "url": "https://github.com/morluto/rea/pull/6414", + "author": { + "login": "Bilalmesk", + "__typename": "User" + }, + "mergeCommit": { + "oid": "5d813633919825030623cf9b3ef640833ef4de14" + }, + "issues": [ + { + "number": 6053, + "url": "https://github.com/morluto/rea/issues/6053", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6416, + "title": "chore(deps): update Vite security patch and dependency inventory", + "url": "https://github.com/morluto/rea/pull/6416", + "author": { + "login": "raidnouredden-ux", + "__typename": "User" + }, + "mergeCommit": { + "oid": "8c4f96ef4759fd78da66c4b9726825ca71d7ee0c" + }, + "issues": [] + }, + { + "number": 6423, + "title": "fix(flutter): honor ELF note alignment when reading build IDs", + "url": "https://github.com/morluto/rea/pull/6423", + "author": { + "login": "Plastic-time", + "__typename": "User" + }, + "mergeCommit": { + "oid": "572d0c234089605f120dcfea340f11e38a3c3705" + }, + "issues": [] + }, + { + "number": 6424, + "title": "fix(python): reject code keys and set members with unhashable consts", + "url": "https://github.com/morluto/rea/pull/6424", + "author": { + "login": "Sriram-PR", + "__typename": "User" + }, + "mergeCommit": { + "oid": "cc99d896bea206e99507adf01217a3528a0a2611" + }, + "issues": [ + { + "number": 6415, + "url": "https://github.com/morluto/rea/issues/6415", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6425, + "title": "fix(il2cpp): name the metadata file when linking finds malformed metadata", + "url": "https://github.com/morluto/rea/pull/6425", + "author": { + "login": "Sriram-PR", + "__typename": "User" + }, + "mergeCommit": { + "oid": "19d975751fcaf9c038a4cba26761644435f4f55b" + }, + "issues": [ + { + "number": 6409, + "url": "https://github.com/morluto/rea/issues/6409", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6427, + "title": "test(process): print the progress frames when the sparse-child bound fails", + "url": "https://github.com/morluto/rea/pull/6427", + "author": { + "login": "CassieFox23", + "__typename": "User" + }, + "mergeCommit": { + "oid": "21b836a32710a575357715a798beadd0f3976b8a" + }, + "issues": [] + }, + { + "number": 6431, + "title": "test(cli): repair analysis-view finalization cancellation seams", + "url": "https://github.com/morluto/rea/pull/6431", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f850b7c894fa5cba370092a3ad9ca3df899d6d6f" + }, + "issues": [] + }, + { + "number": 6464, + "title": "docs(firmware): document the Windows Unblob submodule checkout", + "url": "https://github.com/morluto/rea/pull/6464", + "author": { + "login": "ezrabrilliant", + "__typename": "User" + }, + "mergeCommit": { + "oid": "3ed9f4b7e4ccd5b009bfbe6cf80383165199530b" + }, + "issues": [ + { + "number": 6463, + "url": "https://github.com/morluto/rea/issues/6463", + "author": { + "login": "ezrabrilliant", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6479, + "title": "fix(apple): report a read-denied selected archive as host access denial", + "url": "https://github.com/morluto/rea/pull/6479", + "author": { + "login": "XiaoBinGan", + "__typename": "User" + }, + "mergeCommit": { + "oid": "eab61d02a1fce6eda1a17b2e769999179555f063" + }, + "issues": [ + { + "number": 6064, + "url": "https://github.com/morluto/rea/issues/6064", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6481, + "title": "fix(artifacts): disclose unavailable content hashes in summaries", + "url": "https://github.com/morluto/rea/pull/6481", + "author": { + "login": "xiajiahang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b395190e4273b2542a599aa2cdce61107f3a7ebc" + }, + "issues": [ + { + "number": 6436, + "url": "https://github.com/morluto/rea/issues/6436", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6486, + "title": "fix(process): record no normal exit code for signal-terminated targets", + "url": "https://github.com/morluto/rea/pull/6486", + "author": { + "login": "mhamzasakhi", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4cfc61147b3f4ec5f6d320e62167ea34fc9c1784" + }, + "issues": [ + { + "number": 6445, + "url": "https://github.com/morluto/rea/issues/6445", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6489, + "title": "fix(doctor): report a missing --format value as MISSING_OUTPUT_VALUE", + "url": "https://github.com/morluto/rea/pull/6489", + "author": { + "login": "ezrabrilliant", + "__typename": "User" + }, + "mergeCommit": { + "oid": "6d6cbdf8c440507bd0a9f39aa8dd77fe9f2cd869" + }, + "issues": [ + { + "number": 6455, + "url": "https://github.com/morluto/rea/issues/6455", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6492, + "title": "fix(python): keep pyc string previews on Unicode boundaries", + "url": "https://github.com/morluto/rea/pull/6492", + "author": { + "login": "xiajiahang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "1081008c9dba4b895c90faac504d14bd5dd39758" + }, + "issues": [ + { + "number": 6476, + "url": "https://github.com/morluto/rea/issues/6476", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6495, + "title": "fix(entropy): name offset when the byte window starts past EOF", + "url": "https://github.com/morluto/rea/pull/6495", + "author": { + "login": "Abelo9996", + "__typename": "User" + }, + "mergeCommit": { + "oid": "e8dad898da181bc94e15c134e815d0077bea0517" + }, + "issues": [ + { + "number": 6482, + "url": "https://github.com/morluto/rea/issues/6482", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6496, + "title": "docs(ci): add a repeatable static analysis example", + "url": "https://github.com/morluto/rea/pull/6496", + "author": { + "login": "gongfpp", + "__typename": "User" + }, + "mergeCommit": { + "oid": "1b3d57ca8aa392431e5e95b9a113f5b8fde7b5f0" + }, + "issues": [ + { + "number": 6335, + "url": "https://github.com/morluto/rea/issues/6335", + "author": { + "login": "jayykernel", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6499, + "title": "docs(readme): add Roman Urdu edition", + "url": "https://github.com/morluto/rea/pull/6499", + "author": { + "login": "hifzabuildsai", + "__typename": "User" + }, + "mergeCommit": { + "oid": "524b84792fdc10a8356db99c009bb5d4e7027c8a" + }, + "issues": [] + }, + { + "number": 6509, + "title": "feat(pe): inspect import and delay-load tables", + "url": "https://github.com/morluto/rea/pull/6509", + "author": { + "login": "mvanhorn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4ef916da03d93729041f79cec0ee243cd2d3097d" + }, + "issues": [] + }, + { + "number": 6511, + "title": "feat(apple): inspect IPS crash reports", + "url": "https://github.com/morluto/rea/pull/6511", + "author": { + "login": "mvanhorn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "781760a195c9d90c1bd3d57ad9ff55e5461bfcd4" + }, + "issues": [] + }, + { + "number": 6520, + "title": "fix(javascript): report colliding recovery inputs as input errors", + "url": "https://github.com/morluto/rea/pull/6520", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2944afa5b814f4d65af503cdbaf7a2723a1c98c8" + }, + "issues": [ + { + "number": 6521, + "url": "https://github.com/morluto/rea/issues/6521", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6530, + "title": "feat(cli): report version and runtime with an explicit output format", + "url": "https://github.com/morluto/rea/pull/6530", + "author": { + "login": "mhamzasakhi", + "__typename": "User" + }, + "mergeCommit": { + "oid": "169512a35bb015ff209168fb8bc1c9b31a2c678b" + }, + "issues": [ + { + "number": 5483, + "url": "https://github.com/morluto/rea/issues/5483", + "author": { + "login": "jayykernel", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6570, + "title": "fix(tests): stabilize process fixtures and malformed input coverage", + "url": "https://github.com/morluto/rea/pull/6570", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "cc8835c7a316b7d82a9f6277ee1431e75d8305af" + }, + "issues": [ + { + "number": 6556, + "url": "https://github.com/morluto/rea/issues/6556", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6681, + "title": "fix(release): isolate npm publication from dependency execution", + "url": "https://github.com/morluto/rea/pull/6681", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "5d6b8a0ab693c03ab85cf0807d40bedf021e76d8" + }, + "issues": [] + }, + { + "number": 6721, + "title": "fix(pe): accept WIN_CERTIFICATE padding counted in dwLength", + "url": "https://github.com/morluto/rea/pull/6721", + "author": { + "login": "Deepak-Kambala", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ba9c5bc6867272d02d2fcc9d5c7c2ea83f234067" + }, + "issues": [ + { + "number": 6694, + "url": "https://github.com/morluto/rea/issues/6694", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6725, + "title": "fix(captures): advertise offline capture inspection without a browser provider", + "url": "https://github.com/morluto/rea/pull/6725", + "author": { + "login": "Sriram-PR", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4193bc5bf85793bf9d8ee391e37df7de2f6c17ca" + }, + "issues": [ + { + "number": 3947, + "url": "https://github.com/morluto/rea/issues/3947", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6748, + "title": "fix(ghidra): report kernel OOM kills as a memory constraint", + "url": "https://github.com/morluto/rea/pull/6748", + "author": { + "login": "akshatgg", + "__typename": "User" + }, + "mergeCommit": { + "oid": "960b742581f6f71a573dc30701806f315a9ee986" + }, + "issues": [ + { + "number": 5859, + "url": "https://github.com/morluto/rea/issues/5859", + "author": { + "login": "Rinkia", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6759, + "title": "fix(cli): advertise required CLI selector choices", + "url": "https://github.com/morluto/rea/pull/6759", + "author": { + "login": "mvanhorn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "9dde3fd6a4da2a4b00141e59771b7c6765e1bfb9" + }, + "issues": [ + { + "number": 6467, + "url": "https://github.com/morluto/rea/issues/6467", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6802, + "title": "fix(wasm): retain glue query and fragment across line terminators", + "url": "https://github.com/morluto/rea/pull/6802", + "author": { + "login": "gongfpp", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d65c027c2d207ce399d69a8568bc42d849d71465" + }, + "issues": [ + { + "number": 6639, + "url": "https://github.com/morluto/rea/issues/6639", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6827, + "title": "fix(native): preserve unknown ELF export coverage without a dynsym section", + "url": "https://github.com/morluto/rea/pull/6827", + "author": { + "login": "leeguooooo", + "__typename": "User" + }, + "mergeCommit": { + "oid": "9fd78a74f84a8e924bd58e7deaf5934bfb24f53c" + }, + "issues": [ + { + "number": 6792, + "url": "https://github.com/morluto/rea/issues/6792", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6832, + "title": "fix(windows): explain when Windows refuses to load the verified native addon", + "url": "https://github.com/morluto/rea/pull/6832", + "author": { + "login": "dark13b", + "__typename": "User" + }, + "mergeCommit": { + "oid": "39aca922398812bc1733296c513901e44afc4be1" + }, + "issues": [ + { + "number": 5723, + "url": "https://github.com/morluto/rea/issues/5723", + "author": { + "login": "jpmorris41488", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6842, + "title": "fix(native): preserve whitespace in Mach-O segment and section names", + "url": "https://github.com/morluto/rea/pull/6842", + "author": { + "login": "Abelo9996", + "__typename": "User" + }, + "mergeCommit": { + "oid": "af3b039d31d56017169608bb85ab65fde6a0aa0d" + }, + "issues": [ + { + "number": 6818, + "url": "https://github.com/morluto/rea/issues/6818", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6843, + "title": "fix(adb): pass int intent extras to am without leading zeros", + "url": "https://github.com/morluto/rea/pull/6843", + "author": { + "login": "Abelo9996", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f713087132021d235682f908a1c0f3bc6ab8762d" + }, + "issues": [ + { + "number": 6807, + "url": "https://github.com/morluto/rea/issues/6807", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6876, + "title": "fix(environment): match served items whose route repeats a separator", + "url": "https://github.com/morluto/rea/pull/6876", + "author": { + "login": "mhamzasakhi", + "__typename": "User" + }, + "mergeCommit": { + "oid": "9e6c6241d7e595c6f3e90d23f30f3d43bc8c9527" + }, + "issues": [ + { + "number": 6847, + "url": "https://github.com/morluto/rea/issues/6847", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6897, + "title": "feat(environment): serve writes by what their recordings show", + "url": "https://github.com/morluto/rea/pull/6897", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d361c53c504590b5ec90e9c690b5a2d6ae67cc38" + }, + "issues": [] + }, + { + "number": 6898, + "title": "test(ida): align native search fixtures with Unicode folding", + "url": "https://github.com/morluto/rea/pull/6898", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "3787ec5f83eae15f8342c4191bdb88ab690adc13" + }, + "issues": [] + }, + { + "number": 6903, + "title": "test(cli): repair Markdown capacity recovery coverage", + "url": "https://github.com/morluto/rea/pull/6903", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "bded9c628de23643aab81f98959b6a473318a240" + }, + "issues": [] + }, + { + "number": 6907, + "title": "perf(native): query retained export table facts", + "url": "https://github.com/morluto/rea/pull/6907", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "57b1f8236717185815f21e0bf421fbeb380cc8e7" + }, + "issues": [ + { + "number": 6900, + "url": "https://github.com/morluto/rea/issues/6900", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6908, + "title": "docs: add missing src/ directories to architecture.mermaid", + "url": "https://github.com/morluto/rea/pull/6908", + "author": { + "login": "uyg7x", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d29ae43aeb522559da6f25faae29b5d907e1fe40" + }, + "issues": [ + { + "number": 6901, + "url": "https://github.com/morluto/rea/issues/6901", + "author": { + "login": "CassieFox23", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6909, + "title": "docs(website): add dark-mode styles to the favicon and social card", + "url": "https://github.com/morluto/rea/pull/6909", + "author": { + "login": "CassieFox23", + "__typename": "User" + }, + "mergeCommit": { + "oid": "beb41f8145017346e588b13c193a66dce9769ace" + }, + "issues": [] + }, + { + "number": 6913, + "title": "test(reference): preserve optional resolver identity regressions", + "url": "https://github.com/morluto/rea/pull/6913", + "author": { + "login": "Plastic-time", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f8ff1579ad535fb0e63f6d247865207ca446d893" + }, + "issues": [ + { + "number": 6892, + "url": "https://github.com/morluto/rea/issues/6892", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6915, + "title": "docs(readme): show a dark showcase image on dark themes", + "url": "https://github.com/morluto/rea/pull/6915", + "author": { + "login": "CassieFox23", + "__typename": "User" + }, + "mergeCommit": { + "oid": "36cae9016117f49a2cd0823137456ae804ef7035" + }, + "issues": [] + }, + { + "number": 6917, + "title": "fix(ghidra): enforce request limits before encoding", + "url": "https://github.com/morluto/rea/pull/6917", + "author": { + "login": "DeryFerd", + "__typename": "User" + }, + "mergeCommit": { + "oid": "a45ee81167569101d2c30ea6873ecdc40073c5a2" + }, + "issues": [] + }, + { + "number": 6920, + "title": "fix(setup): preserve cleanup ownership and resource reports", + "url": "https://github.com/morluto/rea/pull/6920", + "author": { + "login": "DeryFerd", + "__typename": "User" + }, + "mergeCommit": { + "oid": "98ec00f4068bab894639d0d1d83ac0bfc428bcbf" + }, + "issues": [] + }, + { + "number": 6928, + "title": "feat(python): query selected pyc code-object facts", + "url": "https://github.com/morluto/rea/pull/6928", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "e2463372eae6dcd0ec558d1e4668cfc3814c04a0" + }, + "issues": [ + { + "number": 6922, + "url": "https://github.com/morluto/rea/issues/6922", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6929, + "title": "fix(environment): bound create learning and invalidate stale write proofs", + "url": "https://github.com/morluto/rea/pull/6929", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "41cf869949b82bd0f24d425f6557432ae3a63545" + }, + "issues": [] + }, + { + "number": 6932, + "title": "fix(cli): preserve literal HTML text in Markdown tables", + "url": "https://github.com/morluto/rea/pull/6932", + "author": { + "login": "ShuaixinHuang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2c3568c375a0fe2c4970f4e774c1c0a28ba01431" + }, + "issues": [] + }, + { + "number": 6936, + "title": "fix(http): preserve legal response header names", + "url": "https://github.com/morluto/rea/pull/6936", + "author": { + "login": "ShuaixinHuang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c350343c3342f9e9d14d82606f929bf5cb131fc9" + }, + "issues": [] + }, + { + "number": 6937, + "title": "fix(zip): validate trailing archive record candidates", + "url": "https://github.com/morluto/rea/pull/6937", + "author": { + "login": "ShuaixinHuang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c298d54e886b96c6fa95d99ed69420f919cc29a0" + }, + "issues": [] + }, + { + "number": 6941, + "title": "fix(test): reserve heap headroom for shared CLI workers", + "url": "https://github.com/morluto/rea/pull/6941", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d662fa54a67bf24bd4800d1867231662019d91c6" + }, + "issues": [] + }, + { + "number": 6943, + "title": "feat(erlang): query selected BEAM table facts", + "url": "https://github.com/morluto/rea/pull/6943", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ead9fdcda9e2dd908fb8035a44e4dacf1538aa9b" + }, + "issues": [ + { + "number": 6938, + "url": "https://github.com/morluto/rea/issues/6938", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6944, + "title": "test(cli): time Kuna cleanup from producer readiness", + "url": "https://github.com/morluto/rea/pull/6944", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f9fabdfcb2c241b18fec0acb5c3b4a14f76f4805" + }, + "issues": [] + }, + { + "number": 6945, + "title": "test: align stale fixtures with recent native and launcher contracts", + "url": "https://github.com/morluto/rea/pull/6945", + "author": { + "login": "kaoru0822-kitauji", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b869fa762a827fb66978067fabe09439ebfef111" + }, + "issues": [] + }, + { + "number": 6946, + "title": "feat(environment): build agent environments from a prompt", + "url": "https://github.com/morluto/rea/pull/6946", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "02e049744f02f5a821c015269c9b867be690a806" + }, + "issues": [] + }, + { + "number": 6950, + "title": "perf(entropy): separate physical reads from report resolution", + "url": "https://github.com/morluto/rea/pull/6950", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b5c42dfc2a8eddeffb8d37c669178fa04169f050" + }, + "issues": [ + { + "number": 6947, + "url": "https://github.com/morluto/rea/issues/6947", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6951, + "title": "test(javascript): execute the registered Webpack export fixture", + "url": "https://github.com/morluto/rea/pull/6951", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "d87e73f2db50be72d33a4b3c7199af35518b441c" + }, + "issues": [] + }, + { + "number": 6955, + "title": "fix(apple): keep dyld candidates inside the analyzed root on Windows", + "url": "https://github.com/morluto/rea/pull/6955", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b09c6b075228a285d3c047119addafde8aed368e" + }, + "issues": [ + { + "number": 6956, + "url": "https://github.com/morluto/rea/issues/6956", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6959, + "title": "fix(process): preserve the caller abort reason in regex worker cancellations", + "url": "https://github.com/morluto/rea/pull/6959", + "author": { + "login": "viniciusdsandrade", + "__typename": "User" + }, + "mergeCommit": { + "oid": "689f738c956a7f280c020838f1292959a0463d86" + }, + "issues": [ + { + "number": 6957, + "url": "https://github.com/morluto/rea/issues/6957", + "author": { + "login": "viniciusdsandrade", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6963, + "title": "fix(browser): parse repeated CSP and policy header field lines separately", + "url": "https://github.com/morluto/rea/pull/6963", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c2068b94d718d4d133cdd18779a8514f1314a320" + }, + "issues": [ + { + "number": 6964, + "url": "https://github.com/morluto/rea/issues/6964", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6966, + "title": "perf(artifacts): bound stable reads to one snapshot buffer", + "url": "https://github.com/morluto/rea/pull/6966", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4a041ae7532588eaf9973584e517c9bce995445b" + }, + "issues": [ + { + "number": 6954, + "url": "https://github.com/morluto/rea/issues/6954", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6967, + "title": "feat(environment): time browser scenario records so scenario environments learn a write clock", + "url": "https://github.com/morluto/rea/pull/6967", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "69f99c5198d8668056ad376cd74c5aea348224c2" + }, + "issues": [] + }, + { + "number": 6969, + "title": "fix(functions): name the rejected side and supplied kind in function Evidence errors", + "url": "https://github.com/morluto/rea/pull/6969", + "author": { + "login": "dhruvac29", + "__typename": "User" + }, + "mergeCommit": { + "oid": "e00ee310f53499ea7725d987d753713f77fb0a78" + }, + "issues": [ + { + "number": 5932, + "url": "https://github.com/morluto/rea/issues/5932", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6971, + "title": "fix(firmware): stop recommending a raise at the staging budget ceiling", + "url": "https://github.com/morluto/rea/pull/6971", + "author": { + "login": "XiaoBinGan", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2e86294c860710af933ba7c996d8f0f35e6dc48d" + }, + "issues": [] + }, + { + "number": 6973, + "title": "test(erlang): cover lambdas names filter and chunks miss in BEAM views", + "url": "https://github.com/morluto/rea/pull/6973", + "author": { + "login": "saiyam-jain-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ddde7276c445fb42ea31952493dacc2a38b7efa0" + }, + "issues": [] + }, + { + "number": 6974, + "title": "fix(hopper): keep installed apt dependencies at their versions during Linux setup", + "url": "https://github.com/morluto/rea/pull/6974", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "mergeCommit": { + "oid": "a5bfd0440173cc4e3cb6c726999b5f74fc87be9e" + }, + "issues": [ + { + "number": 6975, + "url": "https://github.com/morluto/rea/issues/6975", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6978, + "title": "fix(build): prepare release dependency types during installation", + "url": "https://github.com/morluto/rea/pull/6978", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "48c203f3567e7b79af562349eecb6720a96de667" + }, + "issues": [] + }, + { + "number": 6979, + "title": "fix(browser): report an out-of-range script_index as a selection fault", + "url": "https://github.com/morluto/rea/pull/6979", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "mergeCommit": { + "oid": "046ec56d16b70fa363e51713a9d436e7cad8eb02" + }, + "issues": [ + { + "number": 6980, + "url": "https://github.com/morluto/rea/issues/6980", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6981, + "title": "fix(android): report DEX static values of static final fields", + "url": "https://github.com/morluto/rea/pull/6981", + "author": { + "login": "Abelo9996", + "__typename": "User" + }, + "mergeCommit": { + "oid": "955c7c80ec64f4ee076500fc25a799d3e90e4aca" + }, + "issues": [ + { + "number": 6397, + "url": "https://github.com/morluto/rea/issues/6397", + "author": { + "login": "sserrgo12", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 6984, + "title": "fix(cli): exclude inherited values from Markdown rows", + "url": "https://github.com/morluto/rea/pull/6984", + "author": { + "login": "ShuaixinHuang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ce4e48ccae85d41f0599713d68c9cd516d2b972c" + }, + "issues": [] + }, + { + "number": 6985, + "title": "fix(browser): preserve media type parameter spelling", + "url": "https://github.com/morluto/rea/pull/6985", + "author": { + "login": "ShuaixinHuang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "85bc8c8977a8103b57df9be923f268acebdcb617" + }, + "issues": [] + }, + { + "number": 6986, + "title": "fix(javascript): bound cyclic mutation captures by their paths", + "url": "https://github.com/morluto/rea/pull/6986", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "dd02d8ff696385949b05459f2ab9b6ffda18a52c" + }, + "issues": [] + }, + { + "number": 6987, + "title": "feat(elf): decode Zstandard section-name tables", + "url": "https://github.com/morluto/rea/pull/6987", + "author": { + "login": "ShuaixinHuang", + "__typename": "User" + }, + "mergeCommit": { + "oid": "fcebd79ed888b5118c3293134602320653f4d734" + }, + "issues": [] + }, + { + "number": 6988, + "title": "test(evaluation): locate the runner gate across cleanup wrappers", + "url": "https://github.com/morluto/rea/pull/6988", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "9895f1870c5537e64f08e9ff145a0917696b7a50" + }, + "issues": [] + }, + { + "number": 6989, + "title": "fix(il2cpp): link arm64 builds whose registrations were inlined", + "url": "https://github.com/morluto/rea/pull/6989", + "author": { + "login": "8rulerstar", + "__typename": "User" + }, + "mergeCommit": { + "oid": "149b43ee6158862c94044fd24432dca790d54665" + }, + "issues": [] + }, + { + "number": 6990, + "title": "fix(apple): refuse unpaired surrogates in IPS JSON strings", + "url": "https://github.com/morluto/rea/pull/6990", + "author": { + "login": "DeryFerd", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f196ebf80665107aedc16892af25a1e1f9f26f43" + }, + "issues": [] + }, + { + "number": 6994, + "title": "fix(javascript): exclude erased imports from runtime bindings", + "url": "https://github.com/morluto/rea/pull/6994", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "be2811e41407f0149b3e8e12cb2bf0ffd5904b2d" + }, + "issues": [] + }, + { + "number": 6999, + "title": "fix(ci): isolate browser verifier D-Bus sessions", + "url": "https://github.com/morluto/rea/pull/6999", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "73320bb2c9488888904cddb1f998791c840e5b97" + }, + "issues": [] + }, + { + "number": 7000, + "title": "feat(artifacts): inventory and extract Node.js single executable application blobs", + "url": "https://github.com/morluto/rea/pull/7000", + "author": { + "login": "mvanhorn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ed79bf936114e644ee8eb6b16bee1d7de9d278c6" + }, + "issues": [] + }, + { + "number": 7002, + "title": "test(verifiers): assert shared command diagnostics and identity", + "url": "https://github.com/morluto/rea/pull/7002", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "347b6e4d95e0aca27975731f96f51d6da9feb0fa" + }, + "issues": [] + }, + { + "number": 7003, + "title": "fix(process): preserve caller-selected working directory in scenario validation errors", + "url": "https://github.com/morluto/rea/pull/7003", + "author": { + "login": "Humaam-04-06", + "__typename": "User" + }, + "mergeCommit": { + "oid": "7e57b8c212827efb4a8fdb31d274a7f50d90a1a1" + }, + "issues": [] + }, + { + "number": 7008, + "title": "feat(pe): inspect TLS callbacks and load configuration", + "url": "https://github.com/morluto/rea/pull/7008", + "author": { + "login": "mvanhorn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "3d84215bb2dde12b17ca311a6f369301d6a76a78" + }, + "issues": [] + }, + { + "number": 7009, + "title": "feat(firmware): inspect flattened devicetree blobs", + "url": "https://github.com/morluto/rea/pull/7009", + "author": { + "login": "mvanhorn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "b4ba96a9a5166b5a379f7bf7394b937ece4eb3a6" + }, + "issues": [] + }, + { + "number": 7010, + "title": "feat(elf): inspect Linux kernel module metadata", + "url": "https://github.com/morluto/rea/pull/7010", + "author": { + "login": "mvanhorn", + "__typename": "User" + }, + "mergeCommit": { + "oid": "dba8a319789a09d61a11206d3d581514416c9149" + }, + "issues": [] + }, + { + "number": 7012, + "title": "fix(verifiers): load shared source without compiler processes", + "url": "https://github.com/morluto/rea/pull/7012", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "1184819cb943fb9ef1154aa078951045f2f79564" + }, + "issues": [] + }, + { + "number": 7013, + "title": "fix(targets): keep original DOS header padding out of e_lfanew", + "url": "https://github.com/morluto/rea/pull/7013", + "author": { + "login": "dhruvac29", + "__typename": "User" + }, + "mergeCommit": { + "oid": "ab30df08f7a83bc3778c328e71b09a9cbf604a7d" + }, + "issues": [ + { + "number": 6510, + "url": "https://github.com/morluto/rea/issues/6510", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 7014, + "title": "fix(ghidra): admit recordless MIPS-I legacy targets", + "url": "https://github.com/morluto/rea/pull/7014", + "author": { + "login": "dhruvac29", + "__typename": "User" + }, + "mergeCommit": { + "oid": "97194c4b4808b2a9b79277c436ba9042c58b1b70" + }, + "issues": [ + { + "number": 6933, + "url": "https://github.com/morluto/rea/issues/6933", + "author": { + "login": "roblennon", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 7015, + "title": "fix(website): correct Turkish translation errors", + "url": "https://github.com/morluto/rea/pull/7015", + "author": { + "login": "niko3x", + "__typename": "User" + }, + "mergeCommit": { + "oid": "de37dfbcc9b1b7bcbe0dc84b2179b8d2b54df917" + }, + "issues": [] + }, + { + "number": 7016, + "title": "test(javascript): bound route scan work independently of timing", + "url": "https://github.com/morluto/rea/pull/7016", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "cc7cc8155a245d537ead2b391255bc213a4a1a0d" + }, + "issues": [] + }, + { + "number": 7020, + "title": "fix(runner): scope internal Node notices to the supervisor", + "url": "https://github.com/morluto/rea/pull/7020", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c94bd27e85d1dab3a8dda64eb1fadaffa6a65fee" + }, + "issues": [] + }, + { + "number": 7021, + "title": "test(web): align manifest path errors with artifact ownership", + "url": "https://github.com/morluto/rea/pull/7021", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "397aa62f2e203bc0f8350634752af0339048e81e" + }, + "issues": [] + }, + { + "number": 7022, + "title": "test(cli): follow prepared projection ownership during cancellation", + "url": "https://github.com/morluto/rea/pull/7022", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "422ca5a8f80f2067ab05080d698e819f670f1822" + }, + "issues": [] + }, + { + "number": 7023, + "title": "fix(lldb): retain completed trace facts through cleanup failures", + "url": "https://github.com/morluto/rea/pull/7023", + "author": { + "login": "WenyuChiou", + "__typename": "User" + }, + "mergeCommit": { + "oid": "a1967fbbdbc2c26197bf2a4441daff7acb69382a" + }, + "issues": [ + { + "number": 5913, + "url": "https://github.com/morluto/rea/issues/5913", + "author": { + "login": "coygeek", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 7025, + "title": "feat(environment): explain values an application derives from other fields", + "url": "https://github.com/morluto/rea/pull/7025", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "38719a6fa9a1301eeee647e6749701a9b83f10bb" + }, + "issues": [] + }, + { + "number": 7026, + "title": "docs(i18n): add complete Romanian README", + "url": "https://github.com/morluto/rea/pull/7026", + "author": { + "login": "An3treiu", + "__typename": "User" + }, + "mergeCommit": { + "oid": "403fef0d401c1014a41fddce375085eb6e4a3823" + }, + "issues": [] + }, + { + "number": 7028, + "title": "fix(evidence): link composed workflows to consumed observations", + "url": "https://github.com/morluto/rea/pull/7028", + "author": { + "login": "WenyuChiou", + "__typename": "User" + }, + "mergeCommit": { + "oid": "1ca7d387644fe170a84f4d6afeda2ae4fbaf72fe" + }, + "issues": [ + { + "number": 5118, + "url": "https://github.com/morluto/rea/issues/5118", + "author": { + "login": "uyg7x", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 7029, + "title": "test(mcp): verify recovery before reading retained views", + "url": "https://github.com/morluto/rea/pull/7029", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "bc9efc9279ea924031bcdc62e4fae936c392fd23" + }, + "issues": [] + }, + { + "number": 7031, + "title": "fix(electron): retain scoped IPC registration provenance", + "url": "https://github.com/morluto/rea/pull/7031", + "author": { + "login": "WenyuChiou", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c7ae27807f0f952c8fa23a4967fd7a2d4d39d783" + }, + "issues": [] + }, + { + "number": 7032, + "title": "fix(setup): materialize the pinned package-runner cache before the first client start", + "url": "https://github.com/morluto/rea/pull/7032", + "author": { + "login": "wxj006007", + "__typename": "User" + }, + "mergeCommit": { + "oid": "6a96f4fa4a685dce1a577c94152f1e94b29bfa93" + }, + "issues": [ + { + "number": 7027, + "url": "https://github.com/morluto/rea/issues/7027", + "author": { + "login": "wxj006007", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 7034, + "title": "feat(environment): learn creates from every call, with sorted arrays and referenced entities", + "url": "https://github.com/morluto/rea/pull/7034", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "aba487eec0303b3392dbea7f33846617158aad3f" + }, + "issues": [] + }, + { + "number": 7036, + "title": "fix(evidence): preserve JSON ownership across metadata rebinding", + "url": "https://github.com/morluto/rea/pull/7036", + "author": { + "login": "gensokyo-dev", + "__typename": "User" + }, + "mergeCommit": { + "oid": "03ed0c63d9566dbc0d6e805bc62ccd7569bad314" + }, + "issues": [] + }, + { + "number": 7037, + "title": "fix(snapshot): decline ambiguous exact evidence replay", + "url": "https://github.com/morluto/rea/pull/7037", + "author": { + "login": "WenyuChiou", + "__typename": "User" + }, + "mergeCommit": { + "oid": "07eb044f77444de131d6c1bcdec082e5a5fcd221" + }, + "issues": [] + }, + { + "number": 7039, + "title": "fix(analysis-view): preserve current observation paths in summaries", + "url": "https://github.com/morluto/rea/pull/7039", + "author": { + "login": "WenyuChiou", + "__typename": "User" + }, + "mergeCommit": { + "oid": "238914974d17729bcdcc2e6cb012745d70d98a5e" + }, + "issues": [] + }, + { + "number": 7040, + "title": "feat(cli): accept stdin for structured JSON request documents (#5486)", + "url": "https://github.com/morluto/rea/pull/7040", + "author": { + "login": "ahmed-husssain", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4b045e8f2fc00ec218b787ca95cadc1c5f378470" + }, + "issues": [ + { + "number": 5486, + "url": "https://github.com/morluto/rea/issues/5486", + "author": { + "login": "jayykernel", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 7043, + "title": "fix(browser): admit passive capture events against the shared retained budget", + "url": "https://github.com/morluto/rea/pull/7043", + "author": { + "login": "DeryFerd", + "__typename": "User" + }, + "mergeCommit": { + "oid": "1ff275fbf752b117575b5726dc86a1ff82cc011e" + }, + "issues": [] + }, + { + "number": 7045, + "title": "fix(verifiers): expect the session-continuation regex overflow reason", + "url": "https://github.com/morluto/rea/pull/7045", + "author": { + "login": "RishTheFish21", + "__typename": "User" + }, + "mergeCommit": { + "oid": "6bcd243ca486b6b16f119c7693c605b48d576882" + }, + "issues": [] + }, + { + "number": 7049, + "title": "feat(mcp): support runtime analysis limit recovery", + "url": "https://github.com/morluto/rea/pull/7049", + "author": { + "login": "morluto", + "__typename": "User" + }, + "mergeCommit": { + "oid": "f3ed1657f82188fb90914f745a08849537342a23" + }, + "issues": [] + }, + { + "number": 7052, + "title": "feat(binary-layout): admit ELF32 i386, ARM and MIPS layout profiles", + "url": "https://github.com/morluto/rea/pull/7052", + "author": { + "login": "salmanalmutairi1", + "__typename": "User" + }, + "mergeCommit": { + "oid": "2c38becc4e9892424776a71c65743369bf9d8e92" + }, + "issues": [ + { + "number": 6934, + "url": "https://github.com/morluto/rea/issues/6934", + "author": { + "login": "roblennon", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 7053, + "title": "fix(javascript): invalidate Electron reads after direct eval", + "url": "https://github.com/morluto/rea/pull/7053", + "author": { + "login": "WenyuChiou", + "__typename": "User" + }, + "mergeCommit": { + "oid": "26e155987f4a1eb96c1f767fac560f427b0f7c37" + }, + "issues": [] + }, + { + "number": 7058, + "title": "fix(cli): format arrays of empty objects without keys as JSON", + "url": "https://github.com/morluto/rea/pull/7058", + "author": { + "login": "viniciusdsandrade", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4ed33efb0cc993895cf4b4c74049f939f08888c2" + }, + "issues": [ + { + "number": 7057, + "url": "https://github.com/morluto/rea/issues/7057", + "author": { + "login": "viniciusdsandrade", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 7059, + "title": "fix(apple): keep the recorded image name and frame symbol offset of IPS reports", + "url": "https://github.com/morluto/rea/pull/7059", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "mergeCommit": { + "oid": "bffe8a52a1c4438c01ae932776423453c26ca906" + }, + "issues": [ + { + "number": 7060, + "url": "https://github.com/morluto/rea/issues/7060", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 7061, + "title": "docs(i18n): add Japanese translation", + "url": "https://github.com/morluto/rea/pull/7061", + "author": { + "login": "eltociear", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4232399079cd48c160cab6961085d44399993f6d" + }, + "issues": [] + }, + { + "number": 7067, + "title": "fix(capture): report an out-of-range record ordinal as a selection fault", + "url": "https://github.com/morluto/rea/pull/7067", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "mergeCommit": { + "oid": "4973ce7202d09c99dff8693600031bef87e48e8e" + }, + "issues": [ + { + "number": 7068, + "url": "https://github.com/morluto/rea/issues/7068", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 7069, + "title": "fix(protobuf): exclude trailing whitespace from gRPC-web trailer values", + "url": "https://github.com/morluto/rea/pull/7069", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "mergeCommit": { + "oid": "06a4c338fc110f48e7b710d0b7cb9dd0b2333d9d" + }, + "issues": [ + { + "number": 7071, + "url": "https://github.com/morluto/rea/issues/7071", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 7070, + "title": "fix(ghidra): accept stock language IDs with LEBE endianness or a slash", + "url": "https://github.com/morluto/rea/pull/7070", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "mergeCommit": { + "oid": "60ab148afae256c399dc479d0e8beebcdf14069e" + }, + "issues": [ + { + "number": 7072, + "url": "https://github.com/morluto/rea/issues/7072", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 7073, + "title": "fix(cli): preserve literal Markdown table facts", + "url": "https://github.com/morluto/rea/pull/7073", + "author": { + "login": "Plastic-time", + "__typename": "User" + }, + "mergeCommit": { + "oid": "cc146042d16bfee5b2553e9a255f659b2cf64f9a" + }, + "issues": [] + }, + { + "number": 7076, + "title": "fix(artifacts): preserve integrity contradictions for one-sided members", + "url": "https://github.com/morluto/rea/pull/7076", + "author": { + "login": "WenyuChiou", + "__typename": "User" + }, + "mergeCommit": { + "oid": "fead4fdaa7410ed2f7421fbce37e546c9cd6d7e4" + }, + "issues": [] + }, + { + "number": 7079, + "title": "fix(apple): keep the documented terminating process, parent pid and metadata members of IPS reports", + "url": "https://github.com/morluto/rea/pull/7079", + "author": { + "login": "rodricksz4h5", + "__typename": "User" + }, + "mergeCommit": { + "oid": "0a2b7af905a226540fbad637c60fe79b15a24549" + }, + "issues": [ + { + "number": 7078, + "url": "https://github.com/morluto/rea/issues/7078", + "author": { + "login": "rodricksz4h5", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 7080, + "title": "feat(environment): serve creates whose answers show less than reads, and whole-object updates", + "url": "https://github.com/morluto/rea/pull/7080", + "author": { + "login": "earakely-scale", + "__typename": "User" + }, + "mergeCommit": { + "oid": "113679c9a6a1af4c77c1b546e466f4d490dc1095" + }, + "issues": [] + }, + { + "number": 7081, + "title": "fix(ghidra): report a DOL language override conflict as a configuration error", + "url": "https://github.com/morluto/rea/pull/7081", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "mergeCommit": { + "oid": "c74d302cc40f255e0fefc6be375d1433b0561dd1" + }, + "issues": [ + { + "number": 7082, + "url": "https://github.com/morluto/rea/issues/7082", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + }, + { + "number": 7083, + "title": "fix(javascript): report fork's silent stdio as piped", + "url": "https://github.com/morluto/rea/pull/7083", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "mergeCommit": { + "oid": "80673b22a46d01899718e22584cf95d9f0529ab7" + }, + "issues": [ + { + "number": 7084, + "url": "https://github.com/morluto/rea/issues/7084", + "author": { + "login": "Adolanium", + "__typename": "User" + }, + "repository": { + "nameWithOwner": "morluto/rea" + } + } + ] + } + ] +} diff --git a/package-lock.json b/package-lock.json index 0efee88df8..7b00adf882 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rea-agents", - "version": "6.7.0", + "version": "6.8.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rea-agents", - "version": "6.7.0", + "version": "6.8.0", "license": "MIT", "dependencies": { "@babel/parser": "8.0.4", diff --git a/package.json b/package.json index a1e8ae5d6c..4d81d78fd9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "rea-agents", "mcpName": "io.github.morluto/rea", - "version": "6.7.0", + "version": "6.8.0", "description": "Reverse engineer anything from your terminal or agent with one CLI and MCP server.", "license": "MIT", "repository": { diff --git a/server.json b/server.json index b2430dd4aa..8e8cfd797f 100644 --- a/server.json +++ b/server.json @@ -8,13 +8,13 @@ "url": "https://github.com/morluto/rea", "source": "github" }, - "version": "6.7.0", + "version": "6.8.0", "packages": [ { "registryType": "npm", "registryBaseUrl": "https://registry.npmjs.org", "identifier": "rea-agents", - "version": "6.7.0", + "version": "6.8.0", "runtimeHint": "npx", "transport": { "type": "stdio" diff --git a/src/generatedPackageMetadata.ts b/src/generatedPackageMetadata.ts index 353cacceae..a683adc640 100644 --- a/src/generatedPackageMetadata.ts +++ b/src/generatedPackageMetadata.ts @@ -1,7 +1,7 @@ /** Generated by scripts/generate-package-metadata.mjs; do not edit. */ export const PACKAGE_METADATA = { name: "rea-agents", - version: "6.7.0", // x-release-please-version + version: "6.8.0", // x-release-please-version pinnedNodeVersion: "24.22.1", serverSdkVersion: "2.3.1", clientSdkVersion: "2.3.1",