Skip to content

lhzn-io/uplift

Repository files navigation

Uplift: Sovereign Agent Measurement

License Platform JetPack Model

Uplift is a sovereign edge platform for deploying autonomous agents into the field and measuring, causally, how much they actually lever up human operators.

The stack is optimized for NVIDIA Jetson Orin AGX, running the zeroclaw agent and supporting MCP services as a single docker compose project. By default, it uses vLLM + Gemma4 for local inference.

Thesis

Uplift asks a treatment-effect question: how much did this stack measurably lever up a human operator, versus their unaided baseline?

Current AI evaluation is dominated by aggregate benchmarks and vibes. We bring the methodology of uplift modeling and causal ML into field-deployed agent stacks, instrumenting efficacy on real operators in deployments like aquaculture platforms and food banks.

We are enthusiasts of scikit-uplift, upliftml, and CausalML. Uplift is not a causal inference library; it is an operational stack that takes its own impact seriously. See docs/methodology.md for details.

Collaborators Wanted

Uplift is built on research in uplift modeling and human–AI collaboration. We are looking for contributors, reviewers, and deployment partners focused on:

  • Counterfactual evaluation of LLM agent traces. Off-policy evaluation, credit assignment over tool calls, and trajectory analysis.
  • Heterogeneous treatment effects of AI assistance. Research into who AI assistance helps (or hinders) in operational settings.
  • Field measurement methodology. Rigorous evaluation in high-stakes, low-resource environments (aquaculture, food security, humanitarian logistics).
  • Trace schema design. Preserving downstream causal analysis options without inflating contributor overhead.
  • Anchor deployment partners. Resource-constrained operations interested in measuring the true lever-up of AI assistance.

See CONTRIBUTING.md to get involved.

Architecture

The stack runs as a Docker Compose project on a Jetson host.

docker-compose.yml
  ├── reasoning-engine    vLLM (Gemma4-26B/Gemma4-12B/Nemotron3)      [GPU]
  ├── zeroclaw            Agent + Dashboard                           [:42617]
  ├── browser-node        Selenium Chromium (Reference Implementation) [:4444]
  └── jetson-telemetry    MCP Server (Pattern Example)                [:8765]

host:
  └── vllm_proxy.py       FastAPI Instrumentation Proxy               [:8100]
  • Inference: vLLM serving AWQ-quantized weights. vllm_proxy.py captures raw chat traces for tool-call attribution.
  • Tools: browser-node provides a standard Selenium base; we are evaluating Ai2 MolmoWeb as a multimodal upgrade. jetson-telemetry serves as both a utility for thermal/power monitoring and a working design pattern for integrating external MCP tools into the zeroclaw runtime.

Persistence

Agent state lives in two host directories bind-mounted into the containers:

Configuration

Run scripts/apply_config.sh to render the configuration from configs/zeroclaw.toml.template.


Setup

1. Provision Host

./jetson/provision_orin.sh
sudo reboot

Configures power modes, swap, and Docker for the Jetson Orin.

2. Start Stack

./start_stack.sh

This defaults to Gemma4-26B. The script handles model loading, proxy startup, and service orchestration.

3. Verification

./scripts/verify_stack.sh

Runs the health checks and end-to-end inference tests.

http://127.0.0.1:42617

From a remote laptop, tunnel first:

ssh -L 42617:127.0.0.1:42617 <jetson-host>

On Every Reboot

./start_stack.sh

Compose restart policies (unless-stopped) bring the stack back automatically on host reboot, so this is usually only needed if you ran ./stop_stack.sh or something failed.

To stop just zeroclaw and keep vLLM warm:

./stop_stack.sh --zeroclaw-only

To stop everything:

./stop_stack.sh

Development & Reset

Switching Models

You can configure the active served model using the model configurator script:

./scripts/use_model.sh gemma4-26b-a4b        # Gemma-4-26B (default)
./scripts/use_model.sh gemma4-12b            # Gemma-4-12B
./scripts/use_model.sh nemotron3-30b-a3b      # Nemotron-3-Nano

Or pass full Hugging Face repository paths directly:

./start_stack.sh --model cyankiwi/gemma-4-26B-A4B-it-AWQ-4bit

The model choice is persisted in .env.

Resetting Agent State

State is stored in .zeroclaw/ and workspace/. Use neuralyzer.sh for guided wipes:

./scripts/neuralyzer.sh
  • Level 1: Clear pairings/locks (keep history).
  • Level 2: Level 1 + wipe chat sessions.
  • Level 3: Full wipe including long-term memory.

Manual Reset

./stop_stack.sh --zeroclaw-only
rm -rf .zeroclaw/ workspace/
./start_stack.sh

Collaborators Wanted

Uplift is built on research in uplift modeling and human–AI collaboration. We are looking for contributors, reviewers, and deployment partners focused on:

About

Instrumentation and causal measurement for AI agents in small organizations; bridging the gap between AI decision support and verifiable uplift modeling.

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors