21 Commits
Author SHA1 Message Date
Hanzo AI f7cc20b344 cmd/replicate: fold zapdb-replicate native streaming-replication tool
ZapDB has native streaming Backup(w, since) + Load(r). The standalone
luxfi/zapdb-replicate repo was duplicate scaffolding. Sidecar daemon
+ restore init-container now live here under cmd/replicate/.

Pre-fold lineage: standalone repo at luxfi/zapdb-replicate; final
commit there c13a738 (deps Go 1.26.4 bump). No history was merged;
small repo, clean copy.
2026-06-07 13:23:46 -07:00
Hanzo AI 4ea56f16c1 go.mod: bump go directive 1.26.3 → 1.26.4
Patch fix: crypto/x509, mime, net/textproto security fixes per Go 1.26.4 release notes (2026-06-02). Also compiler, runtime, go fix, crypto/fips140 bug fixes.
2026-06-06 21:51:06 -07:00
Hanzo AI 68aafaea6d WIP: session checkpoint 2026-06-05 (codec rip continuation) 2026-06-05 15:38:27 -07:00
Hanzo AI 8918348dd6 zapdb: swap minio-go/v7 → hanzos3/go-sdk v1.0.2
Canonical S3 SDK across the stack is the Hanzo S3 fork at
github.com/hanzos3/go-sdk (package `s3`, not `minio`). The fork
already had `module github.com/hanzos3/go-sdk` and `package s3`
landed on its `main` branch (5c5ecda); tagged v1.0.2 with the
Go 1.26.3 security bump on top of v1.0.1.

Replicator changes:
- import: `s3 "github.com/hanzos3/go-sdk"` (alias for clarity since
  package name `s3` differs from last path segment `go-sdk`)
- field `Replicator.s3` → `Replicator.cli` so the field name no
  longer shadows the package qualifier in struct literals
- all `minio.X` → `s3.X` (Client, New, Options, PutObject,
  GetObject, ListObjects, *Options types)

No behavioral changes. All Replicator tests pass.
2026-06-03 10:04:07 -07:00
Hanzo DevandGitHub f83d04b976 docs: add LICENSING.md pointer to canonical IP/licensing strategy (#1) 2026-05-15 17:40:47 -07:00
Hanzo AI 92eb1ea105 go.mod: bump go directive to 1.26.3 (security advisory) 2026-05-12 21:32:04 -07:00
Hanzo AI b631ada0d6 docs: fix cross-brand references in README 2026-04-12 12:42:11 -07:00
Hanzo AI ab37e5f078 feat: reset module path to luxfi/zapdb v1.0.0
Removed /v4 suffix from module path and all internal imports.
Go module is now github.com/luxfi/zapdb (no major version suffix).
Import as: import "github.com/luxfi/zapdb"

No code changes — only module path and import rewrite.
2026-04-11 00:01:08 -07:00
Hanzo AI 0380b1d0ac fix: zapdb docs — v1 refs only, rebrand from Badger 2026-04-09 23:30:11 -07:00
Hanzo AI 2f6f0fb9de fix: add streaming TODO for memory-buffered backup in Replicator
Incremental and Snapshot methods buffer the entire backup in a
bytes.Buffer before encrypting and uploading. Marked for future
io.Pipe streaming conversion to avoid 3x memory overhead.
2026-04-09 18:59:17 -07:00
Hanzo AI f5a5c9a5ec docs: add encrypted streaming replication section to README 2026-04-09 17:52:05 -07:00
Hanzo AI 9a96d340a1 feat: E2E encrypted streaming replication to S3 via luxfi/age
- replicate.go: Replicator with Start/Stop, Incremental, Snapshot, Restore
- ZAP binary format (NOT protobuf) — .zap/.zap.age extensions
- Fixed stale "protobuf-encoded" comments in backup.go
- Age encryption (X25519, upgradeable to X-Wing/ML-KEM-768)
- S3 via minio-go/v7 (works with hanzoai/s3, AWS, GCS, R2)
- S3 path: {prefix}/{service}/{pod}/{version}.zap.age
- E2E test: 100 keys → full backup → 50 more → incremental → encrypt → restore → verify 150 keys
- 6 tests, all pass

Compatible with hanzoai/replicate (SQLite) for the full encryption stack.
2026-04-09 17:46:23 -07:00
Hanzo AI a9f86e5805 feat: encrypted streaming replication to S3 via age (luxfi/age)
Continuous incremental backup with age encryption.
- ReplicatorConfig: S3 endpoint, bucket, age keys, intervals
- Incremental: db.Backup(sinceVersion) -> age.Encrypt -> S3 PutObject
- Snapshot: full backup every hour (configurable)
- Restore: S3 GetObject -> age.Decrypt -> db.Load
- Compatible with minio-go for any S3-compatible storage
2026-04-09 17:41:40 -07:00
Hanzo AI 6902dd8ce4 feat: C FFI exports for Rust bindings (libzapdb) 2026-04-04 12:45:52 -07:00
Hanzo AI 90c5045f99 chore: symlink AGENTS.md and CLAUDE.md to LLM.md
Canonical project context lives in LLM.md. Symlinks ensure
agentic coding tools (agent, Cursor, etc.) find context
automatically regardless of which filename they look for.
2026-04-01 14:10:15 -07:00
Hanzo Dev 0625891137 chore: bump Go 1.26.0 → 1.26.1
Fixes 5 stdlib CVEs (html/template, os, net/url, crypto/x509 x2).
2026-03-12 01:10:57 -07:00
Hanzo Dev d5ea72f886 fix: Go 1.26 vet compliance, grpc build tag in proto gen
- Fix format string vet errors in db2_test.go and key_registry.go
  for Go 1.26 stricter printf checks
- Update pb/gen.sh to add //go:build grpc tag after protoc generation
  so protobuf types only compile with grpc tag (default uses ZAP
  native binary encoding from types_zap.go)
2026-03-11 22:45:10 -07:00
Hanzo Dev bd39845397 fix: rebrand upstream dir_aix.go import path
Fix import path in newly merged AIX directory support file
to use luxfi/zapdb/v4 module path.
2026-03-11 22:37:40 -07:00
Hanzo Dev 3058f83b2a Merge remote-tracking branch 'upstream/main' 2026-03-11 22:36:45 -07:00
Hanzo Dev ed91a93c82 docs: add LLM.md project guide 2026-03-11 11:05:27 -07:00
Hanzo Dev 0844dcde22 chore: update Go module dependencies 2026-03-03 22:55:14 -08:00