Xiddoc / Xiddoc/rosetta-maps

[Design] De-emphasize AIDL: rebalance docs + generalize the AIDL-specific schema fields

Open
#35 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

in-discovery
Dominant language
Python
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Status: IN-DISCOVERY (reopened 2026-06-09)

The directions below are provisional and under active design review — not locked. A software-architect design pass is in progress on the broader anchoring strategy (epic #41), which this issue is the narrow slice of. Do not build against this yet.


Provisional direction (under review)

  • Docs rebalance — candidate to do first, no schema change. Lead with generic internal-class hooking via classEntry.anchors[]; add non-AIDL worked examples (a class anchored by a stable string literal; a method anchored by signature / superclass ref); present AIDL/Binder as one special case among several, not the canonical shape. Spans docs in all three repos.
  • Schema field generalization — defer to the v3 bump (#19). Namespace the Binder-specific fields under a binder:{} sub-object (aidl_descriptor, the stub/callback role, method-level aidl_txn), drop the aidl_* entries from the classKind enum so kind is generic again, keep anchors[] as the documented default. Breaking change (example map + docs use these fields) → rides the 2 → 3 migrator.
  • Deeper strategic concern → epic #41. "We're too dependent on API-exposed surfaces (AIDL/Binder/Receivers) and can't reliably identify arbitrary deep minified classes — where most of the interesting logic actually lives" is the real problem. #41 owns the anchoring-strategy rethink; this issue is its immediate docs/field slice. The architect pass is designing #41 end-to-end.

Background

The schema bakes AIDL in as first-class (classKind: aidl_stub|aidl_callback, methodEntry.aidl_txn, classEntry.aidl_descriptor) even though the generic mechanism — classEntry.anchors[] + sources[].tool provenance — already exists. The AIDL fields are a Binder/IPC specialization; aidl_descriptor is really just one kind of anchor, while aidl_txn is genuinely Binder-specific (so it gets namespaced honestly under binder:, not renamed to a fake-generic term). We over-fixated only because the worked example app is an AIDL service.

Candidate work items (pending the design)

  • Docs rebalance — generic-anchor-first, non-AIDL worked examples (maps + frida + xposed docs)
  • Schema: binder:{} namespacing + generic kind enum (at v3, #19)
  • Feeds the #41 epic (anchor any deep minified class)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read the provisional direction, the generic classEntry.anchors[] fields, and the current AIDL-specific schema fields, then compare the maps, Frida, and Xposed documentation. Resolve scope through epic #41 and the v3 migrator in #19 before changing anything; done means an approved design and an updated generic-first documentation/schema plan.

Written by the indexing model from the issue text.

Assessment

Domain
backend-api-design, documentation
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.