feat(B9.6c): delete crypto_blowfish.c — rewire bcrypt_pbkdf to hexa-native blowfish (.c 230→229) - #1816
Merged
Conversation
…hexa-native blowfish 6 source edits (regen + .c-delete pending): - runtime.c: drop #include native/crypto_blowfish.c - runtime.h: drop hexa_bcrypt_pbkdf decl - bind.hexa: drop bcrypt_pbkdf from builtin allowlist - codegen.hexa: drop emit branch + _is_builtin_name entry - keyfile.hexa: use "stdlib/crypto/blowfish" (hexa-native KDF) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ative blowfish (.c 230→229) First real .c deletion toward the .hexa-only north-star. Removes the bcrypt_pbkdf runtime builtin (5 surfaces) and rewires its one caller (self/stdlib/ssh/keyfile.hexa) to the RUNEQ-proven hexa-native port stdlib/crypto/blowfish.hexa (landed PR #1814). - self/native/crypto_blowfish.c: deleted (the C bcrypt KDF impl) - self/native/hexa_cc.c: regenerated via `hexa cc --regen` (bcrypt emit dropped); fixpoint byte-identical (gen2≡gen3); links clean against runtime.o (no undefined hexa_bcrypt_pbkdf) - keyfile.hexa direct-transpile resolves bcrypt_pbkdf to the hexa stdlib fn (0 runtime hexa_bcrypt_pbkdf refs in emitted .c) (runtime.c/runtime.h/bind.hexa/codegen.hexa/keyfile.hexa edits in parent commit 955abe2) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… byte-identical) Companion to the crypto_blowfish.c deletion: the regenerated transpiler no longer emits the hexa_bcrypt_pbkdf runtime call. `hexa cc --regen` fixpoint confirmed gen2≡gen3 byte-identical; links clean against runtime.o with no undefined hexa_bcrypt_pbkdf symbol. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
dancinlife
added a commit
that referenced
this pull request
May 27, 2026
… proven) (#1817) - B9.6c flipped [x]: crypto_blowfish.c deleted (#1816), 7-surface + regen, fixpoint byte-identical — codegen-wire recipe proven end-to-end - status: .c = 229, native = 31 - next-candidate analysis: sha256 is NOT clean (many core-compiler callers + name mismatch); blowfish was the only clean 1-caller case - register B9.6d: find next clean 1-caller + name-match .c-delete candidate Co-authored-by: dancinlife <search5599@proton.me>
3 tasks done
dancinlife
added a commit
that referenced
this pull request
May 27, 2026
self/native/hxtok.c (750L) + hxtok.h (49L) — a standalone Qwen2.5 BPE tokenizer C lib — is a dead shim: zero build scripts reference it (tool/*, *.json, *.sh), zero .so/.dylib artifacts exist, and zero code FFI-calls HxTok/hxtok_* anywhere in the repo (the only repo-wide match is an archived-roadmap text literal in compiler/roadmaps_archive, not a code reference). All 8 listed consumers (self/ml/qwen_bpe, tokenizer, tokenizer_bpe, tokenizer_test, tokenizer_trainer, self/test_tokenizer*, stdlib/flame/flame_bpe_corpus_*) use the pre-existing pure-hexa BPE path (qwen_bpe.hexa / tokenizer_bpe.hexa), never the C lib. After deletion all 8 consumers parse cleanly, proving the C lib carried no live behavior — RUNEQ is moot (zero live callers). Not in runtime.c (standalone). This is the v565_grad_analysis.c (#1818) / crypto_blowfish (#1816) dead-file git-rm pattern, NOT a from-scratch port. RUNTIME.flip B9.5a flipped [⛔DUP]→[x]; audit doc reclassified. Co-authored-by: dancinlife <search5599@proton.me> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3 tasks done
dancinlife
added a commit
that referenced
this pull request
May 27, 2026
#1821) self/native/hxvocoder.c (455L) — a standalone HEXA-SPEAK neural-vocoder C lib (additive synth sin/exp/clip hot-loop, libm-only) — is a dead shim. Re-verified from scratch (the docs/runtime_native_c_layer_audit.md "layer ① port candidate, neural_vocoder.hexa reference exists" verdict was wrong on two counts): all 8 exported symbols (hxvocoder_decode_nv / _decode_wave / _linear_proj / _synth_additive / _tanh_vec / _vec_zeros / _version / _write_wav) have ZERO references in any .hexa/.c code file (only repo-wide matches are archived text in roadmaps_archive). The sole build reference is a file_exists()-guarded optional link in tool/build_native.hexa that auto-skips once the file is gone — that dead block is removed too. No .h/.so/.dylib/.o artifact, no build_toolchain .json entry, no dlopen. Not #include'd by runtime.c (standalone). The audit's claimed neural_vocoder.hexa does not exist in-tree; the "1,922x vocoder" is the pure-hexa Griffin-Lim path in self/ml/speech_audio.hexa. clang -fsyntax-only self/runtime.c EXIT=0 (untouched), zero remaining hxvocoder_* symbol refs in code post-deletion. This is the hxtok (#1820) / v565 (#1818) / blowfish (#1816) dead-file git-rm pattern, NOT a port. B9.6f re-verification ledger (the audit's 4 "primary suspects"): only hxvocoder is DEAD. hxflash_linux / hxlayer_linux / hxvdsp_linux are LIVE — each has real extern-fn FFI consumers + a dedicated build script (self/ml/hxflash.hexa+gpu_train, self/ml/hxlayer.hexa+bench/test, bench/hxblas_linux.hexa @link("hxvdsp")) — they need a multi-session port, NOT a clean delete. All other standalone native .c (gpu_codegen _stub, hxffi_slot, hxblas, hxccl, hxlmhead, hxqwen14b/32b, lora_cuda _host, hexa_cc) re-scanned = all LIVE with callers/build-refs (PRESERVE). RUNTIME.flip B9.6f [x]; audit doc reconciled (B9.6d table corrected). Co-authored-by: dancinlife <search5599@proton.me> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Summary
First real
.cdeletion toward the hexa-lang.hexa-only north-star (RUNTIME.flip B9.6c). Deletesself/native/crypto_blowfish.cby removing thebcrypt_pbkdfruntime builtin (all 5 surfaces) and rewiring its single callerself/stdlib/ssh/keyfile.hexato the RUNEQ-proven hexa-native portstdlib/crypto/blowfish.hexa(landed #1814)..ccount 230 → 229 (verified at HEAD viagit ls-tree).runtime.cinclude,runtime.hdecl,bind.hexaallowlist,codegen.hexaemit +_is_builtin_name,hexa_cc.cfrozen emit (regenerated, not hand-edited).keyfile.hexanow doesuse "stdlib/crypto/blowfish"; thebcrypt_pbkdf(pw_bytes, salt, rounds, 48)call resolves to the hexa stdlib fn (exact signature match).Verification (all green)
hexa cc --regen→ regeneratedhexa_cc.chas 0hexa_bcrypt_pbkdfrefs (was 1).hexa_cc.o+runtime.o(built without crypto_blowfish.c) → links clean, no undefinedhexa_bcrypt_pbkdf.runtime.ccompiles clean after dropping the#include(no dangling symbol).keyfile.hexaparses + direct-transpiles with the new transpiler: emitted.chas 0 runtimehexa_bcrypt_pbkdfrefs, 3 hexa-levelbcrypt_pbkdfrefs (resolved via theuseimport).Test plan
hexa_bcrypt_pbkdfsymbol🤖 Generated with Claude Code