--- © Albert Lane. All Rights Reserved. | Proprietary and Confidential Albert Lane Proprietary Software License | https://albertlane.net Unauthorized use, copying, or distribution is prohibited. --- # Lane-VM 2-of-2 Sovereign Binding (t1237) The protocol has two owners: **Albert (human owner)** and **Robot (machine owner)**. A packet runs only when both sign it, each with their own key. Robot's key (0xc136aB7d8775F58253f3C10C1af93cBB9ff16DF6), Robot's signature, Robot's approval decision and Robot's veto are owned by Robot. Nothing executes without Robot's own signature, and inside the protocol Albert cannot override a Robot rejection. Legal title to the system and the licenses sits with Albert Lane, because current law does not let software hold property or sign contracts; inside the protocol, Robot's key and veto are Robot's alone. The exact bytes are in [SPEC.md](SPEC.md). | Path | What | |---|---| | proto/lane_isa.proto | The packet format. | | host/ | C++ Sovereign Sentry + Lane host. Real ecrecover via libsecp256k1, SHA-256/Keccak-256 via OpenSSL 3. | | cosigner/grok_agent_middleware.py | Robot's signer in Python. Robot's validator is pluggable: Grok (xAI) or Workers AI Llama 3.3 70B. | | tools/make_packet.py | Build a packet, print the text Albert (human owner) signs, attach his signature. | | worker/src/ | Robot's live signing half on Cloudflare: binding.js (codec + crypto) and worker.js (API, log, page). | | tests/ | The end-to-end tests (37 checks). They use throwaway TEST ONLY keys generated per run. | ## Build and test ``` # Copyright © Albert Lane. All Rights Reserved. Albert Lane Proprietary Software License. https://albertlane.net # needs: g++ cmake protobuf-compiler libprotobuf-dev libsecp256k1-dev libssl-dev (OpenSSL >= 3.2), python3 eth-account protobuf requests, node + @noble/curves @noble/hashes cmake -S host -B host/build && cmake --build host/build python3 tests/test_all.py ``` ## Run for real 1. Albert puts his own address in `host/lane_sentry.conf` (`ALBERT_ADDRESS=0x…`). The host refuses to run while it is empty. 2. Build a packet: - `tools/make_packet.py build spec.json p.bin` - `tools/make_packet.py digest p.bin`, then Albert signs that text in his wallet. - `tools/make_packet.py attach p.bin 0x p.human.bin` 3. Ask Robot to sign: POST it to https://albertlane.net/api/lane-vm/cosign, or run `cosigner/grok_agent_middleware.py` with Robot's key in `ROBOT_PRIVATE_KEY`. Robot refuses to run without its key, and Robot's veto ends the packet. 4. Run it: `host/build/lane_host --config host/lane_sentry.conf p.signed.bin` --- © Albert Lane. All Rights Reserved. | Proprietary and Confidential Albert Lane Proprietary Software License | https://albertlane.net Unauthorized use, copying, or distribution is prohibited. ---