{"id":35122757,"url":"https://github.com/anywave/rpp-spec","last_synced_at":"2026-01-13T22:56:37.775Z","repository":{"id":330864864,"uuid":"1123781333","full_name":"anywave/rpp-spec","owner":"anywave","description":"RPP (Rotational Packet Protocol) - Open semantic addressing architecture for consent-aware systems. 28-bit addresses encode meaning, not just location. Apache 2.0 + CC BY 4.0.","archived":false,"fork":false,"pushed_at":"2026-01-04T11:12:58.000Z","size":1093,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-01-07T14:49:13.817Z","etag":null,"topics":["28-bit-addressing","ai-infrastructure","bridge-architecture","consent-framework","consent-management","defensive-publication","memory-architecture","open-source","prior-art","protocol-design","protocol-specification","semantic-addressing"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anywave.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":".zenodo.json","notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-27T15:57:10.000Z","updated_at":"2026-01-04T11:13:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/anywave/rpp-spec","commit_stats":null,"previous_names":["anywave/rpp-spec"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/anywave/rpp-spec","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anywave%2Frpp-spec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anywave%2Frpp-spec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anywave%2Frpp-spec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anywave%2Frpp-spec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anywave","download_url":"https://codeload.github.com/anywave/rpp-spec/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anywave%2Frpp-spec/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28400419,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T14:36:09.778Z","status":"ssl_error","status_checked_at":"2026-01-13T14:35:19.697Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["28-bit-addressing","ai-infrastructure","bridge-architecture","consent-framework","consent-management","defensive-publication","memory-architecture","open-source","prior-art","protocol-design","protocol-specification","semantic-addressing"],"created_at":"2025-12-28T00:53:20.189Z","updated_at":"2026-01-13T22:56:37.768Z","avatar_url":"https://github.com/anywave.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rotational Packet Protocol (RPP)\n\n**A Semantic Addressing Architecture for Consent-Aware Memory Systems**\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/anywave/rpp-spec/blob/master/LICENSE)\n[![Spec Version](https://img.shields.io/badge/Spec-v2.0-green.svg)](https://github.com/anywave/rpp-spec/blob/master/spec/RPP-CANONICAL-v2.md)\n[![CI](https://github.com/anywave/rpp-spec/actions/workflows/ci.yml/badge.svg)](https://github.com/anywave/rpp-spec/actions/workflows/ci.yml)\n[![Python](https://img.shields.io/pypi/pyversions/rpp-protocol.svg)](https://pypi.org/project/rpp-protocol/)\n[![PyPI](https://img.shields.io/pypi/v/rpp-protocol.svg)](https://pypi.org/project/rpp-protocol/)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18078640.svg)](https://doi.org/10.5281/zenodo.18078640)\n\n\u003e **Ra-Canonical v2.0:** RPP now uses a 32-bit Ra-derived address format. See [spec/RPP-CANONICAL-v2.md](spec/RPP-CANONICAL-v2.md) for the authoritative specification. Legacy 28-bit format documented in [spec/SPEC.md](spec/SPEC.md).\n\n\u003e **Disambiguation:** This specification is unrelated to AMD ROCm Performance Primitives (rocPRIM), REAPER project files (.rpp), or any other technology sharing the \"RPP\" abbreviation.\n\n---\n\n## What Problem Does RPP Solve?\n\nRPP provides semantic addressing for consent-aware systems. Instead of opaque memory locations, RPP addresses encode meaning: what kind of data, how accessible, and where to route it. The resolver returns simple decisions: **allow**, **deny**, or **route**.\n\n---\n\n## What RPP Is NOT\n\nRPP is **NOT**:\n- A storage system (it routes TO storage)\n- A database (use your existing database)\n- An identity provider (use your existing auth)\n- A policy DSL (policies are external)\n- An AI system (deterministic bit operations only)\n\nRPP **IS**:\n- A deterministic 32-bit Ra-Canonical semantic address (v2.0)\n- A resolver returning allow/deny/route decisions\n- A bridge to existing storage backends\n\n---\n\n## Installation (Windows-First)\n\n### Option 1: pip install (recommended)\n\n```bash\npip install rpp-protocol\n```\n\n### Option 2: From source\n\n```bash\ngit clone https://github.com/anywave/rpp-spec.git\ncd rpp-spec\npip install -e .\n```\n\n**Works on:**\n- Windows 10+ (PowerShell, CMD)\n- Linux (all distributions)\n- macOS\n\n**No WSL, Docker, or Bash required on Windows.**\n\n---\n\n## Quick Start\n\n### Encode an address\n\n```bash\nrpp encode --shell 0 --theta 12 --phi 40 --harmonic 1\n```\n\nOutput:\n```\n[ENCODE] [OK]\n\n0x0182801 | Hot | Gene | Grounded\n\n  shell: 0 (Hot)\n  theta: 12 (Gene)\n  phi: 40 (Grounded)\n  harmonic: 1\n```\n\n### Decode an address\n\n```bash\nrpp decode --address 0x0182801\n```\n\nOutput:\n```\n[DECODE] [OK]\n\n0x0182801 | Hot | Gene | Grounded\n\n  shell: 0 (Hot)\n  theta: 12 (Gene)\n  phi: 40 (Grounded)\n  harmonic: 1\n```\n\n### Resolve (get routing decision)\n\n```bash\nrpp resolve --address 0x0182801\n```\n\nOutput:\n```\n[RESOLVE] [OK]\n\n  allowed: true\n    route: memory://gene/grounded/12_40_1\n    reason: read permitted via memory\n```\n\n### JSON output (for scripting)\n\n```bash\nrpp encode --shell 1 --theta 100 --phi 200 --harmonic 50 --json\n```\n\nOutput:\n```json\n{\"shell\":1,\"theta\":100,\"phi\":200,\"harmonic\":50,\"address\":\"0x4C99032\"}\n```\n\n---\n\n## Terminal / SSH / PuTTY Usage\n\nRPP is designed to work in **any terminal environment**, including:\n- SSH sessions\n- PuTTY on Windows\n- Serial terminals\n- Air-gapped systems\n\n**No ANSI codes. No color. No cursor control. Plain ASCII only.**\n\n### CLI Flags\n\n| Flag | Description |\n|------|-------------|\n| `--json` | Machine-readable JSON output |\n| `--visual` | Detailed ASCII diagrams |\n| `--fancy` | ANSI colors (opt-in, for modern terminals) |\n| `--lang` | Output language (en, ar-gulf, ar-hejaz, es, ru) |\n\n### Multi-Language Support\n\nRPP CLI supports 5 languages:\n\n| Code | Language | Region |\n|------|----------|--------|\n| `en` | English | Default |\n| `ar-gulf` | Gulf Arabic | UAE, Qatar, Kuwait, Bahrain |\n| `ar-hejaz` | Hejazi Arabic | Western Saudi Arabia |\n| `es` | Spanish | Global |\n| `ru` | Russian | Russia, CIS |\n\n```bash\n# Spanish\nrpp --lang es encode --shell 0 --theta 12 --phi 40 --harmonic 1\n# Output: [CODIFICAR] [OK] ... capa: 0 (Caliente)\n\n# Gulf Arabic\nrpp --lang ar-gulf demo\n# Output: [ترميز] ... الطبقة: 0 (ساخن)\n\n# Russian\nrpp --lang ru tutorial\n# Output: [КОДИРОВАТЬ] ... оболочка: 0 (Горячий)\n```\n\n### Interactive Learning\n\n```bash\nrpp tutorial   # Step-by-step explanation of RPP concepts\nrpp demo       # Visual demonstration of three core scenarios\n```\n\nThese commands explain behavior but never change it. The core protocol remains callable without tutorials.\n\n**[Try the Interactive Web Demo →](https://anywavecreations.com/rpp/#demo)** — Explore RPP addresses in real-time with spherical coordinate visualization.\n\n### PuTTY Example Session\n\n```\nC:\\\u003e pip install rpp-protocol\nC:\\\u003e rpp version\nrpp 0.1.9\n\nC:\\\u003e rpp demo\n+===========================================================+\n|                                                           |\n|   RRRR   PPPP   PPPP                                      |\n|   R   R  P   P  P   P   Rotational Packet Protocol        |\n|   RRRR   PPPP   PPPP    Ra-Canonical v2.0 Addressing      |\n|   R  R   P      P                                         |\n|   R   R  P      P       Consent-Aware Routing             |\n|                                                           |\n+===========================================================+\n\n============================================================\n  SCENARIO 1: Allowed Read (Grounded Consent)\n============================================================\n\n+-----------------------------------------+\n|           ROUTING DECISION              |\n+-----------------------------------------+\n|   | REQ | --\u003e [RESOLVER] --\u003e [ALLOWED] |\n+-----------------------------------------+\n|  Route:  memory://gene/grounded/12_40_1|\n|  Reason: read permitted via memory     |\n+-----------------------------------------+\n\nConsent Level: [#...................] 40/511 (Grounded)\n\n============================================================\n  SCENARIO 2: Denied Write (Ethereal - Consent Required)\n============================================================\n\n+-----------------------------------------+\n|           ROUTING DECISION              |\n+-----------------------------------------+\n|   | REQ | --\u003e [RESOLVER] --\u003e [DENIED]  |\n+-----------------------------------------+\n|  Route:  null                          |\n|  Reason: Write to ethereal zone...     |\n+-----------------------------------------+\n\nConsent Level: [#################...] 450/511 (Ethereal)\n\n============================================================\n  SCENARIO 3: Cold Storage Routing\n============================================================\n\n+-----------------------------------------+\n|           ROUTING DECISION              |\n+-----------------------------------------+\n|   | REQ | --\u003e [RESOLVER] --\u003e [ALLOWED] |\n+-----------------------------------------+\n|  Route:  archive://dream/transitional/...|\n+-----------------------------------------+\n\n+==========================+\n|  Demonstration Complete  |\n+==========================+\n\nKey takeaways:\n  * Low phi (Grounded) = immediate access allowed\n  * High phi (Ethereal) = explicit consent required\n  * Cold shell = routed to archive storage\n```\n\n### Exit Codes\n\n| Code | Meaning |\n|------|---------|\n| 0 | Success |\n| 1 | Invalid input |\n| 2 | Resolution denied |\n| 3 | Internal error |\n\n---\n\n## API Usage (Python)\n\n```python\nfrom rpp import encode, decode, from_components, resolve\n\n# Encode an address\naddr = encode(shell=0, theta=12, phi=40, harmonic=1)\nprint(hex(addr))  # 0x18281\n\n# Decode an address\nshell, theta, phi, harmonic = decode(addr)\n\n# Create an address object\naddress = from_components(0, 12, 40, 1)\nprint(address.sector_name)     # Gene\nprint(address.grounding_level) # Grounded\nprint(address.shell_name)      # Hot\n\n# Resolve an address\nresult = resolve(addr, operation=\"read\")\nprint(result.allowed)  # True\nprint(result.route)    # memory://gene/grounded/12_40_1\n```\n\n---\n\n## The Three Core Scenarios\n\nRPP behavior is defined by exactly three scenarios:\n\n| Scenario | Input | Result |\n|----------|-------|--------|\n| **Allowed read** | Low phi (grounded) | `allowed: true`, route to backend |\n| **Denied write** | High phi (ethereal) | `allowed: false`, no route |\n| **Archive route** | Cold shell (2) | `allowed: true`, route to archive |\n\nThese three scenarios prove RPP works. Everything else is implementation detail.\n\n---\n\n## Address Structure (Ra-Canonical v2.0)\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│               RPP CANONICAL ADDRESS (32 bits)                │\n├─────────┬─────────┬─────────┬──────────┬───────────────────┤\n│    θ    │    φ    │    h    │    r     │   Reserved/CRC    │\n│ (5 bits)│ (3 bits)│ (3 bits)│ (8 bits) │    (13 bits)      │\n├─────────┼─────────┼─────────┼──────────┼───────────────────┤\n│ [31:27] │ [26:24] │ [23:21] │ [20:13]  │      [12:0]       │\n└─────────┴─────────┴─────────┴──────────┴───────────────────┘\n```\n\n| Field | Width | Range | Meaning |\n|-------|-------|-------|---------|\n| θ (Theta) | 5 bits | 1-27 | Semantic sector (27 Repitans) |\n| φ (Phi) | 3 bits | 1-6 | Access sensitivity (6 RAC levels) |\n| h (Harmonic) | 3 bits | 0-4 | Coherence tier (5 Omega formats) |\n| r (Radius) | 8 bits | 0-255 | Intensity scalar |\n| Reserved | 13 bits | 0-8191 | CRC or future use |\n\n\u003e **Legacy Format:** For 28-bit v1.0 format compatibility, see [spec/SPEC.md](spec/SPEC.md).\n\n---\n\n## Testing\n\n```bash\n# Run all tests\npytest\n\n# Run with verbose output\npytest -v\n\n# Run specific test file\npytest tests/test_cli.py -v\n\n# Run only extended spec tests\npytest tests/test_rpp_extended_spec.py -v\n\n# Run by compliance level\npytest tests/test_rpp_extended_spec.py -v -k \"Level1\"  # Core only\npytest tests/test_rpp_extended_spec.py -v -k \"Level2\"  # Extended\npytest tests/test_rpp_extended_spec.py -v -k \"Level3\"  # Holographic\npytest tests/test_rpp_extended_spec.py -v -k \"Level4\"  # Hardware\n```\n\nAll tests are subprocess-based and verify exact text output.\n\n---\n\n## Non-Goals (Explicit)\n\nRPP will **never** include:\n- Web UI or GUI\n- Database or storage layer\n- User authentication\n- Machine learning\n- Network transport\n\nThese are external concerns. RPP is the address layer only.\n\n---\n\n## Documentation\n\n| Document | Description |\n|----------|-------------|\n| [spec/RPP-CANONICAL-v2.md](https://github.com/anywave/rpp-spec/blob/master/spec/RPP-CANONICAL-v2.md) | **Ra-Canonical v2.0 (32-bit) specification** |\n| [spec/CONSENT-HEADER-v1.md](https://github.com/anywave/rpp-spec/blob/master/spec/CONSENT-HEADER-v1.md) | 18-byte consent header specification |\n| [spec/SPEC.md](https://github.com/anywave/rpp-spec/blob/master/spec/SPEC.md) | Legacy 28-bit addressing (v1.0) |\n| [spec/SPEC-EXTENDED.md](https://github.com/anywave/rpp-spec/blob/master/spec/SPEC-EXTENDED.md) | Extended 64-bit format for holographic operations |\n| [spec/RESOLVER.md](https://github.com/anywave/rpp-spec/blob/master/spec/RESOLVER.md) | Resolver and adapter interfaces |\n| [spec/PACKET.md](https://github.com/anywave/rpp-spec/blob/master/spec/PACKET.md) | Packet envelope format |\n| [BOUNDARIES.md](https://github.com/anywave/rpp-spec/blob/master/BOUNDARIES.md) | Hard scope constraints |\n| [MVP.md](https://github.com/anywave/rpp-spec/blob/master/MVP.md) | Minimum viable product |\n| [MIGRATION_V2.md](https://github.com/anywave/rpp-spec/blob/master/MIGRATION_V2.md) | Migration guide v1.0 → v2.0 |\n\n### Extensions\n\n| Extension | Package | Description |\n|-----------|---------|-------------|\n| [RPP Mesh](https://github.com/anywave/rpp-spec/blob/master/spec/extensions/MESH.md) | [rpp-mesh](https://pypi.org/project/rpp-mesh/) | Consent-aware overlay network |\n\n---\n\n## License\n\n| Component | License |\n|-----------|---------|\n| Specification | CC BY 4.0 |\n| Implementation | Apache 2.0 |\n\n---\n\n## Citation\n\n```\nLennon, A. L. (2025). Rotational Packet Protocol (RPP): A Semantic\nAddressing Architecture for Consent-Aware Memory Systems. Version 1.0.0.\nhttps://github.com/anywave/rpp-spec\n```\n\n---\n\n*Open infrastructure for semantic addressing. Deterministic. Auditable. Terminal-friendly.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanywave%2Frpp-spec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanywave%2Frpp-spec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanywave%2Frpp-spec/lists"}