Skip to content

fix(rhodibot): automated RSR compliance fixes#3

Closed
hyperpolymath wants to merge 1 commit into
mainfrom
rhodibot/rsr-compliance-20260323
Closed

fix(rhodibot): automated RSR compliance fixes#3
hyperpolymath wants to merge 1 commit into
mainfrom
rhodibot/rsr-compliance-20260323

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

  • Deleted duplicate (keeping .md for GitHub)

Summary

Changes

RSR Quality Checklist

Required

  • Tests pass (just test or equivalent)
  • Code is formatted (just fmt or equivalent)
  • Linter is clean (no new warnings or errors)
  • No banned language patterns (no TypeScript, no npm/bun, no Go/Python)
  • No unsafe blocks without // SAFETY: comments
  • No banned functions (believe_me, unsafeCoerce, Obj.magic, Admitted, sorry)
  • SPDX license headers present on all new/modified source files
  • No secrets, credentials, or .env files included

As Applicable

  • .machine_readable/STATE.a2ml updated (if project state changed)
  • .machine_readable/ECOSYSTEM.a2ml updated (if integrations changed)
  • .machine_readable/META.a2ml updated (if architectural decisions changed)
  • Documentation updated for user-facing changes
  • TOPOLOGY.md updated (if architecture changed)
  • CHANGELOG or release notes updated
  • New dependencies reviewed for license compatibility (PMPL-1.0-or-later / MPL-2.0)
  • ABI/FFI changes validated (src/interface/abi/ and src/interface/ffi/ consistent)

Testing

Screenshots

- Deleted duplicate  (keeping .md for GitHub)

Co-Authored-By: rhodibot <rhodibot@hyperpolymath.dev>
@hyperpolymath hyperpolymath deleted the rhodibot/rsr-compliance-20260323 branch March 26, 2026 16:34
hyperpolymath pushed a commit that referenced this pull request Jun 2, 2026
…asses (#71)

Owner-signed-off pivot (issue #71, decision "Replace, same branch"): evolve the
Android component support from the directive/generated-shim model into a
SUBCLASS base-class model. gossamer ships four abstract Java base classes a
downstream app extends with ~5-20 lines; gossamer owns all JNI.

Added:
- android/gossamer-android-services/src/main/java/io/gossamer/ — GossamerActivity
  (+onIntentReceived hook), GossamerBridge, and services/{GossamerForegroundService
  (Service+SensorEventListener), GossamerBootReceiver, GossamerAppWidgetProvider}.
   lifecycle methods; tiny fixed override surface; javac-clean vs Android
  API stubs. Synthetic no-op subclasses under tests/services/.
- src/interface/ffi/src/services_android.zig — independent opaque ServiceHandle +
  the Java_io_gossamer_services_* JNI exports; apps plug their pure Rust/Zig core
  in via the gossamer_android_register_* callback registry (never touch JNI).
  Host-runnable tests for the registry/handle/JSON logic.
- jni.zig extended with float-array access (Get/ReleaseFloatArrayElements) for the
  sensor path; webview_android.zig force-imports services_android + regained a
  local extractJsonField.
- AndroidComponents.idr: foreign decls swapped from the bind ABI to the
  register-callbacks ABI (the lifecycle/linearity PROOFS are unchanged).

Removed (superseded): the directive layer (android_components/service/receiver/
widget.zig), the generated shim tree (android/gossamer-generated/), and the
codegen tooling (tools/android-codegen/).

Java native <-> Zig export symbol parity verified (11/11). Docs rewritten to the
subclass model (docs/architecture/android-components.adoc + module README).
Unblocks neurophone#97 sub-PRs #3-#9.

https://claude.ai/code/session_01GsJX13UjwiBk9hkddqvYMh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant