Skip to content

Commit 2f40a36

Browse files
Update README.md
1 parent b935d68 commit 2f40a36

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed

README.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,94 @@ At least **30 days before** the end date we will publish whether the free period
6161

6262

6363

64+
## Compatibility
65+
66+
### Operating systems (status)
67+
| OS family | Status | Notes |
68+
|-------------------------|------------|----------------------------------------------------------|
69+
| Linux (x86_64) | Tested | Ubuntu 20.04/22.04; kernel 6.x; soak/benchmarks complete |
70+
| Windows 10/11 (x86_64) | Tested | PowerShell smoke OK; update payloads bit-identical |
71+
| macOS (x86_64/arm64) | Partial | Decode OK; full soak planned |
72+
| BSD (Free/Open) | Partial | Smoke OK |
73+
| Embedded Linux / RTOS | Concept | Same API/FFI; hardware runs welcome |
74+
| Android (NDK/JNI) | OS-ready | Not yet tested |
75+
| iOS (C/Swift bridge) | OS-ready | Not yet tested |
76+
77+
> Full details and logs: see `docs/LabReport.md`.
78+
79+
### CPU architectures
80+
- **x86_64**: primary test target
81+
- **ARMv7**: smoke via QEMU-chroot OK
82+
- **ARM64**: planned (native builds/tests)
83+
- **RISC-V**: optional; same flow as ARM
84+
85+
### Languages (via Polyglot)
86+
Bindings available for **Python, JavaScript/Node.js, Go, C/C++, Java, C#, PHP, Ruby, Rust**.
87+
> Availability may vary by edition; see **[Licensing & Trademark](#licensing--trademark)**.
88+
89+
### Container format
90+
- Stable **`.freq`** (version **42**)
91+
- **Frame-based** I/O with per-frame **CRC32**
92+
- Fixed **footer/metadata**; strict parsing
93+
- **Deterministic decode**, platform/endianness-agnostic
94+
95+
96+
97+
98+
99+
## Installation & Usage (Quickstart)
100+
101+
### Prerequisites
102+
- **OS:** Linux, Windows, macOS (see matrix above)
103+
- **CPU:** x86_64 tested; ARMv7 smoke OK; ARM64 planned
104+
- **I/O & storage:** enough disk for inputs + temporary frames
105+
106+
### Install (high level)
107+
- **Core library:** build/install the platform library (`.so`/`.dll`/`.dylib`)
108+
- **Bindings (Polyglot):** choose your language binding (Python / Node.js / Go, etc.)
109+
- **Smoke run:** encode → decode; verify checksums, per-frame CRC, footer (version 42)
110+
111+
### Use (conceptual)
112+
- **Encode (input → `.freq`):** frame data, optional delta/mapping, compress (zstd/LZ4/zlib), CRC per frame, write footer (v42)
113+
- **Decode (`.freq` → output):** parse footer, validate CRC, optional decrypt (AES plugin), decompress, reconstruct bytes
114+
- **Streaming:** stdin/stdout supported; bounded peak memory via frames
115+
- **Multi-channel:** process multiple channels in parallel with channel isolation
116+
117+
### Failure & exit behavior
118+
- CRC mismatch, truncation, invalid metadata ⇒ **hard fail** (no partial output)
119+
- If encryption is enabled: wrong key/tag/AAD ⇒ **strict fail**
120+
121+
### Verification & audit
122+
- Compare input/output checksums; inspect footer/flags
123+
- Keep logs/CSV artifacts for benchmarks and regressions (`docs/LabReport.md`)
124+
125+
126+
127+
128+
## Plugins & Extension Points
129+
130+
### Official plugins
131+
| Plugin | Scope | Highlights | Repository |
132+
|--------------------------|--------------------------------|---------------------------------------------------|------------|
133+
| PAXECT AES Secure Plugin | Confidentiality & authenticity | AES-256 GCM/CTR, scrypt KDF, AAD, strict fail | https://github.com/PAXECT-Interface/paxect-aes-plugin |
134+
| PAXECT Polyglot Plugin | Language bindings | Python, Node.js, Go, C/C++, Java, C#, PHP, Ruby… | https://github.com/PAXECT-Interface/paxect-polyglot-plugin |
135+
| PAXECT SelfTune 5-in-1 | Performance & observability | Guard, overhead control, logging, smoothing, auto-learning | https://github.com/PAXECT-Interface/paxect-selftune-5in1 |
136+
137+
### Plug-and-play model
138+
- **Optional & decoupled:** Core werkt zonder plugins; plugins voegen functies toe zonder Core te wijzigen.
139+
- **Activation per run:** via config/flag of via de binding-API.
140+
- **Determinism unchanged:** containers blijven v42-conform; reproduceerbaarheid blijft intact.
141+
- **Overhead:** uit = geen overhead; aan = alleen geselecteerde plugin(s).
142+
143+
### Extension points
144+
- **Pre-processing hooks:** mapping/delta vóór compressie (deterministisch).
145+
- **Container transforms:** encryptie/integriteit op containerniveau (AES-plugin).
146+
- **I/O adapters:** extra sources/sinks naast file en stdin/stdout.
147+
148+
149+
150+
151+
152+
153+
64154

0 commit comments

Comments
 (0)