C++ (WinHTTP) Lattice interoperability sample for contested / intermittent backhaul.
Problem: intermittent backhaul. If you only exist in the cloud, you go blind when the pipe dies.
Fix: keep the track picture on the edge through denial windows; resume entity publish when the link returns. No client publish throttle.
Proof: live Sandboxes soak in docs/EVIDENCE.md (10 tracks, ~1,000 PUTs, 99.8% success, 10/10 confirmed).
Independent Polybolos Institute sample. Not an Anduril product.
Advisory tracks only. No weapons authority. No ROE. No HOTL engage path.
- WinHTTP Lattice client: OAuth, entity PUT, optional SSE (
https://Sandboxes andhttp://local mock) - Contested bridge: edge track coast continues while publish is denied; PUT resumes when the link returns
- Auth-resume probe: clear cached OAuth token, re-auth, publish again
- Known-good entity fixtures under
fixtures/ - Reproducible evidence: fuse timing plus ok / fail / HTTP 403 counts
Full denied-comms fusion math (EKF / UKF / Hungarian) is in sibling
polybolos-denied-comms-c2.
This repository focuses on C++ interop and contested publish continuity.
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
.\build\Release\contested_bridge.exe --dry-run --frames 120 --up 20 --down 10Expect: RESULT: PASS (edge tracks survived contested windows).
.\build\Release\lattice_probe.exe
.\build\Release\auth_resume_probe.exe
.\build\Release\contested_bridge.exe --tracks 10 --frames 150 --up 25 --down 15Env: LATTICE_ENDPOINT LATTICE_CLIENT_ID LATTICE_CLIENT_SECRET LATTICE_ENV_TOKEN
(Account Sandboxes Bearer for LATTICE_ENV_TOKEN. Do not commit secrets.)
# terminal A
git clone https://github.com/Polybolos-Institute/anduril-mock-lattice
cd anduril-mock-lattice
python -m mock_lattice
# terminal B
$env:LATTICE_ENDPOINT = "http://127.0.0.1:8765"
$env:LATTICE_CLIENT_ID = "test-client-id"
$env:LATTICE_CLIENT_SECRET = "test-client-secret"
$env:LATTICE_ENV_TOKEN = "test-sandbox-token"
.\build\Release\contested_bridge.exe --frames 60 --up 15 --down 10Python evidence harness (no C++ required):
pip install -r tools/requirements-dev.txt
python tools/contested_evidence.py --dry-run --frames 60 --up 15 --down 10Default: 20 frames link up / 10 frames link down, repeating.
- Link down: tracks keep coasting on-edge; no PUT
- Link up: resume entity PUT to Lattice (or mock)
- Pass rule: denial frames occurred AND at least one track confirmed
CLI knobs: --tracks N, --frames N, --up N, --down N, --prefix ID.
Soak example: --tracks 10 --frames 150 --up 25 --down 15.
Report includes fuse_us and put_ms percentiles plus put success rate.
See docs/EVIDENCE.md.
Sibling fusion benches (denied-comms C2): ~3.6 µs/frame, 5/5 tracks confirmed on synthetic scenarios.
| Door | What it proves |
|---|---|
| polybolos-lattice-cpp-contested-bridge | Edge continuity + contested publish (this repo) |
| polybolos-denied-comms-c2 | Full edge fusion math under denial |
| anduril-lattice-rest-winhttp | Shared WinHTTP REST helper |
| anduril-lattice-publish-soak | Firehose PUT soak; count 403s; no throttle |
| anduril-mock-lattice | Local OAuth + PUT stand-in for CI |
| anduril-lattice-entity-fixtures | Known-good entity JSON shapes |
| anduril-lattice-stream-watcher | Entity stream / SSE sample |
| anduril-mavlink-lattice-bridge | MAVLink → Lattice publish |
| anduril-opensky-lattice-bridge | OpenSky ADS-B → Lattice |
| anduril-dump1090-lattice-bridge | dump1090 ADS-B → Lattice |
| anduril-lattice-sandbox-dx | Sandbox DX kit / ontology cheat sheet |
- Tasks / Objects / weapons authorization
- Full Lattice World Model parity
MIT. See LICENSE.
This repository is the open foundation (MIT).
Polybolos Institute also maintains a proprietary catalog of additional capabilities that are not published here. Contact us to discuss production deployment and commercial licensing.