diff options
| author | cirakg <cirakg@cirakg.xyz> | 2026-10-18 23:44:18 +0200 |
|---|---|---|
| committer | cirakg <cirakg@cirakg.xyz> | 2026-10-18 23:44:18 +0200 |
| commit | 94181d58cf66c5b7b263fd435a344f1cd8872cff (patch) | |
| tree | c4e44e4a80e76ec6e4c0b196d616faf5e5e28839 /docs/FEASIBILITY.md | |
| parent | ac60fb060414261935ac5e158b26b34e211e1e06 (diff) | |
docs: record M2 results and bump version to 0.2.0v0.2.0
CHANGELOG 0.2.0; PERFORMANCE (simulator benchmarks and what they mean for
the watch); TESTING (vector sources, M2 results, watchdog caveat);
FEASIBILITY (verified: no native HMAC-SHA1, AES-256 works, Long semantics);
README status and targets; developer-guide Monkey C facts.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/FEASIBILITY.md')
| -rw-r--r-- | docs/FEASIBILITY.md | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/docs/FEASIBILITY.md b/docs/FEASIBILITY.md index cb3431a..8665139 100644 --- a/docs/FEASIBILITY.md +++ b/docs/FEASIBILITY.md @@ -254,6 +254,13 @@ With SDK 9.2.0 and the device files of all 72 products installed: - **Launcher icons:** the 72 products use eight icon sizes (38 to 70 px). Each gets an exact-size icon, because the compiler warns when it scales one, and warnings fail the build. - **SDK login (11):** the CLI's browser login can't reach the container (it waits on a random localhost port), so `make sdk` uses email and password; that worked for your account. +## Verified during M2 (2026-10-18) + +- **Native HMAC-SHA1 doesn't exist (2): confirmed.** The constructor rejects HASH_SHA1 ("Invalid :algorithm option value"). HMAC-SHA1 is built on the native SHA-1 hash per RFC 2104 and passes every RFC 2202 vector. +- **AES-256-CBC works (2).** Records use AES-256; the NIST vectors pass on all four test devices. +- **64-bit arithmetic:** `Long` overflow wraps like unsigned arithmetic, `>>` copies the sign bit, and hex literals above 2^63 parse correctly, which is what the SHA-512 implementation relies on. ByteArrays throw on values above 255 rather than wrapping. +- **Watchdog in the simulator:** not enforced in test runs (a 300,000-iteration loop passed on a 120,000-bytecode profile), so the job design is the protection and the real limits are checked on the watch. + ## Decisions Answered on 2026-10-18: |
