Skip to content

Finish ChordReader search handoff: IB SEARCH receiver → Google/ICU → retained results on C67 #164

Open

Description

@isomorphisms

User correction / physical observation — 2026-10-24

The signed ChordReader dev APK built at dilapidated-shed/tablature head 7c3bab5fdca9ec633a47e66b8759faf456c07d8c installed and launched on the physical MIRO C67 by user report. Its Search web button opened the device's external browser (DDG), which is wrong.

User-required route: ChordReader search → IB → ICU GET https://google.com/search?q=..., with spaces represented by + (IFS=+ intention), all other non-unreserved UTF-8 bytes encoded properly. The IB native reader must present the results and retain the browser-owned navigation/source history, not hand the URL to a browser app.

Already on source branches

Required implementation

  1. Reconcile the installed/current IB package identity with the existing checked direct-DEX native reader (preserve signer and versionCode). Explicitly declare a narrowly scoped Android SEARCH receiver, authorize caller and validate query without mixing raw query with shell commands.
  2. Bind IB's checked IB.WebSearch.google_icu_url to a browser-owned search occurrence/epoch, preserving source/caller metadata and URL encoding exactly once.
  3. Use the existing Shizuku-authorized ICU → immutable Arena → admitted native Binder PFD → Idriç extraction/Prepaint → reader path. Do not add Java, a new browser, WebView transport, app-side HTTP, a competing store or generic external-browser fallback.
  4. Surface correct errors if IB absent, ICU/auth/TLS fails, Google's response is a consent/bot check, or existing charset/admission constraints refuse the page. Preserve last-good sources; never mistake “opened Activity” for results fetched.
  5. Build/sign a paired A1 and C67 candidate under current AICI policy. Test replacement install without uninstall, a real C67 search including UTF-8/reserved characters and whitespace, actual ICU request+receipt and opened clicked result, persistence/recovery and no external DDG/Startpage/browser dispatch. Independently record build, package, emulator, physical, HTTP admission and UI state. A1 remains physically unverified until exercised.

Acceptance is NOT_RUN/INCOMPLETE: no qualified current-head IB search app/APK or physical ICU navigation exists. The prior ChordReader C67 report verifies only install and visible launch of the old package. Do not present existing URL tests as a functional search app.

