mirror of
https://github.com/morluto/rea.git
synced 2026-10-23 14:22:30 -05:00
* chore(main): release rea-agents 6.4.0 * docs(release): write contributor-aware 6.4.0 changelog --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: morluto <76467478+morluto@users.noreply.github.com>
9435 lines
406 KiB
JSON
9435 lines
406 KiB
JSON
{
|
||
"schemaVersion": 1,
|
||
"repository": "morluto/rea",
|
||
"version": "6.4.0",
|
||
"base": "74cf9e1401fcd89482fe39c27cc898f5858e9b72",
|
||
"target": "ee46323b493994902b04824a7dc8aae2a8117903",
|
||
"commits": [
|
||
{
|
||
"sha": "08ec2bf82fa88f5e8caa2b7da9093636731dc55c",
|
||
"subject": "chore(main): release rea-agents 6.3.0 (#1341)",
|
||
"body": "chore(main): release rea-agents 6.3.0 (#1341)\n\nCo-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
|
||
"parents": ["001851fde6f972e6ebd01fddccdff4c645a85f63"],
|
||
"authors": [
|
||
{
|
||
"name": "github-actions[bot]",
|
||
"email": "41898282+github-actions[bot]@users.noreply.github.com",
|
||
"user": {
|
||
"login": "github-actions[bot]",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1341]
|
||
},
|
||
{
|
||
"sha": "7aa4d768eb15317a63a476431ed75bafec086033",
|
||
"subject": "chore(release): sync corrected 6.3 checkpoint",
|
||
"body": "chore(release): sync corrected 6.3 checkpoint\n",
|
||
"parents": [
|
||
"08ec2bf82fa88f5e8caa2b7da9093636731dc55c",
|
||
"74cf9e1401fcd89482fe39c27cc898f5858e9b72"
|
||
],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "5fc4d792caeb3cd81c2021e45a158c5127906c56",
|
||
"subject": "fix(javascript): handle oversized inline source maps (#1386)",
|
||
"body": "fix(javascript): handle oversized inline source maps (#1386)\n\n* fix(javascript): handle oversized inline source maps\n\n* fix(javascript): avoid source map directive regex overflow",
|
||
"parents": ["7aa4d768eb15317a63a476431ed75bafec086033"],
|
||
"authors": [
|
||
{
|
||
"name": "Minghang Chamling",
|
||
"email": "133689405+cold-atom@users.noreply.github.com",
|
||
"user": {
|
||
"login": "cold-atom",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1386]
|
||
},
|
||
{
|
||
"sha": "498cec042a5f05557ae9c2ef9663d41dd03901c3",
|
||
"subject": "fix(cli): stop advertising multi-letter single-dash option aliases (#1395)",
|
||
"body": "fix(cli): stop advertising multi-letter single-dash option aliases (#1395)\n\nIncur's `alias` map registers one-letter short flags and already accepts\nkebab-case spellings of camelCase options. Twenty options registered their\nkebab-case long name as an \"alias\", so help and completions advertised\nflags such as `-case-sensitive` and `-relative-path` that the parser reads\nas stacked short flags and rejects with \"Unknown flag: -c\".\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["5fc4d792caeb3cd81c2021e45a158c5127906c56"],
|
||
"authors": [
|
||
{
|
||
"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": [1395]
|
||
},
|
||
{
|
||
"sha": "2b6e9ec03f88abb0799a4d154e48544ff4685a41",
|
||
"subject": "fix(browser): classify selected web trace file failures by cause (#1396)",
|
||
"body": "fix(browser): classify selected web trace file failures by cause (#1396)\n\ntrace_web_module_imports and trace_web_source_location reported a missing\nor non-file manifest, source map or import map as artifact_operation_failed\n(\"Artifact could not be read or written\" / \"unsafe or conflicting internal\npath\"). These are caller selections: report ENOENT/ENOTDIR and non-regular\nfiles as invalid input on the selected field, and EACCES/EPERM as a host\naccess denial. A missing manifest-derived source file stays an artifact fault.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["498cec042a5f05557ae9c2ef9663d41dd03901c3"],
|
||
"authors": [
|
||
{
|
||
"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": [1396]
|
||
},
|
||
{
|
||
"sha": "6875d4a64c0d77c4f90ebbec36705f191eb7cdc6",
|
||
"subject": "fix(cli): accept JSON files for web capture and screenshot comparisons (#1397)",
|
||
"body": "fix(cli): accept JSON files for web capture and screenshot comparisons (#1397)\n\ncompare-web-captures and compare-web-screenshots parsed their arguments as\ninline JSON only, unlike every other JSON-input command. Screenshot\nartifacts and scenario captures embed base64 PNG bytes, so a typical\nviewport screenshot exceeds the command-line length limit (128 KiB per\nargument on Linux, 1 MiB total on macOS) and could not be compared from\nthe CLI at all, while MCP accepts it. A file path was reported as\nmalformed JSON, and screenshot schema failures returned no issues.\n\nEach argument now accepts inline JSON or a JSON file path through\nparseCliJsonInput; file failures keep its path diagnostics, malformed\ninline JSON keeps the field issue, and screenshot validation reports\nprojected schema issues. The tests share one CLI JSON process fixture.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["2b6e9ec03f88abb0799a4d154e48544ff4685a41"],
|
||
"authors": [
|
||
{
|
||
"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": [1397]
|
||
},
|
||
{
|
||
"sha": "499e2f54efc65aff427978613284c3e429398d44",
|
||
"subject": "perf(evidence): stop copying normalized results into raw_result (#1402)",
|
||
"body": "perf(evidence): stop copying normalized results into raw_result (#1402)\n\ncreateAnalysisExecution defaulted an omitted rawResult to a second\ncomplete copy of the result. Every caller that had no distinct provider\nrepresentation therefore doubled its Evidence: decode_interface_builder,\ninspect_keyed_archive, inspect_asset_catalog, trace_dylib_resolution,\ninspect_native_dispatch_metadata, observe_native_calls,\nobserve_native_ui/capture_native_ui_scenario (including screenshots), and\nsmall Ghidra/IDA lifecycle records. Sibling operations of the same\nproviders already recorded null.\n\nAn omitted rawResult now records null. Normalized results are unchanged.\nMCP responses repeat Evidence in text and structured content, so each\nresponse and its share of the 10 MiB transport budget shrink by the same\nhalf; e.g. trace_dylib_resolution on a real app bundle drops from\n3,217,119 to 1,612,524 bytes per representation.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["6875d4a64c0d77c4f90ebbec36705f191eb7cdc6"],
|
||
"authors": [
|
||
{
|
||
"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": [1402]
|
||
},
|
||
{
|
||
"sha": "7623e21ff02cf4eb00ccb4fa357936e4ed01425e",
|
||
"subject": "perf(native): record pwntools diagnostics once in their Evidence (#1404)",
|
||
"body": "perf(native): record pwntools diagnostics once in their Evidence (#1404)\n\ninspect_binary_layout and inspect_recorded_crash passed the decoded report\nas both result and rawResult, so every Evidence record carried the whole\nreport twice (and an MCP response four times, counting its text copy).\nThe decoded report is the only representation, so raw_result is now null,\nas for other single-representation operations.\n\nThe real pwntools verifiers asserted the duplicate; they now assert null.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["499e2f54efc65aff427978613284c3e429398d44"],
|
||
"authors": [
|
||
{
|
||
"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": [1404]
|
||
},
|
||
{
|
||
"sha": "1f0f728c63a4d9f32fc183c6a41627eedb8d1fe2",
|
||
"subject": "perf(hopper): stop repeating Hopper replies as raw_result (#1405)",
|
||
"body": "perf(hopper): stop repeating Hopper replies as raw_result (#1405)\n\nHopperProvider passed the bridge reply as rawResult and, for every\noperation except address_to_file_offset, the same object as the result.\nEvery Hopper Evidence record (decompilation, procedure and string\nlistings, xrefs, ...) therefore carried its complete result twice, and\nan MCP response four times counting its text copy.\n\nraw_result is now null unless REA transformed the reply, which only the\nfile-offset mapping does; that case keeps Hopper's original reply.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["7623e21ff02cf4eb00ccb4fa357936e4ed01425e"],
|
||
"authors": [
|
||
{
|
||
"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": [1405]
|
||
},
|
||
{
|
||
"sha": "8550913cda311e5340cf012b9c4afd622e36e35b",
|
||
"subject": "fix(javascript)!: stop copying literals into semantic metadata (#1407)",
|
||
"body": "fix(javascript)!: stop copying literals into semantic metadata (#1407)\n\nCommit literal values with canonical JSON SHA-256 in semantic role keys\nand use a type label for strings. Preserve complete values, provenance and\nliteral queries while avoiding two payload copies in each string node.\n\nVerify real compiled CLI/default stdio MCP, typed union seeds, empty\nstrings and trace continuation with a large source-owned fixture.\n\nRefs #723\n\nBREAKING CHANGE: Newly produced semantic literal node IDs use\nvalue-sha256 role keys, and string labels read \"string literal\". Read exact\nvalues from properties.value and obtain node IDs from the selected parent\ngraph. Previously stored Evidence and its original IDs remain valid.",
|
||
"parents": ["1f0f728c63a4d9f32fc183c6a41627eedb8d1fe2"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1407]
|
||
},
|
||
{
|
||
"sha": "de8fc6719596305b1d76204e6b052cf46d7e7fc3",
|
||
"subject": "fix(javascript): retain shorter literal metadata encodings (#1408)",
|
||
"body": "fix(javascript): retain shorter literal metadata encodings (#1408)\n\nChoose the shorter complete JSON or digest key and string display label.\nShort values keep their existing identities and labels, while large values\nretain the payload-copy reduction without an arbitrary truncation limit.",
|
||
"parents": ["8550913cda311e5340cf012b9c4afd622e36e35b"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1408]
|
||
},
|
||
{
|
||
"sha": "ca3131b36ccf025f64b9e43ecae2698d37747de7",
|
||
"subject": "perf(cli): write compact JSON when output is not a terminal (#1413)",
|
||
"body": "perf(cli): write compact JSON when output is not a terminal (#1413)\n\n`--json` / `--format json` always indented its streamed result. Agents and\nscripts read REA through pipes and redirects, where indentation carries no\ninformation: on real application results it added 16-45% model tokens\n(o200k proxy) and 25-73% bytes. The skill's CLI fallback uses `--json`.\n\nIndent only when stdout is a TTY, as `gh --json` does; piped or redirected\nJSON is compact. The JSON value, `jsonl`, `--filter-output`,\n`--full-output` and the token-window paths are unchanged. `jq .` restores\nindentation for files.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["de8fc6719596305b1d76204e6b052cf46d7e7fc3"],
|
||
"authors": [
|
||
{
|
||
"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": [1413]
|
||
},
|
||
{
|
||
"sha": "4d8ef3f35022f286e5a6b2ee250cfb336e14a4ad",
|
||
"subject": "perf(javascript): aggregate semantic family coverage once (#1410)",
|
||
"body": "perf(javascript): aggregate semantic family coverage once (#1410)\n\nReduce repeated semantic relation and unknown family scans while preserving exact complete Evidence and coverage.",
|
||
"parents": ["ca3131b36ccf025f64b9e43ecae2698d37747de7"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1410]
|
||
},
|
||
{
|
||
"sha": "81cdafc132c7ba3bd6e12b1169f9e3687025d07b",
|
||
"subject": "docs: celebrate 50,000 GitHub stars 🎉",
|
||
"body": "docs: celebrate 50,000 GitHub stars 🎉",
|
||
"parents": ["4d8ef3f35022f286e5a6b2ee250cfb336e14a4ad"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1349]
|
||
},
|
||
{
|
||
"sha": "98022a835275375ee0ffa88b7c8983ba6f080040",
|
||
"subject": "fix(javascript)!: avoid endpoint payload copies in graph metadata (#1423)",
|
||
"body": "fix(javascript)!: avoid endpoint payload copies in graph metadata (#1423)\n\nKeep exact endpoint observations and request properties while using compact display labels and collision-safe canonical value digests for long artifact-local endpoint keys. Verify real CLI/stdio MCP tracing and version comparison without truncating evidence.\n\nBREAKING CHANGE: New analyses use compact endpoint labels and digest-based IDs for long or reserved-prefix endpoint keys. Select IDs from the parent graph and read full values from endpoint properties. Previously stored graphs retain their original identities and remain valid workflow inputs.",
|
||
"parents": ["81cdafc132c7ba3bd6e12b1169f9e3687025d07b"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1423]
|
||
},
|
||
{
|
||
"sha": "28595276faac6a01dd4930313a91fab717d29513",
|
||
"subject": "fix(javascript): bound member-mutation paths through reassignment loops",
|
||
"body": "fix(javascript): bound member-mutation paths through reassignment loops\n\nFixes #1401. Refs #1065. Preserve exact member facts and equal-depth write effects while bounding the observed reassignment-loop expansion.\n\nValidated with the JavaScript semantic/application suite, focused alias regressions, full static checks, real compiled CLI and SDK MCP Notion workflows, and all 20 checks on the final PR head.\n\nCo-Authored-By: Marnix Pluim <286664873+marnixpluim@users.noreply.github.com>\nCo-Authored-By: N0zoM1z0 <161784452+N0zoM1z0@users.noreply.github.com>\nCo-Authored-By: Claude <noreply@anthropic.com>",
|
||
"parents": ["98022a835275375ee0ffa88b7c8983ba6f080040"],
|
||
"authors": [
|
||
{
|
||
"name": "Marnix Pluim",
|
||
"email": "marnixjaap@gmail.com",
|
||
"user": {
|
||
"login": "marnixpluim",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Marnix Pluim",
|
||
"email": "286664873+marnixpluim@users.noreply.github.com",
|
||
"user": {
|
||
"login": "marnixpluim",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1390]
|
||
},
|
||
{
|
||
"sha": "4d95f2b2e7a6fdc1ba9dfcbd90578f6bbc5e5e1e",
|
||
"subject": "fix(validation): retain unmatched union correction details",
|
||
"body": "fix(validation): retain unmatched union correction details\n\nPreserve actionable field paths and schema-declared variants for unknown or missing discriminators.\n\nCloses #1421. Refs #1065.",
|
||
"parents": ["28595276faac6a01dd4930313a91fab717d29513"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1425]
|
||
},
|
||
{
|
||
"sha": "a9ee2360fd11332b2cc50ef7130a89321b828d28",
|
||
"subject": "feat(native): inspect oversized retained function dossiers via bounded views",
|
||
"body": "feat(native): inspect oversized retained function dossiers via bounded views\n\nAdd caller-selected native dossier facets with preserved Evidence identity, provenance, unknowns and transport recovery.\n\nRefs #1247 and #1065.\n\nCo-authored-by: jhuang-tw <77732008+jhuang-tw@users.noreply.github.com>\nCo-authored-by: N0zoM1z0 <161784452+N0zoM1z0@users.noreply.github.com>",
|
||
"parents": ["4d95f2b2e7a6fdc1ba9dfcbd90578f6bbc5e5e1e"],
|
||
"authors": [
|
||
{
|
||
"name": "jhuang-tw",
|
||
"email": "77732008+jhuang-tw@users.noreply.github.com",
|
||
"user": {
|
||
"login": "jhuang-tw",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1345]
|
||
},
|
||
{
|
||
"sha": "f4a0c1ce95375c1661ca95b414829113a10298b8",
|
||
"subject": "fix(javascript)!: avoid event payload copies in graph metadata (#1427)",
|
||
"body": "fix(javascript)!: avoid event payload copies in graph metadata (#1427)\n\nShare the canonical string identity rule with endpoint projection, scope event keys to each emitter, and keep complete event/listener names in properties. Verify real CLI and stdio MCP with large names, registration/removal, distinct emitters, exact name seeds, reserved-prefix values, and unresolved dynamic names.\n\nBREAKING CHANGE: New analyses use digest-based IDs for long or reserved-prefix event names and shorter event/listener display labels. Select IDs from the parent graph and read exact names from event_name properties. Stored graphs and their original IDs remain accepted for semantic tracing.",
|
||
"parents": ["a9ee2360fd11332b2cc50ef7130a89321b828d28"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1427]
|
||
},
|
||
{
|
||
"sha": "c29931ce81dc530d2623ec992714a70b1f3e50e4",
|
||
"subject": "fix(javascript): scan direct returns without recursive stack growth",
|
||
"body": "fix(javascript): scan direct returns without recursive stack growth\n\nUse the shared AST child enumeration with an explicit stack, preserving return order and nested callable boundaries.\n\nRefs #1065.\n\nCo-authored-by: rudycelekli <47457359+rudycelekli@users.noreply.github.com>\nCo-authored-by: N0zoM1z0 <161784452+N0zoM1z0@users.noreply.github.com>",
|
||
"parents": ["f4a0c1ce95375c1661ca95b414829113a10298b8"],
|
||
"authors": [
|
||
{
|
||
"name": "Rudy Mizrahi Celekli",
|
||
"email": "47457359+rudycelekli@users.noreply.github.com",
|
||
"user": {
|
||
"login": "rudycelekli",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1368]
|
||
},
|
||
{
|
||
"sha": "6375ccaf04b4835cc67080ee1ecd91d1fc46645c",
|
||
"subject": "perf(native): record macOS command provenance once in its Evidence (#1430)",
|
||
"body": "perf(native): record macOS command provenance once in its Evidence (#1430)\n\ninspect_macho, inspect_signature, inspect_plist, list_architectures and\ndemangle_swift already return their command provenance inside the\nnormalized result. The provider also copied the same array into\nraw_result, so every response carried it twice. raw_result now stays\nnull, as docs/mcp-contracts.md describes for results without a distinct\nprovider representation.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["c29931ce81dc530d2623ec992714a70b1f3e50e4"],
|
||
"authors": [
|
||
{
|
||
"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": [1430]
|
||
},
|
||
{
|
||
"sha": "0b9815b6e7080081d8fd426ad9710aee36761afa",
|
||
"subject": "docs(skill): save CLI application Evidence and read a summary view (#1429)",
|
||
"body": "docs(skill): save CLI application Evidence and read a summary view (#1429)\n\nThe skill's CLI fallback printed the complete application Evidence to\nstdout. A real ASAR produces hundreds of megabytes (334 MB for Obsidian),\nwhich an agent then reads into its context. Save the Evidence to a file\nand project a summary or module page with inspect-analysis-view instead.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["6375ccaf04b4835cc67080ee1ecd91d1fc46645c"],
|
||
"authors": [
|
||
{
|
||
"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": [1429]
|
||
},
|
||
{
|
||
"sha": "dc5af6d68f74155d32a0be957c88afb0ee4be699",
|
||
"subject": "perf(mcp): reuse output validators across catalog refreshes (#1433)",
|
||
"body": "perf(mcp): reuse output validators across catalog refreshes (#1433)\n\nAdvertise content- and dialect-bound identities for self-contained output schemas so the SDK can reuse unchanged Ajv validators after complete tools/list refreshes. Preserve explicit IDs and relative reference bases.\n\nVerify changed schemas, availability transitions, reconnects, numeric and selector constraints, explicit IDs, relative references, and advertised dialects through the pinned SDK boundaries.\n\nRefs #1065, #723",
|
||
"parents": ["0b9815b6e7080081d8fd426ad9710aee36761afa"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1433]
|
||
},
|
||
{
|
||
"sha": "0a14ca41b46e42d36d46ba07384ff13a7a97456d",
|
||
"subject": "fix(javascript): preserve effects through yielded array references (#1437)",
|
||
"body": "fix(javascript): preserve effects through yielded array references (#1437)",
|
||
"parents": ["dc5af6d68f74155d32a0be957c88afb0ee4be699"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1437]
|
||
},
|
||
{
|
||
"sha": "ce16f7bc951180b68707fc8cec7e20a0511bb5b3",
|
||
"subject": "test(native): verify macOS provenance through real CLI and MCP",
|
||
"body": "test(native): verify macOS provenance through real CLI and MCP\n\nVerify five native operations through the public CLI and real SDK stdio MCP using a source-built macOS fixture. Retain normalized provenance, response parity and unchanged input bytes.\n\nRefs #1430, #1065, #723.",
|
||
"parents": ["0a14ca41b46e42d36d46ba07384ff13a7a97456d"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1436]
|
||
},
|
||
{
|
||
"sha": "bb6fa1c6f500c6b6af42f1e3f72bd42c1dce91f6",
|
||
"subject": "docs(process): verify independent full-report hashing budgets (#1440)",
|
||
"body": "docs(process): verify independent full-report hashing budgets (#1440)",
|
||
"parents": ["ce16f7bc951180b68707fc8cec7e20a0511bb5b3"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1440]
|
||
},
|
||
{
|
||
"sha": "eeb83f65817819644af8e6fbf8a120227dfb88d4",
|
||
"subject": "perf(cli): defer Playwright and isomorphic-git until a command needs them",
|
||
"body": "perf(cli): defer Playwright and isomorphic-git until a command needs them\n\nLoad browser composition after CLI scenario validation and load Git support only for local reference trees with Git metadata. Preserve default outputs and actual command behavior.\n\nRefs #1065.\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>",
|
||
"parents": ["bb6fa1c6f500c6b6af42f1e3f72bd42c1dce91f6"],
|
||
"authors": [
|
||
{
|
||
"name": "Kaoru0822",
|
||
"email": "208281322+kaoru0822-kitauji@users.noreply.github.com",
|
||
"user": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1439]
|
||
},
|
||
{
|
||
"sha": "33b9b31a6fb50cc3e6f4591d0395dbba15b51f13",
|
||
"subject": "perf(javascript): index change-graph nodes once per comparison",
|
||
"body": "perf(javascript): index change-graph nodes once per comparison\n\nResolve each compared graph node through a per-side index while preserving right-hand evidence selection and complete comparison results.\n\nRefs #1065.\n\nCo-authored-by: keemsisi <7439375+keemsisi@users.noreply.github.com>",
|
||
"parents": ["eeb83f65817819644af8e6fbf8a120227dfb88d4"],
|
||
"authors": [
|
||
{
|
||
"name": "keemsisi",
|
||
"email": "keemsisi@gmail.com",
|
||
"user": {
|
||
"login": "keemsisi",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "keemsisi",
|
||
"email": "7439375+keemsisi@users.noreply.github.com",
|
||
"user": {
|
||
"login": "keemsisi",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1434]
|
||
},
|
||
{
|
||
"sha": "e09cfe9b5970d75da478c9dd741451cc2be5c91a",
|
||
"subject": "fix(javascript): invalidate references stored through property targets (#1445)",
|
||
"body": "fix(javascript): invalidate references stored through property targets (#1445)\n\n* fix(javascript): invalidate references stored through property targets\n\n* refactor(javascript): share rest keys and return-shape fixtures",
|
||
"parents": ["33b9b31a6fb50cc3e6f4591d0395dbba15b51f13"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1445]
|
||
},
|
||
{
|
||
"sha": "be6863e9a16bcc3a09d87c50981e69292795a512",
|
||
"subject": "feat(ghidra): support native PE DLLs on Windows",
|
||
"body": "feat(ghidra): support native PE DLLs on Windows\n",
|
||
"parents": ["411498d45f860eba2fbc9d7051af20237b7a4cb1"],
|
||
"authors": [
|
||
{
|
||
"name": "kvalls",
|
||
"email": "95490470+kvalls@users.noreply.github.com",
|
||
"user": {
|
||
"login": "kvalls",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1303]
|
||
},
|
||
{
|
||
"sha": "941dc425ca12736504227edc084613c0d3612659",
|
||
"subject": "chore: merge main into Windows DLL support branch",
|
||
"body": "chore: merge main into Windows DLL support branch\n",
|
||
"parents": [
|
||
"be6863e9a16bcc3a09d87c50981e69292795a512",
|
||
"33b9b31a6fb50cc3e6f4591d0395dbba15b51f13"
|
||
],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1303]
|
||
},
|
||
{
|
||
"sha": "7633dd8d5dcb94eb5c2fca8b69858949c51b0eaf",
|
||
"subject": "fix(ghidra): publish Windows verification success after cleanup",
|
||
"body": "fix(ghidra): publish Windows verification success after cleanup\n",
|
||
"parents": ["941dc425ca12736504227edc084613c0d3612659"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1303]
|
||
},
|
||
{
|
||
"sha": "ea1dbda1c747400fe2228c1802a3721995216277",
|
||
"subject": "test(ghidra): share result projection client setup",
|
||
"body": "test(ghidra): share result projection client setup\n",
|
||
"parents": ["7633dd8d5dcb94eb5c2fca8b69858949c51b0eaf"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1303]
|
||
},
|
||
{
|
||
"sha": "a957f397ad3c7a66756dba6aae29c3de2e8d822e",
|
||
"subject": "Merge pull request #1303 from kvalls/codex/windows-ghidra-native-dlls",
|
||
"body": "Merge pull request #1303 from kvalls/codex/windows-ghidra-native-dlls\n\nfeat(ghidra): support native PE DLLs on Windows",
|
||
"parents": [
|
||
"e09cfe9b5970d75da478c9dd741451cc2be5c91a",
|
||
"ea1dbda1c747400fe2228c1802a3721995216277"
|
||
],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1303]
|
||
},
|
||
{
|
||
"sha": "e10c934d5a756c1a4c7b547ebd02c403ddfde7b8",
|
||
"subject": "fix(ghidra): keep the cross-format branch callee multi-block",
|
||
"body": "fix(ghidra): keep the cross-format branch callee multi-block\n\nThe cross-format oracle requires a callee whose recovered control flow\nhas more than one basic block, and rea_cross_branch provided it through\na symmetric if/else of tail calls. Clang 21 folds that shape into a\nconditional negate plus one tail branch, a single basic block, so the\nlane rejected a correct Ghidra analysis of the fixture.\n\nGive the branch a loop whose trip count depends on a volatile global:\nno compiler can eliminate the backedge, and the callee stays multi-block\nat every optimization level on every toolchain.\n",
|
||
"parents": ["08ec2bf82fa88f5e8caa2b7da9093636731dc55c"],
|
||
"authors": [
|
||
{
|
||
"name": "GRAB Racem",
|
||
"email": "racem.grab@etu.univ-lyon1.fr",
|
||
"user": {
|
||
"login": "BaaRai",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1382]
|
||
},
|
||
{
|
||
"sha": "40f632a155bff2defdea09e467229c703bc0b0e9",
|
||
"subject": "ci: re-run the suite after the main-branch shard flake",
|
||
"body": "ci: re-run the suite after the main-branch shard flake\n\nThe failed shard is the JavaScriptSemanticGraphBuilder short-circuit\nmutation test, which also failed on main run 38003459598 at the same\nbase commit (08ec2bf8) before this branch started CI, and passed on\nmain run 38003459600 minutes later at the same commit.\n",
|
||
"parents": ["e10c934d5a756c1a4c7b547ebd02c403ddfde7b8"],
|
||
"authors": [
|
||
{
|
||
"name": "GRAB Racem",
|
||
"email": "racem.grab@etu.univ-lyon1.fr",
|
||
"user": {
|
||
"login": "BaaRai",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1382]
|
||
},
|
||
{
|
||
"sha": "e17290cd2a17931d7a2af70f74b76b94276bd788",
|
||
"subject": "ci: re-run the suite on the corrected main checkpoint",
|
||
"body": "ci: re-run the suite on the corrected main checkpoint\n\nb8a8190b restored the guarded-mutation uncertainty the failing test\nencodes, so the shard should pass against the new merge base.\n",
|
||
"parents": ["40f632a155bff2defdea09e467229c703bc0b0e9"],
|
||
"authors": [
|
||
{
|
||
"name": "GRAB Racem",
|
||
"email": "racem.grab@etu.univ-lyon1.fr",
|
||
"user": {
|
||
"login": "BaaRai",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1382]
|
||
},
|
||
{
|
||
"sha": "f1231d4a2c43dc2d8cc6d5254ee0201771086508",
|
||
"subject": "Merge pull request #1382 from BaaRai/fix/cross-branch-multiblock-callee",
|
||
"body": "Merge pull request #1382 from BaaRai/fix/cross-branch-multiblock-callee\n\nfix(ghidra): keep the cross-format branch callee multi-block",
|
||
"parents": [
|
||
"a957f397ad3c7a66756dba6aae29c3de2e8d822e",
|
||
"e17290cd2a17931d7a2af70f74b76b94276bd788"
|
||
],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1382]
|
||
},
|
||
{
|
||
"sha": "e4a8e0b728154fe0bf181684ccd0d73df45cf4bf",
|
||
"subject": "fix(javascript): recognize Electron APIs through renamed bindings",
|
||
"body": "fix(javascript): recognize Electron APIs through renamed bindings\n\nElectron recognition matched callee spellings, so a bundler rename such as\nesbuild's `import { ipcMain as ipcMain2 } from \"electron\"`, or a destructured\n`const { contextBridge: bridge } = require(\"electron\")`, hid every IPC\nhandler, BrowserWindow, contextBridge and utility process behind it.\n\nResolve each call and construction root lexically to its Electron import or\nrequire origin, and classify the callee under that export's name. Shadowed\nlocals keep their own meaning.\n\nOn Hermes Desktop v0.21.6, whose main process is one esbuild ESM bundle,\nrecognized main IPC handlers rise from 1 to 204, BrowserWindow constructions\nfrom 0 to 11, and paired renderer transmissions from 1 to 201.\n\nCo-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01XPY2GmufMNGQKoEgRUx1pd\n",
|
||
"parents": ["7aa4d768eb15317a63a476431ed75bafec086033"],
|
||
"authors": [
|
||
{
|
||
"name": "Claude",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1391]
|
||
},
|
||
{
|
||
"sha": "0d2082d36b8bed3cda5daa22adee2163652fc511",
|
||
"subject": "fix(javascript): recognize unchanged var and let Electron aliases",
|
||
"body": "fix(javascript): recognize unchanged var and let Electron aliases\n",
|
||
"parents": ["e4a8e0b728154fe0bf181684ccd0d73df45cf4bf"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1391]
|
||
},
|
||
{
|
||
"sha": "817efaca9aafc4a72884773ff8b93a32cb6e3350",
|
||
"subject": "Merge pull request #1391 from marnixpluim/fix/electron-import-aliases",
|
||
"body": "Merge pull request #1391 from marnixpluim/fix/electron-import-aliases\n\nfix(javascript): recognize Electron APIs through renamed bindings",
|
||
"parents": [
|
||
"f1231d4a2c43dc2d8cc6d5254ee0201771086508",
|
||
"0d2082d36b8bed3cda5daa22adee2163652fc511"
|
||
],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1391]
|
||
},
|
||
{
|
||
"sha": "66863b609fe5bdbb46b8634399ea08439a94a9f4",
|
||
"subject": "test(javascript): reuse comparison node fixtures",
|
||
"body": "test(javascript): reuse comparison node fixtures\n\nUse the established typed graph fixture constructor while retaining right-hand comparison provenance assertions. Restore the unchanged duplicate-code gate on combined main.\n\nCloses #1446. Refs #1434, #1443, #1065.",
|
||
"parents": ["817efaca9aafc4a72884773ff8b93a32cb6e3350"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1448]
|
||
},
|
||
{
|
||
"sha": "1ec490f36180cf6d3a8f353e9e43920dbd81ece0",
|
||
"subject": "fix(javascript): stop replaying earlier writes for each object property write",
|
||
"body": "fix(javascript): stop replaying earlier writes for each object property write\n\nRepeated property writes to one object made member-mutation collection\ncubic. Each write evaluated its target binding to rule out a primitive,\nand every evaluation folded all earlier mutation paths, copying every\nslot once per path. 2,000 writes to one object took 27 s and 4,000 took\n203 s.\n\n- A recorded write always leaves a non-primitive binding value, so only\n the first write to a binding needs the primitive check.\n- Apply mutation paths per slot in one pass with the same ordering\n semantics instead of one full slot copy per path.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>\nCo-authored-by: N0zoM1z0 <161784452+N0zoM1z0@users.noreply.github.com>",
|
||
"parents": ["66863b609fe5bdbb46b8634399ea08439a94a9f4"],
|
||
"authors": [
|
||
{
|
||
"name": "Zeynel",
|
||
"email": "137368801+zeynelacikgoez@users.noreply.github.com",
|
||
"user": {
|
||
"login": "zeynelacikgoez",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1444]
|
||
},
|
||
{
|
||
"sha": "c89c8f53187aac02e87f0ca11e3dd120b8c7efef",
|
||
"subject": "docs(mcp): record real Windows first-query recovery",
|
||
"body": "docs(mcp): record real Windows first-query recovery",
|
||
"parents": ["1ec490f36180cf6d3a8f353e9e43920dbd81ece0"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1452]
|
||
},
|
||
{
|
||
"sha": "2781cad20125ff3a210b795f60620b048e1bbe9b",
|
||
"subject": "perf(process): stop padding rendered terminal lines to full width (#1450)",
|
||
"body": "perf(process): stop padding rendered terminal lines to full width (#1450)\n\nRendered frames padded every visible row with trailing spaces to the\nterminal width. Blank rows cost a full row each and every frame repeats\nthem, so the padding made up 14-39% of capture Evidence (2 KB of sparse\noutput produced 228 KB). The padding carried no information: columns is\nrecorded and serialized_state keeps the exact terminal state.\n\nLines are now trimmed after normalization, so line.padEnd(columns)\nrestores the previous value. The comparison contract commits\nrendered_line_format so older padded captures do not compare as the\nsame contract.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["c89c8f53187aac02e87f0ca11e3dd120b8c7efef"],
|
||
"authors": [
|
||
{
|
||
"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": [1450]
|
||
},
|
||
{
|
||
"sha": "ef96657d6ba0c1f22ebdb1e6bd4d9a6ac9335002",
|
||
"subject": "perf(javascript): hash each semantic evidence context once (#1457)",
|
||
"body": "perf(javascript): hash each semantic evidence context once (#1457)\n\nThe semantic graph's evidence-context registry canonicalized the full\nprovenance context three times for every node, relation, unknown and\nfingerprint: once to hash its ID and twice more to compare against the\nstored row. A file has only a few distinct contexts, so nearly all of\nthat work repeated a known answer.\n\nInterning now keys contexts by their canonical text. Each fact\ncanonicalizes once, and only a new context is hashed and checked for a\ndigest collision. IDs and output are unchanged; Obsidian's 334 MB\nEvidence is byte-identical and analysis drops from about 47.0 s to\n44.4 s.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["2781cad20125ff3a210b795f60620b048e1bbe9b"],
|
||
"authors": [
|
||
{
|
||
"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": [1457]
|
||
},
|
||
{
|
||
"sha": "b118f044926ae6b4880c4214621ae6c5b2a71f17",
|
||
"subject": "perf(apple): stop repeating the archive path in Interface Builder evidence (#1460)",
|
||
"body": "perf(apple): stop repeating the archive path in Interface Builder evidence (#1460)\n\nEvery Interface Builder node and edge evidence record prefixed its\ndescription with the archive's relative path, which artifact_path in the\nsame record already states. Bundles carry thousands of objects across\nlocalized nibs, so the repeated path made up 6-10% of\ndecode_interface_builder output (XLD: 7.38 MB to 6.62 MB).\n\nDescriptions now name only the decoded item, such as \"object 81\" or\n\"outlet o_quality\".\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["ef96657d6ba0c1f22ebdb1e6bd4d9a6ac9335002"],
|
||
"authors": [
|
||
{
|
||
"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": [1460]
|
||
},
|
||
{
|
||
"sha": "696fb834b8873ac9f6df0c4d45377bdd7c3c5762",
|
||
"subject": "fix(skills): expose authored skill to repository discovery",
|
||
"body": "fix(skills): expose authored skill to repository discovery\n",
|
||
"parents": ["c89c8f53187aac02e87f0ca11e3dd120b8c7efef"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1463]
|
||
},
|
||
{
|
||
"sha": "28d3cb545c720722f397412054ffa337ba072df5",
|
||
"subject": "Merge pull request #1463 from morluto/codex/fix-skill-source-discovery",
|
||
"body": "Merge pull request #1463 from morluto/codex/fix-skill-source-discovery\n\nfix(skills): expose authored skill to repository discovery",
|
||
"parents": [
|
||
"b118f044926ae6b4880c4214621ae6c5b2a71f17",
|
||
"696fb834b8873ac9f6df0c4d45377bdd7c3c5762"
|
||
],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1463]
|
||
},
|
||
{
|
||
"sha": "ea923287751043c7acfaa35a0acd10fe32f785d6",
|
||
"subject": "fix(mcp): validate doctor probe against its discovered output contract (#1461)",
|
||
"body": "fix(mcp): validate doctor probe against its discovered output contract (#1461)\n\nValidate the target-free probe against the named definition discovered from the complete production catalog. Preserve initialized server and inventory observations when the SDK rejects the probe, and retain the schema failure reason, absolute deadline and owned-child cleanup.\n\nThe negative stdio replay regression fails on original main and passes the fix; actual production-boundary fault injection confirms rejection. Nine doctor/help tests, serial full static checks and real small-target CLI/MCP parity pass. Successful doctor reports remain byte-identical. No performance or model-token reduction is claimed.\n\nCloses #1454. Refs #1065, #723, #1433.",
|
||
"parents": ["28d3cb545c720722f397412054ffa337ba072df5"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1461]
|
||
},
|
||
{
|
||
"sha": "4e3d3354397374116577555200319975fc2ff86e",
|
||
"subject": "test(android): retain incomplete cleanup failure reasons (#1443)",
|
||
"body": "test(android): retain incomplete cleanup failure reasons (#1443)\n\nInclude the full stop disposition in the fixture assertion message, so incomplete owned teardown retains its typed reason in Vitest failure reporters. Preserve the existing cleanup requirement without retries or relaxed ownership checks.\n\nSeven process-boundary tests, full serial typecheck/lint/duplication/format checks, and 19 final-head CI checks pass after integrating the combined-main fixture fix. A controlled failure-rendering probe verifies that the explicit message preserves the reason. The original CI cleanup failure remains unreproduced; this is diagnostic work with a synthetic JADX producer, not a root-cause or real-engine fix.\n\nRefs #1441, #1446, #1448, #1065.",
|
||
"parents": ["ea923287751043c7acfaa35a0acd10fe32f785d6"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1443]
|
||
},
|
||
{
|
||
"sha": "78e1308f49492011be448c9b35ce16d98d60c4ad",
|
||
"subject": "docs(process): clarify normalized terminal line representation",
|
||
"body": "docs(process): clarify normalized terminal line representation",
|
||
"parents": ["4e3d3354397374116577555200319975fc2ff86e"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1465]
|
||
},
|
||
{
|
||
"sha": "79f6756239105164eac7aa5618844ffd9bdf41e5",
|
||
"subject": "docs(website): link the Discord community and REA on X (#1469)",
|
||
"body": "docs(website): link the Discord community and REA on X (#1469)\n\nAdd an X link beside the GitHub and Discord header icons on every content\npage, name the footer links \"Join the community\" and \"Follow us on X\", and\nclose the homepage with a \"Join the community\" section.\n\nOn narrow screens, pad the footer so the floating Top link no longer\ncovers its last row of links.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["78e1308f49492011be448c9b35ce16d98d60c4ad"],
|
||
"authors": [
|
||
{
|
||
"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": [1469]
|
||
},
|
||
{
|
||
"sha": "934ffd28d15f4fbe6687ca8986a949e1b41a07d1",
|
||
"subject": "perf(javascript): derive the application graph ID once",
|
||
"body": "perf(javascript): derive the application graph ID once\n\ncreateJavaScriptApplicationGraph hashed the whole graph to derive its\ngraph_id, then parsed it with the public schema, whose invariant check\nhashed the same content again to verify that ID. Validate the content\nwith every other invariant first, then derive graph_id once from the\nvalidated copy. The public schema still verifies graph_id for stored\nand untrusted graphs, and created graphs are unchanged.",
|
||
"parents": ["79f6756239105164eac7aa5618844ffd9bdf41e5"],
|
||
"authors": [
|
||
{
|
||
"name": "keemsisi",
|
||
"email": "keemsisi@gmail.com",
|
||
"user": {
|
||
"login": "keemsisi",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1458]
|
||
},
|
||
{
|
||
"sha": "aa23ec883f6c7101db184767a1f48cddb636d597",
|
||
"subject": "feat(clients): register Qwen Code during setup (#1415)",
|
||
"body": "feat(clients): register Qwen Code during setup (#1415)\n\n* feat(clients): register Qwen Code during setup\n\n* fix(clients): honor Qwen home and shared skill discovery\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["934ffd28d15f4fbe6687ca8986a949e1b41a07d1"],
|
||
"authors": [
|
||
{
|
||
"name": "易良",
|
||
"email": "1204183885@qq.com",
|
||
"user": {
|
||
"login": "yiliang114",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1415]
|
||
},
|
||
{
|
||
"sha": "3c7b176a3df18b3971d9ea9ff40f7ebbd85fa40a",
|
||
"subject": "perf(artifacts): deliver the inspected artifact graph once (#1473)",
|
||
"body": "perf(artifacts): deliver the inspected artifact graph once (#1473)\n\ninspect_artifact nested the complete inventory Evidence and then restated\nevery artifact node and occurrence as an observation and every edge as a\nderived relationship. No caller reads those copies; comparison and tests\nuse the nested inventory Evidence. On Transmission.app the result shrinks\nfrom 2.46 MB to 1.10 MB.\n\nObservations keep the root manifest and integrity findings.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["aa23ec883f6c7101db184767a1f48cddb636d597"],
|
||
"authors": [
|
||
{
|
||
"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": [1473]
|
||
},
|
||
{
|
||
"sha": "7296f2b5bfff921b2ca16f942a09616c8adf2b3f",
|
||
"subject": "perf(javascript)!: stop repeating the semantic identifier strategy per fact (#1474)",
|
||
"body": "perf(javascript)!: stop repeating the semantic identifier strategy per fact (#1474)\n\nEvery semantic graph node and relation carried an identifier_strategy\nobject whose schema admits exactly one value per record type. The\nconstant made up about 9% of analyze_javascript_application output\n(Obsidian app.asar: 12.04 MB to 10.96 MB), and semantic traces repeated\nit on every returned fact.\n\nThe node_id and relation_id schema descriptions now state how each\nidentifier is derived.\n\nBREAKING CHANGE: Semantic graph nodes and relations no longer include\nidentifier_strategy, and relation IDs no longer hash that constant.\nEvidence recorded by earlier versions does not validate against the new\nsemantic graph schema.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["3c7b176a3df18b3971d9ea9ff40f7ebbd85fa40a"],
|
||
"authors": [
|
||
{
|
||
"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": [1474]
|
||
},
|
||
{
|
||
"sha": "1f0775684b2cf8089bddfa7e2f0ee9aa6517c8a8",
|
||
"subject": "fix(artifacts): keep case-distinct archive names in inventory (#1480)",
|
||
"body": "fix(artifacts): keep case-distinct archive names in inventory (#1480)\n\nZIP member names are case-sensitive. Inventory was folding them with a\nfilesystem case rule, so shrunk APKs never became evidence for the Android\napplication graph. Logical registration now keeps both spellings and records\nan English Unicode case-folding limitation. Extraction fails only when the\ndestination directory already holds the other spelling.\n\nCo-authored-by: Cursor Agent <cursoragent@cursor.com>",
|
||
"parents": ["7296f2b5bfff921b2ca16f942a09616c8adf2b3f"],
|
||
"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": [1480]
|
||
},
|
||
{
|
||
"sha": "b09d02d93cbadfa0ced21e7c489c7d47fb317228",
|
||
"subject": "feat(website): add a blog for methods and project notes",
|
||
"body": "feat(website): add a blog for methods and project notes\n",
|
||
"parents": ["1f0775684b2cf8089bddfa7e2f0ee9aa6517c8a8"],
|
||
"authors": [
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1475]
|
||
},
|
||
{
|
||
"sha": "130ffdf6bc89f3b1a438034f118c38fae306951e",
|
||
"subject": "docs(website): outline the Touhou reconstruction workflow",
|
||
"body": "docs(website): outline the Touhou reconstruction workflow\n",
|
||
"parents": ["b09d02d93cbadfa0ced21e7c489c7d47fb317228"],
|
||
"authors": [
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1475]
|
||
},
|
||
{
|
||
"sha": "7df20506065531749f9e040e59a28015cda10324",
|
||
"subject": "docs(website): write the Touhou reconstruction essay",
|
||
"body": "docs(website): write the Touhou reconstruction essay\n",
|
||
"parents": ["130ffdf6bc89f3b1a438034f118c38fae306951e"],
|
||
"authors": [
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1475]
|
||
},
|
||
{
|
||
"sha": "ed200a23026ea9730cae85367699c17dfe5f0ab6",
|
||
"subject": "docs(website): emphasize the reconstruction essay takeaways",
|
||
"body": "docs(website): emphasize the reconstruction essay takeaways\n",
|
||
"parents": ["7df20506065531749f9e040e59a28015cda10324"],
|
||
"authors": [
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1475]
|
||
},
|
||
{
|
||
"sha": "cf6957e796b241d81bc1cd8e58354c906a3d0467",
|
||
"subject": "feat(website): link the Blog from the homepage introduction",
|
||
"body": "feat(website): link the Blog from the homepage introduction\n",
|
||
"parents": ["ed200a23026ea9730cae85367699c17dfe5f0ab6"],
|
||
"authors": [
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1475]
|
||
},
|
||
{
|
||
"sha": "3ea0233342cb15c2a58b5707bf9962d1d28b72d5",
|
||
"subject": "docs(website): simplify the Blog introduction",
|
||
"body": "docs(website): simplify the Blog introduction\n",
|
||
"parents": ["cf6957e796b241d81bc1cd8e58354c906a3d0467"],
|
||
"authors": [
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1475]
|
||
},
|
||
{
|
||
"sha": "07d416505cb6836614079e3dace8dc9015197bf2",
|
||
"subject": "docs(website): finalize the Touhou essay for publication",
|
||
"body": "docs(website): finalize the Touhou essay for publication\n",
|
||
"parents": ["3ea0233342cb15c2a58b5707bf9962d1d28b72d5"],
|
||
"authors": [
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1475]
|
||
},
|
||
{
|
||
"sha": "cbcba2902dd8caa206d2c5858d73449b87700da0",
|
||
"subject": "docs(website): align Blog community links with the site",
|
||
"body": "docs(website): align Blog community links with the site\n",
|
||
"parents": ["07d416505cb6836614079e3dace8dc9015197bf2"],
|
||
"authors": [
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1475]
|
||
},
|
||
{
|
||
"sha": "b12d0c6361ace4b150e21f7e9a90bdb4211a2a49",
|
||
"subject": "test(artifacts): respect destination filesystem case sensitivity",
|
||
"body": "test(artifacts): respect destination filesystem case sensitivity\n",
|
||
"parents": ["cbcba2902dd8caa206d2c5858d73449b87700da0"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "2596f8da142cde4c92677420df438848c34ea0c3",
|
||
"subject": "test(android): retry verified cleanup during fixture teardown",
|
||
"body": "test(android): retry verified cleanup during fixture teardown\n",
|
||
"parents": ["b12d0c6361ace4b150e21f7e9a90bdb4211a2a49"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "5f6bb7a5bae4e6d8809823920d67e52d6ba9f963",
|
||
"subject": "perf(apple): state each NIB object's class, label, and ID once (#1477)",
|
||
"body": "perf(apple): state each NIB object's class, label, and ID once (#1477)\n\nThe NIBArchive projection synthesizes customClass, label, and objectID so\nits records share the ibtool dictionary parser. The parser then returned\nthose values as class_name, name, and the object ID, and the graph node\nkept the synthesized copies in attributes as well. Attributes now omit a\nkey whose value its canonical field already carries; differing authored\nvalues stay. Transmission.app decode_interface_builder output shrinks\nfrom 6.45 MB to 6.14 MB.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["2596f8da142cde4c92677420df438848c34ea0c3"],
|
||
"authors": [
|
||
{
|
||
"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": [1477]
|
||
},
|
||
{
|
||
"sha": "9defed97254f5a882643154d92db5e65bad19137",
|
||
"subject": "perf(mcp): stop advertising placeholder input descriptions (#1479)",
|
||
"body": "perf(mcp): stop advertising placeholder input descriptions (#1479)\n\nInput schema presentation gave every undescribed property a generic\n\"Value for <name>.\" sentence. That only restates the property name, yet\nit covered 1,958 properties: 70 KB of the 522 KB of advertised input\nschemas that clients load into model context. Authored descriptions,\nreferenced descriptions, and the name-pattern sentences that add meaning\n(maximums, digests, paths, Evidence IDs) remain; other properties now\nadvertise no description.\n\nThe schema validity test now rejects placeholder descriptions instead of\nrequiring a description on every property.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["5f6bb7a5bae4e6d8809823920d67e52d6ba9f963"],
|
||
"authors": [
|
||
{
|
||
"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": [1479]
|
||
},
|
||
{
|
||
"sha": "782e0147cd87aeb2aca12278ebb852f994d877ad",
|
||
"subject": "fix(javascript): retain returned-reference mutation uncertainty (#1471)",
|
||
"body": "fix(javascript): retain returned-reference mutation uncertainty (#1471)",
|
||
"parents": ["9defed97254f5a882643154d92db5e65bad19137"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1471]
|
||
},
|
||
{
|
||
"sha": "1f692c83e2e6dcf175f32c8ac532b77eb556b4d6",
|
||
"subject": "perf(artifacts): stop repeating every artifact path as Evidence locations (#1492)",
|
||
"body": "perf(artifacts): stop repeating every artifact path as Evidence locations (#1492)\n\ninventory_artifact, inspect_artifact, and extract_artifact copied each\noccurrence or extracted file path into Evidence locations, although the\nresult already names every one. inspect_artifact did so twice, in its own\nEvidence and in the nested inventory Evidence. Like other whole-target\nEvidence, these now report no locations.\n\nVisual Studio Code.app: inspect_artifact 15.37 MB to 13.07 MB,\nextract_artifact 1.40 MB to 1.06 MB.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["782e0147cd87aeb2aca12278ebb852f994d877ad"],
|
||
"authors": [
|
||
{
|
||
"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": [1492]
|
||
},
|
||
{
|
||
"sha": "a0e5e9db2b9e3645295e1c060c01d1f24aa7e277",
|
||
"subject": "perf(artifacts)!: name each edge's child through its occurrence (#1493)",
|
||
"body": "perf(artifacts)!: name each edge's child through its occurrence (#1493)\n\nEvery inventory edge is created from one occurrence and copied that\noccurrence's artifact_id and logical_path as child_artifact_id and\nlogical_path. Edges now keep the occurrence_id reference alone. Edge IDs\nstill hash the same child and path, read from the occurrence, so they are\nunchanged; validation and artifact comparison read the occurrence too.\n\ninspect_artifact output: Transmission.app 1.10 MB to 0.97 MB, Visual\nStudio Code.app 15.37 MB to 13.48 MB.\n\nBREAKING CHANGE: Artifact inventory edges no longer include\nchild_artifact_id or logical_path; read them from the occurrence named by\noccurrence_id. The graph commitment changes, so inventory Evidence\nrecorded by earlier versions no longer validates.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["1f692c83e2e6dcf175f32c8ac532b77eb556b4d6"],
|
||
"authors": [
|
||
{
|
||
"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": [1493]
|
||
},
|
||
{
|
||
"sha": "f970b886aace516383caaa6d974f9df63faff340",
|
||
"subject": "feat: add Hermes as a supported MCP client (#1403)",
|
||
"body": "feat: add Hermes as a supported MCP client (#1403)\n\n* feat: add Hermes as a supported MCP client\n\nHermes Agent reads stdio MCP servers from `mcp_servers.<name>` in\n`config.yaml`. REA had no Hermes client, so setup could not register it and\nHermes users had to wire the server up by hand.\n\n- SupportedClients: add the `hermes` format and client definition, resolving\n the config path from HERMES_HOME, else the platform default that Hermes's own\n resolver uses (LOCALAPPDATA/hermes on Windows, ~/.hermes elsewhere), including\n HERMES_DATA_DIR_SUFFIX.\n- ClientConfigurationDocument: parse and serialize Hermes YAML, upserting the\n rea entry into the parsed document so user comments and unrelated settings are\n preserved; emit `enabled: true` since Hermes connects entries unless disabled.\n- ClientRegistrationStatus: forward the Hermes location variables so status\n checks resolve the same path as setup.\n- Tests: cover path resolution on both platforms and the register/read/uninstall\n round trip, and clear the Hermes location variables between tests.\n\n- delilah 🌸\n\n* docs: document the Hermes client and its config path\n\n- delilah 🌸\n\n* refactor(setup): resolve skill destinations per client\n\n* fix(setup): install Hermes skills in the active profile\n\n* fix(setup): identify each client skill action uniquely\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["a0e5e9db2b9e3645295e1c060c01d1f24aa7e277"],
|
||
"authors": [
|
||
{
|
||
"name": "zayd / cold",
|
||
"email": "zaydkhan3@gmail.com",
|
||
"user": {
|
||
"login": "zaydiscold",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1403]
|
||
},
|
||
{
|
||
"sha": "9e22da845bf8b447f81539e0ba57d5deb59e9103",
|
||
"subject": "feat(setup): add native Pi client support (#1376)",
|
||
"body": "feat(setup): add native Pi client support (#1376)\n\n* feat(setup): add native Pi client support\n\n* fix(setup): isolate invalid Pi agent directory overrides\n\nKeep malformed Pi path evidence on its client entry so unrelated selected clients can complete setup and doctor. Preserve explicit Pi rejection and block filesystem operations rather than falling back to another directory.\n\n* fix(setup): parse Pi configuration as strict JSON\n\nPi's installed MCP loader reads mcp.json with a bare JSON.parse and no\nBOM tolerance, so comments, trailing commas, a BOM, or an empty existing\nfile yield loader errors and no servers. Parsing the Pi dialect with\nobjectSchema.parse(JSON.parse(text)) before the shared empty/JSONC\nshortcut rejects those files at every mutation boundary instead of\nreporting configured registrations Pi cannot load. A missing file still\ninitializes a fresh strict-JSON document, other dialects keep their\nJSONC/BOM/empty tolerance, and malformed files are never rewritten.\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["f970b886aace516383caaa6d974f9df63faff340"],
|
||
"authors": [
|
||
{
|
||
"name": "Richard A Steenbergen",
|
||
"email": "38380971+rasatpetabit@users.noreply.github.com",
|
||
"user": {
|
||
"login": "rasatpetabit",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1376]
|
||
},
|
||
{
|
||
"sha": "983b070d4d5c6179526f3b24e20c9d344388b786",
|
||
"subject": "fix(artifacts): record each case collision once at its diverging segment (#1505)",
|
||
"body": "fix(artifacts): record each case collision once at its diverging segment (#1505)\n\nInventory paired every path under one case spelling with every path under\neach other spelling and listed all of them on each occurrence. An archive\nwith Foo/ and foo/ subtrees of N files each produced N-entry lists on 2N\noccurrences: 4,000 such ZIP members yielded a 120 MB inspect_artifact\nresult and close to 1 GB of memory. The trie walks also recursed once per\npath component, so a ZIP name with tens of thousands of components threw\nRangeError.\n\nA collision is now recorded at the segment where spellings diverge and\nshared down that subtree by an iterative walk. Each occurrence names the\ncolliding prefix and the first other spelling, plus a count of further\nspellings, each of which is its own occurrence.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["9e22da845bf8b447f81539e0ba57d5deb59e9103"],
|
||
"authors": [
|
||
{
|
||
"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": [1505]
|
||
},
|
||
{
|
||
"sha": "f63f12d8ff2ba1f0e832ff86e87dbf37d4a5e325",
|
||
"subject": "docs: align the Indonesian README with the other translations (#1512)",
|
||
"body": "docs: align the Indonesian README with the other translations (#1512)\n\nKeep the Bahasa Indonesia onboarding text from #1508, and fix the formatting\nthat left it outside the shared README layout: drop the leading space, point\nin-page links at the translated headings, align the analysis table, and link\nBahasa Indonesia from every language selector.\n\nCo-authored-by: Cursor Agent <cursoragent@cursor.com>\nCo-authored-by: Dev Cee <24010110166@universitasbumigora.ac.id>",
|
||
"parents": ["983b070d4d5c6179526f3b24e20c9d344388b786"],
|
||
"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": "Dev Cee",
|
||
"email": "24010110166@universitasbumigora.ac.id",
|
||
"user": {
|
||
"login": "inii-sayaa",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1512]
|
||
},
|
||
{
|
||
"sha": "911323c5dd27f4bc924b74c803587164f79f4984",
|
||
"subject": "fix(native): page every retained function dossier collection (#1507)",
|
||
"body": "fix(native): page every retained function dossier collection (#1507)\n\ninspect_analysis_view is the recovery path when an analyze_function\ndossier exceeds the MCP response budget, but its native facets covered\nonly procedure, pseudocode, assembly, callers/callees, references, and\nvalue flow. Basic blocks, comments, unresolved calls, referenced strings\nand names, and the native API record could not be read from retained\nEvidence at all; basic blocks grow with the function just like assembly.\n\nThese are now facets: collections page by rows, and native_api is a\nsingleton. A dossier without an unresolved_calls record reports \"not\nrecorded\" rather than the value-flow failure reason.\n\nRefs #1247 and #1065.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["f63f12d8ff2ba1f0e832ff86e87dbf37d4a5e325"],
|
||
"authors": [
|
||
{
|
||
"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": [1507]
|
||
},
|
||
{
|
||
"sha": "93ca276921cb6bd1ebfa0431369633c0a428bde5",
|
||
"subject": "fix(browser): accept HAR files that begin with a byte-order mark (#1509)",
|
||
"body": "fix(browser): accept HAR files that begin with a byte-order mark (#1509)\n\nHAR 1.2 lets writers emit a UTF-8 byte-order mark and requires readers to\nignore it. The decoder passed ignoreBOM: true to TextDecoder, which keeps\nthe mark in the decoded text, so a BOM-prefixed export failed as \"HAR is\nmalformed JSON.\" Decoding now uses the default, which skips one leading\nmark. The artifact digest still covers the selected file bytes.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["911323c5dd27f4bc924b74c803587164f79f4984"],
|
||
"authors": [
|
||
{
|
||
"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": [1509]
|
||
},
|
||
{
|
||
"sha": "a936303723939478cbc8ebd7068ce32ef6eb1028",
|
||
"subject": "fix(json): name a leading byte-order mark in rejected JSON input (#1510)",
|
||
"body": "fix(json): name a leading byte-order mark in rejected JSON input (#1510)\n\nStrict JSON file inputs reject a leading UTF-8 byte-order mark, but the\ndiagnostic was the parser's own message, which quotes the invisible U+FEFF\nas the unexpected token: Unexpected token '', \"{\"invento\"... is not\nvalid JSON. Editors such as Windows PowerShell 5.1 write that mark by\ndefault, and nothing in the message showed it.\n\nCLI JSON files (whole and streamed), Evidence and snapshot JSON files, and\nprocess scenario files now report that the input begins with a UTF-8\nbyte-order mark and how to save it. Acceptance is unchanged.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["93ca276921cb6bd1ebfa0431369633c0a428bde5"],
|
||
"authors": [
|
||
{
|
||
"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": [1510]
|
||
},
|
||
{
|
||
"sha": "2bf812772d7209e31e15198bc3383243ad879f39",
|
||
"subject": "fix(apple): bound binary plist expansion before decoding keyed archives (#1515)",
|
||
"body": "fix(apple): bound binary plist expansion before decoding keyed archives (#1515)\n\ninspect_keyed_archive passed caller-selected binary plists straight to\nplist.parseBinary, which recurses on every object reference and copies\nshared containers. A 484-byte archive of forty nested [next, next] arrays\ngrew the process past 4 GB until it died with no result, which would also\nend an MCP server. A 125-byte self-referencing array overflowed the stack\nand was reported as an artifact too large to process.\n\nThe iterative reference walk that already guards decode_interface_builder\nnow runs first, with an 8x keyed-archive decode budget. Over-budget depth\nor expansion is a limit; a reference cycle is a malformed archive. Its\n\"decoder\" bounds admit the same layouts plist.parseBinary reads, so\naccepted archives stay accepted. Interface Builder behavior is unchanged.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["a936303723939478cbc8ebd7068ce32ef6eb1028"],
|
||
"authors": [
|
||
{
|
||
"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": [1515]
|
||
},
|
||
{
|
||
"sha": "f51503ef1c4b0b7e8b00bf413d5a4436c8bc1d87",
|
||
"subject": "fix(process): normalize scenario replacements literally",
|
||
"body": "fix(process): normalize scenario replacements literally\n\ncapture_process_scenario declares normalization patterns as literal text, but\\nreplaceAll expands \\$&\\, \\$\\`, and \\$1\\ in the replacement as a replacement\\npattern. A caller normalizing text that contains a dollar sign silently gets\\nduplicated, spliced, or dropped content in the recorded Evidence instead of\\nthe requested literal replacement.\\n\\nUse split/join, which is literal on both sides and is already the idiom used\\nfor exact-literal scenario rules in browserScenarioNormalization.ts.\n",
|
||
"parents": ["2bf812772d7209e31e15198bc3383243ad879f39"],
|
||
"authors": [
|
||
{
|
||
"name": "openhands",
|
||
"email": "madha@algorithmx.ai",
|
||
"user": null
|
||
}
|
||
],
|
||
"pullRequests": [1456]
|
||
},
|
||
{
|
||
"sha": "2b6f14f528297cf12c776c960af0859f5cfbefbf",
|
||
"subject": "fix(process)!: version literal scenario replacement semantics",
|
||
"body": "fix(process)!: version literal scenario replacement semantics\n\nKeep caller-selected replacement text literal with a callback, preserving\nempty-search positions instead of changing their split/join behavior.\nCommit the replacement interpretation for captures using custom patterns so\nlegacy records cannot report this producer correction as a target change.\n\nBREAKING CHANGE: Captures with custom normalization patterns use\nliteral-replacements-v1 and cannot be compared with legacy unversioned\npattern captures. Capture both sides with the same replacement semantics;\nlegacy captures remain readable and captures without patterns are unaffected.\n",
|
||
"parents": ["f51503ef1c4b0b7e8b00bf413d5a4436c8bc1d87"],
|
||
"authors": [
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1456]
|
||
},
|
||
{
|
||
"sha": "b6ad1f2c3d0616e83e548efa7afed0107af122d8",
|
||
"subject": "feat(mcp): compact input schema profile for size-capped providers (kimi-cli/Moonshot) (#1514)",
|
||
"body": "feat(mcp): compact input schema profile for size-capped providers (kimi-cli/Moonshot) (#1514)\n\n* feat(mcp): add compact input schema profile for size-capped providers\n\nMoonshot's function-calling API rejects a request while any single tool\nparameters schema exceeds its literal serialized size cap, so clients\nsuch as kimi-cli fail every request while the default catalog is\nattached (#1484).\n\nAdd an opt-in REA_MCP_INPUT_SCHEMA_PROFILE=compact server presentation.\nEach advertised input schema is rendered within a 13,312-byte budget,\nmeasured to sit below the observed provider cap: annotation prose\n(nested descriptions, examples, defaults, titles) is dropped, repeated\nannotation-free subschemas are shared through schema-local $defs/$ref\nreferences the provider validates without expansion, and the three\nstructurally oversized schemas are advertised in a documented reduced\nform. The canonical catalog, tool set, output schemas, and server-side\ncanonical validation are unchanged; the default full profile is\nbyte-identical to today's advertisement.\n\nBoundary tests pin every compact schema to the budget, keep them valid\nJSON Schema that still accepts every canonical example, hold reduced\npresentations at three or fewer, and verify canonical rejection still\nguards a permissive advertisement. Verified against the real Moonshot\nAPI through kimi-cli: prompts succeed with the compact catalog attached\nwhere the default catalog fails every request with 400.\n\n* fix(mcp): preserve compact schemas through Kimi conversion\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["2b6f14f528297cf12c776c960af0859f5cfbefbf"],
|
||
"authors": [
|
||
{
|
||
"name": "Haythem Sellami",
|
||
"email": "17862704+haythemsellami@users.noreply.github.com",
|
||
"user": {
|
||
"login": "haythemsellami",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1514]
|
||
},
|
||
{
|
||
"sha": "b25922e4e8fe389cf17c151ccb7b4be4a42824d9",
|
||
"subject": "test(clients): verify native Qwen Pi and Hermes workflows (#1511)",
|
||
"body": "test(clients): verify native Qwen Pi and Hermes workflows (#1511)",
|
||
"parents": ["b6ad1f2c3d0616e83e548efa7afed0107af122d8"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1511]
|
||
},
|
||
{
|
||
"sha": "7a56fe6260cbda2e4c77e30d143db0e62f211b5b",
|
||
"subject": "fix(setup): honor active client configuration and skill roots (#1504)",
|
||
"body": "fix(setup): honor active client configuration and skill roots (#1504)\n\n* refactor(setup): resolve skill destinations per client\n\n* fix(setup): honor active client configuration and skill roots\n\n* fix(setup): validate effective client scopes and Gemini trust\n\n* fix(setup): treat empty OpenCode overrides as unset\n\nAn empty OPENCODE_CONFIG_DIR now stays on the XDG directory, and doctor\nand setup inspect global OpenCode files when a custom directory is absent.\nUninstall reports one status per client so a missing earlier layer does\nnot hide a removed registration.\n\n---------\n\nCo-authored-by: Cursor Agent <cursoragent@cursor.com>",
|
||
"parents": ["b25922e4e8fe389cf17c151ccb7b4be4a42824d9"],
|
||
"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": [1504]
|
||
},
|
||
{
|
||
"sha": "b4db35f092d7166aebdf4387b48f7652b1d1c3b6",
|
||
"subject": "fix: bind identity and coverage to the producing rule (#1513)",
|
||
"body": "fix: bind identity and coverage to the producing rule (#1513)\n\n* fix: bind identity and coverage to the producing rule\n\nLogical paths, container families, examined bytes, path-segment conventions, destination collisions, file-id leases, Mach-O CPU selection, and firmware cleanup now follow the observation that owns each rule.\n\n* fix: fail unmatched Mach-O slices and keep firmware roots independent\n\nA fat target whose architecture lipo did not list now stops before slice tools run. Chained fixups still count unread LC_DYLD_INFO rebase bytes, and a firmware cleanup failure no longer blocks the next workspace.\n\n* test: cover path identity and runtime families at the projection boundary\n\nNFC joins and segment conventions are now asserted by the path resolver, the Apple projection, and a real APK inventory instead of helper unit tests.\n\n* test: expect unread dyld rebase bytes in the Apple dispatch fixture\n\nThe legacy LC_DYLD_INFO fixture keeps a rebase range this reader does not decode, so the public CLI and MCP check now requires that partial coverage beside the bind opcodes.\n\n---------\n\nCo-authored-by: Cursor Agent <cursoragent@cursor.com>",
|
||
"parents": ["7a56fe6260cbda2e4c77e30d143db0e62f211b5b"],
|
||
"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": [1513]
|
||
},
|
||
{
|
||
"sha": "46c9cba03a52b8ec382a686cd70ded6128225db8",
|
||
"subject": "fix(javascript): expand an escaped receiver's methods once (#1495) (#1517)",
|
||
"body": "fix(javascript): expand an escaped receiver's methods once (#1495) (#1517)\n\nSince #1471, escaping an object also escapes every method's results. Each\ncall through the object escapes it as the receiver, and each escape\nre-expanded all of its methods. N methods returning one shared object,\neach called once, did N times N work: 2,000 calls took 3.0 s of semantic\nanalysis and 4,000 took 12 s.\n\nExpansion below references depends only on syntax, so escapes now reuse\nit per expression and path. Identifiers that resolve to the same binding\nand path collapse to one, because the escape walk treats them alike.\nEvery escape site is still recorded. The semantic IR is byte-identical\non 50 sources, and the issue's case takes 253 ms at 2,000 and 638 ms at\n4,000.\n\nCloses #1495\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["b4db35f092d7166aebdf4387b48f7652b1d1c3b6"],
|
||
"authors": [
|
||
{
|
||
"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": [1517]
|
||
},
|
||
{
|
||
"sha": "f9ce32b4749026d3b6c05b8880f5549967cdb6ad",
|
||
"subject": "test(javascript): verify escaped receivers through CLI and MCP",
|
||
"body": "test(javascript): verify escaped receivers through CLI and MCP",
|
||
"parents": ["46c9cba03a52b8ec382a686cd70ded6128225db8"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1526]
|
||
},
|
||
{
|
||
"sha": "72b3209f3a77b58a7dcd7096affb67ef71cf26c3",
|
||
"subject": "docs(website): explain autonomy and oracle lessons in Touhou reconstruction",
|
||
"body": "docs(website): explain autonomy and oracle lessons in Touhou reconstruction\n",
|
||
"parents": ["f9ce32b4749026d3b6c05b8880f5549967cdb6ad"],
|
||
"authors": [
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1532]
|
||
},
|
||
{
|
||
"sha": "5fdb0636b4734cabfa3147e8fcc94976c3bd8aa4",
|
||
"subject": "fix(javascript): yield during per-file projection and graph construction (#1525)",
|
||
"body": "fix(javascript): yield during per-file projection and graph construction (#1525)\n\nanalyze_javascript_application ran several long phases with no event-loop\nturn, so MCP ping and cancellation waited: each file's parse, analysis and\nsemantic projection; building every application node and relationship\nbefore the application graph's first sealing step; and whole-graph schema\nparses inside both immutable graph factories.\n\n- Each file runs as steps (parse, static analysis, semantic analysis, then\n each projection pass), driven by the existing time-sliced checkpoint.\n- Application graph input construction yields between phases, per module\n link and per file of findings.\n- The pipeline transfers its privately built graph inputs to new sealing\n steps that validate the graph's own fields synchronously and elements,\n content checks and the digest in steps. The public copying factories\n keep their synchronous capture.\n\nResults are unchanged: graph IDs and the complete result digest match main\non five inputs including Obsidian's 23 MB obsidian.asar. On the issue's\n1,200-function fixture the longest event-loop block falls from about\n290 ms to 90 ms, and ping after abort from up to 286 ms to at most 56 ms.\nOn obsidian.asar it falls from 10.9 s to 5.4 s; the rest is one analyzer\nstage of a single very large file.\n\nRefs #1462\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>\nCo-authored-by: N0zoM1z0 <161784452+N0zoM1z0@users.noreply.github.com>",
|
||
"parents": ["72b3209f3a77b58a7dcd7096affb67ef71cf26c3"],
|
||
"authors": [
|
||
{
|
||
"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": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1525]
|
||
},
|
||
{
|
||
"sha": "92741187ecb77674bd9c1f6f6ad9ebb21b32bbf9",
|
||
"subject": "docs: list all supported clients in the REA skill (#1523)",
|
||
"body": "docs: list all supported clients in the REA skill (#1523)\n\ndocs: include all supported clients in the REA skill\n\nCo-authored-by: Ysopwnable <161784452+N0zoM1z0@users.noreply.github.com>",
|
||
"parents": ["5fdb0636b4734cabfa3147e8fcc94976c3bd8aa4"],
|
||
"authors": [
|
||
{
|
||
"name": "Peter",
|
||
"email": "304086198+peter-research@users.noreply.github.com",
|
||
"user": {
|
||
"login": "peter-research",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1523]
|
||
},
|
||
{
|
||
"sha": "86b223b33ed3859df9b6d07527a58e800c739765",
|
||
"subject": "fix(setup): follow and validate Hermes sticky profiles (#1528)",
|
||
"body": "fix(setup): follow and validate Hermes sticky profiles (#1528)\n\n* fix: follow Hermes sticky profile for setup paths\n\n* test: cover Hermes sticky profile paths\n\n* fix: honor Hermes profiles with home overrides\n\n* style: format Hermes profile lookup\n\n* style: format Hermes profile tests\n\n* fix(ci): avoid load-sensitive escape regression timing\n\n* fix(setup): validate Hermes sticky profile identity\n\n---------\n\nCo-authored-by: N0zoM1z0 <1705004398@qq.com>",
|
||
"parents": ["92741187ecb77674bd9c1f6f6ad9ebb21b32bbf9"],
|
||
"authors": [
|
||
{
|
||
"name": "Peter",
|
||
"email": "304086198+peter-research@users.noreply.github.com",
|
||
"user": {
|
||
"login": "peter-research",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "1705004398@qq.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1528]
|
||
},
|
||
{
|
||
"sha": "3059d8a40f6dcf1e0709937ed1be2166d704bbaf",
|
||
"subject": "test(clients): verify native DeepSeek Harness integration (#1524)",
|
||
"body": "test(clients): verify native DeepSeek Harness integration (#1524)\n\n* test(clients): verify native DeepSeek Harness integration\n\n* fix(ci): avoid load-sensitive escape regression timing",
|
||
"parents": ["86b223b33ed3859df9b6d07527a58e800c739765"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1524]
|
||
},
|
||
{
|
||
"sha": "9964af6b79d7b8cf13858d6cc26176546a92c3fe",
|
||
"subject": "fix(ci): synchronize browser fixture events before inspection (#1534)",
|
||
"body": "fix(ci): synchronize browser fixture events before inspection (#1534)",
|
||
"parents": ["3059d8a40f6dcf1e0709937ed1be2166d704bbaf"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1534]
|
||
},
|
||
{
|
||
"sha": "706bba6e13ed27faf34c79149aa4927938139dab",
|
||
"subject": "feat(process): report live capture progress through CLI and MCP",
|
||
"body": "feat(process): report live capture progress through CLI and MCP\n\nLong captures emitted only a final result, so a quiet child looked idle.\nPass the shared rate-limited progress reporter through the capture lifecycle\nand report the observed phase, elapsed time, and collected-unit counts.\nCLI writes those lines to stderr; MCP forwards them only when the client\nsupplied a progress token. Final Evidence on stdout keeps its shape.\n",
|
||
"parents": ["9964af6b79d7b8cf13858d6cc26176546a92c3fe"],
|
||
"authors": [
|
||
{
|
||
"name": "Cursor Agent",
|
||
"email": "cursoragent@cursor.com",
|
||
"user": {
|
||
"login": "cursoragent",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1483]
|
||
},
|
||
{
|
||
"sha": "6cd5ea0fb282c23cd08ca03e81ae2436b8c0661b",
|
||
"subject": "fix(process): coalesce delayed capture progress",
|
||
"body": "fix(process): coalesce delayed capture progress\n\nRetain one pending intermediate observation and drop stale live status before terminal cleanup. Preserve monotonic counts and final delivery while an observer is slow or rejects an update.\n\nVerify the send rate at its controlled-clock owner and lifecycle notification density at the CLI/MCP boundary, where receive timestamps include buffering and scheduling.\n",
|
||
"parents": ["706bba6e13ed27faf34c79149aa4927938139dab"],
|
||
"authors": [
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1483]
|
||
},
|
||
{
|
||
"sha": "3cd80cbb88708229ad39105522ad2814e1c09c4b",
|
||
"subject": "test(process): prepare SDK validation before cancellation timing",
|
||
"body": "test(process): prepare SDK validation before cancellation timing\n",
|
||
"parents": ["6cd5ea0fb282c23cd08ca03e81ae2436b8c0661b"],
|
||
"authors": [
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1483]
|
||
},
|
||
{
|
||
"sha": "bace2c5a4faf7ad55c574b181ed276693eaf84ae",
|
||
"subject": "fix(javascript): avoid argument limits when expanding escaped receivers",
|
||
"body": "fix(javascript): avoid argument limits when expanding escaped receivers",
|
||
"parents": ["3cd80cbb88708229ad39105522ad2814e1c09c4b"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1539]
|
||
},
|
||
{
|
||
"sha": "b9c439831d709e2fe6b8c69b83ec4157dff43d99",
|
||
"subject": "test(clients): verify native Gemini CLI integration (#1541)",
|
||
"body": "test(clients): verify native Gemini CLI integration (#1541)",
|
||
"parents": ["bace2c5a4faf7ad55c574b181ed276693eaf84ae"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1541]
|
||
},
|
||
{
|
||
"sha": "ca7ef69c0ceed367470cb2d8e867a33e61706b02",
|
||
"subject": "fix(javascript): yield inside semantic analysis and large projection passes (#1542)",
|
||
"body": "fix(javascript): yield inside semantic analysis and large projection passes (#1542)\n\n* fix(javascript): yield inside semantic analysis and large projection passes\n\nAfter #1525 the longest event-loop blocks were single stages on very large\nfiles: semantic analysis of Obsidian's 3.7 MB app.js ran 5.8 s in one piece,\nand its object projection 1.8 s.\n\n- analyzeParsedJavaScriptSemanticsSteps yields between the analysis phases\n and between the eight derived collectors; the synchronous function drains\n it, so results are unchanged.\n- Per-file analysis yields between open-receiver classification and static\n analysis and drives the semantic steps.\n- Semantic node creation, definitions and references, and the object and\n frontier passes yield every 64 items. Node creation keeps source order,\n which the per-file node budget depends on.\n\nOn obsidian.asar the longest block falls from 5,355 ms to 907 ms with the\nsame total time (40.6 s to 39.5 s). Graph IDs and complete result digests\nmatch main on five inputs. Remaining blocks up to about 0.9 s are single\nAST traversal passes inside the analyzers.\n\nRefs #1462\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\n\n* refactor(javascript): drop the unused synchronous derived-semantics wrapper\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["b9c439831d709e2fe6b8c69b83ec4157dff43d99"],
|
||
"authors": [
|
||
{
|
||
"name": "Kaoru0822",
|
||
"email": "aisakamimaki@gmail.com",
|
||
"user": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1542]
|
||
},
|
||
{
|
||
"sha": "1887e1120e91ee5f11672c2949c8b7ec59026c16",
|
||
"subject": "fix: reuse validators for identical output schemas",
|
||
"body": "fix: reuse validators for identical output schemas",
|
||
"parents": ["ca7ef69c0ceed367470cb2d8e867a33e61706b02"],
|
||
"authors": [
|
||
{
|
||
"name": "Peter",
|
||
"email": "304086198+peter-research@users.noreply.github.com",
|
||
"user": {
|
||
"login": "peter-research",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1527]
|
||
},
|
||
{
|
||
"sha": "aa7008f8a5937253f578a4338419c7e2330a9924",
|
||
"subject": "fix: reuse validators for identical output schemas",
|
||
"body": "fix: reuse validators for identical output schemas",
|
||
"parents": ["1887e1120e91ee5f11672c2949c8b7ec59026c16"],
|
||
"authors": [
|
||
{
|
||
"name": "Peter",
|
||
"email": "304086198+peter-research@users.noreply.github.com",
|
||
"user": {
|
||
"login": "peter-research",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1527]
|
||
},
|
||
{
|
||
"sha": "c73cf0ab7695049e5b8267f18182cb87200c78b2",
|
||
"subject": "fix(verification): reuse shared output schemas in Electron checks",
|
||
"body": "fix(verification): reuse shared output schemas in Electron checks\n",
|
||
"parents": ["aa7008f8a5937253f578a4338419c7e2330a9924"],
|
||
"authors": [
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1527]
|
||
},
|
||
{
|
||
"sha": "539a0f95b5c0d43080cf0561bd5963d5ccf9548a",
|
||
"subject": "test(clients): verify native OpenCode integration (#1546)",
|
||
"body": "test(clients): verify native OpenCode integration (#1546)",
|
||
"parents": ["c73cf0ab7695049e5b8267f18182cb87200c78b2"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1546]
|
||
},
|
||
{
|
||
"sha": "8c7569aca79349eec9def0fa98cbf04fdbcf0d02",
|
||
"subject": "test(clients): verify native Claude Code integration (#1549)",
|
||
"body": "test(clients): verify native Claude Code integration (#1549)",
|
||
"parents": ["539a0f95b5c0d43080cf0561bd5963d5ccf9548a"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1549]
|
||
},
|
||
{
|
||
"sha": "5aa30b8b867836df578639e824d8b47bdc54f861",
|
||
"subject": "chore(website): simplify maintenance and detect documentation drift",
|
||
"body": "chore(website): simplify maintenance and detect documentation drift\n",
|
||
"parents": ["8c7569aca79349eec9def0fa98cbf04fdbcf0d02"],
|
||
"authors": [
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1547]
|
||
},
|
||
{
|
||
"sha": "e964a06b83c92c03551d29c1b7ecfa7db322cce2",
|
||
"subject": "fix(website): preserve template-owned HTML formatting",
|
||
"body": "fix(website): preserve template-owned HTML formatting\n",
|
||
"parents": ["5aa30b8b867836df578639e824d8b47bdc54f861"],
|
||
"authors": [
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1547]
|
||
},
|
||
{
|
||
"sha": "5d6eeb22fb3bc005163e3c680cf524ba7659b48a",
|
||
"subject": "fix(javascript): yield during the largest AST traversals (#1545)",
|
||
"body": "fix(javascript): yield during the largest AST traversals (#1545)\n\nAfter #1542 the longest event-loop blocks on large bundles were single AST\ntraversals inside one analyzer: member-mutation collection with its\nfixpoint, static source analysis, and function fingerprints, each about\none second on Obsidian's 3.7 MB app.js.\n\n- traverseJavaScriptAstSteps yields every 1,024 visited nodes with the\n same visit order; traverseJavaScriptAst drains it, so every existing\n caller is unchanged.\n- Member mutations, static analysis and fingerprints run as steps. The\n member-mutation fixpoint yields every 64 references, and fingerprints\n yield between callables.\n- The now-unused synchronous member-mutation and fingerprint wrappers are\n removed.\n\nGraph IDs and complete result digests match main on three inputs,\nincluding obsidian.asar. Over two runs there, the longest block falls\nfrom about 920 ms to 740 ms, the second from 860 to 595 ms, and blocks\nover 250 ms from 27 to 18, with total time within 1.5%.\n\nRefs #1462\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["e964a06b83c92c03551d29c1b7ecfa7db322cce2"],
|
||
"authors": [
|
||
{
|
||
"name": "Kaoru0822",
|
||
"email": "aisakamimaki@gmail.com",
|
||
"user": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1545]
|
||
},
|
||
{
|
||
"sha": "2d99e1e3b268181bb4b3e02e1cb769c550806481",
|
||
"subject": "test(ghidra): preserve Node heap options in adapter verification (#1550)",
|
||
"body": "test(ghidra): preserve Node heap options in adapter verification (#1550)",
|
||
"parents": ["5d6eeb22fb3bc005163e3c680cf524ba7659b48a"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1550]
|
||
},
|
||
{
|
||
"sha": "47947eb01cfb5f15fb1d70042e35c02142436d25",
|
||
"subject": "perf(javascript): index returned object targets",
|
||
"body": "perf(javascript): index returned object targets",
|
||
"parents": ["2d99e1e3b268181bb4b3e02e1cb769c550806481"],
|
||
"authors": [
|
||
{
|
||
"name": "Geekwolf",
|
||
"email": "geekwolf@163.com",
|
||
"user": {
|
||
"login": "geekwolf",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1537]
|
||
},
|
||
{
|
||
"sha": "b973b1b1ec54d394643f2c842de04a22ed1c6780",
|
||
"subject": "test(javascript): cover returned object scaling",
|
||
"body": "test(javascript): cover returned object scaling",
|
||
"parents": ["47947eb01cfb5f15fb1d70042e35c02142436d25"],
|
||
"authors": [
|
||
{
|
||
"name": "Geekwolf",
|
||
"email": "geekwolf@163.com",
|
||
"user": {
|
||
"login": "geekwolf",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1537]
|
||
},
|
||
{
|
||
"sha": "9ffc6210a41b35b9ab8be878365ee7db29a83af9",
|
||
"subject": "test(javascript): remove duplicate escaped-receiver cases",
|
||
"body": "test(javascript): remove duplicate escaped-receiver cases\n",
|
||
"parents": ["b973b1b1ec54d394643f2c842de04a22ed1c6780"],
|
||
"authors": [
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1537]
|
||
},
|
||
{
|
||
"sha": "a6d6e595f3eeb05c3347d1ad71ec7165b8a674a7",
|
||
"subject": "docs: add Italian (it) README translation (#1455)",
|
||
"body": "docs: add Italian (it) README translation (#1455)\n\n* docs: add Italian (it) README translation\n\nAdds README_it.md (full Italian translation of the English README) and updates the language nav bar in all existing READMEs to include the new [Italiano] link, appended at the end of the bar (after Bahasa Indonesia) to match the repository's convention for adding new languages.\n\nRebuilt on top of current main to resolve the merge conflict caused by the recently added Bahasa Indonesia (README_id.md) translation.\n\nCloses #1453\n\n* docs: fix Italian README showcase anchors\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["9ffc6210a41b35b9ab8be878365ee7db29a83af9"],
|
||
"authors": [
|
||
{
|
||
"name": "Franky100-pig",
|
||
"email": "fufranky971@gmail.com",
|
||
"user": {
|
||
"login": "Franky100-pig",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1455]
|
||
},
|
||
{
|
||
"sha": "961471205cd0199f28c27bd91e5e7f0608f0bdb4",
|
||
"subject": "fix(docs): format Italian README tables",
|
||
"body": "fix(docs): format Italian README tables\n",
|
||
"parents": ["a6d6e595f3eeb05c3347d1ad71ec7165b8a674a7"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "02ef2b1c41e80364b6482e4586ae40e575c6d5a5",
|
||
"subject": "docs(zh): rename title to 逆向一切",
|
||
"body": "docs(zh): rename title to 逆向一切\n",
|
||
"parents": ["961471205cd0199f28c27bd91e5e7f0608f0bdb4"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "c8fd2f152b7e757a1b41ce9f5df20cd91d41462e",
|
||
"subject": "fix(apple): scope keyed archive traversal to the selection",
|
||
"body": "fix(apple): scope keyed archive traversal to the selection\n\nSigned-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>\n",
|
||
"parents": ["02ef2b1c41e80364b6482e4586ae40e575c6d5a5"],
|
||
"authors": [
|
||
{
|
||
"name": "Rudy Celekli",
|
||
"email": "47457359+rudycelekli@users.noreply.github.com",
|
||
"user": {
|
||
"login": "rudycelekli",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1378]
|
||
},
|
||
{
|
||
"sha": "4b985e5021f578e6ef0bc2a412abe9cba6bdaca1",
|
||
"subject": "fix(artifacts): take nested container families from bytes (#1553)",
|
||
"body": "fix(artifacts): take nested container families from bytes (#1553)\n\nInventory gave nested members a ZIP or ASAR family from their path\nsuffix. Byte classification replaced it only for ZIP magic, so text named\n`.apk` or `.asar` stayed a container, and encrypted entries and symlinks\nkept the suffix guess. A filesystem `.asar` without an ASAR header failed\nthe whole inventory as a malformed archive.\n\nNested ZIP families now follow ZIP magic and ASAR follows its header\npickle, shared with root classification. An unread member named like a\ncontainer has an unknown format and a limitation naming the suffix. ASAR\nexpansion requires the header.\n\nThe Android projection adds a limitation when no root AndroidManifest.xml\nwas observed, and its rejection names the observed root format.\n\nFixes #1491\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["c8fd2f152b7e757a1b41ce9f5df20cd91d41462e"],
|
||
"authors": [
|
||
{
|
||
"name": "Kaoru0822",
|
||
"email": "aisakamimaki@gmail.com",
|
||
"user": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1553]
|
||
},
|
||
{
|
||
"sha": "66a9ad58fc53e80150abe6d27bd8bba516541f8b",
|
||
"subject": "test(clients): verify native GitHub Copilot CLI integration (#1555)",
|
||
"body": "test(clients): verify native GitHub Copilot CLI integration (#1555)",
|
||
"parents": ["4b985e5021f578e6ef0bc2a412abe9cba6bdaca1"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1555]
|
||
},
|
||
{
|
||
"sha": "0e19db9fce74af2081144102f5787cf90a450244",
|
||
"subject": "fix(javascript): unify package resolution and resolve exact exports subpaths (#1424)",
|
||
"body": "fix(javascript): unify package resolution and resolve exact exports subpaths (#1424)\n\n* fix(javascript): resolve exact package export subpaths\n\nBare module specifiers with subpaths now resolve against the selected\npackage's exports map instead of staying external. An exact subpath key\nselects its target through the existing condition, array, and null\nsemantics, and the selected target resolves as one exact file with no\nextension or index fallback. A declared exports map encapsulates every\nother subpath lookup, and packages without an exports map keep legacy\nfile and directory-index resolution.\n\nPackage-private import aliases remain external pending a separate\nincrement (#1365).\n\nVerification: npm run check:fast; focused and full\nsrc/application/javascript source tests on Windows;\nverify:test-discovery; docs:check. Four pre-existing failures in\nJavaScriptFileUrlPaths and JavaScriptModuleSpecifierPaths reproduce on\nunmodified main on Windows because their fixtures write file names\ncontaining '?'.\n\n* fix(javascript): unify package path resolution\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["66a9ad58fc53e80150abe6d27bd8bba516541f8b"],
|
||
"authors": [
|
||
{
|
||
"name": "AWUQAQ",
|
||
"email": "clw25952@gmail.com",
|
||
"user": {
|
||
"login": "AWUQAQ",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1424]
|
||
},
|
||
{
|
||
"sha": "b32a11e1a7a1148bd8a2964cb197925ee9f9fb46",
|
||
"subject": "docs: correct host requirements in the README analysis tables (#1422)",
|
||
"body": "docs: correct host requirements in the README analysis tables (#1422)\n\n- EVM bytecode and recorded crashes: state the Linux x64 host requirement.\n `EvmoleInterfaceProvider` and `PwntoolsDecoder` refuse every other host\n with `capability_unavailable`, but only the neighbouring offline ELF layout\n row said so.\n- Translations: Android analysis has supported Windows x64 since 6.2.0\n (#1276), which updated only the English table; 16 translations still said\n Linux/macOS.\n\nTranslated cells reuse each README's own wording: the recorded-crash cell\ncopies that file's ELF-row pwntools phrase, and the EVM and Android cells\nfollow the construction the same table already uses for host platforms.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["0e19db9fce74af2081144102f5787cf90a450244"],
|
||
"authors": [
|
||
{
|
||
"name": "Fazmin Nizam",
|
||
"email": "fazmin.nizam@gmail.com",
|
||
"user": {
|
||
"login": "Fazmin",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1422]
|
||
},
|
||
{
|
||
"sha": "944981d8d55e6ce2369362058e3325b267cbbe2e",
|
||
"subject": "docs: correct stale logging, Ghidra host, and example path statements (#1420)",
|
||
"body": "docs: correct stale logging, Ghidra host, and example path statements (#1420)\n\n- CONTRIBUTING: CLI logs go to stderr, not stdout. `createLogger` writes every\n mode to fd 2 so protocol and `--json` stdout stay parseable.\n- Get started: Ghidra supports Linux arm64 (`GhidraInstallation` maps\n `linux.arm64`), as installation.md already states.\n- Browser guide: drop the caption claiming the hosted request path carries a\n `/rea/` prefix. The guide now targets rea.tools, where the example is served\n at `/examples/notes-web/`, as the evidence table above it shows.\n- JavaScript workflows: six CLI commands accept inline JSON or a JSON file,\n not five; `inspect-analysis-view` was added after the sentence was written.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["b32a11e1a7a1148bd8a2964cb197925ee9f9fb46"],
|
||
"authors": [
|
||
{
|
||
"name": "Fazmin Nizam",
|
||
"email": "fazmin.nizam@gmail.com",
|
||
"user": {
|
||
"login": "Fazmin",
|
||
"__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": [1420]
|
||
},
|
||
{
|
||
"sha": "afdaf981171213b8f7e739ded685e8e805a8e842",
|
||
"subject": "fix(hopper): treat a directory launcher path as missing (#1426)",
|
||
"body": "fix(hopper): treat a directory launcher path as missing (#1426)\n\n`HOPPER_LAUNCHER_PATH` availability was decided by an `X_OK` access check\nalone, which a searchable directory also passes. Pointing it at the\n`Hopper Disassembler.app` bundle instead of its launcher made `rea providers`\nreport Hopper as available and `rea doctor` report it healthy, while analysis\nthen failed with an unrelated `version_unresolved` rejection.\n\nRequire a regular file in both the provider availability probe and the\ndoctor executable probe, matching the Ghidra launcher check. A directory now\nreports `executable_missing`, and doctor reports `config_drift` with its\nexisting HOPPER_LAUNCHER_PATH remediation.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["944981d8d55e6ce2369362058e3325b267cbbe2e"],
|
||
"authors": [
|
||
{
|
||
"name": "Fazmin Nizam",
|
||
"email": "fazmin.nizam@gmail.com",
|
||
"user": {
|
||
"login": "Fazmin",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1426]
|
||
},
|
||
{
|
||
"sha": "2ec93ba1662ff0d61496d4d10337ae43ca03ccdf",
|
||
"subject": "docs: celebrate 60,000 GitHub stars 🎉 (#1559)",
|
||
"body": "docs: celebrate 60,000 GitHub stars 🎉 (#1559)\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["afdaf981171213b8f7e739ded685e8e805a8e842"],
|
||
"authors": [
|
||
{
|
||
"name": "Kaoru0822",
|
||
"email": "aisakamimaki@gmail.com",
|
||
"user": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1559]
|
||
},
|
||
{
|
||
"sha": "24d93376492d167fe7d96f6c10dee071b9ef363f",
|
||
"subject": "fix(native): preserve compact reference provenance (#1438)",
|
||
"body": "fix(native): preserve compact reference provenance (#1438)\n\nCo-authored-by: N0zoM1z0 <161784452+N0zoM1z0@users.noreply.github.com>",
|
||
"parents": ["2ec93ba1662ff0d61496d4d10337ae43ca03ccdf"],
|
||
"authors": [
|
||
{
|
||
"name": "Joseph Demarest",
|
||
"email": "79677753+JosephDemarest@users.noreply.github.com",
|
||
"user": {
|
||
"login": "JosephDemarest",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1438]
|
||
},
|
||
{
|
||
"sha": "de619bd33450a9869395eaeb25fe5c4d6e034e36",
|
||
"subject": "fix(ida): canonicalize the headless workspace root before opening (#1481)",
|
||
"body": "fix(ida): canonicalize the headless workspace root before opening (#1481)\n\nOn macOS the default workspace root is os.tmpdir() under /var/folders,\nand /var is a symlink to /private/var. idalib-mcp reports the canonical\ninput path from idb_open/idb_list, while REA compared it against the\nuncanonicalized private copy with normalize(), so every headless IDA\nanalysis failed its identity check (surfacing as unreadable_output) and\nthe spawned idalib worker was never released.\n\nResolve the workspace root with realpath() when allocating the private\nworkspace so the input path REA sends already matches what upstream\nreports.\n\nCo-authored-by: Xingchuan Ma <xingchuan.ma@msn.com>\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["24d93376492d167fe7d96f6c10dee071b9ef363f"],
|
||
"authors": [
|
||
{
|
||
"name": "Max",
|
||
"email": "68940212+AS9929@users.noreply.github.com",
|
||
"user": {
|
||
"login": "AS9929",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Xingchuan Ma",
|
||
"email": "xingchuan.ma@msn.com",
|
||
"user": null
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1481]
|
||
},
|
||
{
|
||
"sha": "8c47a9ce4b1349b3ccd50da8f8c587a3080759af",
|
||
"subject": "fix(javascript): yield during receiver and reference classification (#1557)",
|
||
"body": "fix(javascript): yield during receiver and reference classification (#1557)",
|
||
"parents": ["de619bd33450a9869395eaeb25fe5c4d6e034e36"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1557]
|
||
},
|
||
{
|
||
"sha": "a929c9f714f5f27d3232bee83a162fa21d5dc449",
|
||
"subject": "fix(mobile): bound framework conventions to path segments (#1506)",
|
||
"body": "fix(mobile): bound framework conventions to path segments (#1506)\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["8c47a9ce4b1349b3ccd50da8f8c587a3080759af"],
|
||
"authors": [
|
||
{
|
||
"name": "Thang Luu",
|
||
"email": "thangldw@gmail.com",
|
||
"user": {
|
||
"login": "thangldw",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1506]
|
||
},
|
||
{
|
||
"sha": "2d426c924c536cf6d905b992a9e334ee51f3f28f",
|
||
"subject": "fix(native): format runtime convention guard",
|
||
"body": "fix(native): format runtime convention guard\n",
|
||
"parents": ["a929c9f714f5f27d3232bee83a162fa21d5dc449"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "a53689c55d6e801d78596a36173fa2fee80be918",
|
||
"subject": "fix(mcp): stop advertising complete Evidence in input examples (#1560)",
|
||
"body": "fix(mcp): stop advertising complete Evidence in input examples (#1560)\n\nHosts forward every tool's input schema to the model on each request.\nSeventeen tools advertised a canonical example that embedded a complete\nproducer Evidence record, up to 22 KB each, accounting for 116 KB of the\n450 KB of advertised input schemas.\n\nAdvertised examples now show an embedded Evidence record as its exact\nretained-evidence reference when the canonical input accepts one, and\nomit an example that can only carry inline Evidence. Canonical contract\nexamples, their executable tests, and validation are unchanged.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["2d426c924c536cf6d905b992a9e334ee51f3f28f"],
|
||
"authors": [
|
||
{
|
||
"name": "Kaoru0822",
|
||
"email": "aisakamimaki@gmail.com",
|
||
"user": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1560]
|
||
},
|
||
{
|
||
"sha": "e4cc0f09de257aad27a8d8b8e8512fbe1ef2d960",
|
||
"subject": "fix(setup): reject invalid OMP profiles before fallback writes (#1562)",
|
||
"body": "fix(setup): reject invalid OMP profiles before fallback writes (#1562)",
|
||
"parents": ["a53689c55d6e801d78596a36173fa2fee80be918"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1562]
|
||
},
|
||
{
|
||
"sha": "649661dc8baa6976bbd8385c65ef0f21aa5745de",
|
||
"subject": "fix(javascript): stop reading media preload attributes as Electron preloads",
|
||
"body": "fix(javascript): stop reading media preload attributes as Electron preloads\n\nHTML audio and video elements have their own `preload` attribute (\"none\",\n\"metadata\", \"auto\"). A React renderer compiles `<audio preload=\"metadata\">`\nto `jsx(\"audio\", { preload: \"metadata\" })`, and the `property:preload`\nheuristic reported it as an Electron preload script named `metadata`.\n\nSkip `preload` properties in the props object of a call whose first\nargument is the static tag `audio` or `video`. The callee is not checked,\nbecause minified element factories have arbitrary names.\n\nCo-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01XPY2GmufMNGQKoEgRUx1pd\n",
|
||
"parents": ["e4cc0f09de257aad27a8d8b8e8512fbe1ef2d960"],
|
||
"authors": [
|
||
{
|
||
"name": "Claude",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1393]
|
||
},
|
||
{
|
||
"sha": "c19e15a2b3f09b3f693d7eab5263d83f4d2d1cd4",
|
||
"subject": "feat(javascript): return a retained summary view on request (#1568)",
|
||
"body": "feat(javascript): return a retained summary view on request (#1568)\n\nanalyze_javascript_application returns the complete application graph\ninline, which repeats tens of kilobytes even for a few source lines and\nexceeds the default 10 MiB MCP frame for a 300-function source file.\n\nThe new optional detail input keeps complete delivery by default. With\ndetail \"summary\" the server records the complete analysis Evidence in\nthe session and returns its inspect_analysis_view summary, whose\nparent_evidence_id lets callers page modules, select items, or pass the\nretained reference to application workflows. A server without Evidence\nretention refuses summary detail with capability_unavailable rather\nthan returning a summary whose analysis cannot be reached.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["649661dc8baa6976bbd8385c65ef0f21aa5745de"],
|
||
"authors": [
|
||
{
|
||
"name": "Kaoru0822",
|
||
"email": "aisakamimaki@gmail.com",
|
||
"user": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1568]
|
||
},
|
||
{
|
||
"sha": "5156ba44c58f1361e8b6304fcd1cb092eaa85de9",
|
||
"subject": "feat(native): return a retained summary view of binary layouts on request (#1570)",
|
||
"body": "feat(native): return a retained summary view of binary layouts on request (#1570)\n\ninspect_binary_layout accepts the same optional detail input as\nanalyze_javascript_application. The default complete delivery is\nunchanged; detail \"summary\" retains the complete layout Evidence in the\nsession and returns its inspect_analysis_view summary, whose\nparent_evidence_id selects sections, symbols, mitigations or linkage\nlater. Both tools share one detail schema and output projection.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["c19e15a2b3f09b3f693d7eab5263d83f4d2d1cd4"],
|
||
"authors": [
|
||
{
|
||
"name": "Kaoru0822",
|
||
"email": "aisakamimaki@gmail.com",
|
||
"user": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1570]
|
||
},
|
||
{
|
||
"sha": "efd81f977604a7b0ed55c2ee11f8b0da356d6c0f",
|
||
"subject": "test(clients): verify native Grok Build workflows (#1571)",
|
||
"body": "test(clients): verify native Grok Build workflows (#1571)",
|
||
"parents": ["5156ba44c58f1361e8b6304fcd1cb092eaa85de9"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1571]
|
||
},
|
||
{
|
||
"sha": "fef6f730643dd60a80a109fc9751e1782b79ab4a",
|
||
"subject": "feat(adb): complete ADB device support for Android reverse engineering (#1552)",
|
||
"body": "feat(adb): complete ADB device support for Android reverse engineering (#1552)\n\n* feat(adb): acquire installed APK sets from connected Android devices\n\nAdd a read-only ADB device-acquisition family over the caller's adb binary:\ninspect_adb_client, list_adb_devices, inspect_adb_device, list_adb_packages,\nand pull_adb_package, exposed through the CLI and MCP with shared admission,\nEvidence provenance (binary, version, serial, transport), and fixed argv\nvectors that never reach a shell.\n\npull_adb_package acquires the complete split set reported by pm path into a\npackage-named directory that must not exist, digesting every file with\nSHA-256 and keeping per-file failure reasons and partial coverage. Device\nkind is reported as an inference with its basis; getprop whitelisting keeps\nbuild identity bounded. REA installs nothing and never manages devices or\nemulators; the first device query may start the caller's local adb server,\nrecorded when observed.\n\nVerified against adb 34.0.5 on Linux with an Android 14 (API 34) x86_64\nemulator: full 224-package inventory, a real two-APK split set pulled with\nbyte-exact digests, and a 73.9 MB system-package pull. npm run verify:adb\nrecords the lane; parser goldens come from the same device. READMEs carry\nthe new row in every supported language.\n\n* feat(adb): complete the adb surface with observation, transfer, and lifecycle tools\n\nExtend the ADB family from five to twenty-four operations, all through\nfixed adb argument vectors with no shell exposure:\n\nObservation: read_adb_logcat (bounded dump, count/buffer/pid), inspect_adb_package\n(dumpsys package projection), list_adb_processes (ps -A), list_adb_directory\n(ls -la with kinds and symlink targets), list_adb_features (hex GL versions),\nlist_adb_services (AIDL slash-suffixed names), inspect_adb_display (wm size and\ndensity), inspect_adb_window (focus declarations), read_adb_setting (device-side\nnulls reported as such), capture_adb_screen (exec-out screencap with PNG\ndimensions), collect_adb_bugreport (digested device archive).\n\nTransfer and search: pull_adb_file and push_adb_file (device-side sha256sum\nverification, explicit overwrite authority), resolve_adb_packages (substring\npackage search with exact-match flag — the find step of an easy get).\n\nLifecycle for dynamic analysis, each declaring mutatesTarget:\ninstall_adb_package and uninstall_adb_package preserving the device's\nSuccess/Failure verdict, start_adb_app (resolve-activity then am start -W),\nstart_adb_activity (typed extras as --es/--ez/--ei/--el/--ef), and stop_adb_app\n(am force-stop).\n\nVerified end-to-end against adb 34.0.5 on Linux with an Android 14 (API 34)\nx86_64 emulator: 287 services, 92 features, split-set pulls with byte-exact\ndigests, verified push/pull roundtrip, sized screen capture, and the full\ninstall → resolve → start → observe-in-ps → force-stop → uninstall lifecycle.\nFixed a v-mode regex incompatibility in the settings key pattern and added\nargument descriptions required by the CLI catalog audit.\n\n* fix(adb): quote remote shell operands and protect captured output\n\n* test(adb): cover bugreport destinations containing spaces\n\n---------\n\nCo-authored-by: REA Contributor <contributor@rea.tools>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["efd81f977604a7b0ed55c2ee11f8b0da356d6c0f"],
|
||
"authors": [
|
||
{
|
||
"name": "Quentin Limo",
|
||
"email": "85309073+3QL@users.noreply.github.com",
|
||
"user": {
|
||
"login": "3QL",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "REA Contributor",
|
||
"email": "contributor@rea.tools",
|
||
"user": null
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1552]
|
||
},
|
||
{
|
||
"sha": "162f9bf7ffd559e871c83778c7a247b7afd4e5df",
|
||
"subject": "fix(ghidra): clear wrong no-return flags before serving a session (#1419)",
|
||
"body": "fix(ghidra): clear wrong no-return flags before serving a session (#1419)\n\n* fix(ghidra): clear wrong no-return flags before serving a session\n\nAuto-analysis can flag ordinary functions as no-return (stream readers,\n__cxa_guard_acquire, ...). Their callers then end at the call and the\ndecompiler truncates them. Run a postScript before the bridge that clears the\nflag on functions containing a real RET and re-disassembles the call sites that\nwere terminators.\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>\n\n* fix(ghidra): refit in place and scope no-return call-site repair\n\nKeep function types by refitting the owning functions with fixupFunctionBody\ninstead of removing and recreating them. Only redo call sites whose callee was\nactually cleared (including thunks to it), skip sites followed by a function\nstart or x86 padding so real end calls do not run on, and always log the result.\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>\n\n* fix(ghidra): constrain no-return repair to admitted return evidence\n\n---------\n\nCo-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["fef6f730643dd60a80a109fc9751e1782b79ab4a"],
|
||
"authors": [
|
||
{
|
||
"name": "Jonah Paul Simon",
|
||
"email": "Jman19922@gmail.com",
|
||
"user": {
|
||
"login": "JonahSimon",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Sonnet 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": [1419]
|
||
},
|
||
{
|
||
"sha": "4d8d76b2534275c6df1d62c9437d52f52a1d9d96",
|
||
"subject": "fix(electron): support packaged app.asar pages and rewritten unpacked companions (#1400)",
|
||
"body": "fix(electron): support packaged app.asar pages and rewritten unpacked companions (#1400)\n\n* fix(electron): resolve pages served from inside app.asar\n\nPackaged Electron applications load their renderer pages from file URLs\ninside app.asar. The host filesystem cannot stat those paths, so\nlist_electron_targets excluded every such page as unsupported_url and\ninspect_electron_page could not select it.\n\nResolve these URLs the way Electron's file protocol does: the first .asar\npath component that is a regular file is the archive, and the remainder\nmust name a regular file in its header. Directories, links, and missing\nmembers stay rejected. Parsed headers are cached by archive identity.\n\n* fix(artifacts): extract and explain rewritten ASAR unpacked companions\n\nPackaging tools commonly sign or strip .asar.unpacked native binaries after\nwriting the archive header, so their declared hashes no longer match.\nanalyze_javascript_application already accepts integrity_policy, but\nextract_artifact did not, and inspect_artifact and extract_artifact still\ntold callers to \"get a fresh copy\", which cannot help for a shipped app.\n\n- Accept integrity_policy on extract_artifact (MCP and CLI). The default\n still fails closed; record-and-continue writes the observed bytes and\n returns the extracted files' integrity_contradictions records.\n- Name the unpacked entry and the post-packaging cause in integrity\n failures, and point every operation that accepts integrity_policy at\n record-and-continue.\n- Report an active unpacked entry whose companion file is absent as\n unavailable with its logical path instead of a format failure.\n- Share one integrity_policy schema across the inventory, extraction, and\n JavaScript application inputs.\n\n* fix(electron): bound ASAR headers before allocation\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["162f9bf7ffd559e871c83778c7a247b7afd4e5df"],
|
||
"authors": [
|
||
{
|
||
"name": "曾亮",
|
||
"email": "suninrain086@gmail.com",
|
||
"user": {
|
||
"login": "suninrain086",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1400]
|
||
},
|
||
{
|
||
"sha": "f6009d007713ef335189934d0c6d52a56818c525",
|
||
"subject": "fix(browser): keep the first DOM attribute when the name is repeated (#1516)",
|
||
"body": "fix(browser): keep the first DOM attribute when the name is repeated (#1516)\n\n* fix(browser): keep the first DOM attribute when the name is repeated\n\nWhen an element in a captured DOM tree carries duplicate attribute\ndeclarations (e.g. repeated href, action, or src), domMetadata folded\nthe attributes into a Map using pairs.set(), overwriting earlier\ndeclarations with the last one.\n\nHTML specifies that the first declaration is kept when an attribute\nname is repeated. This aligns domMetadata and attribute_names to retain\nthe first occurrence case-insensitively, matching HTML and ensuring that\nattribute_names and dom_urls reflect the same attributes.\n\nFixes #1496\n\n* fix(browser): preserve case-sensitive DOM attribute names\n\n* test(browser): align repeated attribute coverage with deduplication\n\n---------\n\nCo-authored-by: taljeri <318237806+taljeri@users.noreply.github.com>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["4d8d76b2534275c6df1d62c9437d52f52a1d9d96"],
|
||
"authors": [
|
||
{
|
||
"name": "taljeri",
|
||
"email": "thamer.stream@gmail.com",
|
||
"user": {
|
||
"login": "taljeri",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "taljeri",
|
||
"email": "318237806+taljeri@users.noreply.github.com",
|
||
"user": {
|
||
"login": "taljeri",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1516]
|
||
},
|
||
{
|
||
"sha": "905e4866c4696872813064d1a71ee2569d61e067",
|
||
"subject": "feat(artifacts): inspect PE resource identities and payload ranges (#1482)",
|
||
"body": "feat(artifacts): inspect PE resource identities and payload ranges (#1482)\n\n* feat(artifacts): inspect PE resource identities and payload ranges\n\n* fix(artifacts): reject header payloads overlapping PE sections\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["f6009d007713ef335189934d0c6d52a56818c525"],
|
||
"authors": [
|
||
{
|
||
"name": "Thang Luu",
|
||
"email": "thangldw@gmail.com",
|
||
"user": {
|
||
"login": "thangldw",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1482]
|
||
},
|
||
{
|
||
"sha": "0363e5a8e1be47f534c2fb7dfa26c579aa31ddd0",
|
||
"subject": "fix(reference): join internal symlink targets with the inventory NFC normalizer (#1535)",
|
||
"body": "fix(reference): join internal symlink targets with the inventory NFC normalizer (#1535)\n\n* fix(reference): join internal symlink targets with the inventory NFC normalizer\n\ncheckSymlinks resolved an internal symlink target with bare\nposix.normalize and looked the result up in the inventoried path set.\nA target that a filesystem reports in NFD (macOS readlink commonly\ndoes) joined to an NFD spelling while the inventory holds NFC, so\nvalidation reported \"Internal symlink target must resolve to an\ninventoried entry\" for a target the inventory actually contains.\n\nRoute the join through normalizeJoinedLogicalPath, the same inventory\nidentity normalizer #1513 applied to the runtime, HTML/module, and\nimport joins from #1488. The feature-seed NFKC query fold stays a\nquery.\n\nRefs #1488\n\n* fix(reference): preserve source spelling during symlink lookup\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["905e4866c4696872813064d1a71ee2569d61e067"],
|
||
"authors": [
|
||
{
|
||
"name": "Anuj Singh",
|
||
"email": "122965317+anujsingh-cse@users.noreply.github.com",
|
||
"user": {
|
||
"login": "anujsingh-cse",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1535]
|
||
},
|
||
{
|
||
"sha": "ded59689cebad45d2d7af7685266b9e9a1985593",
|
||
"subject": "fix(javascript): accept the Wakaru 1.x release line and verify 1.14.0 (#1540)",
|
||
"body": "fix(javascript): accept the Wakaru 1.x release line and verify 1.14.0 (#1540)\n\n* fix(javascript): accept the Wakaru 1.x release line and verify 1.14.0\n\nExact --version equality rejected every Wakaru build except 1.13.0, and\nstrict report schemas rejected any added field, so each upstream release\nbroke recovery until REA re-pinned. Wakaru now documents that --version,\n--json and provenance.json change only by addition within a major version.\n\nAdmit ^1.13.0 with the verified/compatible split used for Binwalk and\nUnblob, report the observed version instead of the pinned constant, and\nadd a limitation for unverified releases. Parse reports with loose\nobjects and keep the reported module status as a string; path, identity,\nrange and file-set checks stay exact.\n\nMove the audited pin, submodule, CI binary and verifier to 1.14.0, and\ndocument where to get the binary from the refusal message.\n\n* fix(javascript): project known Wakaru warning fields\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["0363e5a8e1be47f534c2fb7dfa26c579aa31ddd0"],
|
||
"authors": [
|
||
{
|
||
"name": "Pionxzh",
|
||
"email": "spigbbbbb@gmail.com",
|
||
"user": {
|
||
"login": "pionxzh",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1540]
|
||
},
|
||
{
|
||
"sha": "749e58772a0b1dd72fbfc938a5135ba2a1c11538",
|
||
"subject": "feat(jeb): add JEB engine provider over its MCP interface (#1536)",
|
||
"body": "feat(jeb): add JEB engine provider over its MCP interface (#1536)\n\n* feat(jeb): add JEB engine provider over its MCP interface\n\nAdd a bring-your-own JEB provider that serves project, unit, and\ndecompilation inspection from a caller-started JEB client speaking MCP\n(streamable HTTP, selected with REA_JEB_MCP_URL). Expose four provider-neutral\noperations through shared CLI/MCP workflows: inspect_jeb_client,\nopen_jeb_project, list_jeb_units, and decompile_jeb_item, each returning\nEvidence with engine identity, endpoint, and preserved refusal reasons.\n\nThe adapter keeps JEB's envelope semantics: success fields are parsed\nformat-aware at the boundary, message-only refusals become unsupported-target\nerrors with the engine's own reason, transport failures become availability\nfailures with recovery guidance, and unit pagination derives coverage from the\nengine's 100-item page cap. Explicit unknowns (implicitly selected unit,\nomitted filters) are reported instead of guessed.\n\nVerified against a real JEB 5.48.0 licensed build serving jeb-mcp-server 1.3.0\nheadless: client inspection, unit listing, and method decompilation were\nexercised through the CLI, MCP boundary, and scripts/verify-jeb.mjs.\nJEB 5.48.0 headless instances do not advertise open_project; the refusal is\npreserved and documented.\n\n* fix(jeb): verify against a real signed APK and fix CLI option surface\n\nVerify the provider against a locally built, v1/v2/v3-signed probe APK\n(binary manifest, classes.dex with a launcher activity) on JEB 5.48.0: the\nfull unit tree (apk, manifest, three certificate units, dex bytecode,\ndecompiler), wildcard-filtered and paginated unit listing with derived\ncoverage, parent-restricted listing, and launcher-activity method\ndecompilation through both CLI and MCP, including dexdec's inline\nconstant folding of the probe's obfuscated tag.\n\nMove list-jeb-units filter/pagination and decompile-jeb-item unit selection\nfrom positional arguments to options; the MCP schemas are unchanged.\n\n* fix(jeb): preserve engine refusals through the real MCP boundary\n\nTesting against the published Signal 8.30.3 universal APK exposed a boundary\nbug the scripted provider tests missed: decodeJebToolResult raised a protocol\nerror for isError results before the provider could map JEB's\n{success:false, message} envelope, so real engine refusals surfaced as\nunreadable output instead of the engine's own reason. Decode refusal\nenvelopes like any structured result and let the provider preserve the\nreason; cover the decoder directly, including contentless and unparseable\nresults.\n\nSignal verification: full 109 MB R8/Kotlin/Compose APK with four signature\nschemes and native arm64 ELF units parsed; MainActivity.onCreate and R8\nsynthetic lambdas decompiled through CLI and MCP; paginated, filtered, and\nparent-restricted unit listing; refusal path confirmed on the live engine.\n\n* docs(jeb): record Flutter Gallery verification on the real-engine lane\n\nVerify the provider against the official Flutter Gallery 2.9.2 release APK\n(112 MB): per-ABI libapp.so Dart AOT snapshot images analyzed as native code\nwith 75k methods on arm64, snapshot internals and wrapper methods decompiled\nthrough both CLI and MCP with explicit unit selection, decoded manifest, and\nfiltered native-library unit discovery. Note that JEB 5.48.0 headless does\nnot expose the dedicated Dart snapshot processor or run_script; both remain\nGUI-only engine surfaces.\n\n* docs(jeb): translate the README JEB row for every supported language\n\nThe JEB row was inserted in English across all translated READMEs; each now\ncarries its own label, capability summary, requirements, and guide link\nfollowing that language's Android-row conventions.\n\n* fix(jeb): enforce local endpoints and preserve cancellation\n\n* fix(jeb): refuse redirects across the local MCP boundary\n\n---------\n\nCo-authored-by: REA Contributor <contributor@rea.tools>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["ded59689cebad45d2d7af7685266b9e9a1985593"],
|
||
"authors": [
|
||
{
|
||
"name": "Quentin Limo",
|
||
"email": "85309073+3QL@users.noreply.github.com",
|
||
"user": {
|
||
"login": "3QL",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "REA Contributor",
|
||
"email": "contributor@rea.tools",
|
||
"user": null
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1536]
|
||
},
|
||
{
|
||
"sha": "96fd98cce06e1f93b027487d38048e56c05181bd",
|
||
"subject": "feat(apktool): decode Android resource tables through a caller-supplied launcher (#1556)",
|
||
"body": "feat(apktool): decode Android resource tables through a caller-supplied launcher (#1556)\n\n* feat(apktool): decode Android resource tables through a caller-supplied launcher\n\nAdd an Apktool family with two operations over the caller's apktool\nlauncher (REA_APKTOOL_COMMAND, absolute, or apktool on PATH):\n\n- inspect_apktool_client: resolved launcher, selection source, and\n version; decodes nothing.\n- decode_android_resources: apktool d --no-src in a provider-owned\n workspace that is removed before the result returns. Projects the\n decoded AndroidManifest.xml (bounded at 512 KiB), apktool.yml version\n and SDK facts exactly as printed, string resources verbatim (default or\n one locale, bounded at 2000 entries, nested-markup entries counted as\n unparsed), available string locales, and the decoded file count with a\n hard cap. The target APK is digested with SHA-256 before decoding so\n Evidence binds the observation to the exact input.\n\nSmali production is skipped by design: Java-source recovery belongs to\nthe JADX family. Workspace cleanup happens before results return; an\nunremovable workspace is named in the limitations instead of abandoned.\n\nVerified against apktool 2.7.0-dirty (Debian packaging) on Linux with\nOpenJDK 25 against a signed aapt2-built probe APK with two resource\nlocales: launcher version, on-disk digest agreement, metadata projection,\nmanifest package agreement, and both string tables (default and de).\nParser goldens come from the same decode. READMEs carry the new\n'Android resources' row in every supported language.\n\n* fix(apktool): own snapshots and bound decoded resource reads\n\n* docs(apktool): describe owned resources and bounded projection\n\n---------\n\nCo-authored-by: REA Contributor <contributor@rea.tools>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["749e58772a0b1dd72fbfc938a5135ba2a1c11538"],
|
||
"authors": [
|
||
{
|
||
"name": "Quentin Limo",
|
||
"email": "85309073+3QL@users.noreply.github.com",
|
||
"user": {
|
||
"login": "3QL",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "REA Contributor",
|
||
"email": "contributor@rea.tools",
|
||
"user": null
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1556]
|
||
},
|
||
{
|
||
"sha": "bddddccdee3129d0b1b11e32b751be2b6d501c23",
|
||
"subject": "feat(native): admit bounded MIPS ELF analysis through Ghidra (#1362)",
|
||
"body": "feat(native): admit bounded MIPS ELF analysis through Ghidra (#1362)\n\n* feat(native): admit bounded MIPS ELF analysis through Ghidra\n\nRetain MIPS ELF identity and interpretation through Evidence and snapshots.\nKeep provider admission bounded to ELF32 ET_EXEC o32 MIPS32r2, without\nimplicitly widening Hopper, IDA or Windows P0 coverage. Add source-owned\nfixtures and an optional real-provider verifier; real Ghidra verification\nremains pending in this contribution environment.\n\nRefs #718\n\n* fix(ghidra): bound MIPS floating-point mode admission\n\nReject explicit EF_MIPS_FP64 and EF_MIPS_NAN2008 declarations until their\nsemantics have a real-provider verification lane. Add PSP PRX/Allegrex,\no64/EABI and floating-point-mode refusal regressions. Document that the\nheader gate is not a full .MIPS.abiflags check and advance the profile lane\nidentity to invalidate older interpretation bindings.\n\nValidation: 24 standalone checks against the transpiled production profile\nmodule passed; the two new flag cases failed before this change. Clang 17\nand LLD compiled the source-owned fixture for both endian targets. The\ncomplete Vitest/typecheck suite and real Ghidra verification remain pending.\n\nRefs morluto/rea#718; PSP support remains follow-up morluto/rea#1330.\n\n* fix(native): validate MIPS ABI records before Ghidra admission\n\nRead bounded ELF32 PT_MIPS_ABIFLAGS and SHT_MIPS_ABIFLAGS records through\nthe already-open target handle. Preserve declared ABI fields, reject\nconflicting/duplicate/truncated records, and keep missing records unknown.\nWire inspection into target resolution before provider selection. Require\ncompatible declarations for the deliberately narrow Ghidra lane and bind\nall ABI fields into profile identity (v3) for snapshot invalidation.\n\nClang 17 produced eight source-owned fixtures spanning both byte orders\nand FPXX/FP32/FP64/soft-float modes with identical ELF header flags. The\nnew reader and policy distinguish them. 24 focused regression test bodies\npassed after TypeScript transpilation using node:test in place of Vitest;\nstrict isolated TypeScript checking of the reader and target/result types\npassed. These are limited checks, not full Vitest/project typechecking or\nreal-Ghidra verification, which remain pending.\n\nAdvances morluto/rea#718. PSP/Allegrex remains morluto/rea#1330 follow-up.\n\n* fix(native): repair MIPS integration boundaries and test resolver behavior\n\nKeep ELF targets out of Hopper Mach-O preparation and scope existing PE fixture types correctly. Move ABI tests into the filesystem boundary lane, use shared cleanup, add resolver regressions, apply the pinned formatter, and register the real MIPS verifier through the existing package-command pattern. Validated with repository-pinned Node/npm, check:ci, actual focused Vitest, discovery and docs:check. Real Ghidra conformance remains pending.\n\n* fix(test): honor caller-selected JDK in real MIPS verification\n\n* test(native): strengthen MIPS Ghidra conformance\n\nCross-check the source-owned fixture with bounded GNU readelf inspection, compare production ELF/ABI interpretation and independent symbol addresses, and verify effective Ghidra language/compiler identity through existing public operations. Add a source-owned fixed-encoding probe for immediate and conditional branch checks plus global/string byte assertions.\n\nAdd 16 assertion/producer-boundary regression cases without widening production admission, changing provider contracts, or introducing proprietary dependencies. Local focused suite: 99 passed, one existing root-permission test skipped. Typecheck, lint/module boundaries, formatting and 700-file discovery pass; full hosted checks and real Ghidra verification remain pending for this checkpoint.\n\n* fix(ghidra): preserve native-tool architecture checks after MIPS integration\n\nThe conflict-free upstream merge failed TypeScript compilation because includes on the union of MIPS-only and other architecture arrays requires never. Use equality-based membership without casts or changing accepted native hosts. Extend the existing native-decompiler rejection table with a MIPS executable at a Linux x64 tool path; retain upstream FAT and unknown-header behavior. Hosted verification follows this commit; no success is claimed yet.\n\n---------\n\nCo-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
|
||
"parents": ["96fd98cce06e1f93b027487d38048e56c05181bd"],
|
||
"authors": [
|
||
{
|
||
"name": "Jay-Alexander Elliot",
|
||
"email": "10952625+jaelliot@users.noreply.github.com",
|
||
"user": {
|
||
"login": "jaelliot",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "github-actions[bot]",
|
||
"email": "41898282+github-actions[bot]@users.noreply.github.com",
|
||
"user": {
|
||
"login": "github-actions[bot]",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1362]
|
||
},
|
||
{
|
||
"sha": "a97bd5ed297cd9159b3ba1909b94b54ca62b206b",
|
||
"subject": "fix(ci): share provider workflows to restore static gates",
|
||
"body": "fix(ci): share provider workflows to restore static gates\n",
|
||
"parents": ["bddddccdee3129d0b1b11e32b751be2b6d501c23"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "bb742110a449342365aeed5c89c187fbe1bb16c9",
|
||
"subject": "fix(ghidra): build bridge script paths with the target platform syntax",
|
||
"body": "fix(ghidra): build bridge script paths with the target platform syntax\n",
|
||
"parents": ["a97bd5ed297cd9159b3ba1909b94b54ca62b206b"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "cca7bf0022ad8d4f5812d9185d21f749b26c4296",
|
||
"subject": "fix(ci): repair option alias, pattern portability, and Italian doc links",
|
||
"body": "fix(ci): repair option alias, pattern portability, and Italian doc links\n",
|
||
"parents": ["bb742110a449342365aeed5c89c187fbe1bb16c9"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "6543405252d7c740c87a3bb433cf666187af41fa",
|
||
"subject": "fix(adb): escape portable patterns for unicodeSets consumers",
|
||
"body": "fix(adb): escape portable patterns for unicodeSets consumers\n",
|
||
"parents": ["cca7bf0022ad8d4f5812d9185d21f749b26c4296"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "2a0b58e4403daba872e19b6bd24f494ddf1027a6",
|
||
"subject": "refactor(cleanup): share failure composition and retain native UI owners",
|
||
"body": "refactor(cleanup): share failure composition and retain native UI owners\n\nValidation: integrated changes passed formatting, typecheck, lint, resolved module-boundary verification and git diff --check. Tests and real-provider workflows were not run.\n",
|
||
"parents": ["6543405252d7c740c87a3bb433cf666187af41fa"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "6d4cefc4f74e55ed74b7f83d82a48f0493c772d2",
|
||
"subject": "fix(artifacts): admit bounded reads and preserve source identity",
|
||
"body": "fix(artifacts): admit bounded reads and preserve source identity\n\nValidation: integrated changes passed formatting, typecheck, lint, resolved module-boundary verification and git diff --check. Tests and real-provider workflows were not run.\n",
|
||
"parents": ["2a0b58e4403daba872e19b6bd24f494ddf1027a6"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "0f0d6e4d438504349d04007f98f297d06e7d451f",
|
||
"subject": "fix(managed): budget decoding before representation expansion",
|
||
"body": "fix(managed): budget decoding before representation expansion\n\nValidation: integrated changes passed formatting, typecheck, lint, resolved module-boundary verification and git diff --check. Tests and real-provider workflows were not run.\n",
|
||
"parents": ["6d4cefc4f74e55ed74b7f83d82a48f0493c772d2"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "5d0a8836059bafebd3265765874a42d6e142b8ec",
|
||
"subject": "fix(native): bound metadata projection and compact Mach-O bind runs",
|
||
"body": "fix(native): bound metadata projection and compact Mach-O bind runs\n\nValidation: integrated changes passed formatting, typecheck, lint, resolved module-boundary verification and git diff --check. Tests and real-provider workflows were not run.\n",
|
||
"parents": ["0f0d6e4d438504349d04007f98f297d06e7d451f"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "2ca3ad238608adfca80a7ff1aaadea6e59a58225",
|
||
"subject": "fix(reference): preserve exact paths and unify symlink lookup",
|
||
"body": "fix(reference): preserve exact paths and unify symlink lookup\n\nValidation: integrated changes passed formatting, typecheck, lint, resolved module-boundary verification and git diff --check. Tests and real-provider workflows were not run.\n",
|
||
"parents": ["5d0a8836059bafebd3265765874a42d6e142b8ec"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "a6f76f5da94766ed510dbbb2dcf65f4606d980fe",
|
||
"subject": "fix(graphs): separate source identities from display representations",
|
||
"body": "fix(graphs): separate source identities from display representations\n\nValidation: integrated changes passed formatting, typecheck, lint, resolved module-boundary verification and git diff --check. Tests and real-provider workflows were not run.\n",
|
||
"parents": ["2ca3ad238608adfca80a7ff1aaadea6e59a58225"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "a01148553e2a37c72ae78405418ab648876a96a6",
|
||
"subject": "fix(setup): preserve recovery backups and retain installer cleanup",
|
||
"body": "fix(setup): preserve recovery backups and retain installer cleanup\n\nValidation: integrated changes passed formatting, typecheck, lint, resolved module-boundary verification and git diff --check. Tests and real-provider workflows were not run.\n",
|
||
"parents": ["a6f76f5da94766ed510dbbb2dcf65f4606d980fe"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "d1235fadc901e1fb9ab3149d53063306c8545414",
|
||
"subject": "fix(providers): retain worker cleanup owners through shutdown",
|
||
"body": "fix(providers): retain worker cleanup owners through shutdown\n\nValidation: integrated changes passed formatting, typecheck, lint, resolved module-boundary verification and git diff --check. Tests and real-provider workflows were not run.\n",
|
||
"parents": ["a01148553e2a37c72ae78405418ab648876a96a6"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "2a66ec90943bcf5afde8932c9982751ed8b22f85",
|
||
"subject": "fix(browser): retain startup owners and coordinate retryable close",
|
||
"body": "fix(browser): retain startup owners and coordinate retryable close\n\nValidation: integrated changes passed formatting, typecheck, lint, resolved module-boundary verification and git diff --check. Tests and real-provider workflows were not run.\n",
|
||
"parents": ["d1235fadc901e1fb9ab3149d53063306c8545414"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "a84dea5500c2e1350b1ab885d98774b89a5a1a2c",
|
||
"subject": "fix(apktool): join active work and retain cleanup authority",
|
||
"body": "fix(apktool): join active work and retain cleanup authority\n\nValidation: integrated changes passed formatting, typecheck, lint, resolved module-boundary verification and git diff --check. Tests and real-provider workflows were not run.\n",
|
||
"parents": ["2a66ec90943bcf5afde8932c9982751ed8b22f85"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "d438675677c0ed2ab7ae9d4832e82de7857984cf",
|
||
"subject": "fix(process): retain capture resources and bound filesystem snapshots",
|
||
"body": "fix(process): retain capture resources and bound filesystem snapshots\n\nValidation: integrated changes passed formatting, typecheck, lint, resolved module-boundary verification and git diff --check. Tests and real-provider workflows were not run.\n",
|
||
"parents": ["a84dea5500c2e1350b1ab885d98774b89a5a1a2c"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "5f30ea6ff2dd89aab7af6da6e8dfa5e508ed459b",
|
||
"subject": "fix(engines): serialize JEB acquisition and respect IDA cancellation",
|
||
"body": "fix(engines): serialize JEB acquisition and respect IDA cancellation\n\nValidation: integrated changes passed formatting, typecheck, lint, resolved module-boundary verification and git diff --check. Tests and real-provider workflows were not run.\n",
|
||
"parents": ["d438675677c0ed2ab7ae9d4832e82de7857984cf"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "c1b5ccf0a42ee44bde46241b15039bf07f24b0b1",
|
||
"subject": "refactor(server): admit complete evidence workflows and share handlers",
|
||
"body": "refactor(server): admit complete evidence workflows and share handlers\n\nValidation: integrated changes passed formatting, typecheck, lint, resolved module-boundary verification and git diff --check. Tests and real-provider workflows were not run.\n",
|
||
"parents": ["5f30ea6ff2dd89aab7af6da6e8dfa5e508ed459b"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "6d8f95e38dfc847d911430483b812ff4951b373d",
|
||
"subject": "fix(clients): preserve portable MCP schemas in native workflows (#1580)",
|
||
"body": "fix(clients): preserve portable MCP schemas in native workflows (#1580)\n\n* test(clients): verify native Command Code workflows\n\n* docs: synchronize Italian provider guide links\n\n* fix(contracts): make ADB identifier patterns portable\n\n* fix(contracts): preserve portable ADB patterns after formatting",
|
||
"parents": ["c1b5ccf0a42ee44bde46241b15039bf07f24b0b1"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1580]
|
||
},
|
||
{
|
||
"sha": "abb8e81d3ad3f170e4c5117c8f6d54250cc91cfd",
|
||
"subject": "fix(filesystem): bound and verify admitted file and JSON reads",
|
||
"body": "fix(filesystem): bound and verify admitted file and JSON reads\n",
|
||
"parents": ["6d8f95e38dfc847d911430483b812ff4951b373d"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "a9fd1aecae727b0f09be69d743fb0838d336ec00",
|
||
"subject": "fix(application): verify configuration and reference input reads",
|
||
"body": "fix(application): verify configuration and reference input reads\n",
|
||
"parents": ["abb8e81d3ad3f170e4c5117c8f6d54250cc91cfd"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "5daff4d67e2fa10d4da4ef569fdcde211107277b",
|
||
"subject": "fix(artifacts): retain Mach-O source identity through inventory",
|
||
"body": "fix(artifacts): retain Mach-O source identity through inventory\n",
|
||
"parents": ["a9fd1aecae727b0f09be69d743fb0838d336ec00"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "db8ccaa2515937cda68b5ab59f6d2ae67c790f6e",
|
||
"subject": "fix(android): bind JADX snapshots and hashes to admitted sources",
|
||
"body": "fix(android): bind JADX snapshots and hashes to admitted sources\n",
|
||
"parents": ["5daff4d67e2fa10d4da4ef569fdcde211107277b"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "1f7e279aa28a01c8057921a44a7beb019a8dc8bb",
|
||
"subject": "fix(adb): retain rollback ownership and cancelled acquisition facts",
|
||
"body": "fix(adb): retain rollback ownership and cancelled acquisition facts\n",
|
||
"parents": ["db8ccaa2515937cda68b5ab59f6d2ae67c790f6e"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "472f3132322cef4347e14d8fd86f72725eac42b9",
|
||
"subject": "refactor(native): match UI controls by explicit object identity",
|
||
"body": "refactor(native): match UI controls by explicit object identity\n",
|
||
"parents": ["1f7e279aa28a01c8057921a44a7beb019a8dc8bb"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "603d04ee3ac6ed496f84478164f832a9b5ce3b91",
|
||
"subject": "fix(ci): repair format gate and pin maintenance skill destinations",
|
||
"body": "fix(ci): repair format gate and pin maintenance skill destinations\n\nformat:check failed on ApktoolProvider; existingMaintenanceScope now\nreturns skillDestinations (consumed by maintenance planning), so pin\nthe field in the exact-shape scope assertions.\n",
|
||
"parents": ["472f3132322cef4347e14d8fd86f72725eac42b9"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "11e3fae697fdd91e29236052d559eca1b43a1d0f",
|
||
"subject": "fix(ci): repair boundary regressions and evidence assertions",
|
||
"body": "fix(ci): repair boundary regressions and evidence assertions\n\nDetach cancelled CDP sessions within the cleanup budget and retain event-finalization failures across retries. Honor Git filesystem encodings and exclude the promise-API probe from source-read failures.\n\nAlign existing integration regressions with retained process resources, filesystem-order-independent truncation, owned skill files, explicit native access facts and streamed JSON errors.\n\nValidation: 132 acceptance tests passed (2 skipped), 83 affected boundary tests passed, Git/JSON/CLI boundary regressions passed, check:ci, docs:check and test discovery passed. Local verification used Node 24.18.0 on macOS; cross-platform CI remains pending.\n",
|
||
"parents": ["603d04ee3ac6ed496f84478164f832a9b5ce3b91"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "0d89978333a7f139c53f35f1bb622d08eb73affa",
|
||
"subject": "fix(android): release snapshot streams before closing file handles",
|
||
"body": "fix(android): release snapshot streams before closing file handles\n\nRetain both non-auto-closing copy streams and destroy them after verification, before awaiting their FileHandle closure. This releases stream-held descriptor references on success and failure instead of deadlocking Android snapshot cleanup.\n\nValidation: all 33 JADX subprocess integration tests passed on macOS with Node 24.18.0; check:fast and formatting passed. No real JADX provider execution or Linux/Windows verification was performed locally.\n",
|
||
"parents": ["11e3fae697fdd91e29236052d559eca1b43a1d0f"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "c1217e711b7260a04a75f58d46c97e1320595153",
|
||
"subject": "fix(javascript): retain runtime scope in bundled module relationships",
|
||
"body": "fix(javascript): retain runtime scope in bundled module relationships\n",
|
||
"parents": ["0d89978333a7f139c53f35f1bb622d08eb73affa"],
|
||
"authors": [
|
||
{
|
||
"name": "dakjdakd",
|
||
"email": "1428823446@qq.com",
|
||
"user": {
|
||
"login": "dakjdakd",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1577]
|
||
},
|
||
{
|
||
"sha": "999e3e209842deff979c9b490ca551cd7222d34f",
|
||
"subject": "fix(android): cancel admitted snapshot copies with their operation",
|
||
"body": "fix(android): cancel admitted snapshot copies with their operation\n\nForward caller and timeout cancellation through engine and APK snapshots, release stream handles before removing partial output, and retain the existing root cleanup authority. Verify cancellation after destination bytes appear with a sparse filesystem fixture.\n",
|
||
"parents": ["c1217e711b7260a04a75f58d46c97e1320595153"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "e52c0a72c59c740315e89149881a27ce4d89a11c",
|
||
"subject": "fix(browser): retain incomplete WebMCP replay coverage",
|
||
"body": "fix(browser): retain incomplete WebMCP replay coverage\n\nMark malformed WebMCP event envelopes, tool lists and entries as invalid protocol values while preserving valid siblings and out-of-scope classifications. Verify toolsAdded and toolsRemoved replay uncertainty through CDP discovery and capture comparison.\n",
|
||
"parents": ["999e3e209842deff979c9b490ca551cd7222d34f"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "cf346368c482d9b99595256857329482d857c36c",
|
||
"subject": "perf(javascript): reuse graph buckets and query indexes",
|
||
"body": "perf(javascript): reuse graph buckets and query indexes\n\nAppend overlapping observations to node buckets instead of recopying groups, and share one node index across semantic seed admission and traversal. Preserve merged provenance and absent-seed behavior.\n",
|
||
"parents": ["e52c0a72c59c740315e89149881a27ce4d89a11c"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "3d876c5c1a425037454f54623ed8bbd5ecbeac99",
|
||
"subject": "perf(javascript): validate semantic factory inputs once",
|
||
"body": "perf(javascript): validate semantic factory inputs once\n\nConstruct typed semantic records directly from cloned, normalized input and derived commitments instead of reparsing the same fields. Keep full graph integrity validation and verify caller mutation isolation. Four alternating cold runs preserved complete result digests while median projection time fell about 8 percent and 17 percent for the two 20,000-node capacity workloads.\n",
|
||
"parents": ["cf346368c482d9b99595256857329482d857c36c"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "b22d8170736fe94bc679b6859ad9841e0ab2092f",
|
||
"subject": "perf(process): batch ownership tokens during rooted cleanup",
|
||
"body": "perf(process): batch ownership tokens during rooted cleanup\n\nUse the host bulk token reader for each cleanup validation while preserving identity checks before and after token reads. Fall back for unsupported readers or omitted rows, retain explicit unavailable observations, and preserve batch and individual failures. Source ownership regressions and real owned-process boundary tests pass; a warm Darwin validation probe reduced median time from 90 ms to 52 ms.\n",
|
||
"parents": ["3d876c5c1a425037454f54623ed8bbd5ecbeac99"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "22fdcb8ab752c1d17c573b61bac3f34283587029",
|
||
"subject": "perf(process): share batched token observation across ownership checks",
|
||
"body": "perf(process): share batched token observation across ownership checks\n",
|
||
"parents": ["b22d8170736fe94bc679b6859ad9841e0ab2092f"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "a147ecd4b48750fc0d6ef498607a4c0831c21af7",
|
||
"subject": "perf(artifacts): index observed parents for deep archive paths",
|
||
"body": "perf(artifacts): index observed parents for deep archive paths\n",
|
||
"parents": ["22fdcb8ab752c1d17c573b61bac3f34283587029"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "d1e6fe2ecaeb3cca3159922c5a51ce7a45348cbc",
|
||
"subject": "test(artifacts): close owned Mach-O readers after each case",
|
||
"body": "test(artifacts): close owned Mach-O readers after each case\n",
|
||
"parents": ["a147ecd4b48750fc0d6ef498607a4c0831c21af7"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "ac9709a80a999d21333837f47d8a88a0ce7d48c1",
|
||
"subject": "perf(reconstruction): index semantic evidence contexts per derivation",
|
||
"body": "perf(reconstruction): index semantic evidence contexts per derivation\n",
|
||
"parents": ["d1e6fe2ecaeb3cca3159922c5a51ce7a45348cbc"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "bd972bf80ba27f708916afb815523b80e29cfac6",
|
||
"subject": "perf(javascript): reuse capture completeness during load classification",
|
||
"body": "perf(javascript): reuse capture completeness during load classification\n",
|
||
"parents": ["ac9709a80a999d21333837f47d8a88a0ce7d48c1"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "cef6d6d3c4f4dd8ac3b9b019707f1b01fc44b801",
|
||
"subject": "perf(artifacts): reuse trie membership for case-folded siblings",
|
||
"body": "perf(artifacts): reuse trie membership for case-folded siblings\n",
|
||
"parents": ["bd972bf80ba27f708916afb815523b80e29cfac6"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "92a901e0dba5dde19f243eb603ccb65be64e1eab",
|
||
"subject": "perf(process): share settlement probes across captured groups",
|
||
"body": "perf(process): share settlement probes across captured groups\n",
|
||
"parents": ["cef6d6d3c4f4dd8ac3b9b019707f1b01fc44b801"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "e6d0b3993df391b3e7e0a6b500da04ffc6a0b049",
|
||
"subject": "perf(process): batch liveness rechecks within ownership phases",
|
||
"body": "perf(process): batch liveness rechecks within ownership phases\n\nRecheck unreadable token and identity observations against one fresh live process snapshot per phase. Preserve token mismatches, fail closed on inspection errors, and retain liveness failure diagnostics.\n\nValidated with focused process ownership, native capture, CLI and MCP boundaries. An eight-member injected-unreadable workload using native ps reduced snapshots from nine to two with equivalent failures; real permission-denied provider behavior was not exercised.\n",
|
||
"parents": ["92a901e0dba5dde19f243eb603ccb65be64e1eab"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "acd8d868989454b52d0c53cad3d8ae4472b016a2",
|
||
"subject": "perf(android): validate prerequisites once per retained JADX session",
|
||
"body": "perf(android): validate prerequisites once per retained JADX session\n\nResolve current paths and JVM options and rehash source identities for each request. Probe Java modules and engine capabilities only when creating a new session; remove the superseded full configuration resolver.\n\nFocused configuration, session retirement, cancellation, cleanup and Android MCP boundaries passed. The 34-operation retained session now performs one prerequisite probe. Protocol fixtures do not establish real JADX or JDK performance.\n",
|
||
"parents": ["e6d0b3993df391b3e7e0a6b500da04ffc6a0b049"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "bb764d26bd661848856a7ee32101dd496b2843ec",
|
||
"subject": "perf(artifacts): stop parsing parent paths after a missing branch",
|
||
"body": "perf(artifacts): stop parsing parent paths after a missing branch\n\nWalk delimiter-terminated parent segments lazily instead of splitting full paths before discovering that no deeper observed parent exists. Preserve canonical paths and observed ancestry.\n\nVerified real ZIP inventory with multiple 30000-component siblings and the full entry-order suite. A 96-member deep ZIP benchmark retained an identical full inventory digest and reduced median scan time from 517.5 to 464.5 ms across five measured inventories.\n",
|
||
"parents": ["acd8d868989454b52d0c53cad3d8ae4472b016a2"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "dce81ca400eda369fe65b3de6e5a9aef4dfdaa50",
|
||
"subject": "perf(javascript): count candidate relevance without a second adjacency",
|
||
"body": "perf(javascript): count candidate relevance without a second adjacency\n\nScan eligible candidate relations directly for query ambiguity instead of allocating and sorting another traversal index. Preserve direction, relation filters and cycle handling.\n\nSemantic graph and builder suites plus public application workflow CLI tests passed. Full query outputs matched on a generated 20000-node graph; the single repeated-query timing run is indicative only.\n",
|
||
"parents": ["bb764d26bd661848856a7ee32101dd496b2843ec"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "3d79903fb1eb7778f685f6e5c9a70b5ae0ebc899",
|
||
"subject": "perf(browser): normalize precise coverage once by script identity",
|
||
"body": "perf(browser): normalize precise coverage once by script identity\n\nPass validated coverage into normalization and index retained sources by script ID instead of scanning them for every script. Preserve source revalidation, UTF-16 bounds, nested counts, and unavailable-source uncertainty.\n\nValidation: 285 tests across 34 focused suites, check:fast, and architecture guards passed. Flameox-guided 8,000-script normalization benchmark improved from 101.6 ms to 5.5 ms median with identical full-result digests; this is normalization CPU, not end-to-end browser timing.\n",
|
||
"parents": ["dce81ca400eda369fe65b3de6e5a9aef4dfdaa50"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "cb13a27bfa1f238c8b9a3c0d88a825f7aceda460",
|
||
"subject": "perf(artifacts): reuse the admitted ASAR header size",
|
||
"body": "perf(artifacts): reuse the admitted ASAR header size\n\nUse the header size already validated against the owned archive snapshot instead of asking the ASAR SDK to read and allocate its raw header again.\n\nValidation: ASAR freshness, containment, streaming-allocation, and MCP extraction suites passed within the 285-test focused run. check:fast and architecture guards passed.\n",
|
||
"parents": ["3d79903fb1eb7778f685f6e5c9a70b5ae0ebc899"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "ba056e08a4bf5d201890eeb23fac23c87ae79ba7",
|
||
"subject": "fix(providers): bound launcher diagnostics without losing byte counts",
|
||
"body": "fix(providers): bound launcher diagnostics without losing byte counts\n\nGive Ghidra and Hopper an 8 MiB aggregate retained-output budget while continuing to drain their process pipes. Expose total observed bytes at the supervisor boundary and retained bytes plus explicit truncation in provider diagnostics.\n\nRedact known transport tokens even when the retained prefix ends inside one, preserving adjacent caller path/query evidence. Existing partial-launch and cleanup ownership remain intact.\n\nValidation: 285 tests across 34 focused suites passed; the final cutoff-fixture refinement passed all 31 Ghidra/Hopper diagnostic tests. check:fast and architecture guards passed. Provider fixtures use real child processes; real Ghidra/Hopper applications were not verified.\n",
|
||
"parents": ["cb13a27bfa1f238c8b9a3c0d88a825f7aceda460"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "b582b6ecb4381e980c10e8ba44df6b4349534f8c",
|
||
"subject": "fix(managed): enforce module identity before joining token facts",
|
||
"body": "fix(managed): enforce module identity before joining token facts\n\nValidate declared artifact and MVID scopes at managed Evidence admission, and reject conflicting known module declarations across graph inputs. Join boundary tokens to members only under matching known MVID scopes; preserve facts and report partial coverage when scope is unknown.\n\nPrefer an observed MVID-bearing declaration with its supplying Evidence. Normalize GUID casing for module node identity while preserving original strings in observations.\n\nValidation: 285 tests across 34 focused suites passed, followed by the final 12-test managed graph suite and managed CLI/MCP regressions. check:fast and architecture guards passed; no real native providers were run.\n",
|
||
"parents": ["ba056e08a4bf5d201890eeb23fac23c87ae79ba7"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "16d9c5adef163ff69667f4f52ac8f532e29c28dc",
|
||
"subject": "fix(ci): preserve cleanup boundaries and bounded failure assertions (#1618)",
|
||
"body": "fix(ci): preserve cleanup boundaries and bounded failure assertions (#1618)\n\nInterrupt optional CDP domain shutdown on caller cancellation while preserving an independent bounded detach attempt. Retain original overflow and cleanup failures, verify workspace recovery, preserve user skill files, and reject another unverified firmware worker.\n\nValidation: 149 integrated tests; repeated 64 affected boundary tests; full local check. Standalone CI includes real Chrome CLI/stdio MCP and real Web runtime checks.\n\nRefs #1613",
|
||
"parents": ["b582b6ecb4381e980c10e8ba44df6b4349534f8c"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1618]
|
||
},
|
||
{
|
||
"sha": "2653b194b695879dcb1d290feca56301282594bc",
|
||
"subject": "feat(skills)!: improve Codex onboarding and task recovery (#1613)",
|
||
"body": "feat(skills)!: improve Codex onboarding and task recovery (#1613)\n\nGuide task-centered recovery from observed client, registration, PATH and\nprovider blockers. Install the recovery reference, document exact JavaScript\nmodule selectors, and require clarification before searching for an unnamed\napp. Validate public setup in isolated Codex accounts and preserve failed\nor unrecognized tool outcomes in the existing evaluator.\n\nRefs: #1587\n\nBREAKING CHANGE: Optional verify:agent reports now use schemaVersion 4.\nConsumers must accept expectedFirstTool: null and targetClarificationPassed\nfor missing-target scenarios. Production CLI/MCP contracts are unchanged.",
|
||
"parents": ["16d9c5adef163ff69667f4f52ac8f532e29c28dc"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1613]
|
||
},
|
||
{
|
||
"sha": "a761981897f9d65533842f96f242884187b7d1ed",
|
||
"subject": "test: remove module and timestamp assumptions from boundary fixtures (#1621)",
|
||
"body": "test: remove module and timestamp assumptions from boundary fixtures (#1621)",
|
||
"parents": ["2653b194b695879dcb1d290feca56301282594bc"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1621]
|
||
},
|
||
{
|
||
"sha": "043fd2579d71065897c416366f5b5479f51e1e0d",
|
||
"subject": "fix(firmware): recover after workspace removal failures (#1616)",
|
||
"body": "fix(firmware): recover after workspace removal failures (#1616)",
|
||
"parents": ["a761981897f9d65533842f96f242884187b7d1ed"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1616]
|
||
},
|
||
{
|
||
"sha": "d510f3e9281258881263eedc21aae9ed99570a1c",
|
||
"subject": "perf(browser): share JSON shape paths across repeated array rows",
|
||
"body": "perf(browser): share JSON shape paths across repeated array rows\n\nAccumulate observations once per structural path instead of allocating and serializing a path for every payload value. Remove the CDP body-shape wrapper and retain primitive, empty-array, and literal-property semantics.\n\nValidation: CDP capture/comparison regressions and CLI/MCP boundary checks pass; 1,507 differential cases match the previous implementation. A 2.5 MB repeated-row workload improves from 105.0 ms to 14.6 ms warm median across alternating runs. Real browser providers were not exercised.\n",
|
||
"parents": ["043fd2579d71065897c416366f5b5479f51e1e0d"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "78778d91a4177b54b9f4dd73b9fa3f6e424410b6",
|
||
"subject": "fix(artifacts): retain output identity through cleanup retries",
|
||
"body": "fix(artifacts): retain output identity through cleanup retries\n\nTrack created directory and file identities before materializing or removing output. Refuse displaced paths and untracked entries, preserve completed cleanup work across permission failures, and prevent publication once rollback starts. Group cleanup files once per attempt instead of rescanning them for every directory.\n\nValidation: root, nested-parent, and file symlink replacement; untracked-entry retention; real POSIX permission failure and retry; extraction integrity and CLI/MCP consumers pass. Path identity revalidation cannot eliminate syscall-boundary pathname races in portable Node. Windows behavior was simulated; native Windows and Linux-only publication providers were not exercised.\n",
|
||
"parents": ["d510f3e9281258881263eedc21aae9ed99570a1c"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "f9ea9a9268c854d31048da9f8a50cfa37703fe5a",
|
||
"subject": "fix(process)!: bound terminal buffers before capture",
|
||
"body": "fix(process)!: bound terminal buffers before capture\n\nValidate columns × (rows + scrollback) against a 1,000,000-cell xterm working-buffer budget, including every resize with the selected scrollback. Document the budget in the advertised MCP input and process-capture guide; never clamp caller dimensions.\n\nValidation: default/exact-boundary schema cases, prelaunch MCP rejection, compiled CLI capture, terminal rendering, normalization, cancellation, and lifecycle checks pass on macOS. This is resource admission, not a measured serializer throughput improvement; Linux-only and real deep-analysis providers were not exercised.\n\nBREAKING CHANGE: process scenarios whose initial or resized terminal exceeds 1,000,000 combined visible-plus-scrollback cells are now rejected before launch.\n",
|
||
"parents": ["78778d91a4177b54b9f4dd73b9fa3f6e424410b6"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "8ba0a887ff339be32aa3ca4d84d88732854d7b0a",
|
||
"subject": "refactor(javascript): bind application links only at graph finish",
|
||
"body": "refactor(javascript): bind application links only at graph finish\n\nRemove the empty application-node index from incremental projection state. The completed application graph now owns the only binding pass, and indexing returns the map directly instead of a wrapper.\n\nValidation: 76 builder/composition tests and 19 filesystem, CLI-output, and SDK MCP trace boundary tests pass. Identity budgets and streaming/full-projection parity remain covered; no throughput improvement is claimed.\n",
|
||
"parents": ["f9ea9a9268c854d31048da9f8a50cfa37703fe5a"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "f4e437e5441ecfe4bcd3e6a72c0c502843c2587c",
|
||
"subject": "refactor(artifacts): remove unused extraction inventory indexes",
|
||
"body": "refactor(artifacts): remove unused extraction inventory indexes\n\nDerive needed artifact IDs directly from selected occurrences. Keep the node lookup local to selection, drop the unread occurrence map and collector helpers, and pass only manifest and selected integrity metadata to materialization.\n\nValidation: existing extraction completeness, identity, unsupported-format, packed/unpacked ASAR, and public MCP workflows pass. Nested archive selection and equal-content occurrence coverage remain intact. This is a structural simplification; no throughput improvement is claimed.\n",
|
||
"parents": ["8ba0a887ff339be32aa3ca4d84d88732854d7b0a"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "b28c0337fcb3f34533ffb61a8220e802eb6973e7",
|
||
"subject": "perf(javascript): reduce retained semantic analysis allocations (#1601)",
|
||
"body": "perf(javascript): reduce retained semantic analysis allocations (#1601)\n\nReduce retained semantic allocations and memoize lexical scope ancestry while preserving semantic identities. Refs #1065 and #1563; the complete-directory memory failure remains open.",
|
||
"parents": ["f4e437e5441ecfe4bcd3e6a72c0c502843c2587c"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1601]
|
||
},
|
||
{
|
||
"sha": "c12a532b9c1a8c52045c73aceefcda3fd2090f84",
|
||
"subject": "perf(evm): avoid repeated cleanup diagnostics (#1622)",
|
||
"body": "perf(evm): avoid repeated cleanup diagnostics (#1622)\n\nRetain the original owned-command cleanup failure and one captured-output copy while preserving cleanup resources, truncation and retry semantics.\n\nVerify socket release after cancelled CDP cleanup while retaining the independent detach regression.\n\nValidation: 167 tests across 13 files, all eight local gates, real small Chrome/EVM CLI and pinned-SDK MCP controls, and 20/20 exact-head CI checks.",
|
||
"parents": ["b28c0337fcb3f34533ffb61a8220e802eb6973e7"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1622]
|
||
},
|
||
{
|
||
"sha": "6a41a29963f4623d399c66b916b95711207bbc8c",
|
||
"subject": "fix(apple): preserve directory requirements in dylib paths (#1623)",
|
||
"body": "fix(apple): preserve directory requirements in dylib paths (#1623)",
|
||
"parents": ["c12a532b9c1a8c52045c73aceefcda3fd2090f84"],
|
||
"authors": [
|
||
{
|
||
"name": "clyde",
|
||
"email": "curruptdwastaken@gmail.com",
|
||
"user": {
|
||
"login": "evenafterallisaid",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1623]
|
||
},
|
||
{
|
||
"sha": "8fb79c67ee57100ae9d7a5f5900226d1f6fa7867",
|
||
"subject": "perf(evidence): remove disposable ledger work from standalone import",
|
||
"body": "perf(evidence): remove disposable ledger work from standalone import\n\nCount already-validated records and unknown revisions without reimporting, sealing, and exporting a temporary empty ledger. Keep canonical integrity checks at the file boundary and verify counts and malformed bundles through the compiled CLI.\n\nValidation: Evidence file and CLI consumer suites; check:fast; Flameox CPU profiles and alternating 3.8 MB import benchmark (315.8 ms to 102.5 ms warm median, identical result digests). No real-provider workflow changed or verified.\n",
|
||
"parents": ["6a41a29963f4623d399c66b916b95711207bbc8c"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "514df0918c0cc3ac4e68f7af53f0a605eea3475c",
|
||
"subject": "fix(analysis-view): preserve inline Evidence error paths",
|
||
"body": "fix(analysis-view): preserve inline Evidence error paths\n\nProject authenticated inline Evidence failures at source.evidence while retaining their reasons and messages. Supply the matching request root to input issue projection so nested values remain identifiable.\n\nValidation: both service entrypoints and SDK MCP integrity regressions, advertised-schema consumer suite, check:fast and architecture guards. No real-provider verification.\n",
|
||
"parents": ["8fb79c67ee57100ae9d7a5f5900226d1f6fa7867"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "d1f04512afb95f366be0043909f53e338acde78f",
|
||
"subject": "refactor(javascript): remove redundant semantic query passes",
|
||
"body": "refactor(javascript): remove redundant semantic query passes\n\nUse resolved seeds directly, retain one list of relevant unknowns, and stop sorting adjacency used only for complete reachability. Preserve canonical graph-array output order and candidate coverage scans.\n\nValidation: 37 query and traversal tests, public JavaScript reconstruction and invalid-Evidence consumers, check:fast. No real-browser or deep-provider workflow verified.\n",
|
||
"parents": ["514df0918c0cc3ac4e68f7af53f0a605eea3475c"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "de0d341524dc68250a45b41eb7e49fcecc1e32a9",
|
||
"subject": "fix(artifacts): retain unpacked ASAR handles after close failures",
|
||
"body": "fix(artifacts): retain unpacked ASAR handles after close failures\n\nOwn unpacked FileHandles until closure succeeds, deduplicate in-flight closure, and retain cleanup resources for retry without replacing the original read or identity failure. Attempt handle and snapshot cleanup independently and retain failed snapshots.\n\nConsolidate unpacked admission, identity checking, cancellation and stream setup, removing the redundant same-handle stat. Cover stat and identity failures, post-stat cancellation, combined cleanup failure/retry, and stream completion/cancellation with real file descriptors.\n\nValidation: 32 ASAR boundary tests, artifact extraction and SDK MCP consumers, check:fast. Native Windows descriptor inspection and real-provider workflows were not verified.\n",
|
||
"parents": ["d1f04512afb95f366be0043909f53e338acde78f"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "5100a1a1a56b810c8246b8c7ed19ff42c4d9dbe1",
|
||
"subject": "test(clients): verify Copilot compact schema workflows (#1624)",
|
||
"body": "test(clients): verify Copilot compact schema workflows (#1624)",
|
||
"parents": ["de0d341524dc68250a45b41eb7e49fcecc1e32a9"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1624]
|
||
},
|
||
{
|
||
"sha": "2014ee7d685ab15d4be7c97c95b78980116eda25",
|
||
"subject": "perf(javascript): compare scalar semantic query seeds directly",
|
||
"body": "perf(javascript): compare scalar semantic query seeds directly\n\nAvoid repeatedly canonicalizing scalar seeds for every literal node. Valid literal metadata without a scalar value now remains unmatched instead of throwing.\n\nFlameox identified canonicalization as the hotspot. Alternating warm query benchmarks over 2,002 nodes reduced the 35.5 KB seed median from 36.34 ms to 0.158 ms; a short seed improved from 0.304 ms to 0.128 ms with identical result digests. These measurements cover the query function, not end-to-end analysis.\n\nValidation: 38 domain query/traversal tests and focused compiled CLI/MCP consumers; static, architecture and documentation checks passed.\n",
|
||
"parents": ["5100a1a1a56b810c8246b8c7ed19ff42c4d9dbe1"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "3967cfa43e786c65a57e89c265343983d19ef9d0",
|
||
"subject": "fix(reference): distinguish root access failures from invalid input",
|
||
"body": "fix(reference): distinguish root access failures from invalid input\n\nShare root filesystem failure classification between import preflight and traversal. Missing roots remain invalid selections; permission and I/O errors retain their reason and reach the CLI as execution failures. Preserve cancellation priority and expose unexpected exceptions.\n\nValidation: compiled CLI permission regression, direct reader error details, import/traversal and unreadable-directory boundaries passed. Windows-only cases were skipped on macOS; static, architecture and documentation checks passed.\n",
|
||
"parents": ["2014ee7d685ab15d4be7c97c95b78980116eda25"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "39da0b150bfae83fa071857d28c8ef4ab322fc08",
|
||
"subject": "fix(artifacts): bind member reads to emitted metadata",
|
||
"body": "fix(artifacts): bind member reads to emitted metadata\n\nReject Mach-O and ZIP entries whose metadata no longer matches the reader inventory, preventing a sibling adapter key from selecting bytes under another entry. Reuse the existing ASAR metadata snapshot and equality rules and read Mach-O ranges from owned records.\n\nMove the real system-lipo test to the provider boundary suite, release its reader, and derive slice expectations from the host FAT table.\n\nValidation: 68 focused artifact, ASAR and MCP tests plus ZIP cancellation passed. Real macOS lipo was exercised against /bin/ls; Ghidra, IDA and other deep providers were not run. Static, docs, architecture and test discovery checks passed.\n",
|
||
"parents": ["3967cfa43e786c65a57e89c265343983d19ef9d0"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "6db97d5162bb487f3ec997807132145854652e2c",
|
||
"subject": "perf(javascript): remove duplicate workflow Evidence snapshots",
|
||
"body": "perf(javascript): remove duplicate workflow Evidence snapshots\n\nPass typed workflow results directly to createEvidence, which validates generic JSON and takes the owned snapshot. Remove the extra generic parse and full result clone from all five workflow helpers; domain producers retain their specific schema validation.\n\nFlameox confirmed JSON validation and copying costs. Alternating warm runs creating Evidence for a valid 2,001-node trace reduced median boundary time from 15.94 ms to 11.20 ms over 120 samples per variant, with identical output digests and independent mutable-input snapshots. This does not measure end-to-end workflow latency.\n\nValidation: 39 focused CLI, SDK MCP and filesystem workflow tests and 17 Evidence tests passed; build, static and documentation checks passed. No deep analysis providers were exercised for this change.\n",
|
||
"parents": ["39da0b150bfae83fa071857d28c8ef4ab322fc08"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "be44b5098ec205d937cfc954e577ee4f84f69a59",
|
||
"subject": "test(javascript): share semantic graph fixtures (#1631)",
|
||
"body": "test(javascript): share semantic graph fixtures (#1631)",
|
||
"parents": ["6db97d5162bb487f3ec997807132145854652e2c"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1631]
|
||
},
|
||
{
|
||
"sha": "6585293c562853b95c3a70df02c12ad8cc17afc4",
|
||
"subject": "fix(reference)!: preserve exclusion rule provenance",
|
||
"body": "fix(reference)!: preserve exclusion rule provenance\n\nRecord the exact matching pattern and distinguish project, default, caller, and configured-sensitive exclusions without changing ignore ordering. Include that provenance in graph commitments and validate the contract through compiled CLI and MCP consumers.\n\nBREAKING CHANGE: Pattern-based reference graph exclusions require pattern and distinguish project-ignored and default-ignored reasons. Re-import saved graphs that omit matching patterns.\n",
|
||
"parents": ["be44b5098ec205d937cfc954e577ee4f84f69a59"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "5a77a962ecb2cf86755373bccccda6613579990b",
|
||
"subject": "perf(reference): size read buffers from admitted file lengths",
|
||
"body": "perf(reference): size read buffers from admitted file lengths\n\nUse the descriptor size to bound each allocation, with a one-byte EOF probe, and stop on observed growth. Retain short-read, cancellation, and final identity validation.\n\nA 2,001-file benchmark requests 4,200,307 bytes instead of 266,469,376 with the same captured-byte digest. Flameox shows filesystem waits dominate, so this is an allocation reduction without a CPU speedup claim.\n",
|
||
"parents": ["6585293c562853b95c3a70df02c12ad8cc17afc4"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "bbd01923e96ccd3f727549b2a01c61188dae247c",
|
||
"subject": "fix(artifacts): own DMG readers before attachment",
|
||
"body": "fix(artifacts): own DMG readers before attachment\n\nMake inventory reader construction synchronous and DMG attachment lazy, so the inventory registers its reader before native operations start. Share initialization, reject work after close, wait for an in-flight attach before cleanup, and preserve retryable close state.\n\nCover failed-attach inventory cleanup, concurrent initialization, close-before-use, and close-during-attach alongside existing ownership, cancellation, and integrity cases. Session-level retention after inventory cleanup failure remains a separate concern.\n",
|
||
"parents": ["5a77a962ecb2cf86755373bccccda6613579990b"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "d6f698d8af7150ef465e4ca1203194a22780da14",
|
||
"subject": "fix(ghidra): admit carved MIPS ELF with incomplete section tables (#1629)",
|
||
"body": "fix(ghidra): admit carved MIPS ELF with incomplete section tables (#1629)\n\n* fix(ghidra): inspect carved MIPS ABI declarations without missing sections\n\n* test: share filesystem fixtures and cleanup assertions",
|
||
"parents": ["bbd01923e96ccd3f727549b2a01c61188dae247c"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1629]
|
||
},
|
||
{
|
||
"sha": "6e0d5d64d3d5b480e370cdaf35f80545913e4093",
|
||
"subject": "feat(ghidra): admit set_address_name and set_addresses_names (#1635)",
|
||
"body": "feat(ghidra): admit set_address_name and set_addresses_names (#1635)\n\n* feat(ghidra): admit set_address_name and set_addresses_names\n\nGhidra sessions rejected the existing naming tools with \"operation is not declared by this provider\", so agents had to use annotate_native_function, which returns a complete function dossier per rename and cannot name data addresses.\n\nThe Java bridge now names a local function entry (namespace-aware, like annotate_native_function) or creates/renames the primary label at any other mapped address, verifying readback. set_addresses_names applies each address in its own transaction and reports per-address booleans. Both are mutating capabilities: excluded from read-only (Windows P0) handshakes and from snapshot replay.\n\n* fix(ghidra): normalize qualified symbol names and reject empty leaves\n\nShare namespace-aware leaf normalization across functions and primary labels. Invalid qualified leaves now return false for naming operations without marking the provider unavailable; function annotations retain typed invalid-input errors.\n\nExtend real CLI/MCP namespace verification with namespaced globals, readback replay, failed-name rollback, mixed batches, and capability checks.\n\nValidation: 75 focused tests and npm run check pass. Ghidra 12.1.4/JDK 21 namespace verification passes on macOS arm64 with unchanged source bytes and complete cleanup. The full host lane passes this workflow before the existing entry-alias fixture fails because the compiler places its interior label at the function entry.\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["d6f698d8af7150ef465e4ca1203194a22780da14"],
|
||
"authors": [
|
||
{
|
||
"name": "Giridhar",
|
||
"email": "80974392+giri256@users.noreply.github.com",
|
||
"user": {
|
||
"login": "giri256",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1635]
|
||
},
|
||
{
|
||
"sha": "b74d9a1bb2e6c037d81baac196a13f0634dd8550",
|
||
"subject": "fix(onboarding): isolate client homes and clarify npm release support (#1627)",
|
||
"body": "fix(onboarding): isolate client homes and clarify npm release support (#1627)\n\nBind HOME and USERPROFILE in disposable native client verifiers, exercise default personal skill discovery, and clarify automatic Pi/Hermes setup availability in the checked npm release.\n\nValidation: integrated build/static/docs checks, repeated native client workflows, real Codex-backed client trials and two independent cold-npx Codex installs. All 19 CI checks passed on a7ba07ba. Other model providers, platforms and deep-analysis engines retain their explicit verification TODOs.",
|
||
"parents": ["6e0d5d64d3d5b480e370cdaf35f80545913e4093"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1627]
|
||
},
|
||
{
|
||
"sha": "6636045c9c5b472bba51afee9d434394861e93a4",
|
||
"subject": "fix(reference): match exclusions against observed entry kinds",
|
||
"body": "fix(reference): match exclusions against observed entry kinds\n\nInspect each entry without following links before applying directory-only patterns. Retain the winning rule and original entry path while pruning excluded directories before reading their children.\n\nValidate directory exclusions, negation, symlinks, explicit secret rules, and compiled CLI provenance alongside reference reader failure and cancellation coverage.\n",
|
||
"parents": ["b74d9a1bb2e6c037d81baac196a13f0634dd8550"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "f1c58cc53fbd83b968e11b3e2eccebca51299c54",
|
||
"subject": "fix(reference): reject FIFO replacements without blocking",
|
||
"body": "fix(reference): reject FIFO replacements without blocking\n\nUse the shared nonblocking, no-follow regular-file opener at the source-read boundary and report a nonregular replacement as changed. Keep descriptor identity and extent checks.\n\nThe compiled subprocess regression timed out on the baseline and completes without a FIFO writer after this change. Reference reader failure, capacity, cancellation, and import checks pass.\n",
|
||
"parents": ["6636045c9c5b472bba51afee9d434394861e93a4"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "87d5ec93d5d5d07d1029f15f755363ce5faf3b2f",
|
||
"subject": "perf(javascript): index native Evidence links by observed digest",
|
||
"body": "perf(javascript): index native Evidence links by observed digest\n\nBuild each side's digest-to-Evidence index once instead of scanning native observations for every comparison item. Retain every exact match and avoid linking subjectless Evidence to nodes lacking content identity.\n\nComparison and relationship regressions pass. Isolated alternating unprofiled runs at 2,000 nodes and observations per side have conventional medians 379.924 ms before and 246.466 ms after; the complete 4,000-item outputs match byte-for-byte. Timings are bounded workload evidence, not whole-suite performance.\n\nFlameox profile: flameox://evidence/7dca714833dc3d254a75704670a81de656b4b31d4b77a72236eecb82459b3d86\n",
|
||
"parents": ["f1c58cc53fbd83b968e11b3e2eccebca51299c54"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "ffe0574e17b9d973860371083cb1a351be912131",
|
||
"subject": "fix(artifacts)!: retain cleanup owners through client shutdown",
|
||
"body": "fix(artifacts)!: retain cleanup owners through client shutdown\n\nKeep failed reader, root descriptor, and output-tree cleanup with the caller. Drain admitted work before close, retry the same retained owners, and block new resource work while cleanup is incomplete. Preserve primary failures and complete inventory observations.\n\nThread ownership through JavaScript reconstruction, the CLI's one-shot scope, MCP server shutdown, verifier scripts, and test fixtures. Remove redundant ownership flags and the unused validated test wrapper.\n\nValidate with 850 passing focused tests across 90 suites (two skipped), targeted classification and cleanup retries, static and unused-code checks, and real macOS CLI/MCP directory, ZIP, and DMG workflows. Native Windows and deep-analysis providers were not verified.\n\nBREAKING CHANGE: Direct artifact inventory/extraction and JavaScript analysis APIs require an explicit caller-owned ArtifactResourceScope. CLI and MCP input contracts are unchanged.\n",
|
||
"parents": ["87d5ec93d5d5d07d1029f15f755363ce5faf3b2f"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "0fa0b046288bc1b70099a2d27ee52537850de595",
|
||
"subject": "fix(electron): check Windows lineage before process cleanup",
|
||
"body": "fix(electron): check Windows lineage before process cleanup\n\nReturn an unverified cleanup failure before invoking numeric process-tree termination when owned lineage is unavailable. Preserve the partial capture and existing cleanup diagnostics.\n\nExercise the provider capture boundary with stable application-state observations; assert no Windows cleanup call and retained partial Evidence. Source tests pass; native Windows behavior was not verified.\n",
|
||
"parents": ["ffe0574e17b9d973860371083cb1a351be912131"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "32d13c431efadf66eca98bcd59261d8f8086a06c",
|
||
"subject": "test(javascript): retain resource ownership in deep-return fixture (#1644)",
|
||
"body": "test(javascript): retain resource ownership in deep-return fixture (#1644)",
|
||
"parents": ["0fa0b046288bc1b70099a2d27ee52537850de595"],
|
||
"authors": [
|
||
{
|
||
"name": "clyde",
|
||
"email": "curruptdwastaken@gmail.com",
|
||
"user": {
|
||
"login": "evenafterallisaid",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1644]
|
||
},
|
||
{
|
||
"sha": "be6272f26115bd8e94f2ab0df4cf092004587a18",
|
||
"subject": "fix(artifacts)!: preserve descriptor cleanup authority",
|
||
"body": "fix(artifacts)!: preserve descriptor cleanup authority\n\nKeep rejected closes unresolved after descriptor invalidation and share concurrent close attempts. Preserve primary admission failures and transfer the exact failed handle owner into inventory scopes.\n\nBREAKING CHANGE: ArtifactResourceScope file-handle owners require OwnedFileHandle. Root inventory sources retain their single cleanup owner.\n",
|
||
"parents": ["32d13c431efadf66eca98bcd59261d8f8086a06c"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "e0e49e9dd53d9d1f1d2330b23f7f880dc1c81774",
|
||
"subject": "fix(artifacts)!: keep streamed reads within descriptor ownership",
|
||
"body": "fix(artifacts)!: keep streamed reads within descriptor ownership\n\nUse bounded positional reads for unpacked ASAR members and borrowed Mach-O slices so destroying a stream cannot bypass its descriptor owner. Retain uncertain ASAR closes and preserve borrowed sources after cancellation.\n\nBREAKING CHANGE: Injected ASAR unpacked handles expose fd and read instead of createReadStream.\n",
|
||
"parents": ["be6272f26115bd8e94f2ab0df4cf092004587a18"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "3f8c51e9b506d88fc41aded7b1a22b9a09037c26",
|
||
"subject": "fix(artifacts): retain output ownership through publication failures",
|
||
"body": "fix(artifacts): retain output ownership through publication failures\n",
|
||
"parents": ["e0e49e9dd53d9d1f1d2330b23f7f880dc1c81774"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "be75ed5e4b4bfb146af497f8fa5d172a1ea19462",
|
||
"subject": "fix(publication)!: retain cleanup owners across export workflows",
|
||
"body": "fix(publication)!: retain cleanup owners across export workflows\n\nRequire an ArtifactResourceScope for web script exports and share its lifetime with CLI or MCP shutdown. Retain setup-failed output trees in firmware and Wakaru providers. Preserve completed publications when descriptor cleanup fails, returning the full result after a successful retry or as a partial observation while cleanup remains unresolved.\n",
|
||
"parents": ["3f8c51e9b506d88fc41aded7b1a22b9a09037c26"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "5502ca9c97f86f069e1914691eed9b185568f1f0",
|
||
"subject": "fix(artifacts): retain reader owners after cleanup failures",
|
||
"body": "fix(artifacts): retain reader owners after cleanup failures\n\nKeep directory handles under explicit close ownership and retain ZIP and Mach-O admission owners when initialization or cleanup fails. Preserve cancellation and primary failure details, and avoid false successful release after native handle invalidation.\n\nValidation: filesystem ownership, FIFO, archive and reconstruction boundary checks; static and architecture checks; real macOS CLI/MCP bundle workflows. Windows native behavior was not verified.\n",
|
||
"parents": ["be75ed5e4b4bfb146af497f8fa5d172a1ea19462"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "a17e257f43ee675165ea03dda12c7a8ecec919ea",
|
||
"subject": "fix(artifacts): preserve failures while unwinding nested traversals",
|
||
"body": "fix(artifacts): preserve failures while unwinding nested traversals\n\nFinish every remaining iterator from inner to outer, retaining cleanup observations without replacing the original traversal failure. A real nested ASAR regression reproduces the previous integrity-error masking.\n",
|
||
"parents": ["5502ca9c97f86f069e1914691eed9b185568f1f0"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "684199ba0be7822266d57ddb8a40e95f087fdc42",
|
||
"subject": "fix(javascript)!: retain nested artifact readers in caller scopes",
|
||
"body": "fix(javascript)!: retain nested artifact readers in caller scopes\n\nRequire the caller artifact resource scope when reading JavaScript artifacts. Transfer failed nested ASAR cleanup to that scope so later work retries the same owner before admission. Preserve traversal failures and attempt every remaining iterator during unwind.\n\nValidation: reconstruction, integrity, content identity, cancellation and nested-reader cleanup boundary checks.\n\nBREAKING CHANGE: readJavaScriptArtifactFiles now requires ArtifactResourceScope as its third argument; the optional abort signal is fourth.\n",
|
||
"parents": ["a17e257f43ee675165ea03dda12c7a8ecec919ea"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "69fe5b6010f2658d302cf2c6e6a8b770205da080",
|
||
"subject": "perf(javascript): index structured observations by path",
|
||
"body": "perf(javascript): index structured observations by path\n\nBuild package, JSON-module and source-map indexes once instead of rescanning every observation list per file. Preserve first-observation lookup semantics when paths repeat and share each JSON lookup with the file projection.\n\nValidation: duplicate-observation consumer regression and reconstruction suites. Flameox captured before/after CPU profiles on 3,000 JSON files; the complete CLI output stayed byte-identical. Exploratory samples do not establish an end-to-end timing improvement.\n",
|
||
"parents": ["684199ba0be7822266d57ddb8a40e95f087fdc42"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "ac9677bd6cb84a3ca2a1e598a77e7346b260ab01",
|
||
"subject": "fix(test): preserve Ghidra interior-label controls on Mach-O (#1640)",
|
||
"body": "fix(test): preserve Ghidra interior-label controls on Mach-O (#1640)\n\n* fix(test): preserve Ghidra interior-label controls on Mach-O\n\n* test: preserve selector semantics and accept signaled fixture exits\n\n* test(javascript): exercise deep returns through the public CLI",
|
||
"parents": ["69fe5b6010f2658d302cf2c6e6a8b770205da080"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1640]
|
||
},
|
||
{
|
||
"sha": "9515d2fcd398ded41ab3c3f42d53f5702577ada6",
|
||
"subject": "fix(tests): verify Qwen skills through an isolated native home (#1646)",
|
||
"body": "fix(tests): verify Qwen skills through an isolated native home (#1646)",
|
||
"parents": ["ac9677bd6cb84a3ca2a1e598a77e7346b260ab01"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1646]
|
||
},
|
||
{
|
||
"sha": "215001a1ceb115391f38bff30754445b0a748774",
|
||
"subject": "refactor(filesystem): share directory cleanup ownership",
|
||
"body": "refactor(filesystem): share directory cleanup ownership\n\nReuse the existing directory close state machine for artifact and reference readers. ArtifactResourceScope can retain the exact directory owner when cleanup fails.\n",
|
||
"parents": ["9515d2fcd398ded41ab3c3f42d53f5702577ada6"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "53e7fadbd078422ba3d55b5499a70d237c5f4908",
|
||
"subject": "fix(reference)!: retain source and metadata cleanup owners",
|
||
"body": "fix(reference)!: retain source and metadata cleanup owners\n\nRequire a caller-owned artifact resource scope for source traversal and Git metadata reads. Preserve cancellation, filesystem reasons, partial entries and bytes, and cleanup observations through import and the CLI. Transfer exact failed file owners at regular-file admission and close boundaries, including multiple failures encountered by Git reference resolution.\n\nValidation: 169 focused tests passed across 26 files; two Windows-only cases skipped. Build, typecheck, lint, formatting, knip, architecture guards, discovery and docs checks passed.\n\nBREAKING CHANGE: Reference source readers and imports require an ArtifactResourceScope. VCS metadata reads return Result, and CLI import failures include observed details and partial evidence.\n",
|
||
"parents": ["215001a1ceb115391f38bff30754445b0a748774"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "c7345512eae285158ea035be619ef6c8deb09adf",
|
||
"subject": "perf(native): index admitted value-trace nodes",
|
||
"body": "perf(native): index admitted value-trace nodes\n\nReplace a graph-wide node scan for each parameter use with membership in the set of admitted node IDs. Preserve node-budget omission, pagination, and existing ID-collision behavior.\n\nFlameox profiles identify the eliminated scan. Six-run medians on a bounded synthetic four-procedure workload improved from 2538.17 ms to 220.32 ms (11.52x); full JSON responses have identical SHA-256 4071fc7ec17be01e6a23d53814a47b3b1bb0ebd80099d21ef8431da487801725. This measures production trace composition with a synthetic provider, not real Ghidra target speed.\n\nExternal design research through DeepWiki was checked against Ghidra 12.1.4 DataGraph: https://github.com/NationalSecurityAgency/ghidra/blob/8b6bbb857accdfa20dc5b2f5dea471178c2e9fbc/Ghidra/Features/CodeCompare/src/main/java/ghidra/features/codecompare/graphanalysis/DataGraph.java\n",
|
||
"parents": ["53e7fadbd078422ba3d55b5499a70d237c5f4908"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "926c2d6ba7975522d63a8dbb0d448f5b9d1514d4",
|
||
"subject": "test(ghidra): preserve metadata in interior-label fixture",
|
||
"body": "test(ghidra): preserve metadata in interior-label fixture\n\nPlace the imported control label inside a valid multi-byte NOP instead of suppressing Mach-O function-start metadata. Encode the supported ARM64 and x86-64 instructions explicitly and retain the load dependency so the control remains past the function entry. Assert that Ghidra imports a label and no procedure at the control address before checking name rejection and address containment.\n\nTwo real arm64 Ghidra 12.1.4 imports confirmed both fixture strategies produce labels; only default linking retains LC_FUNCTION_STARTS. The full native-value CLI/MCP verifier passed with 349 successful and 52 expected rejected boundary calls, including imported aliases, complete exports, and startup cancellation cleanup. Host ARM64 and Apple x86-64 fixture compilation passed; x86 provider execution remains unverified.\n",
|
||
"parents": ["c7345512eae285158ea035be619ef6c8deb09adf"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "6849ecf70a11c0f469f40b49bfcf25d845586ca7",
|
||
"subject": "docs(installation): clarify that npm 6.3.0 excludes automatic pi and hermes setup (#1637)",
|
||
"body": "docs(installation): clarify that npm 6.3.0 excludes automatic pi and hermes setup (#1637)\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["926c2d6ba7975522d63a8dbb0d448f5b9d1514d4"],
|
||
"authors": [
|
||
{
|
||
"name": "Luis Araya",
|
||
"email": "35828647+Totopo27@users.noreply.github.com",
|
||
"user": {
|
||
"login": "Totopo27",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1637]
|
||
},
|
||
{
|
||
"sha": "7b3011b41efca99fbad471b6175d0f6797f2c313",
|
||
"subject": "fix(tests): bind HOME in native client and deepseek verifiers (#1638)",
|
||
"body": "fix(tests): bind HOME in native client and deepseek verifiers (#1638)",
|
||
"parents": ["6849ecf70a11c0f469f40b49bfcf25d845586ca7"],
|
||
"authors": [
|
||
{
|
||
"name": "Luis Araya",
|
||
"email": "35828647+Totopo27@users.noreply.github.com",
|
||
"user": {
|
||
"login": "Totopo27",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1638]
|
||
},
|
||
{
|
||
"sha": "afc9d819aa1e6dc2cfc7373a6d2c2edd2e66ad2d",
|
||
"subject": "test(android): preserve reason in JADX cleanup-failure teardown poll (#1639)",
|
||
"body": "test(android): preserve reason in JADX cleanup-failure teardown poll (#1639)",
|
||
"parents": ["7b3011b41efca99fbad471b6175d0f6797f2c313"],
|
||
"authors": [
|
||
{
|
||
"name": "Luis Araya",
|
||
"email": "35828647+Totopo27@users.noreply.github.com",
|
||
"user": {
|
||
"login": "Totopo27",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1639]
|
||
},
|
||
{
|
||
"sha": "1a6ccec636a2ce811245fab86a6bfa7f8597ba85",
|
||
"subject": "fix(browser): skip Windows Electron signals without verified lineage (#1588)",
|
||
"body": "fix(browser): skip Windows Electron signals without verified lineage (#1588)\n\ncapture_electron_scenario called taskkill on the recorded leader PID before lineage could be verified. On Windows the process table is empty, so that proof never arrives and the signal still ran. Refuse the cleanup without signaling. A verified lineage still terminates the leader and its descendants.\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["afc9d819aa1e6dc2cfc7373a6d2c2edd2e66ad2d"],
|
||
"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": [1588]
|
||
},
|
||
{
|
||
"sha": "6edd5cf045bad34e048d11e2906fa947c0a067f9",
|
||
"subject": "fix(browser): keep declared scenario secrets out of redacted evidence (#1590)",
|
||
"body": "fix(browser): keep declared scenario secrets out of redacted evidence (#1590)\n\nA redaction marker such as [REDACTED:password] can contain the secret it replaced, and the byte replacer never scanned the marker it inserted. Cookie names, domains, paths, and storage keys were also stored raw. Choose a marker that does not contain a declared spelling, drop the result when a spelling remains, and redact storage identity fields.",
|
||
"parents": ["1a6ccec636a2ce811245fab86a6bfa7f8597ba85"],
|
||
"authors": [
|
||
{
|
||
"name": "Adolanium",
|
||
"email": "94890352+Adolanium@users.noreply.github.com",
|
||
"user": {
|
||
"login": "Adolanium",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1590]
|
||
},
|
||
{
|
||
"sha": "3e931a7e357a3c8af671f39aa54952d6a6019d1f",
|
||
"subject": "fix(browser): fold loopback spellings into one attach admission key (#1604)",
|
||
"body": "fix(browser): fold loopback spellings into one attach admission key (#1604)\n\nA CDP endpoint serves every loopback stack on one port, but the attach\nadmission key was built from the endpoint origin string, so scenarios\nattaching through http://127.0.0.1:PORT and http://[::1]:PORT produced\ntwo lease keys, passed admission in parallel and the browser rejected\nthe second client. Collapse literal loopback hostnames to one identity\nin the lease key (port and target still partition it) without touching\nendpoint validation.\n\nValidation: npx vitest run src/browser/PlaywrightScenarioBrowser.test.ts (9 passed; the two new loopback tests failed before the fix), npx vitest run src/browser src/domain (1745 passed, 2 failed, both failing on pristine main), npm run test:fast (3896 passed, 12 failed, 7 skipped; the failure set is identical on pristine main at 3894 passed), plus typecheck, oxlint, oxfmt and resolved module-boundary verification.",
|
||
"parents": ["6edd5cf045bad34e048d11e2906fa947c0a067f9"],
|
||
"authors": [
|
||
{
|
||
"name": "akushonkamen",
|
||
"email": "74654766+akushonkamen@users.noreply.github.com",
|
||
"user": {
|
||
"login": "akushonkamen",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1604]
|
||
},
|
||
{
|
||
"sha": "52331ab637d02df820fa5e14792b2d3e31140912",
|
||
"subject": "fix(setup): preserve configured MCP server environment (#1607)",
|
||
"body": "fix(setup): preserve configured MCP server environment (#1607)\n\n* fix(setup): preserve configured MCP server environment\n\n* fix(setup): validate retained server environment before writes",
|
||
"parents": ["3e931a7e357a3c8af671f39aa54952d6a6019d1f"],
|
||
"authors": [
|
||
{
|
||
"name": "Feng",
|
||
"email": "laufs0310@163.com",
|
||
"user": {
|
||
"login": "Adkid-Zephyr",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1607]
|
||
},
|
||
{
|
||
"sha": "423b11c8ef7de15fce25ba00d6f2cf378bc8a615",
|
||
"subject": "fix(javascript): preserve trailing slash in package directory requests (#1615)",
|
||
"body": "fix(javascript): preserve trailing slash in package directory requests (#1615)",
|
||
"parents": ["52331ab637d02df820fa5e14792b2d3e31140912"],
|
||
"authors": [
|
||
{
|
||
"name": "Immanuel Tikhonov",
|
||
"email": "122638311+immanuwell@users.noreply.github.com",
|
||
"user": {
|
||
"login": "immanuwell",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1615]
|
||
},
|
||
{
|
||
"sha": "0f605bca095b956e4a6e92e8da5ce98ded5e5a70",
|
||
"subject": "fix(browser): report SVG xlink:href links in dom_urls (#1602)",
|
||
"body": "fix(browser): report SVG xlink:href links in dom_urls (#1602)\n\n* fix(browser): report SVG xlink:href links in dom_urls\n\nDOM snapshots have no namespace URI, so SVG context is an svg ancestor\noutside foreignObject. When href is missing, report xlink:href as href\nwith the same base URL and origin policy.\n\nFixes #1586\n\n* fix(browser): cache SVG ancestry during DOM capture\n\n---------\n\nCo-authored-by: Cursor Agent <cursoragent@cursor.com>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["423b11c8ef7de15fce25ba00d6f2cf378bc8a615"],
|
||
"authors": [
|
||
{
|
||
"name": "Nithilan Kumaran",
|
||
"email": "126580000+sathariels@users.noreply.github.com",
|
||
"user": {
|
||
"login": "sathariels",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Cursor Agent",
|
||
"email": "cursoragent@cursor.com",
|
||
"user": {
|
||
"login": "cursoragent",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1602]
|
||
},
|
||
{
|
||
"sha": "54e2890b300f2935db592edd7d01fc38c3198ffc",
|
||
"subject": "fix(ci): check decoded reference paths and restore formatting (#1648)",
|
||
"body": "fix(ci): check decoded reference paths and restore formatting (#1648)\n\n* style(browser): format cached SVG ancestry check\n\n* fix(tests): assert decoded reference-source error paths",
|
||
"parents": ["0f605bca095b956e4a6e92e8da5ce98ded5e5a70"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1648]
|
||
},
|
||
{
|
||
"sha": "279c942fe1d150841e76c47a172ee39231dd3792",
|
||
"subject": "refactor(reference): consolidate Git metadata cleanup",
|
||
"body": "refactor(reference): consolidate Git metadata cleanup\n",
|
||
"parents": ["54e2890b300f2935db592edd7d01fc38c3198ffc"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "67966c69a5d56ce9db2197643e535a0312f11a47",
|
||
"subject": "fix(setup): retain client configuration cleanup owners",
|
||
"body": "fix(setup): retain client configuration cleanup owners\n",
|
||
"parents": ["279c942fe1d150841e76c47a172ee39231dd3792"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "95a77b6e25420b3879bd0e32bdbb14d452b38776",
|
||
"subject": "fix(web)!: retain capture read cleanup through export",
|
||
"body": "fix(web)!: retain capture read cleanup through export\n\nBREAKING CHANGE: WebScriptExportError accepts error context and residual paths in an options object.\n",
|
||
"parents": ["67966c69a5d56ce9db2197643e535a0312f11a47"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "8b4c96e6c6b3ed6806e4cd72b556b5db6114304a",
|
||
"subject": "fix(cli): preserve native option descriptions in help",
|
||
"body": "fix(cli): preserve native option descriptions in help\n\nKeep the optional address description visible to incur and describe the actual\nbundle plist default and absolute-path support. Extend the existing command\nhelp sweep instead of traversing the inventory a second time.\n\nRefs: #1418\nCo-authored-by: Fazmin <fazmin.nizam@gmail.com>\n",
|
||
"parents": ["95a77b6e25420b3879bd0e32bdbb14d452b38776"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Fazmin",
|
||
"email": "fazmin.nizam@gmail.com",
|
||
"user": {
|
||
"login": "Fazmin",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "60fbb2f06eedcd1f5170226a5118e956a6fc9dd0",
|
||
"subject": "fix(install): share arguments between the plan and npm execution",
|
||
"body": "fix(install): share arguments between the plan and npm execution\n\nInclude the Linux user prefix in the planned command. Build the install\narguments once and shell-escape the printed arguments so paths with spaces\nor metacharacters remain reusable. Cover dry-run admission, exact argument\nround-trip and the unprefixed macOS command with native Bash 3.2.\n\nRefs: #1417\n",
|
||
"parents": ["8b4c96e6c6b3ed6806e4cd72b556b5db6114304a"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "b09dd333ab7515916c109e9a17e7132e56ac428f",
|
||
"subject": "fix(tests): separate Copilot model IDs from wire models (#1647)",
|
||
"body": "fix(tests): separate Copilot model IDs from wire models (#1647)\n\n* fix(tests): separate Copilot model IDs from wire models\n\n* fix(tests): inspect parsed reference import diagnostics",
|
||
"parents": ["60fbb2f06eedcd1f5170226a5118e956a6fc9dd0"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1647]
|
||
},
|
||
{
|
||
"sha": "1b527f48985293fc0718fcf2b0fad6b3ced6bbcb",
|
||
"subject": "fix(ci): share runtime fixtures and allow modest duplication headroom",
|
||
"body": "fix(ci): share runtime fixtures and allow modest duplication headroom\n",
|
||
"parents": ["b09dd333ab7515916c109e9a17e7132e56ac428f"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "975dff2e25b14b634e14dd5e0db1537d0ca9815b",
|
||
"subject": "fix(dotnet): bound RVA reads by section virtual size",
|
||
"body": "fix(dotnet): bound RVA reads by section virtual size\n\nUse the shared resolver for virtual containment, overlap checks, and file-backed extent. Raw alignment padding no longer supplies method bytes or shadows a later virtual section. Preserve malformed body coverage and suppress CIL hashes outside the admitted range.\n\nVerify zero, exact-end, truncated-body, padding, and true-overlap cases through compiled CLI and MCP consumers. Synthetic PE fixtures only; no Windows loader or real managed-provider verification.\n\nFixes #1596. Supersedes #1595.\n",
|
||
"parents": ["1b527f48985293fc0718fcf2b0fad6b3ced6bbcb"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "8d3cfef7535ea9198b7c56c19a76578e0704c8df",
|
||
"subject": "fix(plist): disclose binary prototype-key omissions",
|
||
"body": "fix(plist): disclose binary prototype-key omissions\n\nReuse the bounded binary preflight to observe dictionary keys before the pinned decoder drops them. Keyed archive results disclose the omission and Interface Builder marks archive decoding partial. XML keeps its existing exact counts; binary reporting deliberately leaves the count unknown because overwritten subtrees and decoder projection can change visibility.\n\nRemove the superseded size-only preflight contract. Cover ASCII, UTF-16 and extended lengths, shared references, nested and shadowed dictionaries, and the value-only negative control. Synthetic plist and filesystem fixtures; no plutil or ibtool verification.\n\nFixes #1594. Supersedes #1593.\n",
|
||
"parents": ["975dff2e25b14b634e14dd5e0db1537d0ca9815b"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "573598c6324698cc48ceafd24ed3864670e08d00",
|
||
"subject": "fix(artifacts): reject Windows stream paths before extraction",
|
||
"body": "fix(artifacts): reject Windows stream paths before extraction\n\nValidate Windows destination representability at the writer before registering or creating any entry. Preserve literal logical names in inventory and POSIX output. Refuse NTFS alternate stream syntax with typed path evidence and roll back prior extracted files.\n\nReturn producer path diagnostics directly, removing the presentation layer English-prefix classifier. Verify stream leaf/parent syntax, input stream cleanup, extraction rollback, inventory fidelity, POSIX materialization, and error projection: 63 passed, one platform-specific skip. Native Windows execution remains unverified here.\n\nFixes #1574. Adapted from and supersedes #1575.\n",
|
||
"parents": ["8d3cfef7535ea9198b7c56c19a76578e0704c8df"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "92cc0edd8e5c6b51cfcbb39f2a6f05e98dad0baf",
|
||
"subject": "docs(setup): identify Qwen and OpenCode release gaps",
|
||
"body": "docs(setup): identify Qwen and OpenCode release gaps\n\nDocument the npm 6.3.0 boundary beside Qwen registration and OpenCode configuration override workflows. Registry metadata still identifies 6.3.0 as latest; source support requires publication and actual registry-package verification before issue closure.\n\nRefs #1650.\n",
|
||
"parents": ["573598c6324698cc48ceafd24ed3864670e08d00"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "aa257ea4b16f2d2a35c12df63359d650b48b1154",
|
||
"subject": "fix(browser): decode source-map response framing",
|
||
"body": "fix(browser): decode source-map response framing\n\nShare the ECMA-426 JSON parse view across fetched maps and local point tracing while retaining exact response text, bytes, and digest. Handle BOM and HTTP newline variants without treating unterminated prefixes as valid JSON.\n\nValidation: 89 source-map tests passed; source/runtime build and check:fast passed. Real Chrome 154 CLI and stdio MCP browser verification passed on macOS ARM64.\n",
|
||
"parents": ["92cc0edd8e5c6b51cfcbb39f2a6f05e98dad0baf"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "7b25a73ac42391d53f7682246a27962b46fc58f1",
|
||
"subject": "fix(browser): bound CDP messages by the shared budget",
|
||
"body": "fix(browser): bound CDP messages by the shared budget\n\nApply the 64 MiB protocol message limit when connect callers omit an override. Reject invalid explicit limits, including values that wrap through ws signed 32-bit coercion and disable enforcement. Preserve the typed payload_limit reason through disconnect and later commands.\n\nValidation: 16 transport boundary tests passed, including UTF-8 exact/+1 limits and an oversized frame header without allocating its body. Real Chrome 154 CLI/MCP browser verification and check:fast passed. This caps message bytes, not decoded JSON heap size.\n",
|
||
"parents": ["aa257ea4b16f2d2a35c12df63359d650b48b1154"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "c57e759ae6eee0c312db4acd525ae381b8e2405d",
|
||
"subject": "fix(browser): bypass desktop keyrings in verification fixtures",
|
||
"body": "fix(browser): bypass desktop keyrings in verification fixtures\n\nUse password-store=basic for owned raw Chrome verification processes and document the same option for dedicated caller-owned Linux investigation profiles. Locked keyrings can stall navigation and leave placeholder frame URLs; keep the existing committed-URL authorization boundary.\n\nValidation: real Chrome 154 CLI and stdio MCP browser verifier passed on macOS ARM64, plus docs freshness and check:fast. The locked Linux desktop keyring environment was not reproduced locally.\n",
|
||
"parents": ["7b25a73ac42391d53f7682246a27962b46fc58f1"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "8b2f8514c50e469c3add8ce9ba7ebebef888b14f",
|
||
"subject": "fix(javascript): ignore bare CommonJS exports rebinding",
|
||
"body": "fix(javascript): ignore bare CommonJS exports rebinding\n\nAssigning a new value to the exports alias does not replace module.exports. Stop inventing a default export link and definite return-shape changes for that assignment.\n\nValidation: 22 semantic structure source tests and 49 compiled CLI/MCP acceptance tests passed. The new regression checks Node require returns an empty export object for both versions and both adapters report missing defaults without definite changes.\n",
|
||
"parents": ["c57e759ae6eee0c312db4acd525ae381b8e2405d"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "4999e4be2c1669d04417fcdea582052048adbb2d",
|
||
"subject": "fix(javascript): isolate source analysis and retain bounded partial evidence (#1651)",
|
||
"body": "fix(javascript): isolate source analysis and retain bounded partial evidence (#1651)\n\n* refactor(javascript): validate transferable file projections\n\n* test(javascript): consume decoded module and static facts\n\n* fix(javascript): isolate source analysis and retain bounded partial evidence\n\n* test(javascript): verify cleanup retention and repeated source paths",
|
||
"parents": ["92cc0edd8e5c6b51cfcbb39f2a6f05e98dad0baf"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1651]
|
||
},
|
||
{
|
||
"sha": "095fad9406904801407fd83f868676c7bb2d4afc",
|
||
"subject": "Merge remote-tracking branch 'origin/main'",
|
||
"body": "Merge remote-tracking branch 'origin/main'\n",
|
||
"parents": [
|
||
"8b2f8514c50e469c3add8ce9ba7ebebef888b14f",
|
||
"4999e4be2c1669d04417fcdea582052048adbb2d"
|
||
],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "aa7c5b7b5eb5ec747dfb308918965aa01f4d6830",
|
||
"subject": "fix(ghidra): reject address names owned by another symbol",
|
||
"body": "fix(ghidra): reject address names owned by another symbol\n\nCheck function and label ownership in the existing namespace before renaming. Keep same-address renames idempotent and reject duplicate batch members inside their individual transactions. Extend real-provider namespace checks for single and batch collisions without conflating function and label fixture names.\n\nValidation: real Ghidra 12.1.4 host-native verification passed on macOS ARM64 with JDK 21.0.12.1, including public CLI/stdIO MCP, qualified-name round trips, rollback, source-byte immutability, and complete cleanup. Windows mutation authority remains unchanged.\n\nFixes #1649\n",
|
||
"parents": ["095fad9406904801407fd83f868676c7bb2d4afc"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "26038912f6ce55cf3ce887b6f522969febec6721",
|
||
"subject": "fix(javascript): preserve cancellation during worker preparation",
|
||
"body": "fix(javascript): preserve cancellation during worker preparation\n",
|
||
"parents": ["aa7c5b7b5eb5ec747dfb308918965aa01f4d6830"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "c9168508527302ac57bc86385ccf0d824697b5dc",
|
||
"subject": "fix(process): release terminals after observation failures",
|
||
"body": "fix(process): release terminals after observation failures\n\nKeep queued observation failures available through frames while allowing the resource owner to release xterm and its owned addons. Catch write-callback failures so cleanup cannot hang, and retain actual disposal failures for retry.\n",
|
||
"parents": ["26038912f6ce55cf3ce887b6f522969febec6721"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "5485483f7da2f6cb66441bb784aaf2a1a5f8731a",
|
||
"subject": "fix(javascript): preserve exact CommonJS export keys",
|
||
"body": "fix(javascript): preserve exact CommonJS export keys\n\nRetain literal property keys as member segments, omit unresolved computed keys, and distinguish nested writes from dotted export names. Preserve empty keys and omit object-literal prototype setters. Verify bundler observations through Node, CLI, and MCP consumers.\n",
|
||
"parents": ["c9168508527302ac57bc86385ccf0d824697b5dc"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "bc7846db91d7ca87d9488e1afaf28d96777d7a6d",
|
||
"subject": "fix(javascript): track references returned by getters",
|
||
"body": "fix(javascript): track references returned by getters\n\nFollow object, instance, and static getter results when invalidating shared values. Respect descriptor replacement, known spread overrides, inheritance alternatives, and unresolved computed keys. Preserve conservative uncertainty for fresh getter results and verify shared mutations through CLI and MCP.\n\nFixes #1494\n",
|
||
"parents": ["5485483f7da2f6cb66441bb784aaf2a1a5f8731a"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "890dfa49f60a66e819e86ba29f3728f2e1e1827b",
|
||
"subject": "fix(javascript): preserve cleanup failures during preparation cancellation (#1654)",
|
||
"body": "fix(javascript): preserve cleanup failures during preparation cancellation (#1654)",
|
||
"parents": ["bc7846db91d7ca87d9488e1afaf28d96777d7a6d"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1654]
|
||
},
|
||
{
|
||
"sha": "87edf1494061fe8ef493e394276d42d89349a19e",
|
||
"subject": "fix(browser): support Termux Android scenarios (#1655)",
|
||
"body": "fix(browser): support Termux Android scenarios (#1655)\n\n* fix(browser): support Termux Android scenarios\n\n* fix(build): lock Termux artifact generation\n\n* ci(android): add manual Termux browser smoke verification\n\n---------\n\nCo-authored-by: tyloryang <[邮箱]>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["890dfa49f60a66e819e86ba29f3728f2e1e1827b"],
|
||
"authors": [
|
||
{
|
||
"name": "tyloryang",
|
||
"email": "38744951+tyloryang@users.noreply.github.com",
|
||
"user": {
|
||
"login": "tyloryang",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1655]
|
||
},
|
||
{
|
||
"sha": "204e2c42a107139a23712122beac20ea815379aa",
|
||
"subject": "fix(ci): register Termux browser verifier as Knip entry point",
|
||
"body": "fix(ci): register Termux browser verifier as Knip entry point\n",
|
||
"parents": ["87edf1494061fe8ef493e394276d42d89349a19e"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "bb074d84cb1e25781f069139a8dc907dba01cf70",
|
||
"subject": "perf(javascript): reuse cycle sets during semantic evaluation",
|
||
"body": "perf(javascript): reuse cycle sets during semantic evaluation\n\nTrack active bindings with per-evaluation push/pop instead of copying ancestor sets on every alias. Restore membership in finally so cycles and sibling branches keep their existing semantics.\n\nValidation: 173 domain tests, compiled CLI/stdio MCP returned-reference acceptance, and check:fast pass. A randomized six-block Flameox experiment retained identical complete semantic output and reduced the bounded 112-alias analyzer median from 36.33 ms to 17.00 ms.\n",
|
||
"parents": ["204e2c42a107139a23712122beac20ea815379aa"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "639b73097bc725136a6e886ad73e1e80f28547d7",
|
||
"subject": "fix(javascript): preserve getter results on direct property writes",
|
||
"body": "fix(javascript): preserve getter results on direct property writes\n\nReplacing or deleting a class getter property does not mutate the object it would return. Apply the existing object-accessor write boundary to instance and static getters.\n\nValidation: source mutation regressions and compiled CLI/stdio MCP acceptance preserve literal 1 for all four assignment/deletion cases; check:fast passes.\n",
|
||
"parents": ["bb074d84cb1e25781f069139a8dc907dba01cf70"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "a11fbc0df941476767d227dc79447fb676f9abcd",
|
||
"subject": "fix(ci): format JavaScript getter mutation regressions",
|
||
"body": "fix(ci): format JavaScript getter mutation regressions\n",
|
||
"parents": ["639b73097bc725136a6e886ad73e1e80f28547d7"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "2612e474b6739d3753991ba470c9684c1a20fe1b",
|
||
"subject": "fix(javascript): recover Electron API identity through aliases",
|
||
"body": "fix(javascript): recover Electron API identity through aliases\n\nReuse semantic module provenance for aliases and keep property path segments intact through Electron matching. Reject shadowed names and nested or dotted lookalikes. Reassigned and conditionally initialized module origins remain ambiguous, with their source origins retained.\n\nAdd a compiled CLI/stdio MCP regression for windows, preloads, context bridges, IPC operations, pairing, and source ranges. Validate 771 JavaScript domain tests, seven composition tests, the public acceptance workflow, build, and check:fast.\n\nFixes #1656\n",
|
||
"parents": ["a11fbc0df941476767d227dc79447fb676f9abcd"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "28bd0d990abebd3a96cdac4937342bf29dfe32d1",
|
||
"subject": "test(electron): verify aliased APIs against a real IPC round trip",
|
||
"body": "test(electron): verify aliased APIs against a real IPC round trip\n\nExtend the existing real Electron public-tool fixture with assignment aliases for BrowserWindow, contextBridge, ipcMain, and ipcRenderer. Assert exact static recovery counts and observe the handler invocation after a real click.\n\nVerified the public CLI/stdio MCP fixture, IPC invocation, cancellation, and owned-process cleanup against checksum-verified Electron 43.3.0 on macOS ARM64. Build and check:fast pass. The separate readiness reload/crash scenario still fails on a destroyed execution context; this commit does not claim the full verify:electron lane passes.\n",
|
||
"parents": ["2612e474b6739d3753991ba470c9684c1a20fe1b"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "66c344e28931b2997397ab36ac02fa32cd1b549e",
|
||
"subject": "ci: scope provider and native verification by changed inputs (#1660)",
|
||
"body": "ci: scope provider and native verification by changed inputs (#1660)",
|
||
"parents": ["28bd0d990abebd3a96cdac4937342bf29dfe32d1"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1660]
|
||
},
|
||
{
|
||
"sha": "d21132fc9735808631fa0ab6b1f6c6d112d5cd18",
|
||
"subject": "fix(ci): format Electron IPC verification assertion",
|
||
"body": "fix(ci): format Electron IPC verification assertion\n",
|
||
"parents": ["66c344e28931b2997397ab36ac02fa32cd1b549e"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "4733fc810a8be0f784701c411652233b3aea4452",
|
||
"subject": "fix(ghidra): qualify defined-string search coverage",
|
||
"body": "fix(ghidra): qualify defined-string search coverage\n\nCarry defined-data scope through list and search Evidence and bind it into the analysis profile so older snapshots cannot replay unqualified results. Clarify the tool contract and document known-address byte/reference inspection.\n\nValidation: 36 focused tests, check:fast, docs:check, and real Ghidra 12.1.4 CLI/stdio MCP on macOS arm64. The Rust Mach-O fixture contains the phrase and Ghidra defines it; the reported Linux ELF omission was not reproduced.\n\nFixes #1659\n",
|
||
"parents": ["d21132fc9735808631fa0ab6b1f6c6d112d5cd18"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "69a8b3a954a89b9e083f89213c2835c9701e0af2",
|
||
"subject": "fix(ghidra): expose terminal-call boundary assumptions",
|
||
"body": "fix(ghidra): expose terminal-call boundary assumptions\n\nPreserve observed terminal-call sites and callee flags across function views, raw bridge responses, Evidence, and snapshot replay. Version analysis profiles so older unqualified results cannot be reused.\n\nQualify Ghidra function extents without changing external no-return flags or claiming recovery of excluded code.\n\nValidation: 76 focused tests, check:fast, docs:check, formatting, and the full Ghidra 12.1.4 host lane pass. Real CLI and all five stdio MCP function views retain the terminal-call evidence; returning puts calls remain unflagged. The reported stripped Rust ELF and Windows host remain unverified.\n\nFixes #1658\n",
|
||
"parents": ["4733fc810a8be0f784701c411652233b3aea4452"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "ad41afa2b52c19de97d85c98c71091647e60fff7",
|
||
"subject": "fix(setup): recognize Omarchy as an Arch-based host (#1662)",
|
||
"body": "fix(setup): recognize Omarchy as an Arch-based host (#1662)",
|
||
"parents": ["69a8b3a954a89b9e083f89213c2835c9701e0af2"],
|
||
"authors": [
|
||
{
|
||
"name": "Luis",
|
||
"email": "86675342+LuisTaffelli@users.noreply.github.com",
|
||
"user": {
|
||
"login": "LuisTaffelli",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1662]
|
||
},
|
||
{
|
||
"sha": "29cc1b8746608a9173def10801ad080953d5cf6b",
|
||
"subject": "fix(javascript): exclude overwritten Electron API identities (#1664)",
|
||
"body": "fix(javascript): exclude overwritten Electron API identities (#1664)\n\n* fix(javascript): exclude overwritten Electron API identities\n\n* test(javascript): bind Electron in file-base path fixture\n\n* test(electron): bind BrowserWindow in preload override fixtures\n\n* test(mcp): allow cold catalog validation in runtime probe\n\n* test(electron): bind APIs in option reconstruction fixtures",
|
||
"parents": ["ad41afa2b52c19de97d85c98c71091647e60fff7"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1664]
|
||
},
|
||
{
|
||
"sha": "026126eafe741e5a8b857433587fd615cdd44c19",
|
||
"subject": "fix(artifacts): serialize ASAR snapshot ownership",
|
||
"body": "fix(artifacts): serialize ASAR snapshot ownership\n\nSerialize preparation and close for each reader so concurrent callers share one owned snapshot. Preserve per-call cancellation and expected digest checks, cleanup retry ownership, and reuse after close.\n\nValidation: 34 ASAR boundary tests, one fork-isolated snapshot race regression, test discovery, and check:fast passed.\n",
|
||
"parents": ["29cc1b8746608a9173def10801ad080953d5cf6b"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "31bfff6fdff068f58bfbdcaec4772df2932150d2",
|
||
"subject": "perf(domain): order JSON shapes through their structural tree",
|
||
"body": "perf(domain): order JSON shapes through their structural tree\n\nTraverse sorted siblings instead of comparing complete shared path prefixes. Return the typed producer result directly while preserving independent path segments and schema validation at unknown-input boundaries.\n\nValidation: 12 domain/CDP boundary tests, build, and check:fast passed. Six paired Flameox blocks retained identical full-output digests across deep, mixed, Unicode, and wide controls. Depth-512 inference median fell from 10.78 ms to 1.51 ms (120 samples per variant); whole harness median fell from 518.6 ms to 327.5 ms.\n\nFlameox evidence: f4a93424f34e5bfea254ada4ef278dc9bbb6c21047c977e20da130e11a8899e9. Timings describe this bounded workload only.\n",
|
||
"parents": ["026126eafe741e5a8b857433587fd615cdd44c19"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "044aa34ce6e32708df70e5d5bed9d56a420a9e29",
|
||
"subject": "perf(native): index call-binding parameter and return nodes",
|
||
"body": "perf(native): index call-binding parameter and return nodes\n\nBuild ordered per-procedure indices from admitted nodes instead of scanning every node twice for each call binding. Preserve edge order, capacity limits, omitted-parameter unknowns, and surviving return bindings.\n\nValidation: five focused service tests and check:fast passed. Four paired Flameox blocks at 4096 call sites passed all eight full-result digest oracles. Median paired reduction was 183.02 ms (71.4%) on this synthetic fan-out workload; real-provider performance is unverified.\n\nFlameox evidence: 5a4c98ed7d224587c10a0f4596c8680d3a0330eb112a629014448ff1ea4634e7.\n",
|
||
"parents": ["31bfff6fdff068f58bfbdcaec4772df2932150d2"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "3df67c640a0f4c03695ff4c3695bb9250a8c9bef",
|
||
"subject": "fix(ghidra): isolate optional nativeaot script sources",
|
||
"body": "fix(ghidra): isolate optional nativeaot script sources\n",
|
||
"parents": ["044aa34ce6e32708df70e5d5bed9d56a420a9e29"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "7bb4ac219c16884fcadd946eed4015ace2a2419f",
|
||
"subject": "fix(ghidra): reject conflicting address aliases in batches",
|
||
"body": "fix(ghidra): reject conflicting address aliases in batches\n",
|
||
"parents": ["3df67c640a0f4c03695ff4c3695bb9250a8c9bef"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "db4e3608465486466591b594cf77037ac150c988",
|
||
"subject": "fix(browser)!: preserve WebSocket connections and comparable payload coverage",
|
||
"body": "fix(browser)!: preserve WebSocket connections and comparable payload coverage\n\nRetain source URLs, empty connections, and ordered frame streams. Compare same-URL streams without relying on transient request IDs, and compare selected shapes and byte counts only through common known coverage. Malformed binary frames retain known metadata with an unknown byte count.\n\nBREAKING CHANGE: inspect_web_page network.websocket_events is replaced by network.websocket_connections, whose records contain request_id, url, and events. Frame payload_bytes is nullable when decoding cannot establish its size. No legacy alias is retained.\n\nValidation: 78 domain/browser/MCP focused tests, check:fast, docs:check, and real Chrome 154 CDP capture passed. Real capture retained six connections and twelve frames with source URLs and selected shapes. Full browser verifier was interrupted during an unrelated slow scenario stage; its assertions were exercised by the bounded capture proof.\n",
|
||
"parents": ["7bb4ac219c16884fcadd946eed4015ace2a2419f"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "79569349651b5089f04d466b955f5f1ac59a6a1d",
|
||
"subject": "fix(javascript): preserve getter receiver mutation aliases",
|
||
"body": "fix(javascript): preserve getter receiver mutation aliases\n\nResolve this, private fields and super reads through receiver-aware references. Separate instance fields from prototype descriptors, preserve alternative inheritance branches and allow finite repeated getter paths.\n\nAdd domain precision regressions and compiled CLI/MCP coverage for the four reported getter shapes.\n\nFixes #1665\n",
|
||
"parents": ["db4e3608465486466591b594cf77037ac150c988"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "1e51c732bbf08191688d6526bf58ab2650b601e3",
|
||
"subject": "fix(javascript): preserve CommonJS assignment result and receiver uncertainty",
|
||
"body": "fix(javascript): preserve CommonJS assignment result and receiver uncertainty\n\nResolve values returned by simple assignment chains at the export boundary. Suppress property links proven to target a detached receiver; retain unresolved links when reassignment may preserve receiver identity. Identify root assignments from their AST target rather than the displayed export name.\n\nValidation: 25 semantic tests, seven targeted compiled CLI/MCP scenarios with Node runtime controls, build, and check:fast passed. Existing full acceptance suite passed before receiver refinements; the final changes were checked with targeted scenarios rather than repeating its 130-second run.\n",
|
||
"parents": ["79569349651b5089f04d466b955f5f1ac59a6a1d"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "c1efa6467d5b3cfa252016a0822bdbdbd3a1ce53",
|
||
"subject": "feat(process): bound a finalization interval before forced capture timeout",
|
||
"body": "feat(process): bound a finalization interval before forced capture timeout\n\nAdd optional finalization_ms to keep observing a captured root after SIGTERM, record the actual finalizer exit and each signal attempt, and escalate once when needed. Bind the initial root identity to captured ownership and preserve observations through cleanup uncertainty.\n\nFixes #1253.\n\nCo-authored-by: Mykola Dementiev <16836724+nikolay-dementiev@users.noreply.github.com>\nCo-authored-by: N0zoM1z0 <161784452+N0zoM1z0@users.noreply.github.com>",
|
||
"parents": ["1e51c732bbf08191688d6526bf58ab2650b601e3"],
|
||
"authors": [
|
||
{
|
||
"name": "Mykola Dementiev",
|
||
"email": "nikolay-dementiev@users.noreply.github.com",
|
||
"user": {
|
||
"login": "nikolay-dementiev",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Mykola Dementiev",
|
||
"email": "16836724+nikolay-dementiev@users.noreply.github.com",
|
||
"user": {
|
||
"login": "nikolay-dementiev",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "N0zoM1z0",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1583]
|
||
},
|
||
{
|
||
"sha": "af88184eeec544867904dedf0b30867a22be7abf",
|
||
"subject": "feat(ghidra): configurable import language and analysis seeds (#1667)",
|
||
"body": "feat(ghidra): configurable import language and analysis seeds (#1667)\n\n* feat(ghidra): configurable import language and analysis seeds\n\nREA_GHIDRA_LANGUAGE_ID and REA_GHIDRA_COMPILER_SPEC_ID set the import\nlanguage when the header cannot identify the compiler (for example,\nBorland C++ PE images).\n\nREA_GHIDRA_SEED_FILE seeds functions, code and labels before\nauto-analysis, for code reached only through computed jumps or data.\n\nBoth are validated before launch, recorded in the analysis profile and\nverified in the bridge handshake.\n\n* fix(ghidra): parse language XML and preserve seed ordering\n\n* test(ghidra): use explicit platform paths for seed launch checks\n\n* fix(javascript): retain cleanup failure reason in error causes\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["c1efa6467d5b3cfa252016a0822bdbdbd3a1ce53"],
|
||
"authors": [
|
||
{
|
||
"name": "sqmagellan",
|
||
"email": "116528231+sqmagellan@users.noreply.github.com",
|
||
"user": {
|
||
"login": "sqmagellan",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1667]
|
||
},
|
||
{
|
||
"sha": "49e6f00ed08b225abf9ddb7c762553607fdab115",
|
||
"subject": "fix(ghidra): recover returning import callers",
|
||
"body": "fix(ghidra): recover returning import callers",
|
||
"parents": ["af88184eeec544867904dedf0b30867a22be7abf"],
|
||
"authors": [
|
||
{
|
||
"name": "You Wish",
|
||
"email": "29498139+Y0UW1SH@users.noreply.github.com",
|
||
"user": {
|
||
"login": "Y0UW1SH",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "f88c99021b88ce67e513025901f57478d8107d0c",
|
||
"subject": "fix(ghidra): normalize Mach-O imported symbol names",
|
||
"body": "fix(ghidra): normalize Mach-O imported symbol names\n",
|
||
"parents": ["49e6f00ed08b225abf9ddb7c762553607fdab115"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "f998fcb1cca9994c3589fb70d6e0127fc215f76f",
|
||
"subject": "fix(reference-source): respect require bindings",
|
||
"body": "fix(reference-source): respect require bindings\n\nReuse lexical ownership to exclude shadowed require calls while retaining native CommonJS and direct createRequire bindings. Preserve candidate edges when JavaScript or TypeScript runtime mode is unknown.\n\nCo-authored-by: Rudy Celekli <rudy@gradiahq.com>\n",
|
||
"parents": ["f88c99021b88ce67e513025901f57478d8107d0c"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Rudy Celekli",
|
||
"email": "rudy@gradiahq.com",
|
||
"user": {
|
||
"login": "rudycelekli",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "8b4c3de3b3a3b580adec266f94f29ccedf1da228",
|
||
"subject": "fix(browser): seed storage by browser partition",
|
||
"body": "fix(browser): seed storage by browser partition\n\nCo-authored-by: Lucien <1428823446@qq.com>\n",
|
||
"parents": ["f998fcb1cca9994c3589fb70d6e0127fc215f76f"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Lucien",
|
||
"email": "1428823446@qq.com",
|
||
"user": {
|
||
"login": "dakjdakd",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "824ecf109db9c69cd34410dd8c8af291f73f26cf",
|
||
"subject": "feat(release): add contributor-aware release notes workflow",
|
||
"body": "feat(release): add contributor-aware release notes workflow\n",
|
||
"parents": ["8b4c3de3b3a3b580adec266f94f29ccedf1da228"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "83e52559b82d57e7eb75297ed78f456cc4ffccec",
|
||
"subject": "style(reference-source): format loader binding changes",
|
||
"body": "style(reference-source): format loader binding changes\n",
|
||
"parents": ["824ecf109db9c69cd34410dd8c8af291f73f26cf"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "3a7a3074e30d842bb0a0c7837a46d45d66565342",
|
||
"subject": "feat(javascript): recognize tRPC procedures and GraphQL operations (#1670)",
|
||
"body": "feat(javascript): recognize tRPC procedures and GraphQL operations (#1670)\n\n* feat(javascript): recognize tRPC procedures and GraphQL operations\n\nRecord RPC client syntax as network endpoint candidates in both\nanalyze_javascript_application and analyze_web_bundle, distinguished by\nmechanism:\n\n- trpc:procedure:<method> keeps the static member path of\n root.<path>.<method>(...), which tRPC proxies preserve through\n identifier minification. React hooks and TanStack option factories are\n recognized directly. Vanilla query/mutate need a root bound to\n createTRPCClient/createTRPCProxyClient, or a tRPC source marker with a\n router path of at least two segments; subscribe needs the marker and a\n tRPC observer argument. `this` roots, browser globals and RTK Query\n `endpoints` chains are never procedures; cache-key helpers are excluded.\n- trpc:link:<link> records the literal url of documented HTTP links.\n- graphql:<type> records named operations from string and cooked template\n literals with a valid operation header, and from precompiled\n OperationDefinition objects; a graphql-tag loc.source.body copy is not\n reported twice.\n\nMethod, callback and factory names follow @trpc/client and React/TanStack\nintegration sources and documentation for 11.19. Carrier segments before\nthe router path, useUtils helpers and minifier-renamed links remain\ndocumented limitations.\n\nValidation: typecheck; domain tests for recognition and false positives\n(Apollo, RxJS, stores, RTK Query, browser globals, prose); web bundle\nanalyzer test; end-to-end analysis of a minified fixture through the\nbuilt MCP server on Windows 11.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\n\n* fix(javascript): preserve RPC binding identity and bundled calls\n\n* style(reference-source): fix CI formatting\n\n---------\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["83e52559b82d57e7eb75297ed78f456cc4ffccec"],
|
||
"authors": [
|
||
{
|
||
"name": "Pompilio Donato",
|
||
"email": "pompiliodonato@prdonato.adv.br",
|
||
"user": {
|
||
"login": "pompiliodonatoapp",
|
||
"__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": [1670]
|
||
},
|
||
{
|
||
"sha": "fe574c0c9f64d13de9223862a90921e5060abed5",
|
||
"subject": "fix(javascript): recover Electron APIs through default imports and optional calls (#1673)",
|
||
"body": "fix(javascript): recover Electron APIs through default imports and optional calls (#1673)\n\n`import electron from \"electron\"` bound the module with a leading `default`\nexport segment, so `electron.ipcMain.handle(...)`, `new\nelectron.BrowserWindow(...)` and destructuring from that binding matched no\nElectron API. Electron's CommonJS exports define no `default` member, so the\nsegment can only denote the module object; drop it when classifying\nElectron bindings.\n\nThe binding classifier already recorded optional-call roots, but the IPC,\ncontext-bridge, utility-process and sender-validation visitors accepted only\nplain calls. `ipcMain?.handle(...)`, `contextBridge?.exposeInMainWorld(...)`\nand the common `event.senderFrame?.url.startsWith(...)` check were dropped\nwithout a limitation.\n\nRefs #1656\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["3a7a3074e30d842bb0a0c7837a46d45d66565342"],
|
||
"authors": [
|
||
{
|
||
"name": "Kaoru0822",
|
||
"email": "aisakamimaki@gmail.com",
|
||
"user": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1673]
|
||
},
|
||
{
|
||
"sha": "76d8f68cb918dfb43869f2b649a0b6c0c1cf266d",
|
||
"subject": "feat(ghidra): inspect NativeAOT PE metadata read-only",
|
||
"body": "feat(ghidra): inspect NativeAOT PE metadata read-only\n",
|
||
"parents": ["fe574c0c9f64d13de9223862a90921e5060abed5"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "990e1ad8c195becf99a0024d2fdd8cb1789fc629",
|
||
"subject": "fix(browser): clear losing storage verifier timers",
|
||
"body": "fix(browser): clear losing storage verifier timers\n",
|
||
"parents": ["76d8f68cb918dfb43869f2b649a0b6c0c1cf266d"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "b212e92f9be972fae2093a323d76473918d09fcb",
|
||
"subject": "ci: select semantic tests and fixture lanes for their guarded inputs (#1675)",
|
||
"body": "ci: select semantic tests and fixture lanes for their guarded inputs (#1675)\n\nEdits to `release.yml` or `real-ghidra-windows.yml` selected only the\nworkflow lane, so the shards holding releaseWorkflow, releaseCheckpoint\nand realGhidraWindowsWorkflow tests were skipped. Actionlint checks\nsyntax only, so a PR could drop the package-before-publish gate, the\nregistry canary or the default-branch-only self-hosted runner restriction\nwithout CI noticing.\n\nConformance fixture sources under tests/ set only the code lane, so the\nconformance-fixtures and reconstruction-readiness jobs, the only callers\nof `verify:fixtures` and `verify:readiness`, never ran for them. Route\nthe directories that build-conformance-fixtures.mjs compiles to both\nlanes, and readiness applications to the readiness lane.\n\nBoth were raised by the Codex review of #1660 after it merged.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["990e1ad8c195becf99a0024d2fdd8cb1789fc629"],
|
||
"authors": [
|
||
{
|
||
"name": "Kaoru0822",
|
||
"email": "aisakamimaki@gmail.com",
|
||
"user": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1675]
|
||
},
|
||
{
|
||
"sha": "74050978be400bd336582aa18ce1dcac73039c6f",
|
||
"subject": "fix(javascript): keep dependency manifests out of application roots",
|
||
"body": "fix(javascript): keep dependency manifests out of application roots\n\nSelect the shallowest inventoried nondependency manifest and retain dependency package evidence without assigning Electron entry roles. Keep the artifact root when no application manifest is observed.\n\nAdapted from PR #1392, with compiled CLI and stdio MCP regressions for root selection and dependency-only inputs.\n\nCo-authored-by: Marnix Pluim <marnixpluim@users.noreply.github.com>\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>\n",
|
||
"parents": ["b212e92f9be972fae2093a323d76473918d09fcb"],
|
||
"authors": [
|
||
{
|
||
"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": []
|
||
},
|
||
{
|
||
"sha": "bd3a9bbbafa5e021c7a75c2c315b1167ee3b818e",
|
||
"subject": "fix(native): classify PE resource input failures",
|
||
"body": "fix(native): classify PE resource input failures\n\nReport missing and non-file selections as input issues, malformed PE images as format errors, and unstable reads as artifact changes. Keep existing limit, permission, cancellation, and other I/O classifications.\n\nCo-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>\n",
|
||
"parents": ["74050978be400bd336582aa18ce1dcac73039c6f"],
|
||
"authors": [
|
||
{
|
||
"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": []
|
||
},
|
||
{
|
||
"sha": "a67dbf6a488c8433ec3721d16ad3fa6623785a5f",
|
||
"subject": "fix: reject directory paths for the Wakaru limiter and mitmdump",
|
||
"body": "fix: reject directory paths for the Wakaru limiter and mitmdump\n\n`REA_JAVASCRIPT_PRLIMIT_COMMAND` and `REA_MITMDUMP_COMMAND` were admitted\nafter an access check alone, which a searchable directory passes. Admission\nthen succeeded, and the failure surfaced later as a launch-time adapter\nerror instead of the capability refusal that names the configured path.\n\nRequire a regular file, as #751 did for the firmware engine and limiter.\nLinux-only tests mirror that change; both checks only run on Linux hosts.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\n",
|
||
"parents": ["bd3a9bbbafa5e021c7a75c2c315b1167ee3b818e"],
|
||
"authors": [
|
||
{
|
||
"name": "Fazmin",
|
||
"email": "fazmin.nizam@gmail.com",
|
||
"user": {
|
||
"login": "Fazmin",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "3749ccec47d0ff340ff2bcc1d5a06308d3ad42c0",
|
||
"subject": "feat(ghidra): recover signed AArch64 relative jump tables (#1592)",
|
||
"body": "feat(ghidra): recover signed AArch64 relative jump tables (#1592)\n\n* feat(ghidra): recover signed AArch64 relative jump tables\n\nGeneralise the AArch64 relative-table matcher to signed byte/halfword entries, UXTW indexes, byte or LSL #2 offsets, B.CS/B.HS bounds and a CBZ route for zero entries. Cross-check it against Ghidra's own load table when one exists, and add a fixture modelled on the RenderScript blend kernel.\n\nRefs #487\n\n* fix(ghidra): preserve typed labels for normalized switch selectors\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["a67dbf6a488c8433ec3721d16ad3fa6623785a5f"],
|
||
"authors": [
|
||
{
|
||
"name": "Syed Rishad",
|
||
"email": "rishadzzzz@gmail.com",
|
||
"user": {
|
||
"login": "RishTheFish21",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1592]
|
||
},
|
||
{
|
||
"sha": "38221cb12e86f5766d2e6c02ec7cae30f23bf2d7",
|
||
"subject": "fix(native): bound PE resource RVAs by section virtual size (#1678)",
|
||
"body": "fix(native): bound PE resource RVAs by section virtual size (#1678)\n\nThe PE resource reader treated each section as covering\n`max(VirtualSize, SizeOfRawData)` bytes, the mapping #1596 removed from\nmanaged RVA reads. A resource payload in the raw alignment padding past\nVirtualSize was reported with a hash of bytes the image loader never maps.\nA later section whose virtual range starts inside that padding was refused\nas an overlapping mapping.\n\nContainment and overlap now use the loader's virtual extent: VirtualSize,\nor SizeOfRawData when VirtualSize is zero. Ranges must still be file-backed.\n\nRefs #1596\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["3749ccec47d0ff340ff2bcc1d5a06308d3ad42c0"],
|
||
"authors": [
|
||
{
|
||
"name": "Kaoru0822",
|
||
"email": "aisakamimaki@gmail.com",
|
||
"user": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1678]
|
||
},
|
||
{
|
||
"sha": "e5bc4e85ec5669399ea506233632b118dead0692",
|
||
"subject": "fix(ci): close speculative browser fixture connections",
|
||
"body": "fix(ci): close speculative browser fixture connections\n",
|
||
"parents": ["38221cb12e86f5766d2e6c02ec7cae30f23bf2d7"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "80896a1d64b216ef893907249cd4252f86215d49",
|
||
"subject": "fix(process): settle launcher exit without dropping descendant lineage",
|
||
"body": "fix(process): settle launcher exit without dropping descendant lineage\n\nRefresh a mismatched launcher snapshot only when a new live process table proves its PID absent. Preserve uncertainty for detached descendants and continue checking ownership of surviving group members before signaling. Index retained lineage membership instead of rescanning it for each refreshed process.\n\nAdapted from #1357. Validation: 71 source tests passed, one Linux-only identity case skipped; 32 real process-boundary tests passed on macOS.\n\nCo-authored-by: You Wish <29498139+Y0UW1SH@users.noreply.github.com>\n",
|
||
"parents": ["e5bc4e85ec5669399ea506233632b118dead0692"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "You Wish",
|
||
"email": "29498139+Y0UW1SH@users.noreply.github.com",
|
||
"user": {
|
||
"login": "Y0UW1SH",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "e38550462e92d8ce288b49f033eae57ba828a5b2",
|
||
"subject": "test(native): stabilize resource-limited binary layout controls",
|
||
"body": "test(native): stabilize resource-limited binary layout controls\n\nKeep the configured launcher alive while its limited Python child runs so ownership checks retain the admitted executable identity. Trigger memory exhaustion with one oversized ELF zero-fill tail rather than racing section traversal against a timeout.\n\nAdapted from #1357. JavaScript syntax, strict C syntax compilation, formatting, and static checks passed. The Linux pwntools verification lane was not run on this macOS host.\n\nCo-authored-by: You Wish <29498139+Y0UW1SH@users.noreply.github.com>\n",
|
||
"parents": ["80896a1d64b216ef893907249cd4252f86215d49"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "You Wish",
|
||
"email": "29498139+Y0UW1SH@users.noreply.github.com",
|
||
"user": {
|
||
"login": "Y0UW1SH",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "76296c5a3868ba3b54be6ed3896719283d6de5f8",
|
||
"subject": "fix(native): bind NativeAOT metadata to declared PE section extents",
|
||
"body": "fix(native): bind NativeAOT metadata to declared PE section extents\n\nSection headers distinguish the declared virtual extent from the on-disk raw extent, which may include alignment padding. Resource RVA ownership and overlap use VirtualSize, falling back to SizeOfRawData when VirtualSize is zero, and payload reads still require file-backed bytes.\n\nThe NativeAOT snapshot reader applies the same range rule to RVA reads, metadata scans, executable targets, and derived overlay bounds. Page-rounded loader mappings may expose tail bytes, but those bytes lie outside the declared section range used by these parsers.\n",
|
||
"parents": ["e38550462e92d8ce288b49f033eae57ba828a5b2"],
|
||
"authors": [
|
||
{
|
||
"name": "Kaoru0822",
|
||
"email": "208281322+kaoru0822-kitauji@users.noreply.github.com",
|
||
"user": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "21dbcf7a1458219989ad291e44ce7d017378b727",
|
||
"subject": "perf(cli): defer binary provider composition",
|
||
"body": "perf(cli): defer binary provider composition\n",
|
||
"parents": ["76296c5a3868ba3b54be6ed3896719283d6de5f8"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "4e4b15b8250b29e176d4191c9610a3931b693474",
|
||
"subject": "fix(browser): validate PNG chunks and preserve unsupported encodings",
|
||
"body": "fix(browser): validate PNG chunks and preserve unsupported encodings\n\nValidate chunk checksums, type bytes, ordering and end boundaries before pixel comparison. Distinguish malformed PNGs and corrupt DEFLATE streams from recognized unsupported encodings through CLI and MCP error projection.\n\nAdapted from #1375 with additional decoder and public boundary regressions. Eighteen decoder tests and six compiled CLI/MCP cases passed.\n\nSigned-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>\n",
|
||
"parents": ["21dbcf7a1458219989ad291e44ce7d017378b727"],
|
||
"authors": [
|
||
{
|
||
"name": "Rudy Celekli",
|
||
"email": "47457359+rudycelekli@users.noreply.github.com",
|
||
"user": {
|
||
"login": "rudycelekli",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "a99b2fd3b54388d99fd5ac1586357b60f240db0c",
|
||
"subject": "test: retain focused CommonJS export regressions",
|
||
"body": "test: retain focused CommonJS export regressions\n\nKeep uncovered assignment and binding regressions in the shared CLI and MCP runtime oracle, with a POSIX escaped-path fixture.\n\nCo-authored-by: You Wish <29498139+Y0UW1SH@users.noreply.github.com>\n",
|
||
"parents": ["4e4b15b8250b29e176d4191c9610a3931b693474"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "You Wish",
|
||
"email": "29498139+Y0UW1SH@users.noreply.github.com",
|
||
"user": {
|
||
"login": "Y0UW1SH",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "b3e977e6d073ab1783cece8581279f87fc360411",
|
||
"subject": "fix(browser): bound screenshot comparison memory",
|
||
"body": "fix(browser): bound screenshot comparison memory\n",
|
||
"parents": ["a99b2fd3b54388d99fd5ac1586357b60f240db0c"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "9ce6ef895e438fb264a13f78661c81df4910b169",
|
||
"subject": "test: reuse stdio MCP server in acceptance file",
|
||
"body": "test: reuse stdio MCP server in acceptance file\n",
|
||
"parents": ["b3e977e6d073ab1783cece8581279f87fc360411"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "ab80ec640a31a5f0bc36347599d2b2ca830b5546",
|
||
"subject": "fix(ci): report package verifier stage progress",
|
||
"body": "fix(ci): report package verifier stage progress\n",
|
||
"parents": ["9ce6ef895e438fb264a13f78661c81df4910b169"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "c8820e03db871e485835048f9f31f1702f614787",
|
||
"subject": "fix(apple): decode binary app Info.plist files without plutil (#1476)",
|
||
"body": "fix(apple): decode binary app Info.plist files without plutil (#1476)\n\n* fix(apple): decode binary app Info.plist files without plutil\n\n* test(apple): use Windows-legal names in the binary plist bundle test\n\n* fix(apple): ignore __proto__ entries in binary app Info.plist files\n\n---------\n\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["ab80ec640a31a5f0bc36347599d2b2ca830b5546"],
|
||
"authors": [
|
||
{
|
||
"name": "Jay Hemnani",
|
||
"email": "193022578+jayhemnani9910@users.noreply.github.com",
|
||
"user": {
|
||
"login": "jayhemnani9910",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1476]
|
||
},
|
||
{
|
||
"sha": "17f704050f431c195ba2280aca162e698aea408a",
|
||
"subject": "feat(evidence): discover retained records without full payloads (#1682)",
|
||
"body": "feat(evidence): discover retained records without full payloads (#1682)\n\n* feat(evidence): discover retained records without full payloads\n\n* fix(evidence): guide oversized results to retained discovery\n\n* style(tests): format retained discovery recovery assertion",
|
||
"parents": ["c8820e03db871e485835048f9f31f1702f614787"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1682]
|
||
},
|
||
{
|
||
"sha": "ad3e41d46e443deb25204988de934418944bea04",
|
||
"subject": "fix(browser): resolve XLink and SVG prefixes in XHTML dom_urls (#1683)",
|
||
"body": "fix(browser): resolve XLink and SVG prefixes in XHTML dom_urls (#1683)\n\n* fix(browser): resolve XLink and SVG prefixes in XHTML dom_urls\n\nDOMSnapshot has no namespace URI. HTML documents still use the parser's\nlocal names. In XHTML and other XML documents, resolve in-scope xmlns\ndeclarations so an element is SVG only in the SVG namespace, and report\nany XLink href as href when plain href is absent.\n\nRefs #1586\n\n* fix(browser): bound XML namespace resolution and reject cyclic ancestry\n\n---------\n\nCo-authored-by: Cursor Agent <cursoragent@cursor.com>\nCo-authored-by: morluto <76467478+morluto@users.noreply.github.com>",
|
||
"parents": ["17f704050f431c195ba2280aca162e698aea408a"],
|
||
"authors": [
|
||
{
|
||
"name": "Nithilan Kumaran",
|
||
"email": "126580000+sathariels@users.noreply.github.com",
|
||
"user": {
|
||
"login": "sathariels",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Cursor Agent",
|
||
"email": "cursoragent@cursor.com",
|
||
"user": {
|
||
"login": "cursoragent",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1683]
|
||
},
|
||
{
|
||
"sha": "dc676b4d850837894fb4f474b691b01f566deaba",
|
||
"subject": "docs(website): add beginner help to the Get started page (#1684)",
|
||
"body": "docs(website): add beginner help to the Get started page (#1684)\n\nAdd collapsible help sections for installing Node.js, choosing a coding\nagent, opening a terminal, restarting a client, copying a folder's full\npath and finding an Electron app's .asar file.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["ad3e41d46e443deb25204988de934418944bea04"],
|
||
"authors": [
|
||
{
|
||
"name": "Kaoru0822",
|
||
"email": "aisakamimaki@gmail.com",
|
||
"user": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1684]
|
||
},
|
||
{
|
||
"sha": "ea1c164e5e056ddd2f6a220b11b3670d6c33ee0a",
|
||
"subject": "fix(windows): load native controls in Node-API hosts not named node.exe (#1531)",
|
||
"body": "fix(windows): load native controls in Node-API hosts not named node.exe (#1531)\n\nfix(windows): resolve Node-API imports from the host executable\n\nDelay-load the Node-API import library and bind \"node.exe\" to the running\nprocess, matching node-gyp's win_delay_load_hook. The addon now loads under\nany Node-API host (Node.js, Bun) regardless of its executable file name.",
|
||
"parents": ["dc676b4d850837894fb4f474b691b01f566deaba"],
|
||
"authors": [
|
||
{
|
||
"name": "xeropresence",
|
||
"email": "3128949+xeropresence@users.noreply.github.com",
|
||
"user": {
|
||
"login": "xeropresence",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1531]
|
||
},
|
||
{
|
||
"sha": "59b4a3c319fc6f617f20d5023ff3e1526288d485",
|
||
"subject": "test(windows): verify native addon in a renamed Node host",
|
||
"body": "test(windows): verify native addon in a renamed Node host\n",
|
||
"parents": ["ea1c164e5e056ddd2f6a220b11b3670d6c33ee0a"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "ea06264a5656ef4b4f52058895030f89d799d7ff",
|
||
"subject": "docs(website): list the setup guide first on the Guides page (#1688)",
|
||
"body": "docs(website): list the setup guide first on the Guides page (#1688)\n\nMove the \"Set up REA\" entry ahead of the native, JavaScript and browser\nguides so new readers see setup before the worked examples.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["59b4a3c319fc6f617f20d5023ff3e1526288d485"],
|
||
"authors": [
|
||
{
|
||
"name": "Kaoru0822",
|
||
"email": "aisakamimaki@gmail.com",
|
||
"user": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1688]
|
||
},
|
||
{
|
||
"sha": "89ea2cad1977b73a4ddf5818d54f5bc51cdae2b6",
|
||
"subject": "perf(domain): reuse canonical JSON key encodings",
|
||
"body": "perf(domain): reuse canonical JSON key encodings\n\nReuse exact JSON key encodings within the existing 8,192-code-unit digest-buffer quantum and avoid ordinary member value frames. Preserve canonical bytes and cooperative yielding; resume objects when a pending property is omitted.\n\nFlameox paired experiments establish a local digest-workload improvement, with complete-result/EvidenceID oracles unchanged. Full CLI acceleration and billed token reductions are not claimed.\n\nRefs #1065.",
|
||
"parents": ["ea06264a5656ef4b4f52058895030f89d799d7ff"],
|
||
"authors": [
|
||
{
|
||
"name": "Ysopwnable",
|
||
"email": "161784452+N0zoM1z0@users.noreply.github.com",
|
||
"user": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1687]
|
||
},
|
||
{
|
||
"sha": "92dac97102190395613c868b1582efc8a4f054c8",
|
||
"subject": "docs(website): add beginner help to the native analysis guide (#1689)",
|
||
"body": "docs(website): add beginner help to the native analysis guide (#1689)\n\nAdd a short glossary, an analysis-tool chooser linked to native setup,\na note that REA does not include DX-Ball, and help for copying a file's\nfull path.\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
|
||
"parents": ["89ea2cad1977b73a4ddf5818d54f5bc51cdae2b6"],
|
||
"authors": [
|
||
{
|
||
"name": "Kaoru0822",
|
||
"email": "aisakamimaki@gmail.com",
|
||
"user": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
}
|
||
},
|
||
{
|
||
"name": "Claude Opus 5.5",
|
||
"email": "noreply@anthropic.com",
|
||
"user": {
|
||
"login": "claude",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": [1689]
|
||
},
|
||
{
|
||
"sha": "4003151ec1bb770bedc83dd586caaddc003ee13b",
|
||
"subject": "fix(ci): allow browser runtime action transport latency",
|
||
"body": "fix(ci): allow browser runtime action transport latency\n",
|
||
"parents": ["92dac97102190395613c868b1582efc8a4f054c8"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "6b043dc3de7b39a16b5a04d71f6b50dbe8f848d3",
|
||
"subject": "fix(release): avoid duplicated contributor thanks",
|
||
"body": "fix(release): avoid duplicated contributor thanks\n",
|
||
"parents": ["4003151ec1bb770bedc83dd586caaddc003ee13b"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "a99857df23544c960137ddbfa78c9d74782d94a7",
|
||
"subject": "test(release): keep credits attached to their contribution",
|
||
"body": "test(release): keep credits attached to their contribution\n",
|
||
"parents": ["6b043dc3de7b39a16b5a04d71f6b50dbe8f848d3"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
},
|
||
{
|
||
"sha": "ee46323b493994902b04824a7dc8aae2a8117903",
|
||
"subject": "fix(windows): preserve drive-root private runtime paths",
|
||
"body": "fix(windows): preserve drive-root private runtime paths\n\nJoin the admitted parent and generated child name without duplicating a drive-root separator. Reuse that name for handle-relative creation and path provenance.\n\nAdd native snapshot, readback, and cleanup coverage through the Ghidra dot-prefixed temp fallback, plus a session-root contract regression.\n\nFixes #1690\n",
|
||
"parents": ["a99857df23544c960137ddbfa78c9d74782d94a7"],
|
||
"authors": [
|
||
{
|
||
"name": "morluto",
|
||
"email": "76467478+morluto@users.noreply.github.com",
|
||
"user": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
}
|
||
}
|
||
],
|
||
"pullRequests": []
|
||
}
|
||
],
|
||
"pullRequests": [
|
||
{
|
||
"number": 1303,
|
||
"title": "feat(ghidra): support native PE DLLs on Windows",
|
||
"url": "https://github.com/morluto/rea/pull/1303",
|
||
"author": {
|
||
"login": "kvalls",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "a957f397ad3c7a66756dba6aae29c3de2e8d822e"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1290,
|
||
"url": "https://github.com/morluto/rea/issues/1290",
|
||
"author": {
|
||
"login": "kvalls",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1341,
|
||
"title": "chore(main): release rea-agents 6.3.0",
|
||
"url": "https://github.com/morluto/rea/pull/1341",
|
||
"author": {
|
||
"login": "github-actions",
|
||
"__typename": "Bot"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "08ec2bf82fa88f5e8caa2b7da9093636731dc55c"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1192,
|
||
"url": "https://github.com/morluto/rea/issues/1192",
|
||
"author": {
|
||
"login": "coygeek",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
},
|
||
{
|
||
"number": 1329,
|
||
"url": "https://github.com/morluto/rea/issues/1329",
|
||
"author": {
|
||
"login": "commit-regrets",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
},
|
||
{
|
||
"number": 1331,
|
||
"url": "https://github.com/morluto/rea/issues/1331",
|
||
"author": {
|
||
"login": "jopemachine",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
},
|
||
{
|
||
"number": 1364,
|
||
"url": "https://github.com/morluto/rea/issues/1364",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1345,
|
||
"title": "feat(native): inspect oversized retained function dossiers via bounded views",
|
||
"url": "https://github.com/morluto/rea/pull/1345",
|
||
"author": {
|
||
"login": "jhuang-tw",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "a9ee2360fd11332b2cc50ef7130a89321b828d28"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1349,
|
||
"title": "docs: celebrate 50,000 GitHub stars 🎉",
|
||
"url": "https://github.com/morluto/rea/pull/1349",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "81cdafc132c7ba3bd6e12b1169f9e3687025d07b"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1362,
|
||
"title": "feat(native): admit bounded MIPS ELF analysis through Ghidra",
|
||
"url": "https://github.com/morluto/rea/pull/1362",
|
||
"author": {
|
||
"login": "jaelliot",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "bddddccdee3129d0b1b11e32b751be2b6d501c23"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 718,
|
||
"url": "https://github.com/morluto/rea/issues/718",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1368,
|
||
"title": "fix(javascript): scan direct returns without recursive stack growth",
|
||
"url": "https://github.com/morluto/rea/pull/1368",
|
||
"author": {
|
||
"login": "rudycelekli",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "c29931ce81dc530d2623ec992714a70b1f3e50e4"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1376,
|
||
"title": "feat(setup): add native Pi client support",
|
||
"url": "https://github.com/morluto/rea/pull/1376",
|
||
"author": {
|
||
"login": "rasatpetabit",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "9e22da845bf8b447f81539e0ba57d5deb59e9103"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1378,
|
||
"title": "fix(apple): scope keyed archive traversal to the selection",
|
||
"url": "https://github.com/morluto/rea/pull/1378",
|
||
"author": {
|
||
"login": "rudycelekli",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "c8fd2f152b7e757a1b41ce9f5df20cd91d41462e"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1382,
|
||
"title": "fix(ghidra): keep the cross-format branch callee multi-block",
|
||
"url": "https://github.com/morluto/rea/pull/1382",
|
||
"author": {
|
||
"login": "BaaRai",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "f1231d4a2c43dc2d8cc6d5254ee0201771086508"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1386,
|
||
"title": "fix(javascript): handle oversized inline source maps",
|
||
"url": "https://github.com/morluto/rea/pull/1386",
|
||
"author": {
|
||
"login": "cold-atom",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "5fc4d792caeb3cd81c2021e45a158c5127906c56"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1380,
|
||
"url": "https://github.com/morluto/rea/issues/1380",
|
||
"author": {
|
||
"login": "KadirJeager",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1390,
|
||
"title": "fix(javascript): bound member-mutation paths through reassignment loops",
|
||
"url": "https://github.com/morluto/rea/pull/1390",
|
||
"author": {
|
||
"login": "marnixpluim",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "28595276faac6a01dd4930313a91fab717d29513"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1401,
|
||
"url": "https://github.com/morluto/rea/issues/1401",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1391,
|
||
"title": "fix(javascript): recognize Electron APIs through renamed bindings",
|
||
"url": "https://github.com/morluto/rea/pull/1391",
|
||
"author": {
|
||
"login": "marnixpluim",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "817efaca9aafc4a72884773ff8b93a32cb6e3350"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1393,
|
||
"title": "fix(javascript): stop reading media preload attributes as Electron preloads",
|
||
"url": "https://github.com/morluto/rea/pull/1393",
|
||
"author": {
|
||
"login": "marnixpluim",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "649661dc8baa6976bbd8385c65ef0f21aa5745de"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1395,
|
||
"title": "fix(cli): stop advertising multi-letter single-dash option aliases",
|
||
"url": "https://github.com/morluto/rea/pull/1395",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "498cec042a5f05557ae9c2ef9663d41dd03901c3"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1396,
|
||
"title": "fix(browser): classify selected web trace file failures by cause",
|
||
"url": "https://github.com/morluto/rea/pull/1396",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "2b6e9ec03f88abb0799a4d154e48544ff4685a41"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1397,
|
||
"title": "fix(cli): accept JSON files for web capture and screenshot comparisons",
|
||
"url": "https://github.com/morluto/rea/pull/1397",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "6875d4a64c0d77c4f90ebbec36705f191eb7cdc6"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1400,
|
||
"title": "fix(electron): support packaged app.asar pages and rewritten unpacked companions",
|
||
"url": "https://github.com/morluto/rea/pull/1400",
|
||
"author": {
|
||
"login": "suninrain086",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "4d8d76b2534275c6df1d62c9437d52f52a1d9d96"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1402,
|
||
"title": "perf(evidence): stop copying normalized results into raw_result",
|
||
"url": "https://github.com/morluto/rea/pull/1402",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "499e2f54efc65aff427978613284c3e429398d44"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1403,
|
||
"title": "feat: add Hermes as a supported MCP client",
|
||
"url": "https://github.com/morluto/rea/pull/1403",
|
||
"author": {
|
||
"login": "zaydiscold",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "f970b886aace516383caaa6d974f9df63faff340"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1404,
|
||
"title": "perf(native): record pwntools diagnostics once in their Evidence",
|
||
"url": "https://github.com/morluto/rea/pull/1404",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "7623e21ff02cf4eb00ccb4fa357936e4ed01425e"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1405,
|
||
"title": "perf(hopper): stop repeating Hopper replies as raw_result",
|
||
"url": "https://github.com/morluto/rea/pull/1405",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "1f0f728c63a4d9f32fc183c6a41627eedb8d1fe2"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1407,
|
||
"title": "fix(javascript)!: stop copying literals into semantic metadata",
|
||
"url": "https://github.com/morluto/rea/pull/1407",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "8550913cda311e5340cf012b9c4afd622e36e35b"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1408,
|
||
"title": "fix(javascript): retain shorter literal metadata encodings",
|
||
"url": "https://github.com/morluto/rea/pull/1408",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "de8fc6719596305b1d76204e6b052cf46d7e7fc3"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1410,
|
||
"title": "perf(javascript): aggregate semantic family coverage once",
|
||
"url": "https://github.com/morluto/rea/pull/1410",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "4d8ef3f35022f286e5a6b2ee250cfb336e14a4ad"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1413,
|
||
"title": "perf(cli): write compact JSON when output is not a terminal",
|
||
"url": "https://github.com/morluto/rea/pull/1413",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "ca3131b36ccf025f64b9e43ecae2698d37747de7"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1415,
|
||
"title": "feat(clients): register Qwen Code during setup",
|
||
"url": "https://github.com/morluto/rea/pull/1415",
|
||
"author": {
|
||
"login": "yiliang114",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "aa23ec883f6c7101db184767a1f48cddb636d597"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1409,
|
||
"url": "https://github.com/morluto/rea/issues/1409",
|
||
"author": {
|
||
"login": "yiliang114",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1419,
|
||
"title": "fix(ghidra): clear wrong no-return flags before serving a session",
|
||
"url": "https://github.com/morluto/rea/pull/1419",
|
||
"author": {
|
||
"login": "JonahSimon",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "162f9bf7ffd559e871c83778c7a247b7afd4e5df"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1420,
|
||
"title": "docs: correct stale logging, Ghidra host, and example path statements",
|
||
"url": "https://github.com/morluto/rea/pull/1420",
|
||
"author": {
|
||
"login": "Fazmin",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "944981d8d55e6ce2369362058e3325b267cbbe2e"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1422,
|
||
"title": "docs: correct host requirements in the README analysis tables",
|
||
"url": "https://github.com/morluto/rea/pull/1422",
|
||
"author": {
|
||
"login": "Fazmin",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "b32a11e1a7a1148bd8a2964cb197925ee9f9fb46"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1423,
|
||
"title": "fix(javascript)!: avoid endpoint payload copies in graph metadata",
|
||
"url": "https://github.com/morluto/rea/pull/1423",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "98022a835275375ee0ffa88b7c8983ba6f080040"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1424,
|
||
"title": "fix(javascript): unify package resolution and resolve exact exports subpaths",
|
||
"url": "https://github.com/morluto/rea/pull/1424",
|
||
"author": {
|
||
"login": "AWUQAQ",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "0e19db9fce74af2081144102f5787cf90a450244"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1365,
|
||
"url": "https://github.com/morluto/rea/issues/1365",
|
||
"author": {
|
||
"login": "akshitkhokhani",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1425,
|
||
"title": "fix(validation): retain unmatched union correction details",
|
||
"url": "https://github.com/morluto/rea/pull/1425",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "4d95f2b2e7a6fdc1ba9dfcbd90578f6bbc5e5e1e"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1421,
|
||
"url": "https://github.com/morluto/rea/issues/1421",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1426,
|
||
"title": "fix(hopper): treat a directory launcher path as missing",
|
||
"url": "https://github.com/morluto/rea/pull/1426",
|
||
"author": {
|
||
"login": "Fazmin",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "afdaf981171213b8f7e739ded685e8e805a8e842"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1427,
|
||
"title": "fix(javascript)!: avoid event payload copies in graph metadata",
|
||
"url": "https://github.com/morluto/rea/pull/1427",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "f4a0c1ce95375c1661ca95b414829113a10298b8"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1429,
|
||
"title": "docs(skill): save CLI application Evidence and read a summary view",
|
||
"url": "https://github.com/morluto/rea/pull/1429",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "0b9815b6e7080081d8fd426ad9710aee36761afa"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1430,
|
||
"title": "perf(native): record macOS command provenance once in its Evidence",
|
||
"url": "https://github.com/morluto/rea/pull/1430",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "6375ccaf04b4835cc67080ee1ecd91d1fc46645c"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1433,
|
||
"title": "perf(mcp): reuse output validators across catalog refreshes",
|
||
"url": "https://github.com/morluto/rea/pull/1433",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "dc5af6d68f74155d32a0be957c88afb0ee4be699"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1434,
|
||
"title": "perf(javascript): index change-graph nodes once per comparison",
|
||
"url": "https://github.com/morluto/rea/pull/1434",
|
||
"author": {
|
||
"login": "keemsisi",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "33b9b31a6fb50cc3e6f4591d0395dbba15b51f13"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1436,
|
||
"title": "test(native): verify macOS provenance through real CLI and MCP",
|
||
"url": "https://github.com/morluto/rea/pull/1436",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "ce16f7bc951180b68707fc8cec7e20a0511bb5b3"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1437,
|
||
"title": "fix(javascript): preserve effects through yielded array references",
|
||
"url": "https://github.com/morluto/rea/pull/1437",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "0a14ca41b46e42d36d46ba07384ff13a7a97456d"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1428,
|
||
"url": "https://github.com/morluto/rea/issues/1428",
|
||
"author": {
|
||
"login": "CassieFox23",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1438,
|
||
"title": "fix(native): preserve compact reference provenance",
|
||
"url": "https://github.com/morluto/rea/pull/1438",
|
||
"author": {
|
||
"login": "JosephDemarest",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "24d93376492d167fe7d96f6c10dee071b9ef363f"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1439,
|
||
"title": "perf(cli): defer Playwright and isomorphic-git until a command needs them",
|
||
"url": "https://github.com/morluto/rea/pull/1439",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "eeb83f65817819644af8e6fbf8a120227dfb88d4"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1440,
|
||
"title": "docs(process): verify independent full-report hashing budgets",
|
||
"url": "https://github.com/morluto/rea/pull/1440",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "bb6fa1c6f500c6b6af42f1e3f72bd42c1dce91f6"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1251,
|
||
"url": "https://github.com/morluto/rea/issues/1251",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1443,
|
||
"title": "test(android): retain incomplete cleanup failure reasons",
|
||
"url": "https://github.com/morluto/rea/pull/1443",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "4e3d3354397374116577555200319975fc2ff86e"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1444,
|
||
"title": "fix(javascript): stop replaying earlier writes for each object property write",
|
||
"url": "https://github.com/morluto/rea/pull/1444",
|
||
"author": {
|
||
"login": "zeynelacikgoez",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "1ec490f36180cf6d3a8f353e9e43920dbd81ece0"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1445,
|
||
"title": "fix(javascript): invalidate references stored through property targets",
|
||
"url": "https://github.com/morluto/rea/pull/1445",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "e09cfe9b5970d75da478c9dd741451cc2be5c91a"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1442,
|
||
"url": "https://github.com/morluto/rea/issues/1442",
|
||
"author": {
|
||
"login": "CassieFox23",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1448,
|
||
"title": "test(javascript): reuse comparison node fixtures",
|
||
"url": "https://github.com/morluto/rea/pull/1448",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "66863b609fe5bdbb46b8634399ea08439a94a9f4"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1446,
|
||
"url": "https://github.com/morluto/rea/issues/1446",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1450,
|
||
"title": "perf(process): stop padding rendered terminal lines to full width",
|
||
"url": "https://github.com/morluto/rea/pull/1450",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "2781cad20125ff3a210b795f60620b048e1bbe9b"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1452,
|
||
"title": "docs(mcp): record real Windows first-query recovery",
|
||
"url": "https://github.com/morluto/rea/pull/1452",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "c89c8f53187aac02e87f0ca11e3dd120b8c7efef"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1455,
|
||
"title": "docs: add Italian (it) README translation",
|
||
"url": "https://github.com/morluto/rea/pull/1455",
|
||
"author": {
|
||
"login": "Franky100-pig",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "a6d6e595f3eeb05c3347d1ad71ec7165b8a674a7"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1453,
|
||
"url": "https://github.com/morluto/rea/issues/1453",
|
||
"author": {
|
||
"login": "Franky100-pig",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1456,
|
||
"title": "fix(process)!: preserve literal replacement and comparison semantics",
|
||
"url": "https://github.com/morluto/rea/pull/1456",
|
||
"author": {
|
||
"login": "Madhavan006",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "2b6f14f528297cf12c776c960af0859f5cfbefbf"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1457,
|
||
"title": "perf(javascript): hash each semantic evidence context once",
|
||
"url": "https://github.com/morluto/rea/pull/1457",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "ef96657d6ba0c1f22ebdb1e6bd4d9a6ac9335002"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1458,
|
||
"title": "perf(javascript): derive the application graph ID once",
|
||
"url": "https://github.com/morluto/rea/pull/1458",
|
||
"author": {
|
||
"login": "keemsisi",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "934ffd28d15f4fbe6687ca8986a949e1b41a07d1"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1460,
|
||
"title": "perf(apple): stop repeating the archive path in Interface Builder evidence",
|
||
"url": "https://github.com/morluto/rea/pull/1460",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "b118f044926ae6b4880c4214621ae6c5b2a71f17"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1461,
|
||
"title": "fix(mcp): validate doctor probe against its discovered output contract",
|
||
"url": "https://github.com/morluto/rea/pull/1461",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "ea923287751043c7acfaa35a0acd10fe32f785d6"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1454,
|
||
"url": "https://github.com/morluto/rea/issues/1454",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1463,
|
||
"title": "fix(skills): expose authored skill to repository discovery",
|
||
"url": "https://github.com/morluto/rea/pull/1463",
|
||
"author": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "28d3cb545c720722f397412054ffa337ba072df5"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1459,
|
||
"url": "https://github.com/morluto/rea/issues/1459",
|
||
"author": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1465,
|
||
"title": "docs(process): clarify normalized terminal line representation",
|
||
"url": "https://github.com/morluto/rea/pull/1465",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "78e1308f49492011be448c9b35ce16d98d60c4ad"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1464,
|
||
"url": "https://github.com/morluto/rea/issues/1464",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1469,
|
||
"title": "docs(website): link the Discord community and REA on X",
|
||
"url": "https://github.com/morluto/rea/pull/1469",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "79f6756239105164eac7aa5618844ffd9bdf41e5"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1471,
|
||
"title": "fix(javascript): retain returned-reference mutation uncertainty",
|
||
"url": "https://github.com/morluto/rea/pull/1471",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "782e0147cd87aeb2aca12278ebb852f994d877ad"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1449,
|
||
"url": "https://github.com/morluto/rea/issues/1449",
|
||
"author": {
|
||
"login": "CassieFox23",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1473,
|
||
"title": "perf(artifacts): deliver the inspected artifact graph once",
|
||
"url": "https://github.com/morluto/rea/pull/1473",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "3c7b176a3df18b3971d9ea9ff40f7ebbd85fa40a"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1474,
|
||
"title": "perf(javascript)!: stop repeating the semantic identifier strategy per fact",
|
||
"url": "https://github.com/morluto/rea/pull/1474",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "7296f2b5bfff921b2ca16f942a09616c8adf2b3f"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1475,
|
||
"title": "feat(website): add a Blog and Touhou reconstruction essay",
|
||
"url": "https://github.com/morluto/rea/pull/1475",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "cbcba2902dd8caa206d2c5858d73449b87700da0"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1476,
|
||
"title": "fix(apple): decode binary app Info.plist files without plutil",
|
||
"url": "https://github.com/morluto/rea/pull/1476",
|
||
"author": {
|
||
"login": "jayhemnani9910",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "c8820e03db871e485835048f9f31f1702f614787"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1477,
|
||
"title": "perf(apple): state each NIB object's class, label, and ID once",
|
||
"url": "https://github.com/morluto/rea/pull/1477",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "5f6bb7a5bae4e6d8809823920d67e52d6ba9f963"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1479,
|
||
"title": "perf(mcp): stop advertising placeholder input descriptions",
|
||
"url": "https://github.com/morluto/rea/pull/1479",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "9defed97254f5a882643154d92db5e65bad19137"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1480,
|
||
"title": "fix(artifacts): keep case-distinct archive names in inventory",
|
||
"url": "https://github.com/morluto/rea/pull/1480",
|
||
"author": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "1f0775684b2cf8089bddfa7e2f0ee9aa6517c8a8"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1470,
|
||
"url": "https://github.com/morluto/rea/issues/1470",
|
||
"author": {
|
||
"login": "CassieFox23",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1481,
|
||
"title": "fix(ida): canonicalize the headless workspace root before opening",
|
||
"url": "https://github.com/morluto/rea/pull/1481",
|
||
"author": {
|
||
"login": "AS9929",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "de619bd33450a9869395eaeb25fe5c4d6e034e36"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1482,
|
||
"title": "feat(artifacts): inspect PE resource identities and payload ranges",
|
||
"url": "https://github.com/morluto/rea/pull/1482",
|
||
"author": {
|
||
"login": "thangldw",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "905e4866c4696872813064d1a71ee2569d61e067"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1254,
|
||
"url": "https://github.com/morluto/rea/issues/1254",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1483,
|
||
"title": "feat(process): report bounded live capture progress",
|
||
"url": "https://github.com/morluto/rea/pull/1483",
|
||
"author": {
|
||
"login": "sathariels",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "3cd80cbb88708229ad39105522ad2814e1c09c4b"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1252,
|
||
"url": "https://github.com/morluto/rea/issues/1252",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1492,
|
||
"title": "perf(artifacts): stop repeating every artifact path as Evidence locations",
|
||
"url": "https://github.com/morluto/rea/pull/1492",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "1f692c83e2e6dcf175f32c8ac532b77eb556b4d6"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1493,
|
||
"title": "perf(artifacts)!: name each edge's child through its occurrence",
|
||
"url": "https://github.com/morluto/rea/pull/1493",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "a0e5e9db2b9e3645295e1c060c01d1f24aa7e277"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1504,
|
||
"title": "fix(setup): honor active client configuration and skill roots",
|
||
"url": "https://github.com/morluto/rea/pull/1504",
|
||
"author": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "7a56fe6260cbda2e4c77e30d143db0e62f211b5b"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1505,
|
||
"title": "fix(artifacts): record each case collision once at its diverging segment",
|
||
"url": "https://github.com/morluto/rea/pull/1505",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "983b070d4d5c6179526f3b24e20c9d344388b786"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1506,
|
||
"title": "fix(mobile): bound framework conventions to path segments",
|
||
"url": "https://github.com/morluto/rea/pull/1506",
|
||
"author": {
|
||
"login": "thangldw",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "a929c9f714f5f27d3232bee83a162fa21d5dc449"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1489,
|
||
"url": "https://github.com/morluto/rea/issues/1489",
|
||
"author": {
|
||
"login": "cursor",
|
||
"__typename": "Bot"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1507,
|
||
"title": "fix(native): page every retained function dossier collection",
|
||
"url": "https://github.com/morluto/rea/pull/1507",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "911323c5dd27f4bc924b74c803587164f79f4984"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1509,
|
||
"title": "fix(browser): accept HAR files that begin with a byte-order mark",
|
||
"url": "https://github.com/morluto/rea/pull/1509",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "93ca276921cb6bd1ebfa0431369633c0a428bde5"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1510,
|
||
"title": "fix(json): name a leading byte-order mark in rejected JSON input",
|
||
"url": "https://github.com/morluto/rea/pull/1510",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "a936303723939478cbc8ebd7068ce32ef6eb1028"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1511,
|
||
"title": "test(clients): verify native Qwen Pi and Hermes workflows",
|
||
"url": "https://github.com/morluto/rea/pull/1511",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "b25922e4e8fe389cf17c151ccb7b4be4a42824d9"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1512,
|
||
"title": "docs: align the Indonesian README with the other translations",
|
||
"url": "https://github.com/morluto/rea/pull/1512",
|
||
"author": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "f63f12d8ff2ba1f0e832ff86e87dbf37d4a5e325"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1513,
|
||
"title": "fix: bind identity and coverage to the producing rule",
|
||
"url": "https://github.com/morluto/rea/pull/1513",
|
||
"author": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "b4db35f092d7166aebdf4387b48f7652b1d1c3b6"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1485,
|
||
"url": "https://github.com/morluto/rea/issues/1485",
|
||
"author": {
|
||
"login": "cursor",
|
||
"__typename": "Bot"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1514,
|
||
"title": "feat(mcp): compact input schema profile for size-capped providers (kimi-cli/Moonshot)",
|
||
"url": "https://github.com/morluto/rea/pull/1514",
|
||
"author": {
|
||
"login": "haythemsellami",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "b6ad1f2c3d0616e83e548efa7afed0107af122d8"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1484,
|
||
"url": "https://github.com/morluto/rea/issues/1484",
|
||
"author": {
|
||
"login": "haythemsellami",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1515,
|
||
"title": "fix(apple): bound binary plist expansion before decoding keyed archives",
|
||
"url": "https://github.com/morluto/rea/pull/1515",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "2bf812772d7209e31e15198bc3383243ad879f39"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1516,
|
||
"title": "fix(browser): keep the first DOM attribute when the name is repeated",
|
||
"url": "https://github.com/morluto/rea/pull/1516",
|
||
"author": {
|
||
"login": "taljeri",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "f6009d007713ef335189934d0c6d52a56818c525"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1496,
|
||
"url": "https://github.com/morluto/rea/issues/1496",
|
||
"author": {
|
||
"login": "cursor",
|
||
"__typename": "Bot"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1517,
|
||
"title": "fix(javascript): expand an escaped receiver's methods once (#1495)",
|
||
"url": "https://github.com/morluto/rea/pull/1517",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "46c9cba03a52b8ec382a686cd70ded6128225db8"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1495,
|
||
"url": "https://github.com/morluto/rea/issues/1495",
|
||
"author": {
|
||
"login": "CassieFox23",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1523,
|
||
"title": "docs: list all supported clients in the REA skill",
|
||
"url": "https://github.com/morluto/rea/pull/1523",
|
||
"author": {
|
||
"login": "peter-research",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "92741187ecb77674bd9c1f6f6ad9ebb21b32bbf9"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1522,
|
||
"url": "https://github.com/morluto/rea/issues/1522",
|
||
"author": {
|
||
"login": "CassieFox23",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1524,
|
||
"title": "test(clients): verify native DeepSeek Harness integration",
|
||
"url": "https://github.com/morluto/rea/pull/1524",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "3059d8a40f6dcf1e0709937ed1be2166d704bbaf"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1525,
|
||
"title": "fix(javascript): yield during per-file projection and graph construction",
|
||
"url": "https://github.com/morluto/rea/pull/1525",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "5fdb0636b4734cabfa3147e8fcc94976c3bd8aa4"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1526,
|
||
"title": "test(javascript): verify escaped receivers through CLI and MCP",
|
||
"url": "https://github.com/morluto/rea/pull/1526",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "f9ce32b4749026d3b6c05b8880f5549967cdb6ad"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1527,
|
||
"title": "fix(verification): reuse validators for shared output schema ids",
|
||
"url": "https://github.com/morluto/rea/pull/1527",
|
||
"author": {
|
||
"login": "peter-research",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "c73cf0ab7695049e5b8267f18182cb87200c78b2"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1518,
|
||
"url": "https://github.com/morluto/rea/issues/1518",
|
||
"author": {
|
||
"login": "CassieFox23",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1528,
|
||
"title": "fix(setup): follow and validate Hermes sticky profiles",
|
||
"url": "https://github.com/morluto/rea/pull/1528",
|
||
"author": {
|
||
"login": "peter-research",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "86b223b33ed3859df9b6d07527a58e800c739765"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1521,
|
||
"url": "https://github.com/morluto/rea/issues/1521",
|
||
"author": {
|
||
"login": "CassieFox23",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1531,
|
||
"title": "fix(windows): load native controls in Node-API hosts not named node.exe",
|
||
"url": "https://github.com/morluto/rea/pull/1531",
|
||
"author": {
|
||
"login": "xeropresence",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "ea1c164e5e056ddd2f6a220b11b3670d6c33ee0a"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1532,
|
||
"title": "docs(website): expand the Touhou essay with oracle lessons",
|
||
"url": "https://github.com/morluto/rea/pull/1532",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "72b3209f3a77b58a7dcd7096affb67ef71cf26c3"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1534,
|
||
"title": "fix(ci): synchronize browser fixture events before inspection",
|
||
"url": "https://github.com/morluto/rea/pull/1534",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "9964af6b79d7b8cf13858d6cc26176546a92c3fe"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1535,
|
||
"title": "fix(reference): join internal symlink targets with the inventory NFC normalizer",
|
||
"url": "https://github.com/morluto/rea/pull/1535",
|
||
"author": {
|
||
"login": "anujsingh-cse",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "0363e5a8e1be47f534c2fb7dfa26c579aa31ddd0"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1536,
|
||
"title": "feat(jeb): add JEB engine provider over its MCP interface",
|
||
"url": "https://github.com/morluto/rea/pull/1536",
|
||
"author": {
|
||
"login": "3QL",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "749e58772a0b1dd72fbfc938a5135ba2a1c11538"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1537,
|
||
"title": "perf(javascript): index returned object targets",
|
||
"url": "https://github.com/morluto/rea/pull/1537",
|
||
"author": {
|
||
"login": "geekwolf",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "9ffc6210a41b35b9ab8be878365ee7db29a83af9"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1495,
|
||
"url": "https://github.com/morluto/rea/issues/1495",
|
||
"author": {
|
||
"login": "CassieFox23",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1539,
|
||
"title": "fix(javascript): avoid argument limits when expanding escaped receivers",
|
||
"url": "https://github.com/morluto/rea/pull/1539",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "bace2c5a4faf7ad55c574b181ed276693eaf84ae"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1538,
|
||
"url": "https://github.com/morluto/rea/issues/1538",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1540,
|
||
"title": "fix(javascript): accept the Wakaru 1.x release line and verify 1.14.0",
|
||
"url": "https://github.com/morluto/rea/pull/1540",
|
||
"author": {
|
||
"login": "pionxzh",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "ded59689cebad45d2d7af7685266b9e9a1985593"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1541,
|
||
"title": "test(clients): verify native Gemini CLI integration",
|
||
"url": "https://github.com/morluto/rea/pull/1541",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "b9c439831d709e2fe6b8c69b83ec4157dff43d99"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1542,
|
||
"title": "fix(javascript): yield inside semantic analysis and large projection passes",
|
||
"url": "https://github.com/morluto/rea/pull/1542",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "ca7ef69c0ceed367470cb2d8e867a33e61706b02"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1545,
|
||
"title": "fix(javascript): yield during the largest AST traversals",
|
||
"url": "https://github.com/morluto/rea/pull/1545",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "5d6eeb22fb3bc005163e3c680cf524ba7659b48a"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1546,
|
||
"title": "test(clients): verify native OpenCode integration",
|
||
"url": "https://github.com/morluto/rea/pull/1546",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "539a0f95b5c0d43080cf0561bd5963d5ccf9548a"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1547,
|
||
"title": "chore(website): simplify maintenance and detect documentation drift",
|
||
"url": "https://github.com/morluto/rea/pull/1547",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "e964a06b83c92c03551d29c1b7ecfa7db322cce2"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1549,
|
||
"title": "test(clients): verify native Claude Code integration",
|
||
"url": "https://github.com/morluto/rea/pull/1549",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "8c7569aca79349eec9def0fa98cbf04fdbcf0d02"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1550,
|
||
"title": "test(ghidra): preserve Node heap options in adapter verification",
|
||
"url": "https://github.com/morluto/rea/pull/1550",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "2d99e1e3b268181bb4b3e02e1cb769c550806481"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1548,
|
||
"url": "https://github.com/morluto/rea/issues/1548",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1552,
|
||
"title": "feat(adb): complete ADB device support for Android reverse engineering",
|
||
"url": "https://github.com/morluto/rea/pull/1552",
|
||
"author": {
|
||
"login": "3QL",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "fef6f730643dd60a80a109fc9751e1782b79ab4a"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1553,
|
||
"title": "fix(artifacts): take nested container families from bytes",
|
||
"url": "https://github.com/morluto/rea/pull/1553",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "4b985e5021f578e6ef0bc2a412abe9cba6bdaca1"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1491,
|
||
"url": "https://github.com/morluto/rea/issues/1491",
|
||
"author": {
|
||
"login": "cursor",
|
||
"__typename": "Bot"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1555,
|
||
"title": "test(clients): verify native GitHub Copilot CLI integration",
|
||
"url": "https://github.com/morluto/rea/pull/1555",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "66a9ad58fc53e80150abe6d27bd8bba516541f8b"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1556,
|
||
"title": "feat(apktool): decode Android resource tables through a caller-supplied launcher",
|
||
"url": "https://github.com/morluto/rea/pull/1556",
|
||
"author": {
|
||
"login": "3QL",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "96fd98cce06e1f93b027487d38048e56c05181bd"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1557,
|
||
"title": "fix(javascript): yield during receiver and reference classification",
|
||
"url": "https://github.com/morluto/rea/pull/1557",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "8c47a9ce4b1349b3ccd50da8f8c587a3080759af"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1462,
|
||
"url": "https://github.com/morluto/rea/issues/1462",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1559,
|
||
"title": "docs: celebrate 60,000 GitHub stars 🎉",
|
||
"url": "https://github.com/morluto/rea/pull/1559",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "2ec93ba1662ff0d61496d4d10337ae43ca03ccdf"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1560,
|
||
"title": "fix(mcp): stop advertising complete Evidence in input examples",
|
||
"url": "https://github.com/morluto/rea/pull/1560",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "a53689c55d6e801d78596a36173fa2fee80be918"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1562,
|
||
"title": "fix(setup): reject invalid OMP profiles before fallback writes",
|
||
"url": "https://github.com/morluto/rea/pull/1562",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "e4cc0f09de257aad27a8d8b8e8512fbe1ef2d960"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1561,
|
||
"url": "https://github.com/morluto/rea/issues/1561",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1568,
|
||
"title": "feat(javascript): return a retained summary view on request",
|
||
"url": "https://github.com/morluto/rea/pull/1568",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "c19e15a2b3f09b3f693d7eab5263d83f4d2d1cd4"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1570,
|
||
"title": "feat(native): return a retained summary view of binary layouts on request",
|
||
"url": "https://github.com/morluto/rea/pull/1570",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "5156ba44c58f1361e8b6304fcd1cb092eaa85de9"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1571,
|
||
"title": "test(clients): verify native Grok Build workflows",
|
||
"url": "https://github.com/morluto/rea/pull/1571",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "efd81f977604a7b0ed55c2ee11f8b0da356d6c0f"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1577,
|
||
"title": "fix(javascript): retain runtime scope in bundled module relationships",
|
||
"url": "https://github.com/morluto/rea/pull/1577",
|
||
"author": {
|
||
"login": "dakjdakd",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "c1217e711b7260a04a75f58d46c97e1320595153"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1576,
|
||
"url": "https://github.com/morluto/rea/issues/1576",
|
||
"author": {
|
||
"login": "dakjdakd",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1580,
|
||
"title": "fix(clients): preserve portable MCP schemas in native workflows",
|
||
"url": "https://github.com/morluto/rea/pull/1580",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "6d8f95e38dfc847d911430483b812ff4951b373d"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1581,
|
||
"url": "https://github.com/morluto/rea/issues/1581",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1583,
|
||
"title": "feat(process): bound a finalization interval before forced capture timeout",
|
||
"url": "https://github.com/morluto/rea/pull/1583",
|
||
"author": {
|
||
"login": "nikolay-dementiev",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "c1efa6467d5b3cfa252016a0822bdbdbd3a1ce53"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1253,
|
||
"url": "https://github.com/morluto/rea/issues/1253",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
},
|
||
{
|
||
"number": 2997,
|
||
"url": "https://github.com/modelcontextprotocol/typescript-sdk/issues/2997",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "modelcontextprotocol/typescript-sdk"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1588,
|
||
"title": "fix(browser): skip Windows Electron signals without verified lineage",
|
||
"url": "https://github.com/morluto/rea/pull/1588",
|
||
"author": {
|
||
"login": "Adolanium",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "1a6ccec636a2ce811245fab86a6bfa7f8597ba85"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1589,
|
||
"url": "https://github.com/morluto/rea/issues/1589",
|
||
"author": {
|
||
"login": "Adolanium",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1590,
|
||
"title": "fix(browser): keep declared scenario secrets out of redacted evidence",
|
||
"url": "https://github.com/morluto/rea/pull/1590",
|
||
"author": {
|
||
"login": "Adolanium",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "6edd5cf045bad34e048d11e2906fa947c0a067f9"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1591,
|
||
"url": "https://github.com/morluto/rea/issues/1591",
|
||
"author": {
|
||
"login": "Adolanium",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1592,
|
||
"title": "feat(ghidra): recover signed AArch64 relative jump tables",
|
||
"url": "https://github.com/morluto/rea/pull/1592",
|
||
"author": {
|
||
"login": "RishTheFish21",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "3749ccec47d0ff340ff2bcc1d5a06308d3ad42c0"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1601,
|
||
"title": "perf(javascript): reduce retained semantic analysis allocations",
|
||
"url": "https://github.com/morluto/rea/pull/1601",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "b28c0337fcb3f34533ffb61a8220e802eb6973e7"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1602,
|
||
"title": "fix(browser): report SVG xlink:href links in dom_urls",
|
||
"url": "https://github.com/morluto/rea/pull/1602",
|
||
"author": {
|
||
"login": "sathariels",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "0f605bca095b956e4a6e92e8da5ce98ded5e5a70"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1586,
|
||
"url": "https://github.com/morluto/rea/issues/1586",
|
||
"author": {
|
||
"login": "CassieFox23",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1604,
|
||
"title": "fix(browser): fold loopback spellings into one attach admission key",
|
||
"url": "https://github.com/morluto/rea/pull/1604",
|
||
"author": {
|
||
"login": "akushonkamen",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "3e931a7e357a3c8af671f39aa54952d6a6019d1f"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1497,
|
||
"url": "https://github.com/morluto/rea/issues/1497",
|
||
"author": {
|
||
"login": "cursor",
|
||
"__typename": "Bot"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1607,
|
||
"title": "fix(setup): preserve configured MCP server environment",
|
||
"url": "https://github.com/morluto/rea/pull/1607",
|
||
"author": {
|
||
"login": "Adkid-Zephyr",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "52331ab637d02df820fa5e14792b2d3e31140912"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1606,
|
||
"url": "https://github.com/morluto/rea/issues/1606",
|
||
"author": {
|
||
"login": "Adkid-Zephyr",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1613,
|
||
"title": "feat(skills)!: improve Codex onboarding and task recovery",
|
||
"url": "https://github.com/morluto/rea/pull/1613",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "2653b194b695879dcb1d290feca56301282594bc"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1615,
|
||
"title": "fix(javascript): preserve trailing slash in package directory requests",
|
||
"url": "https://github.com/morluto/rea/pull/1615",
|
||
"author": {
|
||
"login": "immanuwell",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "423b11c8ef7de15fce25ba00d6f2cf378bc8a615"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1616,
|
||
"title": "fix(firmware): recover after workspace removal failures",
|
||
"url": "https://github.com/morluto/rea/pull/1616",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "043fd2579d71065897c416366f5b5479f51e1e0d"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1501,
|
||
"url": "https://github.com/morluto/rea/issues/1501",
|
||
"author": {
|
||
"login": "cursor",
|
||
"__typename": "Bot"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1618,
|
||
"title": "fix(ci): preserve cleanup boundaries and bounded failure assertions",
|
||
"url": "https://github.com/morluto/rea/pull/1618",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "16d9c5adef163ff69667f4f52ac8f532e29c28dc"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1621,
|
||
"title": "test: remove module and timestamp assumptions from boundary fixtures",
|
||
"url": "https://github.com/morluto/rea/pull/1621",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "a761981897f9d65533842f96f242884187b7d1ed"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1622,
|
||
"title": "perf(evm): avoid repeated cleanup diagnostics",
|
||
"url": "https://github.com/morluto/rea/pull/1622",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "c12a532b9c1a8c52045c73aceefcda3fd2090f84"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1623,
|
||
"title": "fix(apple): preserve directory requirements in dylib paths",
|
||
"url": "https://github.com/morluto/rea/pull/1623",
|
||
"author": {
|
||
"login": "evenafterallisaid",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "6a41a29963f4623d399c66b916b95711207bbc8c"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1624,
|
||
"title": "test(clients): verify Copilot compact schema workflows",
|
||
"url": "https://github.com/morluto/rea/pull/1624",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "5100a1a1a56b810c8246b8c7ed19ff42c4d9dbe1"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1627,
|
||
"title": "fix(onboarding): isolate client homes and clarify npm release support",
|
||
"url": "https://github.com/morluto/rea/pull/1627",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "b74d9a1bb2e6c037d81baac196a13f0634dd8550"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1625,
|
||
"url": "https://github.com/morluto/rea/issues/1625",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
},
|
||
{
|
||
"number": 1626,
|
||
"url": "https://github.com/morluto/rea/issues/1626",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1629,
|
||
"title": "fix(ghidra): admit carved MIPS ELF with incomplete section tables",
|
||
"url": "https://github.com/morluto/rea/pull/1629",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "d6f698d8af7150ef465e4ca1203194a22780da14"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1619,
|
||
"url": "https://github.com/morluto/rea/issues/1619",
|
||
"author": {
|
||
"login": "bqw371",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1631,
|
||
"title": "test(javascript): share semantic graph fixtures",
|
||
"url": "https://github.com/morluto/rea/pull/1631",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "be44b5098ec205d937cfc954e577ee4f84f69a59"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1630,
|
||
"url": "https://github.com/morluto/rea/issues/1630",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1635,
|
||
"title": "feat(ghidra): admit set_address_name and set_addresses_names",
|
||
"url": "https://github.com/morluto/rea/pull/1635",
|
||
"author": {
|
||
"login": "giri256",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "6e0d5d64d3d5b480e370cdaf35f80545913e4093"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1634,
|
||
"url": "https://github.com/morluto/rea/issues/1634",
|
||
"author": {
|
||
"login": "giri256",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1637,
|
||
"title": "docs(installation): clarify that npm 6.3.0 excludes automatic pi and hermes setup",
|
||
"url": "https://github.com/morluto/rea/pull/1637",
|
||
"author": {
|
||
"login": "Totopo27",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "6849ecf70a11c0f469f40b49bfcf25d845586ca7"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1626,
|
||
"url": "https://github.com/morluto/rea/issues/1626",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1638,
|
||
"title": "fix(tests): bind HOME in native client and deepseek verifiers",
|
||
"url": "https://github.com/morluto/rea/pull/1638",
|
||
"author": {
|
||
"login": "Totopo27",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "7b3011b41efca99fbad471b6175d0f6797f2c313"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1625,
|
||
"url": "https://github.com/morluto/rea/issues/1625",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1639,
|
||
"title": "test(android): preserve reason in JADX cleanup-failure teardown poll",
|
||
"url": "https://github.com/morluto/rea/pull/1639",
|
||
"author": {
|
||
"login": "Totopo27",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "afc9d819aa1e6dc2cfc7373a6d2c2edd2e66ad2d"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1441,
|
||
"url": "https://github.com/morluto/rea/issues/1441",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1640,
|
||
"title": "fix(test): preserve Ghidra interior-label controls on Mach-O",
|
||
"url": "https://github.com/morluto/rea/pull/1640",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "ac9677bd6cb84a3ca2a1e598a77e7346b260ab01"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1597,
|
||
"url": "https://github.com/morluto/rea/issues/1597",
|
||
"author": {
|
||
"login": "RishTheFish21",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1644,
|
||
"title": "test(javascript): retain resource ownership in deep-return fixture",
|
||
"url": "https://github.com/morluto/rea/pull/1644",
|
||
"author": {
|
||
"login": "evenafterallisaid",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "32d13c431efadf66eca98bcd59261d8f8086a06c"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1646,
|
||
"title": "fix(tests): verify Qwen skills through an isolated native home",
|
||
"url": "https://github.com/morluto/rea/pull/1646",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "9515d2fcd398ded41ab3c3f42d53f5702577ada6"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1647,
|
||
"title": "fix(tests): separate Copilot model IDs from wire models",
|
||
"url": "https://github.com/morluto/rea/pull/1647",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "b09dd333ab7515916c109e9a17e7132e56ac428f"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1648,
|
||
"title": "fix(ci): check decoded reference paths and restore formatting",
|
||
"url": "https://github.com/morluto/rea/pull/1648",
|
||
"author": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "54e2890b300f2935db592edd7d01fc38c3198ffc"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1651,
|
||
"title": "fix(javascript): isolate source analysis and retain bounded partial evidence",
|
||
"url": "https://github.com/morluto/rea/pull/1651",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "4999e4be2c1669d04417fcdea582052048adbb2d"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1563,
|
||
"url": "https://github.com/morluto/rea/issues/1563",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
},
|
||
{
|
||
"number": 1565,
|
||
"url": "https://github.com/morluto/rea/issues/1565",
|
||
"author": {
|
||
"login": "peter-research",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1654,
|
||
"title": "fix(javascript): preserve cleanup failures during preparation cancellation",
|
||
"url": "https://github.com/morluto/rea/pull/1654",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "890dfa49f60a66e819e86ba29f3728f2e1e1827b"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1653,
|
||
"url": "https://github.com/morluto/rea/issues/1653",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1655,
|
||
"title": "fix(browser): support Termux Android scenarios",
|
||
"url": "https://github.com/morluto/rea/pull/1655",
|
||
"author": {
|
||
"login": "tyloryang",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "87edf1494061fe8ef493e394276d42d89349a19e"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1660,
|
||
"title": "ci: scope provider and native verification by changed inputs",
|
||
"url": "https://github.com/morluto/rea/pull/1660",
|
||
"author": {
|
||
"login": "morluto",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "66c344e28931b2997397ab36ac02fa32cd1b549e"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1662,
|
||
"title": "fix(setup): recognize Omarchy as an Arch-based host",
|
||
"url": "https://github.com/morluto/rea/pull/1662",
|
||
"author": {
|
||
"login": "LuisTaffelli",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "ad41afa2b52c19de97d85c98c71091647e60fff7"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1664,
|
||
"title": "fix(javascript): exclude overwritten Electron API identities",
|
||
"url": "https://github.com/morluto/rea/pull/1664",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "29cc1b8746608a9173def10801ad080953d5cf6b"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1667,
|
||
"title": "feat(ghidra): configurable import language and analysis seeds",
|
||
"url": "https://github.com/morluto/rea/pull/1667",
|
||
"author": {
|
||
"login": "sqmagellan",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "af88184eeec544867904dedf0b30867a22be7abf"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1670,
|
||
"title": "feat(javascript): recognize tRPC procedures and GraphQL operations",
|
||
"url": "https://github.com/morluto/rea/pull/1670",
|
||
"author": {
|
||
"login": "pompiliodonatoapp",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "3a7a3074e30d842bb0a0c7837a46d45d66565342"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1673,
|
||
"title": "fix(javascript): recover Electron APIs through default imports and optional calls",
|
||
"url": "https://github.com/morluto/rea/pull/1673",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "fe574c0c9f64d13de9223862a90921e5060abed5"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1675,
|
||
"title": "ci: select semantic tests and fixture lanes for their guarded inputs",
|
||
"url": "https://github.com/morluto/rea/pull/1675",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "b212e92f9be972fae2093a323d76473918d09fcb"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1678,
|
||
"title": "fix(native): bound PE resource RVAs by section virtual size",
|
||
"url": "https://github.com/morluto/rea/pull/1678",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "38221cb12e86f5766d2e6c02ec7cae30f23bf2d7"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1682,
|
||
"title": "feat(evidence): discover retained records without full payloads",
|
||
"url": "https://github.com/morluto/rea/pull/1682",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "17f704050f431c195ba2280aca162e698aea408a"
|
||
},
|
||
"issues": [
|
||
{
|
||
"number": 1247,
|
||
"url": "https://github.com/morluto/rea/issues/1247",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"repository": {
|
||
"nameWithOwner": "morluto/rea"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"number": 1683,
|
||
"title": "fix(browser): resolve XLink and SVG prefixes in XHTML dom_urls",
|
||
"url": "https://github.com/morluto/rea/pull/1683",
|
||
"author": {
|
||
"login": "sathariels",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "ad3e41d46e443deb25204988de934418944bea04"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1684,
|
||
"title": "docs(website): add beginner help to the Get started page",
|
||
"url": "https://github.com/morluto/rea/pull/1684",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "dc676b4d850837894fb4f474b691b01f566deaba"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1687,
|
||
"title": "perf(domain): reuse canonical JSON key encodings",
|
||
"url": "https://github.com/morluto/rea/pull/1687",
|
||
"author": {
|
||
"login": "N0zoM1z0",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "89ea2cad1977b73a4ddf5818d54f5bc51cdae2b6"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1688,
|
||
"title": "docs(website): list the setup guide first on the Guides page",
|
||
"url": "https://github.com/morluto/rea/pull/1688",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "ea06264a5656ef4b4f52058895030f89d799d7ff"
|
||
},
|
||
"issues": []
|
||
},
|
||
{
|
||
"number": 1689,
|
||
"title": "docs(website): add beginner help to the native analysis guide",
|
||
"url": "https://github.com/morluto/rea/pull/1689",
|
||
"author": {
|
||
"login": "kaoru0822-kitauji",
|
||
"__typename": "User"
|
||
},
|
||
"mergeCommit": {
|
||
"oid": "92dac97102190395613c868b1582efc8a4f054c8"
|
||
},
|
||
"issues": []
|
||
}
|
||
]
|
||
}
|