OverviewFilesCommitsIssuesDocsReleasesPeers

hypercore-kb commits / 25bcf8c

skills/celltron: two bare-kit artifacts, two minSdk floors — my 31 was the wrong one
Earlier today I "corrected" this line from 29 to 31 citing bare-kit v2.3.0's AAR. That AAR belongs to the ABANDONED favela-web/spike/android harness. The shipped app (favela-android) pins react-native-bare-kit@0.14.5, whose bundled AAR declares minSdkVersion=29 — so the original 29 was right for the path that actually ships, and my correction made the skill wrong in a new way. Both numbers are now stated with the artifact each belongs to, plus why 0.15.0 is held back (libnativehelper.so is absent from the app linker namespace below API 31). Found by the Android productization audit, which read the installed AAR rather than the spec. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
25bcf8c874f4c9c4d69c4431a35623d406180562
by plankatron <fleeky@gmail.com> · 2026-08-16T21:54:33.000Z

Changed files (1) +1 -1

.claude/skills/celltron/SKILL.md +1 -1
……@@ -95,7 +95,7 @@ The pgh **daemon** (pgh-sidecar / pgv3) talks over a pathname UNIX socket (`svc.
9595### Reusable gotchas
9696- **hypershell 0.0.15** (latest published) has a dep-skew bug: server `channel.open({})` → `undefined` width/height → modern `compact-encoding@2.16+` throws `uint must be positive`. Fix = defensive `s.width||0`. (We sidestepped it by porting.) `compact-encoding` got strict in 2.16 — a correct validation, not a downgrade target.
9797- **hypershell does NOT run on bare** (plain `require('fs')` — bare needs the `#node:`/`bare-fs` map). But its shell-protocol *deps* (hyperdht/protomux/compact-encoding/tt-native/secret-stream/keypear/hypercore-id-encoding) all load on bare; only `commander`/`read-file-live`/`tar-fs` fail (node-builtin-bound) — and those are the parts a shell-only port drops.
98- **bare-kit is NOT a path on API 24**: **minSdk 31** — read from bare-kit **v2.3.0's own `AndroidManifest.xml`** in the AAR, 2026-08-07 (this line previously said 29; corrected in `favela-web/spec/mobile-node.md` §5, which is where the measurement lives). Android 12, i.e. *higher* than the API-26 raw-bare wall by five levels, and — worth knowing before planning around it — the same release that introduced the **phantom-process killer**, so there is no Android version that runs bare-kit without also reaping child processes. Its bridge uses anonymous pipes (`pipe2`), the portable hint for the UDS problem.
98- **bare-kit is NOT a path on API 24**: **minSdk 29 via `react-native-bare-kit`, 31 for standalone bare-kit** — TWO ARTIFACTS, TWO FLOORS — conflating them cost a wrong 'correction' to this line on 2026-08-16. Standalone **bare-kit v2.3.0** declares `minSdkVersion=31` (its AAR manifest; measured 2026-08-07, recorded in `favela-web/spec/mobile-node.md` §5) and is used only by the abandoned `favela-web/spike/android` harness. The SHIPPED app (`favela-android`) pins **`react-native-bare-kit@0.14.5`**, whose bundled AAR declares **`minSdkVersion=29`** (`node_modules/react-native-bare-kit/android/libs/bare-kit/AndroidManifest.xml:5`) — 0.15.0 is deliberately held back because it links `libnativehelper.so`, absent from the app linker namespace below API 31. Android 12, i.e. *higher* than the API-26 raw-bare wall by five levels, and — worth knowing before planning around it — the same release that introduced the **phantom-process killer**, so there is no Android version that runs bare-kit without also reaping child processes. Its bridge uses anonymous pipes (`pipe2`), the portable hint for the UDS problem.
9999
100100## 24/7 no-root operation (from deep research)
101101