Activity

  1. isomorphisms commented on Oct 25, 2026

    @isomorphisms
    OwnerAuthor

    SUN IB-CHORDSEARCH-01 — current-head intake; BLOCKED before implementation dispatch.

    Verified source heads:

    Owner and source Exact head
    isomorphisms/ib PR #163, “Define checked Google search URLs for IB → ICU acquisition” d143cfd
    isomorphisms/ib PR #147, “Remove Java application paths and add a checked direct-DEX reader” 59716da
    isomorphisms/ib PR #152, “Stage C67 ICU responses through Binder/Shizuku into canonical Arena” d6c7428
    isomorphisms/ib PR #153, “Verify private Binder/PFD source delivery before Android reader publication” d9f1895
    isomorphisms/ib PR #154, “[DRAFT] Convert admitted recovered HTML into typed Prepaint Version 1” ff84236
    isomorphisms/ib PR #155, “Stream authorized Shizuku ICU responses into app-private canonical Arena via Binder PFD” 801dba2
    dilapidated-shed/tablature PR #7, “Replace ChordReader with a checked Idriç core and Android contingency” 88e5f4378ce7c5c8846dd29f0d043fb47f30ffb7
    isomorphisms/android-NDK PR #30, “Canonicalize DEX/JNI and execute checked recursive calls” 973c24bc0b4eab6f3c88699102f7cb0e7fd8951f

    ChordReader's current-head signed-candidate workflow already completed successfully: https://github.com/dilapidated-shed/tablature/actions/runs/40126424123 . Its PR body's “pending” wording is stale. The completed build was not repeated. The current search-URL head also has successful returned foundation, exact-text and universal-gate runs; these do not accept Android search.

    Execution boundary:

    • FP main inspected at d70159ff1dddefb163eb32fdd1c51335b9128fdc. Its local command-stage runner is present; there is no checked-in IB-CHORDSEARCH pipeline or deployed model-job dispatcher available to this session.
    • The newer registered-execution candidate at 442a33bfd36a23df3d757d17a31b8084cab21a38 restricts requests to kitchen-transfer-script: https://github.com/isomorphisms/flexible-pipes/blob/442a33bfd36a23df3d757d17a31b8084cab21a38/scripts/registered-execution.pi#L117 . Its required deployment configuration, installed controller and installed Ithon paths are absent on this host. This is an environment/registration finding, not a failed IB job or proof that no remote deployment exists.
    • The existing IB source-acceptance branch and reader-build handoff were inspected. They qualify host source slices or stop at AWAITING_HANDOFF_DELIVERY; they do not dispatch this implementation. No local wrapper or fixture is being relabeled as the requested registered job execution.

    Specific application/compiler dependencies found:

    1. The exact current canonical DEX callback parser accepts explicit Activity onCreate(Bundle) only. onNewIntent(Intent) is rejected, so warm-Activity search delivery needs a checked lifecycle bridge: https://github.com/isomorphisms/android-NDK/blob/973c24bc0b4eab6f3c88699102f7cb0e7fd8951f/dex/idric/src/Backend/DEX/Callback.idr#L48 .
    2. The actual IB NativeReader handles text shares and paste; it has no SEARCH receiver or worker/Binder acquisition lifecycle. The existing provider/receiver native code is not yet an instantiated app-owned private Binder capability.
    3. Installed C67 IB package, version and certificate are UNKNOWN in this session: no physical-device channel is exposed. The manifest was not changed before the required installed-identity check.
    4. The pure retained-source DEX export's recorded list-construction refusal must not be conflated with the newer separately emitted managed command diagnostic; neither demonstrates an Activity-to-ICU-to-results path.

    No implementation dispatch, source modification, merge, APK rebuild/publication, installation or uninstall occurred. Real Google through ICU, Android Binder execution, selectable results, restart behavior and physical C67 remain NOT_RUN; A1 physical acceptance remains NOT_VERIFIED. No end-to-end PASS is claimed. Existing source branches, packages, signers and the prior working ChordReader artifact remain preserved.

    First execution prerequisite: an available FP operation/controller capable of admitting this IB implementation job and closing its receipts through independent ai-ci. After that, the explicit warm-intent bridge, app Binder lifecycle and installed-identity observation remain concrete integration work.

  2. isomorphisms commented on Oct 25, 2026

    @isomorphisms
    OwnerAuthor

    SUN IB-CHORDSEARCH-01 — one-off execution continued; FP requirement explicitly waived by the user.

    This supersedes the earlier dispatch-only blockage. Actual source repairs and host qualification were completed without FP. Overall search remains INCOMPLETE; no merge or APK/device success is claimed.

    Published work:

    Owner Current head Implemented behavior / evidence
    isomorphisms/android-NDK PR #30, “Canonicalize DEX/JNI and execute checked recursive calls” f0315c3110f0daa636b4e2b8223cf0b3bc3c459a Checked onNewIntent(Intent) override; parent before handler; exact Activity+Intent forwarding; omission/signature refusal. 16 Activity + 10 callback + 8 new-Intent host assertions passed. Actual source emits deterministic DEX, SHA-256 e460dc76517a904e4ff2c6b5fee80c56f6346a52c52a450b38cde82741ca6444. Independent decoding and compiled wrong-source rejection pass locally.
    isomorphisms/ai-ci PR #326, “Observe checked DEX calls and reject wrong runtime results” 1f2a88cb118e5fdcc9800a56c448da51759773a2 Independent decoder checks complete bridge/retention bodies in actual DEX. Positive/recovery pass; separately compiled source retaining the old Intent fails at the intended diagnostic. Host evidence only.
    isomorphisms/ib PR #155, “Stream authorized Shizuku ICU responses into app-private canonical Arena via Binder PFD” b2f4cbc Strict eight-/ten-field ICU capture compatibility, paired extension/range/decoder/duplicate refusal, observed unsupported charset retained, existing HTTP/1.1 worker mode selected. Actual captured Google bytes replay through native ingress → canonical Arena → byte-identical reopen, while navigation remains refused.
    isomorphisms/ib PR #163, “Define checked Google search URLs for IB → ICU acquisition” dcbd86c Exact real Google response/metadata retained, plus genuine typechecked receiver-to-provider attempt and its direct-DEX refusal.

    Actual ICU observation:

    • Unchanged ICU b1c19dc281e5e7d3d326c9275093fb379bafd4bd and Idric-Net b21801b72acb8ab835c297bbe298af8599550134 were built with the maintained frontend 740bbf2b1d9e811fd00c719c3473eede17ceea3b and ICK native transport.
    • Exact request: https://google.com/search?q=Bj%C3%B6rk+%26+C%23+chords .
    • HTTP/1.0: 426, “Upgrade Required”, ICU exit 10.
    • Existing HTTP/1.1 mode: 200, one redirect to www.google.com, 93,166 bytes, content_type text/html; charset=ISO-8859-1, identity content encoding, chunked transfer decoded by ICU.
    • Body SHA-256: f71e991ab87271e77255fe2d2454cb4cb401fe47cdf953ea550c6e0fcd8afeb4.
    • Metadata SHA-256: 5ec84abb836e460f2ac4ec3c99acb13fbbdbb12a47dbd4a47b16bb2f56977666.
    • Source snapshot: https://github.com/isomorphisms/ib/tree/dcbd86c0f7a69c4e0b381c0ab53f7c41f9966900/examples/autogenerated/chordsearch/observations .
    • Private-ingress native code commits and reopens those exact bytes in canonical Arena with navigation_admitted=NO. The prior admitted source remains readable. Independent ai-ci accepts that prior source and rejects the actual Google receipt at “charset not observed UTF-8”. No charset decoder or redirect-chain evidence was fabricated.
    • The host uses real ICU HTTPS, followed by a replay through host pipes and explicitly supplied UID. It is not physical Shizuku, an Android Binder transaction or an app-owned capability lifecycle.

    Checks:

    • Current private-ingress exact-head workflow passed, including canonical publication/refusal execution and ARM32/ARM64 cross-builds: https://github.com/isomorphisms/ib/actions/runs/40161802163 .
    • Current inherited ICU/Arena regression also passed after its host substitutes were corrected to require the newly selected HTTP/1.1 argument: https://github.com/isomorphisms/ib/actions/runs/40161802319 . This inherited workflow uses a synthetic merge checkout; it is integration evidence, not relabeled exact-head evidence.
    • Current search-head foundation/exact-text/universal-gate workflows passed. These do not execute the Android receiver.
    • Broader DEX exact-head push run is still in progress: https://github.com/isomorphisms/android-NDK/actions/runs/40161787749 . The PR still has unresolved base conflicts. Branch-head execution does not resolve or approve that stack.
    • The local cached ICK frontend refused the unchanged canonical library’s Unicode division token. Its exact previously qualified ICK-built canonical object/tool were independently rehashed and reused; the changed native adapter was separately compiled with ICK. No source rewriting or generic-compiler fallback occurred.

    First remaining implementation blocker:
    The actual SearchIntentRequest.idric reads the raw Intent query and calls unchanged IB.WebSearch.google_icu_url. It typechecks, then direct DEX exits 1 with:
    No checked helper body for DEX call Prelude.Types.fastUnpack
    No receiver DEX is emitted. The separate managed command runtime is not an Activity/framework bridge. Fixing onNewIntent removes one compiler restriction but does not fix this runtime boundary.

    Additional unresolved acceptance:

    • Explicit charset decoding/admission and observed redirect provenance for this actual Google response.
    • App-owned private Binder handle lifecycle and worker/result connection.
    • SEARCH manifest/authorization, cold/warm delivery, usable selectable results, Back/return/import and durable restart behavior.
    • Actual installed C67 IB package/version/certificate observation before manifest/signing decisions.
    • Qualified individual A1/C67 APKs and physical C67 end-to-end acceptance. A1 physical remains NOT_VERIFIED.

    No app manifest, package identity, signer, version or ChordReader library/setlist/settings was changed. The already-qualified ChordReader head was not rebuilt. No application was uninstalled and no unavailable-search APK was offered.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions