mirror of
https://github.com/morluto/rea.git
synced 2026-11-05 06:45:22 +00:00
Open
opened 2026-11-03 13:39:46 +00:00 by bsakaguchi
·
0 comments
No Branch/Tag specified
main
codex/procedure-reference-stacked
release-please--branches--main--components--rea-agents
release-please--branches--main--components--rea-agents--release-notes
codex/kuna-independent-retry
codex/byte-search-overlay-coverage
codex/open-failure-target-receipt
codex/kuna-xref-evidence
codex/ghidra-ambiguous-procedure-recovery
codex/function-source-bundle
codex/trace-function-integration-prototype
codex/snapshot-source-closure
codex/recorded-evidence-array-pages
codex/evidence-recovery-redesign
codex/trace-feature-address-scope
codex/call-discovery-scope
codex/ghidra-literal-candidate-evidence
codex/decompile-directory-independent-retry
codex/retry-provenance-base
codex/value-flow-capability-experiment
codex/ghidra-containing-instruction
cursor/readme-discord-button-ef9f
dependabot/github_actions/actions/setup-node-7.1.0
dependabot/github_actions/actions/upload-artifact-7.0.2
dependabot/npm_and_yarn/npm-minor-and-patch-d8d97ce6df
codex/kuna-1989
fix/8559-native-ui-fixture-ownership
fix/8555-go-verifier-mcp-ownership
codex/provider-capability-recovery
fix/8642-rizin-target-stdin
codex/ghidra-memory-effect-scope
codex/ghidra-annotation-entry-selector
codex/ghidra-readonly-recovery
codex/ghidra-regex-verifier-recovery
codex/evidence-discovery-view-guidance
fix/8545-bulk-append-overflow
fix/8428-navigation-refusal-alternatives
codex/address-context-recovery
codex/matching-member-limitations
codex/unknown-scope-contract
codex/evidence-view-guidance
feat/8373-native-trace-views
codex/ghidra-snapshot-verifier-binding
codex/elf-export-visibility
codex/evidence-view-recovery
codex/native-reference-cli-help
codex/provider-candidate-observation-scope
codex/kuna-session-verification
codex/ghidra-switch-lifetime-guidance
codex/pseudocode-paging-discovery
codex/clarify-evidence-view-support
codex/kuna-xrefs-selector-recovery
codex/context-capacity-recovery
codex/evidence-closure-large-links
codex/same-function-evidence-identity
codex/ghidra-verifier-inspected-jdk
codex/audit-guided-workflows
codex/crash-prompt-retained-dossiers
codex/analysis-view-error-recovery
codex/kuna-verifier-target-selection
codex/ghidra-selected-project-call-coverage
codex/docs-native-analysis-scope
codex/ghidra-java-socket-boundary
codex/ghidra-retained-snapshot-verifier
codex/ghidra-search-inventory-facts
fix/8284-zero-argument-parameter-bindings
fix/8198-ui-action-handler-offset
fix/8257-elf-entry-label-identity
fix/8304-deferred-output-schema-projection
fix/8277-call-path-computed-target-uncertainty
fix/pr-8089-conflicts
fix/ci-static-duplicate-export
dependabot/npm_and_yarn/lint-staged-17.6.0
dependabot/github_actions/actions/download-artifact-8.0.2
dependabot/npm_and_yarn/write-file-atomic-8.0.0
dependabot/npm_and_yarn/canonicalize-5.1.0
dependabot/github_actions/actions/cache/restore-6.1.0
dependabot/npm_and_yarn/toon-format/toon-4.4.0
dependabot/github_actions/actions/deploy-pages-5.0.1
codex/review-fixes-pr-2403
codex/review-fixes-pr-2400
codex/process-terminal-width
codex/test-brittleness-cleanup
verify/7167-browser-connect-macos
fix/7167-browser-connect
feat/native-matching-allowance-setting
feat/browser-scenario-dry-run
test/managed-caller-parameters-20261024
codex/parser-fortythird-boundaries
fix/6926-pinvoke-platform-decorations-20261023
fix/6889-har-body-encoding-20261023
fix/6888-sqlite-schema-budget-20261023
fix/dependency-security-gates-6708
cursor/evidence-overwrite-rebase-b4ac
feat/4057-verify-native-exports
fix/windows-acl-observer-overhead-20261022
cursor/erlang-beam-restack-4476
cursor/pe-certificate-review-bf32
fix/6116-javascript-application-fs-errors
fix/6061-unmapped-runtime-script-unknown
feat/browser-scenario-summary
fix/pe-certificates
codex/verify-3407
cursor/rebase-5699
cursor/rebase-5352
cursor/rebase-5600
cursor/fix-cli-schema-omission-10a8
codex/audit-hopper-shutdown-reasons-20261021
fix/demangle-swift-omitted-record
fix/nib-boolean-value-types
cursor/cancellation-partial-observation-a5ac
fix/ib-object-limit-reasons
fix/electron-fuse-limit-advice
fix/kuna-doctor-dangling-cache
fix/fixed-budget-refusal-advice
fix/js-ipc-listener-dedup
fix/js-return-member-provenance
fix/dmg-integrity-retry-advice
fix/ida-doctor-readiness
fix/kuna-version-probe-output-drain
fix/legacy-swift-runtime-name-matching
fix/dylib-lazy-load-commands
fix/browser-scenario-startup-cancel
fix/swift-nested-punycode-classification
fix/compare-unselected-scopes
fix/objc-method-budget-coverage
fix/dmg-mounted-root-observations
audit/ci-tests-20261019-round2
release/6.7.0
fix/wabt-cleanup-retry-resolution
fix/electron-fuse-elf-pe-architecture
fix/native-plist-descriptor-ownership
fix/kuna-caller-cleanup-ownership
experiment/atomic-codemode-20261016
review/first-contributor-3776
fix/call-resolution-full-read-cycles
fix/member-mutation-selection-repeat
experiment/atomic-re-tools-20261015
perf/member-mutation-lazy-origins
perf/static-network-mutation-index
fix/hopper-startup-lifecycle
audit/3050-windows-proof-20261015
feat/windows-window-capture-2183
audit/3049-windows-proof-20261015
audit/3735-macos-fixtures-20261015
fix/batch-decompile-null-pseudocode
fix/kuna-inventory-honors-jobs
experiment/browser-codemode-tool-design-20261015
fix/hopper-clean-runtime-argv
codex/review-2049-27f1b367
review-fixes/pr-2787-routing
fix/3360-scoped-this-emitters
fix/3367-replaced-global-effects
fix/3838-compact-any-value-items
test/hopper-download-probe-20261015
codex/windows-runtime-creation-red-green-20261015
codex/windows-readonly-root-red-green-20261015
codex/windows-root-share-red-green-20261015
codex/exp-1685-win-mcp-startup
codex/bug-sweep-20261015
investigate/2190-windows-package-phases
investigate/3543-macos-cli-deadline
perf/3281-reverse-tools-feedback-quality
fix/3406-hopper-doctor-fixture
fix/3341-wrapper-require-test-context
fix/3301-owned-uninstall-fixtures
fix/3164-compiler-input-ownership
fix/pcap-cleanup-stdout-newline-20261014
perf/interface-builder-summary
codex/review-fixes-pr-1977
fix/ghidra-effective-jvm-platform
fix/docs-turkish-rust-link-20261013
fix/main-maintenance-ci-20261010
fix/recover-binary-session-process-effects
codex/review-fixes-pr-2457
codex/ci-required-cancellation-gate
fix/main-format-baseline-20261013
fix/setup-preserve-entry-fields
cursor/restore-main-checks-1ffc
fix/ghidra-bridge-hashmap-import
codex/shared-ci-jadx-json-default-20261013
codex/shared-ci-ghidra-test-groups-20261013
codex/shared-ci-java-fixture-format-20261013
codex/fix-intrinsic-invocation-boundaries
test/release-preflight-reusable-jobs
test/js-parameter-provenance-expectation
fix/linux-hopper-verification-current
test/2419-ghidra-elf-probe-size
followup/pr-1544-native-ida
codex/fold-pr-2230-contribution
docs/readme-responsible-use
fix/issue-2064
fix/issue-2050
fix/issue-2053
fix/issue-1968
fix/issue-1945
experiment/codemode-bridge-20261011
fix/tool-effects-negative-wording-1904-20261012
fix/1842-electron-interop-provenance
feat/recover-javascript-multi-input
refactor/website-i18n-prep
fix/nativeaot-pe-virtual-extent
fix/browser-verifier-ci-hang
fix/pe-resources-input-selection
docs/beginner-friendly-guides
docs/beginner-setup-guide
fix/javascript-analysis-worker-1563
fix/1649-ghidra-duplicate-names
fix/javascript-export-keys-integration-1369
test/maintenance-boundary-contracts-20261011
review/javascript-export-keys-1369
review/process-live-progress-1483
test/javascript-1495-growth-ratio
fix/ci-escape-timing
docs/normalized-terminal-geometry-1450
release/6.3.0
archive/release-6.3.0-pr1381
release/6.2.0
fix/electron-preload-dynamic-override
fix/javascript-self-referential-bundler-edges
release/6.1.0
cursor/grok-client-cherry-pick-0b56
feat/signature-posture
feat/dyld-shared-cache
feat/artifact-integrity-policy
feat/pkg-inventory
release/6.0.0
chore/sync-release-5.0.0
release/5.0.0
cursor/cloud-agent-node-787e
fix/javascript-xhr-open-endpoints
review/pr-711-realpath-fallback-wording
cleanup/replay-confinement
codex/test-suite-performance
codex/issue-foundations
codex/address-open-issues-2026-07-20
agent/javascript-vite-rollup-esbuild-adapters
agent/process-cleanup
agent/triage-integration
agent/unknown-commands-registry
feat/mcp-identity-metadata
morlvps/issue_cleanup
codex/installer-redesign
morl/roadmap-investigation-core
morl/roadmap-investigation-docs
release-please--branches--main--components--rea
rea-agents-6.8.0
rea-agents-6.7.0
rea-agents-6.6.0
experiment/atomic-codemode-wait-runtime-20261016
rea-agents-6.5.0
rea-agents-6.4.0
rea-agents-6.3.0
rea-agents-6.2.0
rea-agents-6.1.0
rea-agents-6.0.0
rea-agents-5.0.0
rea-agents-4.1.0
rea-agents-4.0.1
rea-agents-4.0.0
rea-agents-3.2.1
rea-agents-3.2.0
rea-agents-3.1.0
rea-agents-3.0.0
rea-agents-2.7.0
rea-agents-2.6.0
rea-agents-2.5.1
rea-agents-2.5.0
rea-agents-2.4.0
rea-agents-2.3.0
rea-agents-2.2.0
rea-agents-2.1.0
rea-agents-2.0.0
rea-agents-1.7.0
rea-agents-1.6.0
rea-agents-1.5.0
rea-agents-1.4.0
rea-agents-1.3.0
rea-agents-1.2.0
rea-agents-1.1.0
rea-agents-1.0.0
rea-agents-0.5.0
rea-agents-0.4.0
rea-agents-0.3.0
rea-0.2.1
rea-0.2.0
Labels
Clear labels
area: bridge
area: bridge
area: build
area: build
area: build
area: cli
area: domain
area: evidence
area: mcp
area: native
area: providers
area: runtime
area: server
area: setup
area: tests
bug
design
documentation
enhancement
enhancement
enhancement
experiment
help wanted
i18n
invalid
P0: critical
P1: high
P2: medium
P2: medium
P2: medium
P3: low
performance
provider-request
pull-request
Mirrored from GitHub Pull Request
question
roadmap
triage
No labels
area: bridge
area: bridge
area: build
area: build
area: build
area: cli
area: domain
area: evidence
area: mcp
area: native
area: providers
area: runtime
area: server
area: setup
area: tests
bug
design
documentation
enhancement
enhancement
enhancement
experiment
help wanted
i18n
invalid
P0: critical
P1: high
P2: medium
P2: medium
P2: medium
P3: low
performance
provider-request
pull-request
question
roadmap
triage
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
morluto/rea#7705
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/morluto/rea/pull/7186
Author: @8rulerstar
Created: 10/26/2026
Status: 🔄 Open
Base:
main← Head:feat/unity-addressables-catalog📝 Commits (10+)
c7519d2feat(unity): decode Addressables catalogs into keys, locations and bundle facts3cfce05feat(unity): expose inspect_unity_addressables through MCP, CLI and views120f24edocs(unity): document Addressables catalog inspection3d7f172chore(unity): merge latest main into feat/unity-addressables-catalogd4e4af1docs(unity): list Addressables in the Romanian and Urdu READMEs97e1b3btest(unity): compare the retained catalog with Buffer.equalsd335bbdrefactor(unity): validate absolute catalog paths in the shared input schema48fdea2fix(unity): let the service report MCP input errors by field61ab664fix(unity): keep an unreadable binary type name unknown34695a2fix(unity): count dependency-only binary locations before admitting rows📊 Changes
71 files changed (+5187 additions, -46 deletions)
View changed files
📝
.agents/skills/reverse-engineer-anything/SKILL.md(+7 -0)📝
.agents/skills/reverse-engineer-anything/references/native-and-artifacts.md(+11 -0)📝
README.md(+1 -0)📝
docs/.vitepress/config.ts(+1 -0)📝
docs/cli.md(+11 -0)📝
docs/readme/README_ar.md(+1 -0)📝
docs/readme/README_de.md(+1 -0)📝
docs/readme/README_el.md(+1 -0)📝
docs/readme/README_es.md(+1 -0)📝
docs/readme/README_fa.md(+1 -0)📝
docs/readme/README_fr.md(+1 -0)📝
docs/readme/README_id.md(+1 -0)📝
docs/readme/README_it.md(+1 -0)📝
docs/readme/README_ja.md(+1 -0)📝
docs/readme/README_ko.md(+1 -0)📝
docs/readme/README_ml.md(+1 -0)📝
docs/readme/README_pl.md(+1 -0)📝
docs/readme/README_pt-BR.md(+1 -0)📝
docs/readme/README_ro.md(+1 -0)📝
docs/readme/README_ru.md(+1 -0)...and 51 more files
📄 Description
Thank you for the IL2CPP and artifact readers this builds on; it follows the same reader, Evidence and view shape.
Summary
Unity games that use Addressables ship a content catalog (
catalog.json, orcatalog.binfrom Addressables 2.x on). It maps every load key to a bundle or asset location, with its provider, its dependencies and the bundle's recorded hash and CRC. rea has no reader for it. This addsinspect_unity_addressables(CLIinspect-unity-addressables), a static, read-only inventory of one local catalog, with retained Evidence pages throughinspect_analysis_viewkindunity-addressables. Related: #3607 (Unity umbrella); it does not close it.Problem and expected behavior
Use case: an agent looking at a Unity build wants to know which bundle holds
Prefabs/Crate, which bundles it depends on, where those bundles are expected ({UnityEngine.AddressableAssets.Addressables.RuntimePath}/...or a remote URL) and their recorded hash and CRC, without Unity. Expected: keys with their encoding and selected locations; locations with primary key, internal id, provider id, resource type, dependencies as location indices and bundle options; provider records; locator id and build result hash. Optionalhash_pathrecords acatalog.hashfile's text.Change and scope
src/unity/UnityAddressablesJsonCatalog.ts: JsonUtility catalogs (base64 key, bucket, entry and extra data; prefix-compressed internal ids expanded).src/unity/UnityAddressablesBinaryCatalog.ts: BinaryStorageBuffer catalogs with header version 2 (Addressables 2.x) and 3 (4.x, checked with 4.1.1). Locations are numbered in first-reference order (key sets, then dependency sets), the key table is admitted before any location set is decoded, and every dependency set is followed before the final row counts are admitted. Version 1, behind the optionalENABLE_BINARY_CATALOGdefine in 1.21/1.22, is refused as unsupported because no built sample was checked.unsupported(unrecognized format, unsupported version),malformed(JSON, base64, record bounds, indices, object tags, strings, string-chain cycles and overlapping chain nodes) andcapacity(the input and report allowances, named on the refusal).absoluteLocalPathStringSchema, and the MCP tool is registered withapplicationToolRegistrationOptionslike IL2CPP, so the service builds field-level input errors.src/domain/analysisView/indexedRowPage.ts: the IL2CPP metadata view and the new view share one indexed row pager instead of two copies.Not included: opening or downloading bundles, resolving runtime placeholders, recomputing
catalog.hashor bundle CRCs, writing or patching catalogs, decoding location data other than asset bundle request options (its type name is reported), or a reverse index from a bundle to the keys and locations that depend on it (callers pagelocationsand invertdependencies).Follow the contribution scope. Scope decision: pending. This is a new tool that reads one caller-selected local file (plus an optional hash file).
Contract and boundary impact
src/unity/; facts and validation insrc/domain/unity/unityAddressables.ts; delivery inUnityAddressablesService. The IL2CPP view now uses the sharedindexedRowPage.ts; its own pager copy was removed.inspect_unity_addressables(path,detail, optionalhash_path), new CLI command with--hash, new view kindunity-addressables(collectionskeys,locations,providers).derived(dependencies resolved through the dependency key, as the runtime locator does); binary Evidence isobserved. Failures keep a source observation with artifact identity and declared row counts; once the decoded catalog fits the report budget, later failures keep it as catalog Evidence with any completedcatalog.hashfacts.docs/public/product-catalog.json), package, or installation impact: none committed;npm run docs:checkpasses.Expected effects (check known effects; use documentation-only on its own).
Unchecked items do not establish absence; leave uncertainties visible.
Evidence and regression coverage
Tests added or updated: decoder boundaries (every JSON key encoding, binary v2/v3 equal to the JSON facts, shared location sets, dependency-only locations, refusals per reason), provider (identity, hash file, typed failures with source Evidence, report budget, later failures that keep the decoded catalog and a completed hash file, one active inspection, cancellation), view (summary counts, intersecting filters, sealed reuse, validator cross-checks), service, a failed or cancelled hash file close in the shared stable-read tests, one CLI/MCP acceptance test, one MCP boundary test for field-level input errors, and the shared relative-path schema test. All fixtures are authored bytes that follow the Addressables package sources.
Base reproduction or other evidence: contributor-reported verification against catalogs built in batch mode from a small authored project. For each catalog, rea's keys, locations, dependencies and bundle hash/CRC/name/size were compared with what the package's own catalog loader returned in the same editor:
catalog.json(local)43f72223catalog_sample.json(remote copy, with.hash)43f72223catalog.binheader v2 (with.hash)97318198catalog.binheader v3 (with.hash)3f4a2821The remote
catalog_sample.jsonis a byte-identical copy of the local catalog in this build, so it adds the.hashpath, not a second catalog. The comparison script reports a difference for each of four edits to the loader output (one CRC digit, one dependency removed, one key renamed, one JSON dependency hash changed).User-visible CLI/MCP output (if applicable):
rea inspect-unity-addressables catalog.bin --hash catalog.hash --format jsonon the v3 catalog, abridged to the catalog fields, one key and two locations (shown one per line; the output is one JSON document):bundle_nameis the AssetBundle's internal name, which can differ from the file name;hashmatches the file name suffix. In binary catalogsdependency_hashis the stored value; the runtime computes its own.Remaining proof gaps: binary version 1; Addressables releases other than the three checked; large production catalogs (not measured);
catalog.hashis reported, not verified (it did not match an MD5 of the catalog, and I did not reproduce the package's hash).For evidence-bearing changes:
Validation performed
Head
d96f2eb4c(main merged at317bf3fe2), Windows 11, Node 24.19.0, below theenginesfloor 24.22.1 (dependencies installed with--engine-strict=false):npm run check:fast(typecheck and lint, 0 errors) andoxfmt --checkon the changed files: passed.vitest runon five Unity Addressables test files andtests/process-global/stableArtifactConsumers.test.ts: 241 passed. The four new tests fail on the previous head.tests/acceptance/unityAddressablesCli.test.tsneeds a build, and the build needs the Windows native controls, which this checkout does not have. CI covers it.Earlier, head
1594b9c24, merged with main1173c0a9d:npm run typecheck,npm run lint(0 errors),npm run format:check,npm run metadata:check,npm run docs:check: passed.vitest runon the 7 files in this diff): 79 passed.jscpd: 3.63%, the same as main (threshold 4%).d96f2eb4c, which changes failure handling and report assembly, not decoding.vitest runlocally: stopped before completion. My Node 26.5.0 is below the newenginesfloor (26.12.1), and the failures seen before stopping were outside Unity (SQLite, AppleScript, Node SEA, plist). I am relying on CI for the full suite.Compatibility, safety, and release
Author readiness
Human owner: @8rulerstar
Before merge
type(scope): outcome.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.