With the mixnet proxy shim moved into this repository, both ends of the
Android bundle handoff live in one repo: the ported bundle-android-shim
(workbench) builds the shim for every shipped ABI and stages a
jniLibs/ + kotlin/ bundle tree, and consume-android-shim ingests
that tree into the app.
The staging indirection existed because the artifacts crossed a
repository boundary (zingolib produced, zingo-mobile consumed). That
boundary is gone. The two tools can collapse into one task: build the
shim, copy the .so set into android/app/src/main/jniLibs/, and
regenerate the Kotlin bindings, with no intermediate bundle tree.
The port was kept faithful so the regeneration design and the consume
tool's tests survived the move unchanged (2026-08-10 design session,
ADR 0005 follow-up). This issue tracks the collapse.
With the mixnet proxy shim moved into this repository, both ends of the
Android bundle handoff live in one repo: the ported
bundle-android-shim(workbench) builds the shim for every shipped ABI and stages a
jniLibs/+kotlin/bundle tree, andconsume-android-shimingeststhat tree into the app.
The staging indirection existed because the artifacts crossed a
repository boundary (zingolib produced, zingo-mobile consumed). That
boundary is gone. The two tools can collapse into one task: build the
shim, copy the
.soset intoandroid/app/src/main/jniLibs/, andregenerate the Kotlin bindings, with no intermediate bundle tree.
The port was kept faithful so the regeneration design and the consume
tool's tests survived the move unchanged (2026-08-10 design session,
ADR 0005 follow-up). This issue tracks the collapse.