Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2327 commits
Select commit Hold shift + click to select a range
509d4c8
Fix permissions count issue for `pkg=null` in ADB analysis and add te…
Tapraj-Pathak Oct 17, 2026
0cd4eaf
perf: reduce MCP launcher and browser capture overhead (#4350)
leeguooooo Oct 17, 2026
de9371b
fix(javascript): preserve effective child-process stdio options (#4336)
Xinglan233 Oct 17, 2026
4e14452
fix(native): report unidentified text plists as unknown (#4320)
Y0UW1SH Oct 17, 2026
70de702
fix(browser): share DOM snapshot admission
morluto Oct 17, 2026
abe4980
fix(plist): ignore inherited XML entity lookup properties (#4530)
ShuaixinHuang Oct 17, 2026
a040533
fix(ghidra): reject byte matches outside searched coverage (#4531)
ShuaixinHuang Oct 17, 2026
9744d07
docs(skills): capture measured analysis optimization workflow
N0zoM1z0 Oct 17, 2026
26bb85c
fix(core): keep released cleanup dependencies empty
morluto Oct 17, 2026
e09a503
fix(native): retain plist descriptor cleanup ownership
morluto Oct 17, 2026
4f3b573
fix(native): bind signature snapshot cleanup to exact leases
morluto Oct 17, 2026
715c9c8
fix(native): retain signature facts through finalization cancellation
morluto Oct 17, 2026
9d5b931
perf(tests): reuse MCP connections within source matrices
N0zoM1z0 Oct 17, 2026
69e670d
fix(native): own call preflight hashing through client close
morluto Oct 17, 2026
f85a932
test(paths): pin Windows separator normalization before native admiss…
Iyanuoluwa007 Oct 17, 2026
6b27d8f
fix(electron): retain fuse descriptor ownership through failed final …
nosmile99 Oct 17, 2026
9534e42
fix(adb): mark unknown permission coverage partial (#4663)
gongfpp Oct 17, 2026
5a7e8a1
fix(mcp): normalize browser scenario input errors (#4661)
gongfpp Oct 17, 2026
0f7fd00
fix(native): retain LLDB readback ownership through cleanup
morluto Oct 17, 2026
2092f90
perf(ci): upload only current portable build cache entries
N0zoM1z0 Oct 17, 2026
04221e5
fix(native): bind UI runtime cleanup to exact owners
morluto Oct 17, 2026
d909919
fix(native)!: retain UI outcomes through finalization
morluto Oct 17, 2026
4a076f3
fix(native): bound NativeAOT reads to declared PE headers
morluto Oct 17, 2026
5e13e0a
refactor(files): allow reader-owned cancellation failures
morluto Oct 17, 2026
73965f9
fix(ghidra): retain snapshot outcomes and join reader cleanup
morluto Oct 17, 2026
f0d175d
fix(verifiers): read packed bridge without extraction
N0zoM1z0 Oct 17, 2026
5120eb4
fix(ghidra): join shared NativeAOT derivation and retain outcomes
morluto Oct 17, 2026
ae029fe
perf(ghidra): aggregate binary overview at the provider boundary (#4754)
N0zoM1z0 Oct 17, 2026
a43ce8a
fix(ghidra): retain measured facts through NativeAOT failures
morluto Oct 17, 2026
9c56d09
fix(ghidra): preserve load-image completion through cancellation
morluto Oct 17, 2026
3fc0075
fix(native): validate NativeAOT PE virtual ownership
morluto Oct 17, 2026
2f9b9c4
fix(ghidra): stream DOS MZ overlay attestation
morluto Oct 17, 2026
95b561f
fix(native): retain Apple dispatch metadata descriptor cleanup owners…
kaoru0822-kitauji Oct 17, 2026
6a40761
fix(javascript): report malformed runtime context events as excluded …
kaoru0822-kitauji Oct 17, 2026
31c87b4
fix(javascript): report oversized recovery inputs as file-size limits…
kaoru0822-kitauji Oct 17, 2026
f1ab595
fix(javascript): bind response endpoints only from writes that reach …
kaoru0822-kitauji Oct 17, 2026
f03a559
fix(mcp): accept authentic native Evidence for managed boundary verif…
kaoru0822-kitauji Oct 17, 2026
63c5309
fix(flutter): report cancellation during snapshot cleanup with comple…
kaoru0822-kitauji Oct 17, 2026
8589b7e
fix(evidence): verify staged output identity after its final write (#…
kaoru0822-kitauji Oct 17, 2026
83d2780
fix(ida): refuse universal Mach-O targets in attached profiles (#4765)
kaoru0822-kitauji Oct 17, 2026
34239d4
fix(flutter): keep completed inspection facts when cancelled during s…
kaoru0822-kitauji Oct 17, 2026
969aafc
fix(ghidra): compare final DOS relocation windows
morluto Oct 17, 2026
e5ee3ac
fix(apktool): preserve decoded APK Evidence subject (#4771)
N0zoM1z0 Oct 17, 2026
c192c58
fix(apple): retain unavailable application components
morluto Oct 17, 2026
149a0fc
fix(apple): derive bundle anatomy from directory facts
morluto Oct 17, 2026
a425b3e
fix(mobile): classify authenticated file occurrences as components
morluto Oct 17, 2026
fc935d0
fix(mobile): derive runtime hints from classified components
morluto Oct 17, 2026
5d6029e
fix(apple): derive launchd domains from owning directories
morluto Oct 17, 2026
2cf9c28
fix(apple): preserve decoded keyed archive scalar identity
morluto Oct 17, 2026
78cf610
fix(plist): preserve complete XML dictionary key identities
morluto Oct 17, 2026
7aa4b98
fix(plist): own XML values and numeric facts in one decoder
morluto Oct 17, 2026
22a0746
fix(wasm): retain cleanup ownership through WABT recovery
morluto Oct 17, 2026
bd3210e
fix(ci): format keyed archive CLI regression test (#4796)
N0zoM1z0 Oct 17, 2026
bf54c46
fix(electron): share executable architecture facts for fuse inspection
morluto Oct 17, 2026
060eb43
docs: celebrate 300,000 GitHub stars 🎉 (#4778)
N0zoM1z0 Oct 17, 2026
2d84c80
perf(android): filter class pages before bridge serialization (#4791)
N0zoM1z0 Oct 17, 2026
f9de413
fix(electron): own fuse cleanup through adapters and shutdown
morluto Oct 17, 2026
e7df00e
fix(electron): retain process and transport cleanup owners
morluto Oct 17, 2026
926e18b
fix(native): report PE resource subject architecture
morluto Oct 17, 2026
f4322b1
fix(javascript): bound semantic unknown retention at projection
morluto Oct 17, 2026
376eeca
fix(ghidra): prepare ownership before Java probe deadline
morluto Oct 17, 2026
11bcf44
fix(apktool): retain command cleanup ownership through recovery
morluto Oct 17, 2026
4844ae8
fix(apktool): own file and workspace finalization
morluto Oct 17, 2026
cc038da
fix(apktool): attribute decode refusals to the selected APK
morluto Oct 17, 2026
98886ad
fix(apktool): disclose tables outside exact locale selection
morluto Oct 17, 2026
6385ef4
fix(apktool): derive locale size from resource configuration fields
morluto Oct 17, 2026
63696d2
fix(apktool): retain advisory facts from the version observation
morluto Oct 17, 2026
d38f099
fix(apktool): disclose platform and release advisory windows
morluto Oct 17, 2026
c1fe0d6
fix(setup): recognize shared CLI launcher aliases (#4803)
panditshivam Oct 17, 2026
af67ad5
docs: add ml translation (#4792)
kraken-503 Oct 17, 2026
68c3c5b
fix(native): preserve leading U+FEFF in Apple metadata names (#4730)
ShuaixinHuang Oct 17, 2026
6b0113a
fix(browser): preserve URL paths when removing credentials (#4731)
ShuaixinHuang Oct 17, 2026
bec88b9
fix(javascript): retain CommonJS exports defined with Object.definePr…
rodricksz4h5 Oct 17, 2026
dc2e811
fix(apktool): distinguish document failures from entry omissions
morluto Oct 17, 2026
b27e1a7
docs(i18n): complete Malayalam locale registration and links
morluto Oct 17, 2026
3c1cce7
fix(domain): admit Qualcomm Hexagon (EM_HEXAGON, 164) ELF binaries (#…
prasad2512 Oct 17, 2026
742b6f5
fix(android): preserve native and abstract body absence
morluto Oct 17, 2026
63c65a2
fix(android): recover original bodies when Java source is omitted
morluto Oct 17, 2026
9fa6d2b
fix(android): preserve primary failures through cleanup retries
morluto Oct 17, 2026
3fa972a
fix(android): preserve typed JVM memory failures during loading
morluto Oct 17, 2026
7016951
fix(process): retain diagnostics through bounded output finalization
morluto Oct 17, 2026
3ddb2e4
fix(ci): handle cache eviction and composed cleanup assertions (#4824)
N0zoM1z0 Oct 17, 2026
3ad1032
fix(android): finalize startup diagnostics before reporting failure
morluto Oct 17, 2026
964decd
fix(providers): preserve live cleanup ownership through retries
morluto Oct 17, 2026
ceeff5a
fix(android): own Java prerequisite probing and readiness shutdown
morluto Oct 17, 2026
662fad9
fix(cli): finalize doctor cancellation after failure logging
morluto Oct 17, 2026
f1d1885
fix(artifacts): preserve opaque ZIP cancellation reasons
morluto Oct 17, 2026
300905c
fix(android): retain archive admission ownership through cleanup retries
morluto Oct 17, 2026
147ae97
fix(process): preserve artifact cancellation through finalization
morluto Oct 17, 2026
8a247fc
fix(providers): preserve artifact producer cancellation facts
morluto Oct 17, 2026
daa641a
fix(artifacts): retain canonical cleanup leases for scope owners
morluto Oct 17, 2026
3fcba07
fix(process): preserve file outcomes through exact cleanup recovery
morluto Oct 17, 2026
16924e2
fix(artifacts): serialize concurrent cleanup lease releases
morluto Oct 17, 2026
3460cea
fix(browser): retain exact scenario cleanup ownership
morluto Oct 17, 2026
c43bc0b
fix(clients): preserve large TOML documents without argument spreads
xu91102 Oct 17, 2026
e103ae0
fix(clients): advance TOML statement lines without document rescans
morluto Oct 17, 2026
09de00b
fix(javascript): admit CommonJS bare scoped package directory resolut…
prasad2512 Oct 17, 2026
3b5605e
fix(plist): keep negative-zero reals distinct from positive zero (#4839)
pablodiazjorge Oct 17, 2026
6668424
feat(apktool): share one APK resource decode across selected locale t…
abhay-2108 Oct 17, 2026
fd6da70
fix(cli): report string capacity failures during result formatting
morluto Oct 17, 2026
9e372c6
fix(cli): preserve spaced output flag values (#4823)
ShuaixinHuang Oct 17, 2026
d37c346
fix(apktool): retain observed table counts through output limits
morluto Oct 17, 2026
f1edf0d
fix(cli): preserve APK locale-list schema bounds
morluto Oct 17, 2026
34a88d6
fix(apktool): retain completed facts after locale read failures
morluto Oct 17, 2026
f5fcf52
fix(apktool): retain decode facts across interrupted read stages
morluto Oct 17, 2026
fc847ff
fix(javascript): preserve SQLite constructor provenance
morluto Oct 17, 2026
9ac76d3
fix(javascript): invalidate stale facts across direct eval
morluto Oct 17, 2026
c555caa
fix(setup): resolve Hermes named-user homes before planning
morluto Oct 17, 2026
4f7b5fb
fix(cli): route update flag through verified updater
morluto Oct 17, 2026
182e9a2
refactor(process): allow awaiting physical output closure
morluto Oct 17, 2026
01cdbbd
fix(update): bound package-manager output retention
morluto Oct 17, 2026
19329e4
fix(setup): preserve launcher identity and uncertainty
morluto Oct 17, 2026
7e4eed9
fix(setup): bind recovery to the published configuration file
morluto Oct 17, 2026
2fb5e20
fix(uninstall): retain configuration publication ownership through re…
morluto Oct 17, 2026
d0253c9
fix(setup): preserve the selected destination during configuration pu…
morluto Oct 17, 2026
d818c3d
fix(doctor): preserve unresolved client configuration evidence
morluto Oct 17, 2026
abb54ce
test(setup): cover configuration identity regressions
morluto Oct 17, 2026
8235210
fix(setup): transfer unscoped registration cleanup ownership
morluto Oct 17, 2026
7d79a6a
fix(verify): own asynchronous Ghidra prerequisite inspection
morluto Oct 17, 2026
f4456dc
fix(verify): restore owned firmware fixture hashing
morluto Oct 17, 2026
f0b9ef3
fix(verify): request command JSON for Cutter inspection
morluto Oct 17, 2026
796faa0
fix(pcap): preserve exact UTC capture instants
morluto Oct 17, 2026
d205c52
test(pcap): verify UTC metadata against authored capture records
morluto Oct 17, 2026
6c98708
fix(plist): preserve observed non-finite XML reals
morluto Oct 17, 2026
69324b0
fix(native): project decoded entitlement scalars through plist owners
morluto Oct 17, 2026
f2b7bbb
fix(plist): retain known binary non-finite value identity
morluto Oct 17, 2026
7ca7e38
fix(native): retain bounded plutil refusal diagnostics
morluto Oct 18, 2026
e6c4877
fix(native): preserve resolved plist selection intent
morluto Oct 18, 2026
fbfdb6a
fix(javascript): distinguish Map lookups from network endpoints
morluto Oct 18, 2026
9319644
test(javascript): verify endpoint certainty through CLI and MCP
morluto Oct 18, 2026
2183c95
fix(process): retain kernel limit descriptor cleanup ownership
morluto Oct 18, 2026
2582c26
fix(artifacts): carry exact cleanup authority through scope failures
morluto Oct 18, 2026
bbfe6ed
fix(artifacts): bind inventory and extraction cleanup to exact owners
morluto Oct 18, 2026
a817016
test(rust): verify CLI retries exact descriptor cleanup
morluto Oct 18, 2026
52b73ee
fix(analysis): retain artifact admission cancellation reasons
morluto Oct 18, 2026
94bc7ed
fix(browser): retain module resolution through finalization
morluto Oct 18, 2026
9df559b
fix(analysis): gate document selection fallback and completion
morluto Oct 18, 2026
1accac2
fix(ci): restore plist, verifier, and TOML capacity checks (#4930)
N0zoM1z0 Oct 18, 2026
ba98130
fix(mcp): distinguish schema references from literal metadata
morluto Oct 18, 2026
2ae4e16
fix(cli): preserve omitted positions in filtered JSON arrays
morluto Oct 18, 2026
279c590
fix(cli): require cancellation through command finalization
morluto Oct 18, 2026
d5fc7e6
fix(rizin): preserve output whitespace before completion markers
morluto Oct 18, 2026
270bc38
fix(setup): read signed 64-bit TOML integers losslessly (#4937)
kaoru0822-kitauji Oct 18, 2026
847472a
fix(gdb): report close disposition as a capability precondition
morluto Oct 18, 2026
5bf4fff
fix(pwndbg): prevent core-triggered executable discovery
morluto Oct 18, 2026
b33c0df
fix(pwndbg): reject core mapping paths that escape sysroot
morluto Oct 18, 2026
47d3c6b
test(perf): verify authentic retained investigation queries (#4814)
N0zoM1z0 Oct 18, 2026
08fbeb8
fix(pwntools): preserve producer cancellation outcomes
morluto Oct 18, 2026
1f23e97
fix(pwntools): retain exact cleanup owners through finalization
morluto Oct 18, 2026
18aa9af
fix(setup): admit only strict JSON for Claude Code configuration (#4944)
kaoru0822-kitauji Oct 18, 2026
2c4338d
chore(main): release rea-agents 6.6.0 (#3476)
github-actions[bot] Oct 18, 2026
8cbaf6c
fix(tests): isolate command finalization module mocks
morluto Oct 18, 2026
6b18078
fix(tests): budget CLI coverage from parsed options
morluto Oct 18, 2026
bb212ff
fix(tests): inherit server identity deadline policy
morluto Oct 18, 2026
b83b9ca
fix(setup): edit the duplicate JSON member that clients read (#4957)
kaoru0822-kitauji Oct 18, 2026
8f7d12e
perf(analysis-view): reuse validated immutable parents
N0zoM1z0 Oct 18, 2026
7c458f0
perf(apktool): avoid duplicated primary strings on request
N0zoM1z0 Oct 18, 2026
27dc42d
chore(release/6.7.0): release rea-agents 6.7.0 (#4983)
github-actions[bot] Oct 18, 2026
a25eb5f
chore(release): sync 6.7.0 checkpoint
morluto Oct 18, 2026
c12d9ed
docs(jeb): qualify Linux CE native workflows (#5002)
gensokyo-dev Oct 18, 2026
63c9708
perf(hopper): reuse decoded records for literal string matches (#5017)
gensokyo-dev Oct 18, 2026
093ce69
fix(tests): preserve temporary fixture ownership
gensokyo-dev Oct 18, 2026
23f984b
fix(tests): restore Android prerequisite verification
gensokyo-dev Oct 18, 2026
b0b485a
fix(hopper): verify and repair the Linux embedding runtime (#5041)
gensokyo-dev Oct 18, 2026
fd728f2
fix(plist): ignore processing instructions between container members
morluto Oct 18, 2026
8307ea3
fix(adb): preserve command failure target identities
morluto Oct 18, 2026
9e259f8
fix(native): retain signature roots until descriptor cleanup completes
morluto Oct 18, 2026
7201e8a
fix(native): validate LLDB readback encoding before reporting facts
morluto Oct 18, 2026
36d156f
fix(native): retain UI interruption source through final cleanup
morluto Oct 18, 2026
292e7be
fix(native): bound LLDB PID reads before validation
morluto Oct 18, 2026
d4e2339
fix(errors): retain secondary failures without replacing primary causes
morluto Oct 18, 2026
eb2c3b5
fix(native): retain LLDB evidence prefixes after read failures
morluto Oct 18, 2026
cee95b2
fix(plist): preserve source semantics in XML data decoding
morluto Oct 18, 2026
3537e58
fix(plist)!: preserve unknown XML scalar identities
morluto Oct 18, 2026
1d5bf5f
fix(session): align call relationship discovery with traversal modes
morluto Oct 18, 2026
50b6975
fix(session): admit direct native dispatch metadata providers
morluto Oct 18, 2026
29910d1
fix(apktool)!: select numeric regions using Android b+ qualifiers
morluto Oct 18, 2026
32f0e51
fix(session): describe native UI trace source routes
morluto Oct 18, 2026
d1adc60
test(contracts): align plist and UI finalization regressions
morluto Oct 18, 2026
22ddd82
fix(uninstall): preflight repeated registration ownership
morluto Oct 18, 2026
6588435
fix(native): retain partial call routes and omitted sites
morluto Oct 18, 2026
291059a
feat(analysis-view): project an environment manifest from web network…
earakely-scale Oct 18, 2026
fdaffe2
docs(manifest): align plan with top-level body parsing
morluto Oct 18, 2026
a80575c
fix(native): preserve partial call reference evidence
morluto Oct 18, 2026
559af3d
fix(uninstall): retain per-file partial outcomes
morluto Oct 18, 2026
92dadf9
fix(domain): preserve partial reference comparison facts
morluto Oct 18, 2026
95c8f57
fix(investigation): scope automatic unknowns to result Evidence
morluto Oct 19, 2026
c85b44e
fix(process)!: retain partial filesystem snapshot observations
morluto Oct 19, 2026
6296fdf
fix(reference)!: preserve symlink races and root failure facts
morluto Oct 19, 2026
273bb66
fix(setup): treat empty APPDATA as unset for VS Code, Trae and Devin …
vaidehi-snk Oct 19, 2026
d3627b1
fix(mcp): preserve procedure aliases and complete name ambiguity
morluto Oct 19, 2026
d6ca7b3
fix(process): gate launch and retain cancellation provenance
morluto Oct 19, 2026
dfe8378
fix(electron): preserve callback ownership through listener removal
morluto Oct 19, 2026
974487f
fix(process): preserve cleanup ownership through retries and close
morluto Oct 19, 2026
9af0b61
fix(process): retain snapshot handles and partial read outcomes
morluto Oct 19, 2026
e4c3d72
fix(javascript): converge cyclic aliases with explicit projection wid…
morluto Oct 19, 2026
715d93e
refactor(process): share ownership for isolated analysis workers
morluto Oct 19, 2026
9aca543
fix(browser): isolate web bundle analysis with bounded partial results
morluto Oct 19, 2026
7f4e7d5
fix(browser): preserve caller cancellation through CDP observations
morluto Oct 19, 2026
87ab054
fix(runtime): retain Inspector and Electron cleanup ownership
morluto Oct 19, 2026
2e5171e
fix(browser): retain historical capture outcomes through cleanup
morluto Oct 19, 2026
e8da7e1
fix(artifacts): share bounded ASAR signature observations
morluto Oct 19, 2026
ba866a2
fix(process): preserve partial sampling observations and shutdown gaps
morluto Oct 19, 2026
ca71e91
fix(process): await owned observation commands through finalization
morluto Oct 19, 2026
3927542
fix(process): preserve cancellation through liveness rechecks
morluto Oct 19, 2026
048d707
fix(frida): preserve script evidence through cancellation and decoding
morluto Oct 19, 2026
91884c3
fix(ghidra): own operation-scoped JVM failure evidence
morluto Oct 19, 2026
4cbcead
fix(frida): share canonical discovery results across adapters
morluto Oct 19, 2026
435efe7
fix(frida): share exact JSON string byte accounting
morluto Oct 19, 2026
00dd959
fix(mcp): derive shared provider cleanup from loaded ports
morluto Oct 19, 2026
69fe86c
fix(frida): separate attachment from target resume observations
morluto Oct 19, 2026
44b6ec9
fix(frida): retain cancellation through final session cleanup
morluto Oct 19, 2026
2ec602b
fix(frida): clarify device selection and cleanup contracts
morluto Oct 19, 2026
69aa546
fix(frida): preserve resume failures across caller cancellation
morluto Oct 19, 2026
64abd4a
fix(flutter): select reported ABI labels through shared contracts
morluto Oct 19, 2026
a0edd14
fix(analysis): preserve input diagnostics and reuse JEB contracts
morluto Oct 19, 2026
b999e72
fix(ci): repair capture ownership and portable ABI validation (#5224)
gensokyo-dev Oct 19, 2026
0fc8462
fix(tests): complete independent agent evaluation cleanup
gensokyo-dev Oct 19, 2026
49e67aa
fix(process): retain native ownership evidence through cleanup
morluto Oct 19, 2026
dc936f4
test(process): distinguish native preparation from capture allocation
morluto Oct 19, 2026
3ea0d94
feat(objdump): select native disassembly by symbol (#5171)
gensokyo-dev Oct 19, 2026
49b4edf
fix(browser): validate large base64 without regexp stack overflow
morluto Oct 19, 2026
255d906
fix(native): scan byte-pattern inputs without regexp stack growth
morluto Oct 19, 2026
60bd646
feat(mcp): add opt-in streamable HTTP transport (#4955)
earakely-scale Oct 19, 2026
4af71a4
fix(process): reconcile native lifetime and selective Linux UID facts
morluto Oct 19, 2026
0949313
fix(schema): compose portable stack-safe base64 constraints
morluto Oct 19, 2026
aacf740
fix(ci): correlate ownership trace threads and preserve setup failures
morluto Oct 19, 2026
c4aaf81
fix(javascript): retain selected application paths in Evidence
morluto Oct 19, 2026
5199c67
fix(process): keep lifecycle waits independent of application timers
morluto Oct 19, 2026
0e62094
test(setup): isolate registration checks from installed providers
morluto Oct 19, 2026
2dd5eff
fix(rizin): default one-shot output to plain presentation (#5269)
gensokyo-dev Oct 19, 2026
b44cb5b
test(javascript): distinguish selected paths from artifact identity
morluto Oct 19, 2026
1b3ac94
fix(rizin): bound recent history frames by UTF-8 byte budget (#5246)
Sarthak-Pandey Oct 19, 2026
1c2c2f1
fix(process): settle native exit and repair ownership verification (#…
gensokyo-dev Oct 19, 2026
e84e17e
fix(rizin): accept proven inferior exit after detach (#5281)
gensokyo-dev Oct 19, 2026
909b9f7
fix(rizin): keep protocol failures outside exit recovery (#5290)
gensokyo-dev Oct 19, 2026
10f1994
feat(environment): serve an environment manifest as a replay environm…
earakely-scale Oct 19, 2026
71ae02c
fix(process): retain child scope and bound native exit waits (#5280)
gensokyo-dev Oct 19, 2026
b4938ae
feat(artifacts): triage desktop installation directories (#5207)
gensokyo-dev Oct 19, 2026
7a0c47b
feat(environment): export an environment manifest as an agent environ…
earakely-scale Oct 19, 2026
bf1eeee
feat(environment): build environments from browser scenario captures …
earakely-scale Oct 19, 2026
82c76e2
fix(ci): validate unindexed readiness heads with live PR metadata (#5…
gensokyo-dev Oct 19, 2026
8331365
feat(il2cpp): inventory Unity IL2CPP global-metadata images, types an…
8rulerstar Oct 19, 2026
5fa4def
feat(artifacts): inspect and extract Godot PCK with retained facts (#…
0xthearchitect Oct 20, 2026
f93a033
feat(analysis-view): project rich captures from Evidence files and te…
earakely-scale Oct 20, 2026
d72021b
fix(hopper): verify publisher before probing private display (#5346)
gensokyo-dev Oct 20, 2026
4e716b0
perf(analysis-view): reuse validated immutable captures (#5349)
gensokyo-dev Oct 20, 2026
3fca2e0
feat(environment): extract the initial state a capture's reads observ…
earakely-scale Oct 20, 2026
d148ce0
perf(environment): index observed-state write cutoffs (#5350)
gensokyo-dev Oct 20, 2026
44a729f
fix(go): search raw PE data bytes when the section VirtualSize is zero
BaaRai Oct 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
113 changes: 113 additions & 0 deletions .agents/skills/rea-analysis-optimization/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
---
name: rea-analysis-optimization
description: Optimize REA providers and shared analysis workflows for agent context, latency, CPU, and memory while preserving correctness and Evidence. Use for analysis bottlenecks and cache or query design; CI/test-suite optimization belongs to rea-ci-tests-audit.
---

# REA analysis optimization

Find a concrete source of unnecessary work, change it at its owner, and verify
equivalent completed investigations. A useful outcome can also be a measured
decision to leave an implementation alone.

Follow the checkout's [performance priorities](../../../AGENTS.md#performance),
[tool design](../../../docs/tool-design.md), and
[testing guide](../../../docs/testing.md). This skill supplies an optimization
workflow, not additional permission to execute targets, publish, or merge.
Use the current contracts, provider prerequisites, and user authorization.

Read [the Kuna case study](references/kuna-case-study.md) when selecting a
reuse strategy or interpreting a benchmark. Its pinned observations illustrate
tradeoffs; they are not current-provider guarantees or universal speedups.

## Pin the question and the correctness oracle

Describe the analyst's completed task, including the facts and relationships
needed to answer it, requested detail, source access, and meaningful unknowns.
Choose a representative real artifact and a small or empty case. Record the
baseline revision, target digest, engine identity, options, host, and entrypoint.
Use a separate checkout for changes without disturbing other work.

Establish an oracle independent of the changed implementation: source-built
fixture expectations, independently mapped file bytes, or a native producer
paired with checks of its interpretation. Comparing two wrappers around the
same faulty decoder does not establish correctness. Preserve address widths,
same-address alternatives, unresolved endpoints, coverage, and source linkage.
An empty result proves absence only within the actually examined scope.

## Locate the earliest unnecessary work

Trace one public CLI or MCP task through shared application code to its producer.
Measure relevant phases: admission and identity checks, native analysis,
decoding, lookup, projection, serialization, Evidence retention, and cleanup.
Include catalog discovery and extra calls when they affect the completed task.

Use the evidence to choose the smallest structural correction:

| Observed cost | Candidate correction | Condition to establish |
| --------------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| Repeated scans of validated facts | Reuse existing order or lookup structure | The owner establishes ordering and identity; every matching alternative survives |
| Repeated equivalent engine work | Share a validated result or in-flight producer | Inputs, freshness, lifetime, and per-caller outcomes remain explicit |
| Full reports for selected facts | Push selection or projection to the earliest capable owner | Required facts and evidence remain reachable; examined coverage is reported |
| Large temporary transport buffers | Decode incrementally or use bounded source reads | Validate the whole admitted document; retained facts and copies still consume memory |
| Many repeated homogeneous reads | Share admission, decoding, or batch work | Preserve item identity, order where required, and individual failures |

Do not introduce an index, generic cache, batch endpoint, or orchestration layer
without identifying the work it removes and its maintenance/resource cost.
Projection after materializing a full report may reduce output while leaving
analysis time and peak memory unchanged. Fix missing or incorrect facts before
benchmarking an alternative composition against a better-covered workflow.

## Keep one interpretation and a defined reuse lifetime

Let the producer boundary validate and normalize facts once. Consumers query
that representation through the shared CLI/MCP implementation; adapters should
not rebuild relationships or independently reinterpret raw reports. Keep lookup
identity separate from display formatting. Reuse contracts when their intent
matches, honoring requested detail and complete Evidence access.

For every cache or shared producer, state its key, owner, invalidation, retained
size, and lifetime. Account for result-affecting target bytes, engine contents,
analysis options, architecture/load mapping, and parser/schema versions where
they affect reuse. Validate live state before calling a cached observation
current. Cache a refusal only when it is deterministic for that validated key;
malformed, partial, transient, or cancelled attempts need explicit retry policy.

One cancelled waiter must not invalidate a successful peer. Preserve producer
failure context and each caller's cancellation reason. Retain ownership and
capacity charges until shared work and cleanup settle; preserve completed
observations when cleanup fails. Exercise invalidation, concurrent consumers,
last-waiter cancellation, close, and cleanup retry when those paths change.

Bound the process family and retained state, not just a parent heap or worker
count. Account for decoding and serialization expansion before allocation.
Choose CPU, memory, concurrency, and disk limits from the host and workload;
stop before OOM and verify owned cleanup. A guard-stopped task is incomplete.
Do not replace a transport buffer cap with an unbounded retained inventory or
hide partial results behind a success status.

## Compare completed tasks and limit the claim

Run the affected real public workflow before and after with equivalent inputs,
results, coverage, and Evidence semantics. Include small inputs so setup costs
and regressions are visible. Distinguish fresh sessions, warm runtime caches,
and OS file caches. Alternate or repeat runs when variance affects the decision.
Choose meaningful boundary regressions for cases the actual engine cannot
reliably reproduce; a fake engine does not qualify a real provider.

Report task outcome, relevant phase timings, total elapsed and CPU time, peak
process-family memory and its accounting method, resource stops, and cleanup.
Check the payload exit status as well as the profiler's. Keep failed attempts
and identify unmeasured costs; a passing retry does not explain a failure.

For token claims, count schemas/discovery, arguments, replies, retries, and
continuations needed to finish the task. Label tokenizer estimates separately
from actual model usage and record the client/catalog behavior. Smaller JSON
alone establishes neither fewer model tokens nor better investigation quality.
Do not claim a complex-software advantage without completed representative
investigations and comparable correctness/coverage.

Finish with the bottleneck, owning change, preserved semantics, executed
checks, before/after measurements, and remaining limits. Keep any integration
record current with its tested revision and distinguish merged production work
from experiment-only code. Stop when the demonstrated bottleneck is resolved
or further benefit remains speculative.
4 changes: 4 additions & 0 deletions .agents/skills/rea-analysis-optimization/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
interface:
display_name: "REA analysis optimization"
short_description: "Optimize analysis with preserved Evidence and measured costs"
default_prompt: "Use $rea-analysis-optimization to find and verify a concrete analysis bottleneck while preserving correctness and Evidence."
112 changes: 112 additions & 0 deletions .agents/skills/rea-analysis-optimization/references/kuna-case-study.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# Kuna: reuse before adding machinery

Read this reference for concrete examples of the skill's decisions. The records
below concern static Linux analysis with caller-supplied Kuna. They do not
establish parity with another provider or a general advantage for Code Mode,
atomic tools, or any particular orchestration design.

## Exact-address lookup: a measured, narrow improvement

[PR #4695](https://github.com/morluto/rea/pull/4695) reused the validated string
inventory's numeric address order. Previously, each `list_strings(address)`
filtered all cached facts. The owner now performs a binary lower-bound lookup
and returns every encoding at that address: O(log n + matches), without a
second retained lookup index.

The owning implementation is
[`KunaStringInventory.ts`](../../../../src/kuna/KunaStringInventory.ts), consumed
by [`KunaStringQueries.ts`](../../../../src/kuna/KunaStringQueries.ts). Inspect
their current versions before adapting the example. Numeric u64 addresses,
same-address encodings, duplicate rejection, source digests, caller selection,
and the existing session lifetime were part of the contract. Full listings and
literal/regex searches kept their semantics. An attempted removal of the
duplicate-detection set was dropped: no stable memory benefit was established,
and it delayed malformed-input rejection.

### Recorded workload and results

The benchmark used unmodified Kuna 1.833 and LLVM 16 on Linux x86-64, with
602,544 string facts. Baseline was `be0b2d138`; the final feature was
`5f564962da0e1b17f00a68a74a312539f0209a01`, subsequently integrated in
`c6b62754b095a134d6d67877508fa34311a2eda2`. These are historical observations,
not a benchmark of every subsequent main revision.

The same production stdio MCP task discovered the catalog, opened the binary,
made one cold selected read and 28 warm exact reads, checked retained Evidence,
and closed the session. Five selected addresses and two absent selectors were
read four times. A native filtered scan selected the strings; an independent
ELF load-header mapping checked the source bytes and terminators. Returned
facts, source linkage, target digests, and cleanup were checked.

Three alternating fresh sessions per implementation used one CPU, a 4 GiB
process-family hard limit, a 3 GiB early stop, and no swap. OS file caches were
warm. Whole-harness costs include the independent native oracle, hashing,
catalog/client work, and correctness checks.

| Median | Before | After |
| ---------------------------------------- | ---------: | ---------: |
| 28 warm exact MCP reads | 495.2 ms | 90.8 ms |
| Cold selected MCP read | 11.30 s | 11.01 s |
| Whole harness elapsed | 28.24 s | 27.43 s |
| Whole process-family CPU | 27.71 s | 26.89 s |
| Kernel family peak, including file cache | 2237.6 MiB | 2240.6 MiB |

Warm totals ranged from 491.7–544.3 ms before to 84.8–99.5 ms after: about
5.5 times faster at this phase. Cold/whole-task timing and memory overlapped;
no stable improvement in those costs was established. One small SQLite pair
(7,985 facts) measured 20 warm reads at 88.6 → 80.5 ms and the whole harness at
13.68 → 13.94 s. The large-inventory lookup benefit does not generalize to a
whole-task speedup on small inputs.

Catalog hashes, call counts, and normalized facts were unchanged. A
`cl100k_base` estimate over one pass of raw catalog JSON, arguments, and replies
was about 846,000 tokens in both lanes, with about 802,562 from the catalog.
This was transport serialization, not rendered model context or actual usage;
client discovery, prompts, replay, and protocol framing were unmeasured.
**No token reduction or improved agent investigation outcome was established.**

Pinned target SHA-256:
`f62d254b7f2bf42df8c8b07d46ee3bb4c2cafeca436b2e6bc6ccbe4581f58f40`.
Pinned engine SHA-256:
`d858918b0766435cd96b999a77f2d5a31a0cc4f07256421c883b5b9dc4dd58e4`.
All six normalized-result sequence digests were
`4d2f90269da8568984090b20274163c4a7c2a0538aab63530bd2fe44840a0bba`.
Selected byte agreement does not prove native discovery completeness; missing
strings and relationships can remain unknown.

## Other transferable changes and their limits

- [Cached string inventory and search, #4095](https://github.com/morluto/rea/pull/4095):
share validated facts across queries in a defined session. Audit key inputs
and lifetime before extending reuse across targets or engine revisions.
- [Shared single-function work, #4045](https://github.com/morluto/rea/pull/4045)
and [repeat-request reuse, #4169](https://github.com/morluto/rea/pull/4169):
avoid duplicate native work while retaining per-caller cancellation and
cleanup ownership. A query count alone cannot reveal duplicate subprocesses.
- [Streamed strings, #4318](https://github.com/morluto/rea/pull/4318)
and [streamed call graph, #4329](https://github.com/morluto/rea/pull/4329):
remove fixed aggregate transport-buffer failures through incremental parsing.
Streaming transport does not bound every retained object or final reply.
These links establish changes; no numerical speedup is asserted here.

Typed reference facts, native string-query projection, and shared native byte
reads remained experimental at the 2026-10-17 checkpoint
`65f2f9a22bc892f61d2b00f9a4611124f57d4bff` on
`experiment/atomic-codemode-20261016`. Some experiments used a patched native
engine. Check current integration and bring-your-own engine capabilities before
proposing them; a working experiment is not a stock-provider guarantee.

## Applying the reasoning elsewhere

For another provider or format, inspect its actual representation and native
capabilities before borrowing the implementation. Existing numeric ordering
may support range reads; an on-disk native query may avoid materializing an
inventory; an immutable parse may support several views. Measure the relevant
alternative rather than requiring every provider to use Kuna's cached array.

For live observations, immutable artifact caching rules are insufficient:
validate the process/session identity and freshness required by the caller.
For compact replies, preserve access to source Evidence and report examined
coverage; projection must not silently turn an unresolved edge into no edge.
For batching, test mixed successes and failures and measure the entire task,
including discovery, extra calls, native work, and serialization.
Loading
Loading