30 lines
1.6 KiB
Markdown
30 lines
1.6 KiB
Markdown
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.
|