aboutsummaryrefslogtreecommitdiff
path: root/docs/FEASIBILITY.md
diff options
context:
space:
mode:
authorcirakg <cirakg@cirakg.xyz>2026-10-18 23:44:18 +0200
committercirakg <cirakg@cirakg.xyz>2026-10-18 23:44:18 +0200
commit94181d58cf66c5b7b263fd435a344f1cd8872cff (patch)
treec4e44e4a80e76ec6e4c0b196d616faf5e5e28839 /docs/FEASIBILITY.md
parentac60fb060414261935ac5e158b26b34e211e1e06 (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.md7
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: