36 Commits
Author SHA1 Message Date
zooqueenandHanzo Dev 82325de539 deps: accel v1.1.0 -> v1.2.2 (bundled c_api.h; fixes CGO build)
accel v1.1.0 lacked the bundled lux/accel/c_api.h, breaking api's CGO
build. v1.2.2 bundles the header and made native HQC opt-in.

Co-authored-by: Hanzo Dev <[email protected]>
v1.0.14
2026-06-06 21:11:19 -07:00
zooqueenandHanzo Dev 4dc949bb8c refactor(zap): rename InitializeRequest.LuxAssetID -> UTXOAssetID (canonical)
Decomplect step: the primary-network fee asset is canonically UTXOAssetID (named for the function, not the chain), matching runtime.Runtime.UTXOAssetID (runtime v1.1.0). Wire layout is unchanged (positional encoding), so this is source-only and wire-compatible; vm/node consumers switch from req.LuxAssetID to req.UTXOAssetID when they bump to the released api carrying this rename. Kept separate from the ReadCount safety commit.

Co-authored-by: Hanzo Dev <[email protected]>
2026-06-06 20:46:47 -07:00
zooqueenandHanzo Dev 62ac3e0ae1 fix(zap): bound element counts before make() to stop unbounded-alloc DoS
A decoded uint32 element count fed make([]T,count) before the per-element loop consumed any bytes, so a ~9-byte message with count=0xFFFFFFFF could drive a ~100GB allocation (OOM; the 16MB message cap and handler recover() do not bound it). Add Reader.ReadCount(), which rejects any count exceeding Remaining(), and use it in the 9 collection decoders across vm.go, sender.go, warp.go.

Co-authored-by: Hanzo Dev <[email protected]>
2026-06-06 20:46:47 -07:00
zeekay 3d2d786869 deps: bump luxfi/vm v1.2.0, sampler v1.1.0, staking v1.5.0 (relicense)
Picks up the 2026-06-06 relicensing:
- luxfi/vm v1.2.0 → Lux Ecosystem License v1.2 (was Lux Research v1.0).
  License-only retag of the extracted runtime; patent reservation
  preserved for runtime optimization surfaces, royalty-free for
  Descending Chains.
- luxfi/sampler v1.1.0 → BSD-3-Clause (was Lux Research v1.0).
  License restored to match the luxfi/node provenance (originally
  extracted from node/utils/sampler).
- luxfi/staking v1.5.0 → BSD-3-Clause (was Lux Research v1.0).
  License restored to match the luxfi/node provenance.

No code changes in this commit — go.mod/go.sum only.
v1.0.13
2026-06-06 19:02:00 -07:00
zeekay b55d44f670 ringtail → corona total rename — no alias, no wire compat
Per CTO directive: kill any alias, any shim. R-LWE threshold sig is
named Corona across all live code. Forward-only.

Sweep covers Go + TS + Sol + k8s YAML + JSON + LP markdown + skills
+ docs. Skipped: papers/audits/legal/licenses/blog/HISTORY (immutable
historical record).
2026-06-06 13:56:40 -07:00
zeekay 8358976ca0 deps: bump p2p v1.21.1 (Wave 2G-Cascade) 2026-06-06 06:14:38 -07:00
zeekay d05ce42e90 WIP: session checkpoint 2026-06-05 (codec rip in flight) 2026-06-05 15:33:51 -07:00
zeekay f419fe18ea api: drop codec indirect — bump ids v1.2.15 + warp v1.19.2
ids v1.2.15 + warp v1.19.2 both shed their direct codec/wrappers
imports (encoding/binary inlined in ids.ID.Prefix/Append; firstErr
helper inlined in warp packages). With both consumers gone from api's
build closure, codec drops out of go.mod and go.sum entirely.

