9 Commits
Author SHA1 Message Date
sneak 09ec70009d Verify .golangci.yml against the linter schema in make lint
golangci-lint ignores keys it does not know and silently runs with
defaults, which is how the v1-era settings went unapplied. make lint now
runs golangci-lint config verify before golangci-lint run, in both the
Docker and the in-image paths.
2026-11-01 16:31:30 -08:00
sneak 897dc9aced Update golangci-lint to v2.15.0 and fix the linter config
Convert .golangci.yml to the v2 layout: linters-settings and
issues.exclude-use-default were rejected by the v2 schema, so the lll,
funlen, cyclop, and dupl settings were never applied. Disable
exhaustruct_v5 (the newer major version of the already-disabled
exhaustruct) and the deprecated gomodguard. Pin the golangci-lint image
at v2.15.0 in the Makefile and Dockerfile.
2026-10-31 13:22:43 -07:00
sneak ad1d51a9f9 Drop the BIP39 passphrase from cbk
The seed is always computed with an empty passphrase; Params is just
the mnemonic and the BIP85 index.
2026-10-31 11:41:11 -07:00
sneak fe6dbba428 Derive cbk keys with BIP85 instead of an ad hoc HKDF label
The private key is now the BIP85 HEX application output for 32 bytes at
m/83696968'/128169'/32'/{index}' from the BIP32 master key of the BIP39
seed, via sneak.berlin/go/secret/pkg/bip85, so any BIP85 tool reproduces
it and one mnemonic backs many keypairs through Params.Index. Tests
check the mnemonic-to-master step and the HEX application against the
BIP85 specification vectors and pin the resulting keypair.
2026-10-31 11:38:02 -07:00
sneak ea6faaecff Narrow pkg/cbk to keypair derivation
Remove KeyFromHex, Seal, and Open with their errors and constants. The
library only derives crypto_box keypairs from BIP39 mnemonics; callers
use golang.org/x/crypto/nacl/box directly for everything else.
2026-10-31 11:27:09 -07:00
sneak 5932cc12ee Remove cbk and mnemonic commands from sutil
sutil holds only the utilities wanted on every machine; it is not a
command-line front end for the packages in pkg/. cbk and bip39wordlist
remain libraries with no CLI surface. The README states the boundary.
2026-10-31 10:16:10 -07:00
sneak 9def7ba586 Document config loading, cgo policy, and tagging policy in README 2026-10-31 10:11:49 -07:00
sneak 6f9dcc8f93 Rewrite README with required sections and package docs 2026-10-31 10:03:06 -07:00
sneak de93378e4c add README
continuous-integration/drone/push Build is passing
2020-10-12 14:33:23 -07:00