plan: chacha20 0.9.1 → 0.10.1 matryoshka port, spec v1 - #281
Merged
AdaWorldAPI merged 3 commits intoAug 21, 2026
Conversation
…-W8 PR-N) dst = a & !b word-wise, following the mask_and/mask_or family shape exactly (U64x8-chunked polyfill loop + scalar tail, length-mismatch panics, #[inline]). Re-exported through ndarray::simd (the sanctioned consumer path) alongside the existing mask ops. Tail semantics documented on both fns: !b sets b's tail bits, but a & !b is word-wise a subset of a, so dst's tail is zero whenever a's tail is zero — the same pre-conforming-inputs contract mask_or carries. A caller holding a possibly-non-conforming a clears the tail itself (the lance-graph-java kernel does, against its known row count). Tests (5): parity vs inline scalar reference across 13 lengths straddling the 8-word group boundary (incl. the 2-word/70-row shape); algebra identities ((a&!b)|(a&b)==a, (a&!b)&b==0, with a non-vacuity check); the two-arm conforming-tail falsifier; should_panic length-mismatch arms for both fns. Disable-run performed centrally: the vectorized op flipped to & — parity + algebra went red, restored, 51/51 green; clippy -D warnings + fmt clean. Blackboard entry records the consumer wave (lance-graph-java D-LGJ-W8, lgj_mask_andnot behind Mask.minus) and the explicit W1a deviation (free-fn family shape over the struct-method litmus; council-surfaced, rationale in the entry). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017Pud4qpxFHwqyqDjSabQbs
…java-panama-valhalla-sus9w8
Der Fork in vendor/chacha20 haengt auf 0.9.1 und cipher 0.4; upstream 0.10.1 sitzt auf cipher 0.5. Die Spec haelt fest, was der AdaWorldAPI- Delta tatsaechlich ist -- gemessen gegen das pristine 0.9.1-Crate aus dem Registry-Cache, nicht geraten: 4 Quell-Hunks + 1 neue Datei + ein Manifest-Rewrite. Der Grund fuer das Ledger oben im Dokument: mehrere Punkte liessen sich in diesem Container NICHT verifizieren, und die sind als UNVERIFIED markiert statt geraten -- (a) die genauen encrypt/decrypt-Signaturen von aead 0.6, (b) ob cargo die Form "dasselbe Crate zweimal unter einem Rename patchen" akzeptiert, (c) Durchsatz ndarray_simd vs. der neue backends/avx512.rs von upstream. Punkt (c) entscheidet, ob der x86-Arm ueberhaupt portiert werden sollte, und ist auf BEIDEN Seiten ungemessen. Nur die Spec, kein Code. Nichts gebaut, nichts gemessen.
Contributor
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_667c31bb-b239-4e16-81c3-491b345b9c02) |
AdaWorldAPI
marked this pull request as ready for review
August 21, 2026 04:03
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Nur eine Spec, kein Code. Eine Datei, 224 Zeilen, additiv.
Worum es geht
vendor/chacha20haengt auf 0.9.1 (cipher 0.4); upstream ist bei 0.10.1 (cipher 0.5). Die Spec haelt fest, was der AdaWorldAPI-Delta tatsaechlich ist — gemessen gegen das pristine 0.9.1-Crate aus dem Registry-Cache, nicht aus dem Gedaechtnis rekonstruiert: 4 Quell-Hunks + 1 neue Datei + ein Manifest-Rewrite.legacy.rs,xchacha.rsundbackends/{soft,sse2,avx2,neon}.rssind unveraendert.Warum das Verifikations-Ledger oben im Dokument steht
Mehrere Punkte liessen sich in diesem Container nicht verifizieren. Sie sind als
UNVERIFIEDmarkiert statt geraten:encrypt/decrypt-Signaturen vonaead0.6 — nur die Exports gegreppt, nicht die Signaturen gelesen;cargo metadata, nicht Quelltextlesen;ndarray_simdvs. upstreams neuerbackends/avx512.rs.(c) ist die eigentliche Entscheidung, und sie ist auf beiden Seiten ungemessen: davon haengt ab, ob der x86-Arm ueberhaupt portiert werden sollte, oder ob upstreams eigener AVX-512-Backend den Delta dort obsolet macht. Solange das nicht gemessen ist, ist jede Portierungsreihenfolge geraten.
Was hier bewusst NICHT passiert
Nichts gebaut, nichts gemessen, keine Abhaengigkeit bewegt, kein
Cargo.tomlangefasst. Der naechste Schritt ist die Messung fuer (c), nicht der Port.🤖 Generated with Claude Code
https://claude.ai/code/session_017Pud4qpxFHwqyqDjSabQbs
Generated by Claude Code