Also drops luxfi/node, ProjectZKM/Ziren, golang/mock, luxfi/atomic,
google/renameio — transitive cleanups that fall out of the same module
graph pruning.
2026-06-04 21:32:20 -07:00
zeekay 09849fcfe1 fix: gofmt -s across repo (CI format check) 2026-06-02 11:39:38 -07:00
zeekay f40d8f279e chore(deps): go get -u ./...
Updated dependencies to latest minor versions via go get -u + go mod tidy.
2026-06-02 11:18:43 -07:00
zeekay 354f4a2d3b merge: chore/consensusinfo-corona-rename 2026-06-01 16:32:54 -07:00
zeekay 244dbf8fee decomplect: rip NetworkUpgrades interface + wire struct (16 fork-time fields) from zap/runtime v1.0.12 2026-05-18 23:16:14 -07:00
zeekayandGitHub 516e858a70 info: rename ConsensusInfo.Ringtail -> Corona (#2)
Aligns the consensus subobject field with the threshold/corona/consensus/mpc
cascade rename. Forward-only: no alias, no shim.

JSON tag flips from "ringtail" -> "corona" to match the new wire vocabulary;
no clients depend on this field yet (node v1.26.12 service_test.go already
uses Corona — typecheck was the only consumer breaking).
v1.0.11
2026-05-16 16:25:11 -07:00
zeekay 4791db770e info: rename ConsensusInfo.Ringtail -> Corona
Aligns the consensus subobject field with the threshold/corona/consensus/mpc
cascade rename. Forward-only: no alias, no shim.

JSON tag flips from "ringtail" -> "corona" to match the new wire vocabulary;
no clients depend on this field yet (node v1.26.12 service_test.go already
uses Corona — typecheck was the only consumer breaking).
2026-05-16 16:24:38 -07:00
zeekayandGitHub fca82dcf16 docs: add LICENSING.md pointer to canonical IP/licensing strategy (#1) 2026-05-15 17:30:13 -07:00
zeekay 1558a50288 deps: luxfi/crypto v1.19.0 2026-05-13 12:00:07 -07:00
zeekay 23a9fd0003 go.mod: bump go directive to 1.26.3 (security advisory) 2026-05-12 21:28:12 -07:00
zeekay b49589bad1 zap: add NewListener so any net.Listener can serve ZAP
zap.Listen("tcp", ...) is the common path. NewListener is the
escape hatch that lets a Z-Wing listener (or any other net.Listener
that yields post-handshake net.Conns) feed zap.Server unchanged.

This is the seam zwing.ListenZAP uses to compose a one-call
PQ-on-the-wire ZAP server.
v1.0.10
2026-05-06 12:50:29 -07:00
zeekay 57917c211e docs(zap): canonical TCP port 9999 documented v1.0.9 2026-05-06 10:37:28 -07:00
zeekay 8016129b5e docs(zap): call out X-Wing — IETF-standardized X25519+ML-KEM hybrid
X25519 + ML-KEM-768 is the IETF X-Wing construction
(draft-connolly-cfrg-xwing-kem). Document where Lux uses X-Wing
(zap-protocol Rust core, AI-agent ZAP) vs the RNS hybrid (Lux node
sessions with identity-bound handshake). Comparison table added so
new code picks the right one.
v1.0.8
2026-05-06 10:23:33 -07:00
zeekay 5e84810c05 docs(zap): comprehensive LLM.md — wire format, PQ scope, two-implementation reality v1.0.7 2026-05-06 10:21:13 -07:00
zeekay af717c32a9 fix(zap): correctness — distinct MsgErrorFlag, response flag on success, drop debug stderr
Three real bugs in luxfi/api/zap:

1. Debug fmt.Fprintf(os.Stderr, ...) prints on every wire read/write/
   handler invocation. Visible in production logs as [ZAP-WIRE-READ],
   [ZAP-CLIENT-READ], [ZAP-SERVER-WRITE], [ZAP-HANDLER]. Stripped.

2. Server's success path sent the handler's returned msgType directly
   without OR'ing MsgResponseFlag. Echo-style handlers (return same
   msgType) produced responses that looked like fresh inbound requests
   to the client demultiplexer, which dropped them. Tests caught this
   as 'Expected response type 137, got 9'.

3. Client treated every response as an error because the protocol used
   a single MsgResponseFlag for both success and error paths. Added
   MsgErrorFlag (0x40) — error responses now carry MsgResponseFlag
   AND MsgErrorFlag; success responses carry only MsgResponseFlag.
   All msg types must stay < 0x40 (the existing range 1-52 is fine).
v1.0.6
2026-05-06 10:19:43 -07:00
zeekay f5c864b585 feat: GetNodeVersionReply.Consensus + ConsensusInfo (info api); drop dead agentic_network.go
agentic_capnp sub-package was never generated; build-tag dead code referencing it
broke 'go mod tidy' (could not resolve unused phantom import). No-fake policy.

deps: tls v1.0.3 (hkdf.New); go mod tidy
v1.0.5
2026-05-05 16:57:04 -07:00
zeekay 55e851bacb deps: update go.mod/go.sum 2026-04-19 17:04:02 -07:00
zeekay f4791bbf26 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:08:02 -07:00
zeekay b009e78f4d 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:07:37 -07:00
zeekay d24119bc75 feat: add typed State enum to ZAP VM protocol v1.0.4 2026-03-11 12:09:33 -07:00
zeekay c03b59c868 docs: add LLM.md project guide 2026-03-11 10:34:33 -07:00
zeekay f4325cd5d3 chore: update Go module dependencies 2026-03-03 14:41:48 -08:00
zeekay d5f3eb1b77 chore: add BSD-3-Clause LICENSE 2026-02-14 05:26:18 -08:00
zeekay f51e8ffb83 debug(zap): add wire-level debug output for Initialize diagnosis
Add temporary stderr debug prints to ReadMessage, readLoop, handleConn,
and ServerConn.Write to capture exact msgType bytes on the wire. This
will reveal why the client sees MsgResponseFlag set on Initialize
responses that the server sends as MsgInitialize (0x01).
v1.0.3
2026-02-10 22:07:02 -08:00
zeekay d38045dba5 feat(zap): add error response protocol and concurrent request handling
Add MsgResponseFlag for error responses over the wire, enable concurrent
request dispatch with per-goroutine panic recovery, and simplify State
type to use canonical vm.State. Update consensus dependency to v1.22.67.
v1.0.2
2026-02-10 18:54:45 -08:00
zeekay cc9ec49d75 feat: add ZAP-format agentic network schema
Convert agentic.capnp to proper whitespace-based ZAP syntax:
- Remove file IDs, ordinals (@N), braces, semicolons
- Use indentation-based structure
- Add AgenticNetwork service interface
- Supports ZMQ, Cap'n Proto, gRPC wire protocols
- Includes post-quantum cryptography primitives
2026-02-04 17:56:47 -08:00
zeekay 57d45de11a chore: sync dependencies and format code 2026-02-04 15:46:05 -08:00
zeekay dd2f2c716e Add ZAP wire protocol transport for VM communication
- Add zap/ package with zero-copy binary wire protocol
- Support for VM client/server communication over ZAP
- Wire format: [4-byte length][1-byte message type][payload]
- Includes sender, transport, and VM implementations
v1.0.1
2026-01-24 11:39:40 -08:00
zeekay b1db41a415 api: initial v1.0.0 v1.0.0 2026-01-16 11:52:14 -08:00