Status: done

# 01 — Monorepo scaffold + single-node smoke test

## What to build

Stand up the monorepo package layout and prove that a client HTTP request can travel end-to-end through the stack — gateway → one node serving all layers → valid response — before any real model or distributed logic is wired in.

The six top-level packages should exist with minimal stubs:
- `packages/node` — node client CLI (`meshnet-node`)
- `packages/gateway` — HTTP gateway + route orchestration
- `packages/tracker` — node registry and route selection
- `packages/sdk` — `meshnet` Python SDK
- `packages/contracts` — Solana smart contract wrappers
- `packages/p2p` — gossip and shard swarm

The smoke test uses a tiny in-process stub model (not a real LLM) so the test is fast and has no external dependencies. The node runs in the same process as the test. The gateway is a real HTTP server. The client sends a real `POST /v1/chat/completions` request and receives a valid OpenAI-format response.

## Acceptance criteria

- [ ] `pip install -e packages/node packages/gateway packages/tracker` works from repo root
- [ ] `meshnet-node`, `meshnet-gateway`, and `meshnet-tracker` CLI entry points exist
- [ ] A single integration test starts a gateway and one stub node in-process, sends a `POST /v1/chat/completions` request, and asserts a valid OpenAI-format response is returned
- [ ] The test passes with `pytest` from repo root with no external services running
- [ ] All six package directories exist with `pyproject.toml` and an importable top-level module

## Blocked by

None — can start immediately.
